:root{--ink:#233e37;--muted:#67776f;--paper:#f7f8f3;--line:#dfe5dc;--accent:#bd683e;--white:#fff;--soft:#edf1e8;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,svg:focus-visible{outline:3px solid #2a826a;outline-offset:4px}button{color:var(--ink)}.site-header{height:93px;padding:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:inline-block}.brand-logo{display:block;height:38px;width:auto}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:2.7px;margin-top:8px;color:var(--muted)}.nav-link{font-size:12px;text-decoration:none;border-bottom:1px solid #b9c4b9;padding:8px 0}.header-nav{display:flex;align-items:center;gap:22px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:0 0 17px}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{letter-spacing:-1.6px}h3{font-size:10px;letter-spacing:1.8px;font-weight:700}p{line-height:1.6}.quiet{font-size:12px;color:var(--muted)}.home-main{max-width:1450px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:70px 6%}.home-copy h1{font-size:clamp(52px,5.8vw,85px);line-height:1.06;margin:30px 0}.home-copy h1 em{font-weight:400;color:var(--accent)}.intro{max-width:360px;color:var(--muted);font-size:16px;margin-bottom:30px}.primary-link{display:inline-flex;gap:32px;align-items:center;background:var(--ink);color:white;border-radius:5px;padding:18px 23px;text-decoration:none;font-size:13px}.primary-link:hover{background:#365d50}.home-copy>.quiet{margin-top:20px}.home-art{position:relative;overflow:hidden;min-height:510px;background:#e9ede1;border-radius:120px 8px 8px 8px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:55px 35px 32px}.home-art svg{position:absolute;inset:0;width:100%;height:100%;opacity:.85}.home-art path{fill:none;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.home-art circle{fill:var(--paper);stroke:var(--ink);stroke-width:3}.art-caption,.art-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px}.art-caption{font-size:9px;letter-spacing:1.2px;margin-left:35px}.art-bottom{align-items:center;font-family:Georgia,serif;font-size:25px;background:#e9ede1dd;padding:15px;border-radius:6px}.art-bottom strong{font-weight:400;font-style:italic}.round-arrow{border:1px solid #879b88;border-radius:50%;padding:12px 17px}.home-footer{margin:0 5%;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted)}.map-heading{padding:36px 4% 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.map-heading h1{font-size:43px;margin-bottom:10px}.map-heading h1 span{color:var(--accent)}.map-heading p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0}.map-type{display:flex;gap:13px;align-items:center;font-size:12px;flex-shrink:0}.map-heading-side{display:flex;align-items:center;gap:16px;flex-shrink:0}.lang-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:20px;padding:3px;background:var(--white)}.lang-switch button{border:0;background:none;border-radius:16px;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--muted);cursor:pointer}.lang-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.place-auto-badge{display:inline-block;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:3px 8px;margin-top:10px}.map-type small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.tiny-grid{font-size:28px;color:#708675}.map-layout{margin:0 3%;display:grid;grid-template-columns:240px minmax(0,1fr) 280px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--white);min-height:660px}.explorer{padding:24px 19px;border-right:1px solid var(--line)}.explorer-top{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:22px}.explorer h2{font-size:22px;margin:0}.pill{font-size:10px;white-space:nowrap;background:var(--soft);padding:6px 8px;border-radius:20px;color:#4e695b}.search-label{display:block;font-size:11px;margin-bottom:8px;color:var(--muted)}input[type=search]{width:100%;min-height:41px;border:1px solid var(--line);background:#fafbf8;border-radius:6px;padding:11px;font-size:12px;color:var(--ink)}.section-label{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.text-button{background:none;border:none;text-decoration:underline;text-underline-offset:3px;font-size:11px;padding:8px 0}.line-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.line-button{display:flex;gap:7px;align-items:center;border:1px solid transparent;background:#f5f7f2;border-radius:5px;padding:10px 7px;font-size:11px;text-align:left;min-height:38px}.line-button:hover{background:#e8eee3}.line-button[aria-pressed=true]{border-color:#648370;background:#eaf0e6}.color-dot{display:inline-block;width:10px;height:10px;background:var(--line-color);border:1px solid #0003;border-radius:50%;flex-shrink:0}.layers{border-top:1px solid var(--line);padding-top:15px;margin-top:23px}.layer-label{display:flex;align-items:center;gap:7px;min-height:33px;font-size:11px}.layer-label input{accent-color:var(--ink);width:14px;height:14px}.layer-label:has(input:disabled){color:#8a938c}.coming{font-size:9px;margin-left:auto;color:var(--muted)}.explorer-note{border-top:1px solid var(--line);padding-top:17px;margin-top:15px;font-family:Georgia,serif;font-size:14px;line-height:1.7}.explorer-note span{font-family:Arial,sans-serif;font-size:10px;color:var(--muted)}.map-panel{position:relative;background:#f2f5ed;min-width:0;display:flex;flex-direction:column;overflow:hidden}.canvas-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;font-size:11px;z-index:1;pointer-events:none}.schematic-label{font-size:8px;letter-spacing:1px;color:#657365}#network-map{display:block;width:100%;flex:1;min-height:480px;touch-action:none;cursor:grab}#network-map:active{cursor:grabbing}.districts text{font-size:27px;letter-spacing:5px;fill:#b4c1ae;font-family:Georgia,serif;font-style:italic}.network-line{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s}.station{cursor:pointer;outline:none}.station .hit-target{fill:transparent;stroke:none}.station circle.point{fill:#fff;stroke:#374c40;stroke-width:2.6}.station circle.connection{stroke-width:3.2}.station.selected circle.point,.station:focus circle.point{stroke:#1e6852;stroke-width:4;fill:#f7ebc0}.station .selection-ring{fill:none;stroke:#35715d;stroke-width:2;opacity:0}.station.selected .selection-ring,.station:focus .selection-ring{opacity:1}.station text{font-size:14px;font-weight:600;fill:#344639;paint-order:stroke;stroke:#f2f5ed;stroke-width:5px;stroke-linejoin:round;pointer-events:none}.map-controls{position:absolute;right:18px;bottom:64px;display:flex;flex-direction:column;box-shadow:0 3px 14px #233e3710;border:1px solid var(--line);border-radius:7px;overflow:hidden}.map-controls button{background:white;border:none;border-bottom:1px solid var(--line);width:38px;height:38px;font-size:23px}.map-controls button:last-child{border-bottom:0;font-size:21px}.map-controls button:hover{background:var(--soft)}.map-key{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;padding:14px 10px;background:#f8faf5;border-top:1px solid var(--line);font-size:9px;color:#586c5b}.map-key>span,.map-key label{display:flex;align-items:center;gap:6px}.map-key input{accent-color:var(--ink)}.station-key,.transfer-key{width:9px;height:9px;border:1.5px solid #374c40;border-radius:50%;background:white}.transfer-key{width:12px;height:12px;border-width:3px}.lugar-key{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:9px solid var(--accent)}.detail-panel{padding:25px 20px;border-left:1px solid var(--line)}.detail-panel h2{font-size:30px;line-height:1.15;margin-bottom:14px}.detail-panel p{font-size:12px;color:var(--muted)}.detail-panel .eyebrow{font-size:9px;color:var(--accent);margin-bottom:13px}.detail-panel h3{margin:25px 0 12px}.detail-panel .line-button{font-size:12px;margin-bottom:7px;width:100%;padding:11px}.station-order{padding:0;margin:16px 0;list-style:none}.station-order li{position:relative;margin-left:5px;padding:0 0 0 18px;border-left:2px solid var(--line-color)}.station-order li:before{content:'';width:6px;height:6px;border:2px solid var(--line-color);border-radius:50%;position:absolute;left:-6px;top:13px;background:white}.station-order li:last-child{border-color:transparent}.station-order button{border:0;background:none;text-align:left;font-size:12px;padding:10px 0;line-height:1.4}.station-order button:hover{text-decoration:underline}.station-order .current button{font-weight:700}.detail-note{border-radius:6px;background:var(--soft);padding:13px;margin:18px 0}.detail-note strong{display:block;color:var(--ink);margin-bottom:4px}.detail-panel a{font-size:11px;text-underline-offset:3px}.detail-panel .aliases{font-size:11px}.detail-panel{position:relative}.detail-panel.is-lugar{border-top:4px solid var(--accent)}#detail-content{max-height:460px;overflow:hidden}.detail-panel.expanded #detail-content{max-height:none}.detail-expand{display:none;width:100%;margin-top:14px;border:1px solid var(--line);background:var(--soft);border-radius:20px;padding:10px;font-size:11px;color:var(--ink);cursor:pointer}.detail-expand:not([hidden]){display:block}.line-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.station-neighbors{display:flex;gap:16px;margin:18px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.neighbor{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.neighbor-label{font-size:9px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.neighbor-name{border:0;background:none;text-align:left;padding:0;font-size:13px;font-weight:600;color:var(--ink);white-space:normal}.neighbor-name:hover{text-decoration:underline}.place-meta{margin:16px 0}.place-row{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--ink);margin:9px 0}.place-icon{flex-shrink:0}.place-summary{font-size:13px;line-height:1.65;color:var(--ink);margin:16px 0}.place-body{margin:16px 0;padding-top:16px;border-top:1px solid var(--line)}.place-body-paragraph{font-size:12px;line-height:1.7;color:var(--ink);margin:0 0 14px}.place-body-heading{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);font-weight:700;margin:20px 0 8px}.place-body-heading:first-child{margin-top:0}.place-body-list{margin:0 0 14px;padding-left:18px}.place-body-list li{font-size:12px;line-height:1.6;color:var(--ink);margin-bottom:8px}.place-body strong{color:var(--ink);font-weight:700}.place-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.button-link{font-size:12px;font-weight:600;text-underline-offset:3px}.hotel-tag{cursor:pointer}.hotel-tag rect{fill:#254a3b;stroke:#fff;stroke-width:2}.hotel-tag text{fill:white;font-size:12px;font-weight:600}.hotel-tag:focus{outline:none}.hotel-tag:focus rect{stroke:#bd683e;stroke-width:4}.map-footer{margin:18px 4% 35px;display:flex;gap:45px;justify-content:space-between;color:var(--muted);font-size:10px}.map-footer>p{max-width:540px}.map-footer strong{font-weight:400}.map-footer details{max-width:500px;min-width:240px}.map-footer summary{cursor:pointer;text-align:right;padding:5px 0}.map-footer li{margin-bottom:9px;line-height:1.5}.map-footer ul{padding-left:17px}#map-status{position:absolute;top:65px;left:20px;right:20px;padding:16px;border-radius:8px;background:white;z-index:2;font-size:13px}#map-status[hidden]{display:none}#map-status button{display:block;margin-top:10px}.search-result{display:block;width:100%;border:0;background:#eef2e9;text-align:left;padding:10px;margin-top:4px;border-radius:4px;font-size:12px}.search-result:hover{background:#dce8d4}#search-results p{font-size:11px;margin:10px 0}.no-script{padding:20px;text-align:center}
@media(min-width:1700px){.map-layout{grid-template-columns:265px minmax(0,1fr) 270px}#network-map{min-height:650px}.station text{font-size:15px}}
@media(max-width:1150px){.map-layout{grid-template-columns:210px minmax(0,1fr)}.detail-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:22px;min-height:150px}.detail-panel .station-order{display:flex;flex-wrap:wrap;gap:0 20px}.detail-panel .line-button{width:auto;display:inline-flex;margin-right:7px}.detail-panel .detail-note{max-width:500px}.map-heading h1{font-size:37px}.map-type{display:none}.map-panel{min-height:600px}}
@media(max-width:700px){.site-header{height:auto;min-height:77px;padding:14px 5%;flex-direction:column;align-items:flex-start;gap:10px}.brand-logo{height:30px}.brand span{font-size:8px;letter-spacing:2px}.nav-link{font-size:11px}.header-nav{align-self:flex-start}.home-main{grid-template-columns:1fr;padding:45px 7%;gap:35px}.home-copy h1{font-size:60px}.home-art{min-height:370px}.home-footer{font-size:9px;display:block;line-height:2}.home-footer span{display:block}.map-heading{padding:28px 5% 22px}.map-heading h1{font-size:32px;letter-spacing:-1px}.map-heading p:not(.eyebrow){font-size:12px}.eyebrow{font-size:9px;margin-bottom:12px}.map-layout{margin:0 3%;grid-template-columns:minmax(0,1fr)}.map-panel{grid-row:1;min-height:440px}#network-map{min-height:370px;max-height:480px}.canvas-heading{padding:14px 12px;font-size:10px}.schematic-label{font-size:7px}.map-key{gap:10px;font-size:9px}.explorer{border-right:0;border-top:1px solid var(--line);padding:20px}.explorer-top{margin-bottom:14px}.line-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.line-button{font-size:10px;gap:5px;padding:9px 5px}.color-dot{width:8px;height:8px}.layers{margin-top:18px;padding-top:12px}#layer-list{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.explorer-note{display:none}.detail-panel{grid-row:2}.map-footer{display:block;margin:15px 5% 30px}.map-footer summary{text-align:left}.map-footer details{max-width:none}.map-controls{right:10px;bottom:60px}.map-controls button{width:35px;height:35px}.station text{font-size:16px}.place-photo-hero img{max-height:none;object-fit:contain;background:var(--soft)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.map-controls{top:60px;bottom:auto}
@media(max-width:700px){.map-controls{top:50px;bottom:auto}}
.base-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:0 18px 14px;border-bottom:1px solid var(--line);background:#f2f5ed;font-size:11px}.base-controls label{display:flex;align-items:center;gap:9px}.base-controls select{font:inherit;color:var(--ink);border:1px solid #cbd7c9;border-radius:5px;background:white;padding:8px;min-height:35px}.intensity-control input{width:100px;accent-color:#375d4a}.intensity-control output{width:30px;font-variant-numeric:tabular-nums}.intensity-control:has(input:disabled){opacity:.5}.map-notice{margin:0;padding:12px 18px;background:#fbf2d7;font-size:11px;line-height:1.5}.map-notice[hidden]{display:none}#google-map{width:100%;min-height:580px;flex:1}#google-map[hidden]{display:none}.map-controls{top:125px;bottom:auto}#map-status{top:110px}.geo-marker-pane{position:absolute;left:0;top:0;pointer-events:none}.geo-station{position:absolute;width:32px;height:32px;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;padding:0;pointer-events:auto;z-index:3}.geo-point{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border:2px solid #304a3e;border-radius:50%;background:white;box-shadow:0 0 0 1px #fff}.geo-station.connection .geo-point{width:14px;height:14px;border-width:3px}.geo-station.selected{z-index:5}.geo-station.selected .geo-point{background:#f8e6a0;box-shadow:0 0 0 5px #2e705343;border-color:#245841}.geo-station:focus-visible{outline:3px solid #375d4a;border-radius:50%}.geo-label{position:absolute;left:25px;top:9px;white-space:nowrap;font:600 11px Arial,sans-serif;color:#233e37;text-shadow:-1px -1px 0 white,1px -1px 0 white,-1px 1px 0 white,1px 1px 0 white,0 0 4px white}.geo-station:hover .geo-label{display:block!important}.geo-hotel{position:absolute;transform:translate(-50%,4px);border:2px solid white;border-radius:5px;background:#254a3b;color:white;white-space:nowrap;padding:6px 9px;font:600 11px Arial,sans-serif;pointer-events:auto;z-index:4}.geo-hotel:before{content:'';position:absolute;left:50%;top:-6px;width:6px;height:6px;background:#254a3b;transform:translateX(-50%) rotate(45deg)}.geo-station[hidden],.geo-hotel[hidden]{display:none}.geo-label[hidden]{display:none}.geo-lugar{position:absolute;width:26px;height:26px;transform:translate(-50%,-100%);border:0;background:transparent;cursor:pointer;padding:0;pointer-events:auto;z-index:3}.geo-lugar-point{position:absolute;left:50%;top:100%;transform:translate(-50%,-100%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:16px solid var(--accent);filter:drop-shadow(0 1px 1px #0004)}.geo-lugar:hover .geo-lugar-point,.geo-lugar:focus-visible .geo-lugar-point{border-top-color:#8f4a29}.geo-lugar:hover .geo-label,.geo-lugar:focus-visible .geo-label{display:block!important}.geo-lugar .geo-label{left:14px;top:-14px}.geo-lugar[hidden]{display:none}.geo-lugar:focus-visible{outline:3px solid var(--accent);border-radius:3px}.privacy-copy{max-width:760px;padding:45px 25px;margin:auto}.privacy-copy h1{font-size:38px}.privacy-copy h2{margin-top:35px}.privacy-copy p{font-size:14px;color:var(--muted)}
@media(max-width:700px){.base-controls{padding:0 12px 12px;gap:8px;font-size:10px}.base-controls label{gap:6px}.base-controls select{font-size:11px}.intensity-control input{width:75px}.intensity-control output{width:25px}#google-map{min-height:450px;height:450px;flex:none}.map-controls{top:145px;right:10px}.map-panel{min-height:540px}.geo-label{font-size:10px}.canvas-heading{min-height:38px}.schematic-label{max-width:160px;text-align:right}}
.place-photo-hero{margin:0 0 16px;border-radius:8px;overflow:hidden}.place-photo-hero img{display:block;width:100%;max-height:220px;object-fit:cover}.photo-credit{padding:6px 2px 0;font-size:10px;color:var(--muted)}.place-gallery{display:flex;gap:8px;overflow-x:auto;margin:16px 0;padding-bottom:4px}.place-gallery-photo{flex:0 0 auto;width:110px;height:80px;object-fit:cover;border-radius:6px}
.lugar-main{max-width:760px;margin:auto;padding:40px 6% 60px;min-height:50vh}.lugar-main h1{font-size:34px;margin:8px 0 16px}.lugar-main .place-photo-hero{border-radius:12px;margin-bottom:20px}.lugar-main .place-photo-hero img{max-height:360px}.destacado-badge{background:var(--accent);color:#fff;border-color:var(--accent);margin:4px 0 14px}.lugar-mini-mapa{width:100%;height:220px;border-radius:8px;margin:26px 0 6px;background:var(--soft)}.auto-link{text-decoration:underline;text-underline-offset:2px}
@media(max-width:700px){.lugar-main{padding:28px 6% 45px}.lugar-main h1{font-size:26px}}
.indice-hero{padding:50px 5% 10px;max-width:900px}.indice-hero h1{font-size:clamp(34px,4.5vw,52px);line-height:1.1;margin:14px 0 16px}.indice-hero h1 span{color:var(--accent)}.indice-hero .intro{max-width:580px;color:var(--muted);font-size:15px}
.indice-section{margin:40px 5% 10px}.indice-section h2{font-size:22px;margin:0 0 18px}
.destacados-grid,.lugar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-bottom:10px}
.lugar-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--white);display:flex;flex-direction:column}
.lugar-card-media{display:block;aspect-ratio:4/3;background:var(--soft);overflow:hidden}
.lugar-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.lugar-card-body{padding:14px 16px 18px;flex:1;display:flex;flex-direction:column;gap:6px}
.lugar-card-body h3{font-size:15px;margin:0;font-weight:400}
.lugar-card-body h3 a{text-decoration:none;color:var(--ink)}
.lugar-card-body h3 a:hover{text-decoration:underline}
.lugar-card-body p{font-size:12px;color:var(--muted);line-height:1.5;margin:0;flex:1}
.lugar-card-badge{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--accent);border-radius:10px;padding:3px 8px;align-self:flex-start}
.indice-empty{font-size:13px;color:var(--muted)}
.fichas-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ficha-card{border:1px solid var(--line);border-radius:10px;background:var(--white);padding:16px 18px}
.ficha-card .eyebrow{margin-bottom:8px}
.ficha-card h3{font-size:16px;margin:0 0 8px;font-weight:400}
.ficha-card .place-summary{font-size:12px;margin:0 0 8px}
.ficha-card details summary{cursor:pointer;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.ficha-card details .place-body{margin-top:10px}
@media(max-width:700px){.indice-hero{padding:35px 6% 5px}.indice-section{margin:30px 6% 10px}}
.agenda-main{max-width:1180px;margin:auto;padding:45px 6% 60px}.agenda-heading{margin-bottom:30px}.agenda-heading h1{font-size:40px;margin:10px 0 14px}.agenda-heading h1 span{color:var(--accent)}.agenda-heading>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:520px;margin-bottom:18px}#agenda-status{font-size:13px;color:var(--muted);padding:20px 0}#agenda-empty{font-size:13px;color:var(--muted)}.agenda-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px;align-items:start}.agenda-card{border:1px solid var(--line);border-radius:10px;background:var(--white);overflow:hidden;display:grid;grid-template-areas:"imagen" "top" "content";grid-template-columns:1fr;gap:0}.agenda-top{grid-area:top;padding:20px 22px 0}.agenda-content{grid-area:content;padding:16px 22px 20px;min-width:0}.agenda-imagen{grid-area:imagen;aspect-ratio:16/9;background:var(--soft)}.agenda-imagen img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.agenda-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.agenda-badge{font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);border:1px solid var(--line);border-radius:10px;padding:3px 9px}.agenda-date{font-size:11px;color:var(--muted);display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.agenda-date-line{white-space:nowrap}.agenda-title{font-size:21px;line-height:1.25;margin:0 0 10px}.agenda-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin-bottom:10px}.agenda-resumen{font-size:13px;line-height:1.6;color:var(--ink);margin:0 0 10px}.agenda-details summary{cursor:pointer;font-size:11px;color:var(--ink);text-underline-offset:3px;text-decoration:underline;margin-bottom:8px}.agenda-cuerpo{font-size:12px;line-height:1.7;color:var(--ink);white-space:pre-line;margin:8px 0 0}.agenda-link{display:inline-block;font-size:12px;font-weight:600;margin-top:8px;text-underline-offset:3px}.agenda-fuente{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.agenda-fuente a{color:var(--muted);text-underline-offset:2px}.agenda-auto-note{font-size:9px;color:var(--muted);font-style:italic;margin:6px 0 0}
.agenda-list.single-event{grid-template-columns:1fr;max-width:820px;margin:0 auto}.agenda-list.single-event .agenda-card{grid-template-areas:"top" "imagen" "content";grid-template-columns:1fr}.agenda-list.single-event .agenda-imagen{aspect-ratio:16/9;max-height:480px}.agenda-list.single-event .agenda-imagen img{object-fit:contain;background:var(--soft)}.agenda-list.single-event .agenda-title{font-size:28px}.agenda-list.single-event .agenda-content{padding:20px 24px 28px}.agenda-list.single-event .agenda-top{padding:22px 24px 0}
@media(max-width:700px){.agenda-main{padding:30px 6% 45px}.agenda-heading h1{font-size:30px}.agenda-list{grid-template-columns:1fr}.agenda-top{padding:16px 16px 0}.agenda-content{padding:16px}.agenda-card-header{flex-wrap:wrap}.agenda-footer-brand{display:block;line-height:2}.agenda-footer-brand span{display:block}.agenda-imagen{aspect-ratio:auto;max-height:320px}.agenda-imagen img{object-fit:contain;background:var(--soft)}}
.agenda-filters{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.agenda-search{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:20px;font-size:13px;background:var(--white);color:var(--ink)}.agenda-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.filter-row{display:flex;flex-wrap:wrap;gap:7px}.filter-row button{border:1px solid var(--line);background:var(--white);color:var(--muted);border-radius:20px;padding:6px 13px;font-size:11px;cursor:pointer}.filter-row button:hover{background:var(--soft)}.filter-row button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.date-filter-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.custom-range{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--muted)}.custom-range[hidden]{display:none}.custom-range label{display:flex;align-items:center;gap:6px}.custom-range input[type=date]{border:1px solid var(--line);border-radius:5px;padding:5px 7px;font-size:12px;color:var(--ink)}.agenda-count{font-size:11px;color:var(--muted);margin:0 0 14px}.agenda-footer{max-width:1180px;margin:0 auto;padding:24px 6% 30px;border-top:1px solid var(--line)}.agenda-footer-note{font-size:10px;line-height:1.7;color:var(--muted);max-width:680px;margin:0 0 14px}.agenda-footer-brand{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px;color:var(--muted)}
@media(min-width:701px){.agenda-card{grid-template-areas:"top top" "imagen content";grid-template-columns:38% 1fr;column-gap:25px}.agenda-top{padding:20px 22px 12px}.agenda-imagen{aspect-ratio:auto;max-height:260px;align-self:start}.agenda-imagen img{object-fit:contain}.agenda-content{padding:0 22px 20px 0}}
.agenda-lightbox{position:fixed;inset:0;background:#161f16e3;display:flex;align-items:center;justify-content:center;padding:40px;z-index:60}.agenda-lightbox[hidden]{display:none}.agenda-lightbox img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 60px #0008}.agenda-lightbox-close{position:fixed;top:16px;right:20px;background:#ffffff22;border:1px solid #ffffff55;color:#fff;width:38px;height:38px;border-radius:50%;font-size:16px;cursor:pointer}.agenda-lightbox-close:hover{background:#ffffff3a}body.agenda-lightbox-open{overflow:hidden}
.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.agenda-toolbar .agenda-count{margin:0}.view-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:20px;padding:3px;background:var(--white);margin-left:auto}.view-switch button{border:0;background:none;border-radius:16px;padding:6px 14px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--muted);cursor:pointer}.view-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.agenda-mosaic{column-count:4;column-gap:14px}.agenda-mosaic[hidden]{display:none}.agenda-mosaic-item{display:block;break-inside:avoid;margin:0 0 14px;border-radius:8px;overflow:hidden;cursor:pointer;border:0;padding:0;width:100%;text-align:left;background:none;font:inherit}.agenda-mosaic-item img{width:100%;display:block;transition:transform .2s}.agenda-mosaic-item:hover img{transform:scale(1.02)}.agenda-mosaic-item.no-imagen{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;padding:22px;color:#fff;font-family:Georgia,serif;font-size:22px;line-height:1.3;text-align:center}
@media(max-width:1150px){.agenda-mosaic{column-count:3}}
@media(max-width:700px){.agenda-mosaic{column-count:2;column-gap:8px}.agenda-mosaic-item{margin-bottom:8px}.agenda-toolbar{margin-bottom:10px}}
.agenda-modal{position:fixed;inset:0;background:#161f16e3;display:flex;align-items:center;justify-content:center;padding:30px;z-index:60}.agenda-modal[hidden]{display:none}.agenda-modal-box{background:var(--white);border-radius:10px;max-width:1000px;width:100%;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0008}.agenda-modal-image{flex:0 0 45%;background:#000;display:flex;align-items:center;justify-content:center;min-width:0}.agenda-modal-image img{max-width:100%;max-height:90vh;object-fit:contain;display:block}.agenda-modal-image.no-imagen{color:#fff;font-family:Georgia,serif;font-size:26px;line-height:1.3;text-align:center;padding:30px}.agenda-modal-detail{flex:1;padding:26px;overflow-y:auto;min-width:0}.agenda-modal-detail .agenda-top{padding:0}.agenda-modal-close{position:fixed;top:16px;right:20px;background:#1c2b22e6;border:1px solid #ffffff40;color:#fff;width:38px;height:38px;border-radius:50%;font-size:16px;cursor:pointer;box-shadow:0 2px 10px #0006;z-index:1}.agenda-modal-close:hover{background:#1c2b22}body.agenda-modal-open{overflow:hidden}
@media(max-width:700px){.agenda-modal{padding:0}.agenda-modal-box{flex-direction:column;max-height:100vh;height:100%;border-radius:0;overflow-y:auto;overflow-x:hidden}.agenda-modal-image{flex:0 0 auto}.agenda-modal-image img{max-height:70vh}.agenda-modal-image.no-imagen{aspect-ratio:3/4;padding:20px}.agenda-modal-detail{flex:0 0 auto;padding:18px;overflow-y:visible}}
@media(max-width:700px){.agenda-filters{gap:10px}}
/* Marcadores por categoria (icono + color) y lista "Categorias" */
.geo-lugar{width:32px;height:32px;transform:translate(-50%,-50%)}
.geo-lugar-point{position:absolute;inset:0;left:0;top:0;transform:none;width:32px;height:32px;border:3px solid var(--layer-color,var(--accent));border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;filter:drop-shadow(0 1px 2px #0005)}
.geo-lugar:hover .geo-lugar-point,.geo-lugar:focus-visible .geo-lugar-point{border-top-color:var(--layer-color,var(--accent));background:#f6f4ea}
.geo-lugar .geo-label{left:38px;top:8px}
.geo-lugar-hotel{width:42px;height:42px;z-index:4}
.geo-lugar-hotel .geo-lugar-point{width:42px;height:42px;font-size:21px;background:var(--layer-color);border-color:#fff}
.geo-lugar-hotel .geo-label{left:48px;top:12px;font-size:12px;display:block!important}
.lugar-key{width:12px;height:12px;border:0;border-radius:50%;background:var(--accent)}
.layer-label{gap:8px;cursor:pointer}
.layer-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--layer-color);border-radius:50%;background:#fff;font-size:12px;line-height:1;flex:none}
.layer-label:has(input:disabled) .layer-icon{opacity:.45}
.search-box{position:relative}
@media(max-width:700px){
  /* Movil: buscador primero, luego mapa, categorias y ficha */
  .map-heading{padding:14px 5% 10px;flex-wrap:wrap;gap:10px}
  .map-heading .eyebrow,.map-heading p:not(.eyebrow),.map-type{display:none}
  .map-heading h1{font-size:22px;margin:0}
  .explorer{display:contents}
  .explorer-top,.explorer-note{display:none}
  .map-layout{display:flex;flex-direction:column;overflow:visible}
  .search-box{order:1;position:sticky;top:0;z-index:30;background:var(--white);padding:10px 14px;border-bottom:1px solid var(--line);box-shadow:0 2px 6px #0001}
  .search-box .search-label{display:none}
  #station-search{width:100%;min-height:44px;padding:0 14px;font-size:16px;border:1px solid #cbd7c9;border-radius:22px}
  #search-results{position:absolute;left:0;right:0;top:100%;max-height:55vh;overflow-y:auto;background:var(--white);padding:0 14px 10px;box-shadow:0 8px 14px #0002}
  #search-results:empty{display:none}
  .search-result{min-height:44px;font-size:14px}
  .map-panel{order:2;grid-row:auto}
  .layers{order:3;border-top:1px solid var(--line);margin:0;padding:12px 14px}
  .layers h3{margin:0 0 8px;font-size:10px;letter-spacing:1.5px;color:var(--muted)}
  #layer-list{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .layer-label{flex:none;min-height:36px;padding:3px 12px 3px 6px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:12px;white-space:nowrap}
  .layer-label:has(input:checked){background:color-mix(in srgb,var(--layer-color) 14%,#fff);border-color:var(--layer-color)}
  .layer-label input{position:absolute;opacity:0;width:1px;height:1px}
  .detail-panel{order:4;grid-row:auto}
}
@media(max-width:700px){.layer-label:has(input:focus-visible){outline:3px solid #2a826a}}
@media(max-width:700px){.map-layout>*,.layers{min-width:0;max-width:100%}.map-panel{width:100%}}
/* Buscador con IA en la portada */
.ask-box{margin-top:26px;max-width:640px}
.ask-label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ask-row{display:flex;gap:8px}
.ask-row input{flex:1;min-width:0;min-height:46px;padding:0 16px;border:1px solid #cbd7c9;border-radius:23px;background:#fff;font-size:15px}
.ask-row button{min-height:46px;padding:0 22px;border:0;border-radius:23px;background:var(--ink);color:var(--paper);font-weight:700;font-size:13px}
.ask-row button:disabled{opacity:.5}
.ask-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ask-chip{border:1px solid var(--line);background:#fff;border-radius:16px;padding:7px 12px;font-size:12px;color:var(--muted)}
.ask-chip:hover{border-color:var(--accent);color:var(--ink)}
.ask-answer{margin-top:16px;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;background:#fff;font-size:14px;line-height:1.65}
.ask-answer[hidden]{display:none}
.ask-answer .place-body-paragraph{margin:0 0 10px}
.ask-sources{margin:12px 0 0;font-size:12px;color:var(--muted)}
.ask-sources a{color:var(--ink)}
.ask-disclaimer{margin:10px 0 0;font-size:10px;color:var(--muted)}
@media(max-width:700px){.ask-row{flex-direction:column}.ask-row button{width:100%}}
/* Tamaño de pines segun zoom (data-pin lo fija google-map.js) */
#google-map{--pin:14px;--pin-icon:0px;--pin-border:3px;--hotel:24px}
#google-map[data-pin=mid]{--pin:22px;--pin-icon:11px;--pin-border:2px;--hotel:30px}
#google-map[data-pin=near]{--pin:28px;--pin-icon:14px;--pin-border:3px;--hotel:38px}
.geo-lugar{width:var(--pin);height:var(--pin)}
.geo-lugar-point{width:var(--pin);height:var(--pin);border-width:var(--pin-border);font-size:var(--pin-icon);background:var(--layer-color,#fff)}
#google-map[data-pin=mid] .geo-lugar-point,#google-map[data-pin=near] .geo-lugar-point{background:#fff}
.geo-lugar-hotel{width:var(--hotel);height:var(--hotel)}
.geo-lugar-hotel .geo-lugar-point{width:var(--hotel);height:var(--hotel);font-size:calc(var(--hotel) * .5);background:var(--layer-color);border-width:2px}
#google-map[data-pin=far] .geo-lugar-hotel .geo-lugar-point{font-size:0}
/* Etiquetas: solo al acercar (o al pasar el cursor); el hotel desde zoom medio */
.geo-lugar .geo-label{display:none;left:calc(var(--pin) + 6px);top:50%;transform:translateY(-50%)}
#google-map[data-pin=near] .geo-lugar .geo-label{display:block}
.geo-lugar-hotel .geo-label{display:none!important;left:calc(var(--hotel) + 6px);top:50%;transform:translateY(-50%)}
#google-map[data-pin=mid] .geo-lugar-hotel .geo-label,#google-map[data-pin=near] .geo-lugar-hotel .geo-label,.geo-lugar-hotel:hover .geo-label{display:block!important}
.geo-lugar:hover .geo-label,.geo-lugar:focus-visible .geo-label{display:block}
.geo-lugar:hover,.geo-lugar:focus-visible{z-index:6}
