.live-strip{display:grid;grid-template-columns:1.05fr 2fr .75fr;align-items:center;gap:20px;margin-top:-56px;margin-bottom:14px;background:#e9eee5;border:1px solid #d8e0d4;padding:14px 18px;border-radius:3px}.live-strip-label{display:flex;align-items:center;gap:8px;font:10px var(--mono);color:var(--green);text-transform:uppercase;letter-spacing:.04em}.live-strip-label small{color:#89958b;text-transform:none;letter-spacing:0;margin-left:3px}.live-weather{display:flex;gap:14px;justify-content:center}.weather-chip{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--green)}.weather-chip>b{font-size:16px}.weather-chip small,.live-rate small{display:block;color:#89958b;font:9px var(--mono);margin-top:1px}.live-rate{display:flex;align-items:center;gap:8px;justify-content:end;color:var(--green)}.rate-symbol{width:24px;height:24px;background:var(--yellow);border-radius:50%;display:grid;place-items:center;font:13px var(--mono)}.live-rate b{font:10px var(--mono)}.api-loading,.api-fallback{font:10px var(--mono);color:#89958b}@media(max-width:900px){.live-strip{grid-template-columns:1fr;gap:12px;margin-top:-30px}.live-strip-label{justify-content:space-between}.live-weather{justify-content:flex-start;flex-wrap:wrap}.live-rate{justify-content:flex-start}}@media(max-width:560px){.live-strip-label small{display:none}.weather-chip:nth-child(3){display:none}}
.map-mode{border:0;background:transparent;color:var(--lime);font:9px var(--mono);cursor:pointer}.real-map{display:none;position:absolute;inset:0;z-index:4}.map-canvas.real-mode> :not(.real-map){display:none}.map-canvas.real-mode .real-map{display:block}.leaflet-popup-content{font-family:var(--sans);font-size:12px;color:var(--green)}.leaflet-popup-content small{color:var(--muted)}.leaflet-add{background:var(--green);color:var(--lime);border:0;border-radius:3px;padding:7px 9px;font:10px var(--mono);margin-top:8px;cursor:pointer}
.walk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.walk-card{background:var(--paper);border:1px solid #dce4d8;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.walk-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #12271a15}.walk-image{height:165px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:12px;color:white}.walk-image span,.walk-image b{font:9px var(--mono);background:#12271ac7;padding:5px 7px}.walk-image b{color:var(--yellow);max-width:58%;text-align:right}.walk-info{padding:15px}.walk-info h3{font:700 19px var(--sans);color:var(--green);margin:7px 0}.walk-info p{font-size:12px;line-height:1.45;color:var(--muted);min-height:34px}.walk-info>small{display:block;color:var(--green);font:10px var(--mono);line-height:1.45;margin-top:10px}.walk-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-top:10px;border-top:1px solid #e0e7dc;color:var(--muted);font:10px var(--mono)}.walk-meta strong{color:var(--coral)}.walk-detail-hero{background:linear-gradient(135deg,#e3eee0,#f7f1e7)}
@media(max-width:1050px){.walk-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.walk-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.walk-grid{grid-template-columns:1fr}}
.guide-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.guide-card{background:var(--paper);border:1px solid #dce4d8;padding:24px;min-height:310px;display:flex;flex-direction:column}.guide-card h3{font:700 25px var(--sans);line-height:1.05;margin:18px 0 10px;color:var(--green)}.guide-card p{color:var(--muted);font-size:13px;line-height:1.65;margin:0 0 18px}.guide-index,.guide-footnote{font:10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--green)}.guide-seasons{background:#e7efdf}.season-bars{display:grid;gap:9px;margin:auto 0 18px}.season-bars div{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;border-top:1px solid #cbd7c5;padding-top:8px;font-size:11px}.season-bars span{color:var(--green)}.season-bars b{font-weight:600;color:#748172}.guide-link{margin-top:auto;color:var(--green);font:11px var(--mono);text-decoration:none}.currency-tool{display:grid;grid-template-columns:1.5fr .8fr auto .9fr .9fr;align-items:center;gap:8px;margin:auto 0 15px;background:#f1f4ef;padding:12px}.currency-tool label{font:10px var(--mono);color:var(--green)}.currency-tool input{display:block;width:100%;margin-top:6px;border:1px solid #d8e0d4;padding:8px;font:13px var(--mono);background:white}.currency-tool div{display:grid;gap:2px}.currency-tool strong{font:700 14px var(--mono);color:var(--green)}.currency-tool span{font:9px var(--mono);color:var(--muted)}.transport-list{display:grid;gap:9px;margin:auto 0 18px}.transport-list div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e1e7df;padding:7px 0}.transport-list b{font-size:11px;color:var(--green)}.transport-list span{font:10px var(--mono);color:var(--muted);text-align:right}.lodging-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.lodging-toolbar>label{display:flex;align-items:center;gap:8px;font:10px var(--mono);color:var(--green);margin-left:auto}.lodging-toolbar select,.hotel-search input,.hotel-search select{border:1px solid #cfd9cc;background:var(--paper);padding:10px;font:10px var(--mono);color:var(--green)}.hotel-search{display:flex;gap:6px;flex:1 1 620px}.hotel-search input[type=search]{min-width:160px;flex:1}.hotel-search input[type=date]{width:145px}.hotel-search .button{padding:10px 13px;white-space:nowrap}.lodging-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.lodging-card{background:var(--paper);border:1px solid #dce4d8;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.lodging-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #12271a15}.lodging-image{height:155px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:space-between;padding:12px;color:white}.lodging-image span,.lodging-image b{font:10px var(--mono);background:#12271abf;padding:5px 7px}.lodging-image b{color:var(--yellow);text-transform:uppercase}.lodging-info{padding:15px}.lodging-info h3{font:700 19px var(--sans);color:var(--green);margin:7px 0}.lodging-info p{font-size:12px;line-height:1.45;color:var(--muted);min-height:34px}.lodging-meta{display:flex;align-items:baseline;gap:5px;margin:12px 0}.lodging-meta strong{font:700 15px var(--mono);color:var(--green)}.lodging-meta small{font:10px var(--mono);color:var(--muted)}.lodging-actions{display:flex;gap:10px;flex-wrap:wrap}.lodging-actions a,.car-link{font:10px var(--mono);color:var(--green);text-decoration:none;border-bottom:1px solid #c4d0bf;padding-bottom:3px}.cars-section{background:#dfe9dc;padding-top:55px;padding-bottom:55px}.car-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.car-card{background:#f5f7f2;padding:19px;min-height:250px;display:flex;flex-direction:column;border:1px solid #cfd9cc}.car-card-top{display:flex;justify-content:space-between;color:var(--green);font:10px var(--mono)}.car-card-top b{color:var(--coral)}.car-card h3{font:700 20px var(--sans);color:var(--green);margin:25px 0 10px}.car-card p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}.car-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:8px;margin:auto 0 15px}.car-card-bottom strong{font:700 14px var(--mono);color:var(--green)}.car-card-bottom small{font:9px var(--mono);color:var(--muted);text-align:right}.car-warning{display:flex;gap:15px;align-items:center;margin-top:16px;padding:14px;background:#fff7d4;color:var(--green);font-size:12px}.car-warning strong{font:700 12px var(--mono);white-space:nowrap}.car-warning span{flex:1}.car-warning a{color:var(--green);font:10px var(--mono);white-space:nowrap}.detail-modal{display:none;position:fixed;inset:0;z-index:100}.detail-modal.open{display:flex;align-items:center;justify-content:center;padding:15px}.detail-backdrop{position:absolute;inset:0;background:#07150dcc;backdrop-filter:blur(6px)}.detail-dialog{position:relative;width:min(880px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow-y:auto;overflow-x:hidden;margin:auto;background:var(--paper);color:var(--green);border-radius:12px;box-shadow:0 25px 80px #00000080;z-index:1}.detail-close{position:absolute;right:14px;top:10px;border:0;background:#ffffffcc;color:var(--green);font:26px var(--sans);cursor:pointer;z-index:10;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;box-shadow:0 2px 8px #0002}.detail-close:hover{background:#fff;color:var(--orange)}.detail-hero{padding:44px 38px 30px;background:linear-gradient(135deg,#e4eee0,#f6f3e9)}.detail-hero h2{font:700 clamp(30px,5vw,54px) var(--sans);line-height:.98;margin:12px 0}.detail-hero p{max-width:680px;color:#617064;line-height:1.6;margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:30px 38px}.detail-kicker{display:block;font:10px var(--mono);letter-spacing:.08em;color:var(--coral);margin:0 0 12px}.detail-fact{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;border-top:1px solid #dbe3d8;padding:11px 0;font-size:12px}.detail-fact b{font:10px var(--mono);text-transform:uppercase;color:var(--green)}.detail-fact span{color:var(--muted);line-height:1.4}.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}.detail-tags span{padding:6px 8px;background:#e7efdf;font:10px var(--mono);color:var(--green)}.detail-media-link,.detail-source{display:block;color:var(--green);font:11px var(--mono);text-decoration:none;margin-top:18px}.detail-media-link.secondary{margin-top:10px;color:var(--coral)}.detail-note{background:#eef3eb;padding:17px;font-size:12px;line-height:1.6;color:var(--muted)}.detail-note b{color:var(--green);font:11px var(--mono)}.detail-actions{margin-top:18px}.route-detail{padding:30px 38px}.route-detail-stats{display:flex;gap:30px;margin-top:25px}.route-detail-stats span{display:grid;gap:4px}.route-detail-stats b{font:700 15px var(--mono);color:var(--green)}.route-detail-stats small{font:10px var(--mono);color:var(--muted)}.route-segment{border-left:2px solid var(--coral);padding:12px 15px;margin:0 0 10px;background:#f0f4ed}.route-segment-head{display:flex;justify-content:space-between;gap:15px}.route-segment-head b{font-size:13px}.route-segment-head strong{font:12px var(--mono);color:var(--coral)}.route-segment small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.day-plan{display:grid;gap:8px;margin:0 0 20px}.day-plan div{font-size:12px;padding:8px 0;border-bottom:1px solid #e1e8de}.mini-lodgings{display:grid;gap:10px;margin-bottom:18px}.mini-lodging{display:flex;justify-content:space-between;gap:10px;padding:10px;background:#eef3eb}.mini-lodging div{display:grid;gap:4px}.mini-lodging b{font-size:12px}.mini-lodging small{font:10px var(--mono);color:var(--muted)}.mini-lodging a{font:10px var(--mono);color:var(--green);white-space:nowrap}.detail-add{width:100%;margin-top:15px}.selected-activity-summary{grid-column:2;padding:15px;background:#edf3e9;border:1px solid #d7e1d3}.selected-activity-heading,.selected-activity-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.selected-activity-heading{font:10px var(--mono);color:var(--green);margin-bottom:10px}.selected-activity-heading strong{font:12px var(--mono)}.selected-activity-line{border-top:1px solid #d4dfd0;padding:8px 0;font-size:11px}.selected-activity-line select{font:10px var(--mono);padding:4px;border:1px solid #c9d6c5;background:white}.mini-remove{border:0;background:transparent;color:var(--coral);font-size:18px;cursor:pointer}.selected-activity-empty{font:11px var(--mono);color:var(--muted)}.route-timeline{display:grid;gap:10px;margin:12px 0}.timeline-row{display:grid;grid-template-columns:8px 1fr;gap:10px}.timeline-line{background:var(--coral);width:2px;min-height:32px;margin:4px auto}.timeline-row b{display:block;font-size:11px;color:var(--green)}.timeline-row small{font:9px var(--mono);color:var(--muted)}.itinerary-stage{width:100%;border:0;text-align:left;cursor:pointer}.wildlife-note{display:flex;gap:14px;align-items:center;background:#f1f4ef;padding:14px;margin-bottom:17px}.wildlife-note>span{font-size:25px;color:var(--coral)}.wildlife-note div{flex:1}.wildlife-note strong{display:block;color:var(--green);font-size:12px}.wildlife-note small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.wildlife-note a{font:10px var(--mono);color:var(--green)}.wildlife-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.wildlife-filter{border:1px solid #cfd9cc;background:transparent;padding:8px 10px;color:var(--green);font:10px var(--mono);cursor:pointer}.wildlife-filter.active{background:var(--green);color:var(--lime)}.fauna-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fauna-card{background:var(--paper);border:1px solid #dce4d8;cursor:pointer}.fauna-image{height:135px;background-size:cover;background-position:center}.fauna-info{padding:13px}.fauna-info h3{font:700 17px var(--sans);color:var(--green);margin:7px 0}.fauna-info p{font-size:11px;line-height:1.5;color:var(--muted)}.maplibregl-map{font:12px var(--sans)}.maplibregl-canvas{filter:saturate(.9)}.maplibre-marker{width:34px;height:34px;border:2px solid var(--lime);border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--coral);color:white;font:700 12px var(--mono);box-shadow:0 5px 12px #12271a55;cursor:pointer}.maplibre-marker::first-letter{display:inline-block;transform:rotate(45deg)}.maplibregl-ctrl-group{border-radius:3px!important}.maplibregl-ctrl button{background-color:#f4f5ee!important}
@media(max-width:1050px){.lodging-grid{grid-template-columns:repeat(3,1fr)}.car-grid{grid-template-columns:repeat(3,1fr)}.guide-grid{grid-template-columns:1fr 1fr}.guide-transport{grid-column:span 2}.fauna-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.guide-grid,.lodging-grid,.car-grid,.fauna-grid{grid-template-columns:1fr}.guide-transport{grid-column:auto}.hotel-search{display:grid;grid-template-columns:1fr 1fr}.hotel-search input[type=search],.hotel-search .button{grid-column:span 2;width:100%}.lodging-toolbar>label{margin-left:0}.currency-tool{grid-template-columns:1fr 1fr}.currency-tool>span{display:none}.detail-grid{grid-template-columns:1fr;padding:24px}.detail-hero{padding:40px 24px 24px}.route-detail{padding:24px}.route-detail-stats{display:grid;gap:12px}.car-warning{align-items:flex-start;flex-direction:column}.transport-list div{display:grid;gap:4px}.transport-list span{text-align:left}}
.wildlife-section{background:var(--blue)}.wildlife-note{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);padding:16px 18px;margin:0 0 20px}.wildlife-note>span{font-size:24px;color:var(--orange)}.wildlife-note strong,.wildlife-note small{display:block}.wildlife-note strong{font:11px var(--mono);color:var(--green)}.wildlife-note small{margin-top:3px;color:var(--muted);font-size:11px}.wildlife-note a{margin-left:auto;white-space:nowrap;color:var(--green);font:10px var(--mono);border-bottom:1px solid var(--orange);padding-bottom:3px}.wildlife-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.wildlife-filter{border:1px solid var(--line);background:transparent;color:var(--green);padding:10px 13px;font:10px var(--mono);cursor:pointer}.wildlife-filter.active,.wildlife-filter:hover{background:var(--green);border-color:var(--green);color:var(--lime)}.wildlife-filter span{opacity:.65;margin-left:5px}.fauna-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.fauna-card{background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.fauna-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #173c2e18}.fauna-image{height:180px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:space-between;padding:11px;color:#fff;font:9px var(--mono);text-transform:uppercase}.fauna-image b{background:var(--yellow);color:var(--green);padding:4px 6px;font-size:8px}.fauna-info{padding:16px}.fauna-info h3{margin:5px 0 4px;color:var(--green);font:700 20px var(--serif);line-height:1.05}.fauna-info em{color:var(--muted);font:italic 11px var(--mono)}.fauna-info p{min-height:38px;margin:10px 0 14px;color:var(--muted);font-size:11px;line-height:1.45}.fauna-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px;color:var(--green);font:9px var(--mono)}.fauna-open{border:0;background:transparent;color:var(--orange);font:10px var(--mono);padding:0;cursor:pointer;white-space:nowrap}.fauna-detail-hero{min-height:290px;background-image:linear-gradient(90deg,#173c2ee8 0%,#173c2e8c 60%,#173c2e2e 100%),var(--detail-image);background-size:cover;background-position:center}@media(max-width:1100px){.fauna-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.wildlife-note{align-items:flex-start;flex-wrap:wrap}.wildlife-note a{margin-left:38px}.fauna-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.fauna-grid{grid-template-columns:1fr}.fauna-image{height:210px}}
.maplibre-marker span{transform:rotate(45deg)}
.map-canvas .real-map.maplibregl-map{position:absolute;width:100%;height:100%;inset:0}
.itinerary-panel button.selected-place,.itinerary-panel button.day-row{appearance:none;-webkit-appearance:none;background:transparent;color:inherit;font-family:var(--sans)}
.itinerary-panel button.selected-place{width:100%;text-align:left}
.itinerary-panel .day-row{grid-template-columns:31px minmax(0,1fr) auto 18px;text-align:left}
.itinerary-panel .stage-remove{justify-self:end;color:var(--orange);font-size:18px;line-height:1;padding:0;background:transparent}
.itinerary-panel .day-row:hover,.itinerary-panel .selected-place:hover{background:#ffffff0d}
.itinerary-panel .day-row:focus-visible,.itinerary-panel .selected-place:focus-visible,.map-place:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.map-foot #map-status{margin-left:auto;color:#b5c4b3}
.video-poster,.detail-video,.video-frame{position:relative!important;overflow:hidden!important;isolation:isolate!important;aspect-ratio:16/9!important;background:#0b1810!important;border-radius:8px;max-width:100%}
.video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.video-poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0b181044,#0b1810b8);z-index:1}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;gap:9px;border:1px solid #eff4db99;border-radius:999px;padding:10px 18px;background:#173c2ee8;color:var(--lime);font:11px var(--mono);white-space:nowrap;cursor:pointer;transition:all .2s ease}
.video-play:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.video-poster-badge{position:absolute;left:12px;top:12px;z-index:2;padding:5px 9px;border-radius:4px;background:#173c2ed9;color:var(--lime);font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em}
.detail-video iframe,.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;border-radius:8px}
.transport-sources{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 17px}.transport-sources a{color:var(--green);font:9px var(--mono);text-decoration:none;border-bottom:1px solid #cbd7c5;padding-bottom:4px}
.activity-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 8px}.activity-toggle{border:1px solid var(--green);background:var(--green);color:var(--lime);padding:8px 10px;border-radius:3px;font:10px var(--mono);cursor:pointer}.activity-toggle.selected{background:var(--orange);border-color:var(--orange);color:#fff}.activity-toggle span{font-size:15px;line-height:0}.activity-sources{display:flex;gap:12px;flex-wrap:wrap}.activity-sources a{color:var(--green);font:9px var(--mono);text-decoration:underline;text-underline-offset:3px}.activity-card.is-selected{border-color:var(--orange);box-shadow:0 0 0 2px #eb815b2a}.selected-activity-summary{grid-column:2;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.selected-activity-heading{display:flex;justify-content:space-between;color:var(--green);font:11px var(--mono);margin-bottom:10px}.selected-activity-heading strong{color:var(--orange)}.selected-activity-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.activity-participants{border:1px solid var(--line);background:var(--panel);color:var(--green);padding:5px;font:10px var(--mono)}.mini-remove,.stage-remove{border:0;background:transparent;color:var(--orange);font-size:18px;cursor:pointer;padding:3px 5px}.place-remove{cursor:pointer}.place-empty{color:var(--muted);font-size:11px}.activity-sources a:hover,.lodging-actions a:hover{color:var(--orange)}@media(max-width:900px){.selected-activity-summary{grid-column:1 / -1}}@media(max-width:600px){.activity-sources{display:block}.activity-sources a{display:inline-block;margin:3px 10px 3px 0}.selected-activity-line{grid-template-columns:1fr auto auto}}
.wildlife-section{background-image:linear-gradient(90deg,#dce9d9f0 0%,#dce9d9de 48%,#dce9d9aa 100%),url('assets/costa-rica-wildlife-hero.png');background-size:cover;background-position:center top}
.fauna-sheet{padding-bottom:30px}.fauna-detail-intro{margin:0 38px;padding:20px;background:#e7efdf;border-left:3px solid var(--orange)}.fauna-detail-intro p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.fauna-detail-column{min-width:0}.fauna-ethics-note{margin-top:18px}.fauna-detail-credit{display:inline-block;margin-top:18px;color:var(--lime);font:10px var(--mono);text-decoration:underline;text-underline-offset:4px}.fauna-detail-hero .eyebrow,.fauna-detail-hero h2,.fauna-detail-hero p{color:var(--lime)}.fauna-detail-hero p{max-width:680px}.fauna-detail-hero .detail-kicker{color:var(--yellow)}@media(max-width:720px){.fauna-detail-intro{margin:0 24px}.fauna-detail-credit{font-size:9px}}
.fauna-search-bar{margin:0 0 16px}.fauna-search-wrapper{position:relative;display:flex;align-items:center;background:var(--paper);border:1px solid #cfd9cc;border-radius:3px;transition:border-color .2s,box-shadow .2s}.fauna-search-wrapper:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #173c2e1f}#fauna-search{flex:1;border:0;background:transparent;padding:12px 14px;font-family:var(--sans);font-size:13px;color:var(--green);outline:none}#fauna-search::placeholder{color:var(--muted);font-size:12px}#fauna-search-clear{border:0;background:transparent;padding:0 14px;font-size:20px;line-height:1;color:var(--muted);cursor:pointer}#fauna-search-clear:hover{color:var(--orange)}.fauna-filter-stack{display:grid;gap:10px;margin-bottom:20px}.fauna-filter-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.fauna-filter-label{font:10px var(--mono);color:var(--green);text-transform:uppercase;letter-spacing:.05em;min-width:68px}.wildlife-type-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.type-filter{border:1px solid #cfd9cc;background:var(--paper);padding:7px 11px;color:var(--green);font:10px var(--mono);cursor:pointer;border-radius:2px;transition:all .15s}.type-filter.active,.type-filter:hover{background:var(--green);border-color:var(--green);color:var(--lime)}.type-filter span{opacity:.65;margin-left:4px}.fauna-card{display:flex;flex-direction:column}.fauna-meta{margin-top:auto}
.place-guanacaste{left:16%;top:25%}
.stage-section{background:#f0f4ed}.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stage-card{background:var(--paper);border:1px solid #dce4d8;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.stage-card:hover,.stage-card:focus{transform:translateY(-3px);box-shadow:0 12px 30px #12271a15;outline:none}.stage-card-image{height:165px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:space-between;padding:12px;color:#fff}.stage-card-image span,.stage-card-image b{font:10px var(--mono);background:#12271abf;padding:5px 7px}.stage-card-image b{color:var(--yellow);text-transform:uppercase}.stage-card-info{padding:15px}.stage-card-info h3{font:700 20px var(--sans);color:var(--green);margin:7px 0}.stage-card-info p{font-size:11px;line-height:1.5;color:var(--muted);min-height:67px}.stage-card-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;border-top:1px solid #e1e7df;padding-top:10px}.stage-card-meta span{font:9px var(--mono);color:var(--muted)}.stage-card-meta strong{font:10px var(--mono);color:var(--green);white-space:nowrap}.editorial-section{background:#e7efdf}.official-itinerary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.official-card{background:var(--paper);padding:18px;border:1px solid #d2dfce;min-height:190px;display:flex;flex-direction:column}.official-card-top{display:flex;justify-content:space-between;gap:8px;font:9px var(--mono);color:var(--green);text-transform:uppercase}.official-card-top b{color:var(--coral);white-space:nowrap}.official-card h3{font:700 19px var(--sans);color:var(--green);margin:22px 0 9px}.official-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 14px}.official-card a,.program-card a{margin-top:auto;color:var(--green);font:10px var(--mono);text-decoration:none;border-bottom:1px solid #bdcfb7;padding-bottom:4px;width:max-content}.official-programs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.program-card{background:var(--paper);border:1px solid #d2dfce;padding:20px;display:grid;gap:16px}.program-card h3{font:700 21px var(--sans);color:var(--green);margin:8px 0}.program-card p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.program-days{display:grid;gap:7px}.program-days div{border-top:1px solid #dce6d9;padding-top:7px;font-size:11px;line-height:1.4;color:#617064}.video-section{background:#12271a;color:var(--lime)}.video-section .section-heading h2,.video-section .section-heading p{color:var(--lime)}.video-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.video-card{background:#1b3724;border:1px solid #36533e}.video-frame{aspect-ratio:16/9;background:#0b1810}.video-frame iframe{width:100%;height:100%;border:0;display:block}.video-card-info{padding:14px}.video-card-info span,.video-card-info small{font:9px var(--mono);color:#b9c8ae;text-transform:uppercase}.video-card-info h3{font:700 18px var(--sans);color:var(--lime);margin:8px 0}.video-card-info small{text-transform:none}@media(max-width:1050px){.stage-grid,.official-itinerary-grid{grid-template-columns:repeat(2,1fr)}.video-shelf{grid-template-columns:1fr 1fr}}@media(max-width:720px){.stage-grid,.official-itinerary-grid,.official-programs,.video-shelf{grid-template-columns:1fr}.stage-card-info p{min-height:0}.program-card{padding:16px}}.detail-video{margin:16px 0 6px}.video-caption{display:block;color:var(--muted);font:9px var(--mono);margin-bottom:12px}

.page-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:end;padding-top:76px;padding-bottom:70px}.page-hero h1{font-size:clamp(52px,7vw,92px);line-height:.93;letter-spacing:-.075em;margin:0 0 24px;color:var(--ink)}.page-hero h1 em{font-family:var(--serif);font-weight:400;color:#55765e}.page-hero p:not(.eyebrow){max-width:590px;color:var(--muted);font-size:16px;line-height:1.65;margin:0}.page-hero-note{justify-self:end;max-width:280px;padding:22px;border-left:2px solid var(--orange);background:#e9eee5;color:var(--green)}.page-hero-note span,.page-hero-note small{display:block;font:10px var(--mono)}.page-hero-note strong{display:block;font:700 23px var(--sans);margin:10px 0}.page-hero-note small{color:var(--muted);line-height:1.5}.main-nav a.active{color:var(--green);font-weight:700}.activity-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}.activity-trip-panel{position:sticky;top:18px;background:#e7efdf;border:1px solid #d2dfce;padding:20px}.activity-trip-panel h3{font:700 23px var(--sans);line-height:1.05;color:var(--green);margin:10px 0}.activity-trip-panel>p:not(.eyebrow){font-size:11px;line-height:1.5;color:var(--muted)}.activity-trip-panel .selected-activity-summary{display:block;margin:17px 0;background:transparent;border-top:1px solid #cbd8c7;border-bottom:1px solid #cbd8c7}.activity-trip-panel .button{display:inline-block;margin-top:8px}.transport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.transport-card{background:var(--panel);border:1px solid var(--line);padding:22px;min-height:235px;display:flex;flex-direction:column}.transport-card>span{font:10px var(--mono);color:var(--green)}.transport-card h3{font:700 22px var(--sans);line-height:1.05;color:var(--green);margin:22px 0 10px}.transport-card p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}.transport-card a{margin-top:auto;padding-top:18px;color:var(--green);font:10px var(--mono);text-decoration:underline;text-underline-offset:4px}.safety-section{background:#e7efdf}.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.safety-grid article{background:var(--paper);padding:23px;border:1px solid #d2dfce}.safety-grid article>span{font:10px var(--mono);color:var(--orange)}.safety-grid h3{font:700 21px var(--sans);color:var(--green);margin:18px 0 8px}.safety-grid p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}.sources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sources-grid a{background:var(--panel);border:1px solid var(--line);padding:20px;color:var(--green);display:flex;flex-direction:column;min-height:150px}.sources-grid span{font:9px var(--mono);color:var(--orange)}.sources-grid strong{font:700 20px var(--sans);margin:12px 0 6px}.sources-grid small{color:var(--muted);font-size:11px;line-height:1.45;margin-bottom:12px}.method-note{display:flex;gap:16px;margin-top:18px;background:#fff7d4;color:var(--green);padding:16px;font-size:12px;line-height:1.5}.method-note strong{font:11px var(--mono);white-space:nowrap}.home-live{padding-top:24px;padding-bottom:24px}.home-live h2{font-size:35px;letter-spacing:-.07em;margin:0 0 8px}.home-lead{color:var(--muted);font-size:12px;max-width:480px}.home-live-strip{margin:22px 0 0}.home-index{padding-top:70px}.home-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-page-card{background:#e7efdf;border:1px solid #d2dfce;padding:24px;min-height:210px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.home-page-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #12271a15}.home-page-card-wide{grid-column:span 2;background:var(--green);color:var(--lime)}.home-page-card-dark{background:var(--ink);color:var(--lime)}.home-page-card span{font:9px var(--mono);opacity:.8}.home-page-card h3{font:700 24px var(--sans);line-height:1.05;margin:20px 0 9px}.home-page-card p{font-size:12px;line-height:1.5;opacity:.78;margin:0}.home-page-card b{margin-top:auto;font:10px var(--mono)}.home-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#dfe9dc;padding-top:28px;padding-bottom:28px}.home-callout h2{font-size:28px;letter-spacing:-.06em;margin:5px 0 7px}.home-callout p:not(.eyebrow){color:var(--muted);font-size:12px;margin:0}.home-source{display:grid;grid-template-columns:1fr 280px;gap:40px}.home-source h2{font-size:42px;line-height:1;letter-spacing:-.07em;margin:0 0 14px}.home-source p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6;max-width:600px}.source-proof{background:var(--green);color:var(--lime);padding:23px;display:flex;flex-direction:column}.source-proof span,.source-proof small{font:10px var(--mono);color:#b7c7ad}.source-proof strong{font:700 25px var(--sans);margin:18px 0 8px}.source-proof a{margin-top:auto;font:10px var(--mono);text-decoration:underline}.stage-next{background:#f0f4ed;max-width:none;padding-left:max(28px,calc((100% - 1240px)/2));padding-right:max(28px,calc((100% - 1240px)/2))}
@media(max-width:980px){.page-hero{grid-template-columns:1fr;padding-top:50px}.page-hero-note{justify-self:start;max-width:420px}.activity-page-layout{grid-template-columns:1fr}.activity-trip-panel{position:static}.transport-grid{grid-template-columns:1fr 1fr}.sources-grid{grid-template-columns:1fr 1fr}.home-page-grid{grid-template-columns:1fr 1fr}.home-page-card-wide{grid-column:auto}.home-source{grid-template-columns:1fr}.home-callout{display:block}.home-callout .button{display:inline-block;margin-top:15px}}
@media(max-width:620px){.page-hero{padding-top:34px;padding-bottom:42px}.page-hero h1{font-size:56px}.transport-grid,.safety-grid,.sources-grid,.home-page-grid{grid-template-columns:1fr}.method-note{display:block}.method-note strong{display:block;margin-bottom:8px}}
.page-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:end;padding-top:62px;padding-bottom:48px}.page-hero h1{font-size:clamp(48px,7vw,82px);line-height:.94;letter-spacing:-.08em;margin:0}.page-hero h1 em{font-family:var(--serif);font-weight:400;color:#55765e}.page-hero p:not(.eyebrow){max-width:640px;color:var(--muted);line-height:1.65}.page-hero-note{background:#e7efdf;padding:22px;display:grid;gap:7px;border:1px solid #d4dfcf}.page-hero-note span,.page-hero-note small{font:10px var(--mono);color:var(--green)}.page-hero-note strong{font-size:22px;color:var(--green)}.home-live{display:grid;grid-template-columns:1fr 1.6fr;gap:25px;background:#eef3eb;padding-top:28px;padding-bottom:28px;align-items:center}.home-live h2{font-size:30px;letter-spacing:-.06em;margin:0 0 8px}.home-lead{font-size:12px;color:var(--muted);margin:0;max-width:430px}.home-live-strip{margin:0;border:0;padding:0;background:transparent}.home-index{padding-top:75px}.home-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-page-card{display:flex;flex-direction:column;min-height:210px;background:#e7efdf;border:1px solid #d2dfce;padding:22px;transition:transform .2s,box-shadow .2s}.home-page-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #12271a18}.home-page-card-wide{grid-column:span 2;background:#173c2e;color:var(--lime)}.home-page-card-dark{background:#244c3b;color:#eaf2df}.home-page-card span{font:10px var(--mono);color:var(--green)}.home-page-card-wide span,.home-page-card-dark span{color:#b8c99e}.home-page-card h3{font-size:24px;letter-spacing:-.06em;margin:22px 0 8px}.home-page-card p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 18px}.home-page-card-wide p,.home-page-card-dark p{color:#c5d6c1}.home-page-card b{margin-top:auto;font:10px var(--mono);color:var(--green)}.home-page-card-wide b,.home-page-card-dark b{color:var(--lime)}.home-callout{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#f0c766;padding-top:32px;padding-bottom:32px}.home-callout h2{font-size:26px;letter-spacing:-.06em;margin:0 0 8px;color:var(--green)}.home-callout p{margin:0;color:#5c5a3b;font-size:12px}.home-source{display:grid;grid-template-columns:1.5fr .8fr;gap:25px;align-items:center}.home-source h2{font-size:40px;letter-spacing:-.07em;line-height:.98;margin:0 0 15px}.home-source-copy>p:not(.eyebrow){max-width:600px;color:var(--muted);line-height:1.65}.source-proof{background:#e7efdf;padding:24px;display:grid;gap:8px}.source-proof span,.source-proof small{font:10px var(--mono);color:var(--muted)}.source-proof strong{font-size:24px;color:var(--green)}.source-proof a{font:10px var(--mono);color:var(--green);text-decoration:underline}.transport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.transport-grid article,.method-grid article{background:var(--paper);border:1px solid #dce4d8;padding:20px;min-height:180px}.transport-grid article>span,.method-grid article>span{font:10px var(--mono);color:var(--coral)}.transport-grid h3,.method-grid h3{font-size:21px;color:var(--green);margin:20px 0 8px}.transport-grid p,.method-grid p{font-size:12px;line-height:1.55;color:var(--muted)}.transport-grid a{font:10px var(--mono);color:var(--green);text-decoration:underline}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.method-grid article{min-height:205px}.method-grid div{display:grid;gap:5px;border-top:1px solid #dbe4d8;padding:9px 0}.method-grid div b{font:10px var(--mono);color:var(--green)}.method-grid div span{font-size:11px;color:var(--muted)}.source-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.source-list a{display:grid;gap:5px;background:#e7efdf;padding:17px;border:1px solid #d2dfce}.source-list b{font-size:15px;color:var(--green)}.source-list span{font-size:11px;color:var(--muted);line-height:1.4}.activity-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;flex-wrap:wrap}.activity-toolbar .filter-row{margin-bottom:0}.activity-trip-controls{display:flex;gap:14px;align-items:end}.activity-trip-controls label{font:10px var(--mono);color:var(--green);display:grid;gap:5px}.activity-trip-controls select{border:1px solid var(--line);padding:9px;color:var(--green);background:var(--paper)}.activity-trip-controls a,.price-status{font:10px var(--mono);color:var(--green);text-decoration:underline}.video-disclaimer{margin-top:14px;padding:12px;background:#234a39;color:#c7d8c0;font:10px var(--mono)}.official-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.lodging-rules{background:#eef3eb}.guide-money-section{background:#e7efdf}.price-status{display:block;text-decoration:none;margin-bottom:10px}.source-list a:hover{transform:translateY(-2px)}@media(max-width:900px){.page-hero,.home-live,.home-source{grid-template-columns:1fr}.home-page-grid,.source-list{grid-template-columns:1fr 1fr}.home-page-card-wide{grid-column:auto}.transport-grid,.method-grid,.official-mini-grid{grid-template-columns:1fr 1fr}.activity-toolbar{display:grid}.activity-trip-controls{justify-content:space-between}}@media(max-width:560px){.page-hero{padding-top:35px}.home-page-grid,.source-list,.transport-grid,.method-grid,.official-mini-grid{grid-template-columns:1fr}.home-callout{display:block}.home-callout .button{display:inline-block;margin-top:15px}}
 .map-only-section{background:var(--green);padding:0 0 72px}.map-panel-large{max-width:1240px;margin:0 auto}.map-panel-large .map-canvas{height:min(70vh,720px)}.official-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.official-intro{background:#f0f4ed;max-width:none;padding-left:max(28px,calc((100% - 1240px)/2));padding-right:max(28px,calc((100% - 1240px)/2))}.official-program-section{background:#e7efdf}.official-program-section .section-shell{max-width:1240px}.source-closure{background:#f0f4ed;max-width:none;padding-left:max(28px,calc((100% - 1240px)/2));padding-right:max(28px,calc((100% - 1240px)/2))}@media(max-width:1050px){.official-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.official-grid,.program-grid{grid-template-columns:1fr}.map-only-section{padding-bottom:35px}.map-panel-large .map-canvas{height:560px}}
.activity-search-bar{margin:0 0 16px}
.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--paper);border:1px solid #cfd9cc;border-radius:3px;transition:border-color .2s,box-shadow .2s}
.search-input-wrapper:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #173c2e1f}
.search-icon{padding-left:14px;font-size:14px;opacity:.6;pointer-events:none}
#activity-search{flex:1;border:0;background:transparent;padding:12px 14px;font-family:var(--sans);font-size:13px;color:var(--green);outline:none}
#activity-search::placeholder{color:var(--muted);font-size:12px}
#activity-search-clear{border:0;background:transparent;padding:0 14px;font-size:20px;line-height:1;color:var(--muted);cursor:pointer}
#activity-search-clear:hover{color:var(--coral)}
.region-filter-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0 22px}
.filter-label{font:10px var(--mono);color:var(--green);text-transform:uppercase;letter-spacing:.05em;margin-right:4px}
.region-button{border:1px solid #cfd9cc;background:var(--paper);padding:7px 11px;color:var(--green);font:10px var(--mono);cursor:pointer;border-radius:2px;transition:background .15s,color .15s,border-color .15s}
.region-button span{opacity:.65;margin-left:3px;font-size:9px}
.region-button:hover{background:#eef3eb;border-color:var(--green)}
.region-button.active{background:var(--green);border-color:var(--green);color:var(--lime)}
.region-button.active span{opacity:.9}
.activity-badges{display:flex;gap:6px;flex-wrap:wrap;max-width:72%}
.activity-region-tag{font:9px var(--mono);background:#173c2ee8;color:var(--yellow);padding:4px 7px;border-radius:2px;text-transform:uppercase;letter-spacing:.04em}
.activity-card-status{background:#edf5ea;border-left:3px solid var(--orange);padding:8px 10px;margin:8px 0;display:grid;gap:2px}
.activity-card-status span{font:11px var(--mono);color:var(--green)}
.activity-card-status small{font:10px var(--mono);color:var(--coral)}
.activity-empty-state{grid-column:1 / -1;text-align:center;padding:50px 20px;background:var(--paper);border:1px dashed #cfd9cc;border-radius:4px}
.activity-empty-icon{font-size:38px;display:block;margin-bottom:12px}
.activity-empty-state h3{font:700 22px var(--sans);color:var(--green);margin:0 0 8px}
.activity-empty-state p{font-size:13px;color:var(--muted);max-width:480px;margin:0 auto 16px}
.detail-pro-tip{background:#f5f9f0;border-left:4px solid var(--green);border-radius:0 4px 4px 0;padding:14px 16px;margin:10px 0 20px}
.detail-pro-tip p{font-size:13px;line-height:1.6;color:#24412c;margin:0}
.detail-calc-box{background:#f1f6ed;border:1px solid #d4dfd0;padding:18px;border-radius:3px;margin-bottom:18px}
.calc-intro{font-size:12px;color:var(--muted);line-height:1.45;margin:4px 0 12px}
.calc-control{display:grid;gap:6px;margin-bottom:14px}
.calc-control label{font:10px var(--mono);color:var(--green);text-transform:uppercase}
.calc-control select{border:1px solid #c8d5c4;background:var(--paper);padding:9px 12px;font:12px var(--mono);color:var(--green);border-radius:2px}
.calc-breakdown{display:grid;gap:8px;border-top:1px solid #d8e3d4;border-bottom:1px solid #d8e3d4;padding:12px 0;margin-bottom:14px}
.calc-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;color:var(--muted)}
.calc-row strong{font-family:var(--mono);color:var(--green)}
.calc-row small{font-size:10px;color:var(--muted)}
.calc-row.calc-highlight{color:var(--green);font-weight:600;padding-top:4px}
.calc-row.calc-highlight strong{color:var(--coral);font-size:14px}
.modal-action-btn{width:100%;text-align:center;padding:12px;cursor:pointer}
.detail-links-box{background:#eef3eb;border:1px solid #dce4d8;padding:16px;margin-bottom:16px;display:grid;gap:8px}
.detail-full-link{display:block;font:10px var(--mono);color:var(--coral);text-decoration:underline;margin-top:4px}
.flight-metasearch{margin-top:24px;background:#e2ece4;border:1px solid #c9d8cb;padding:18px;border-radius:3px}
.flight-search-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0 16px}
.flight-field{display:grid;gap:5px}
.flight-field label{font:10px var(--mono);color:var(--green);text-transform:uppercase}
.flight-field select,.flight-field input{border:1px solid #b7c7b8;background:var(--paper);padding:8px 10px;font:11px var(--mono);color:var(--green);border-radius:2px}
.flight-search-actions{display:flex;gap:8px;flex-wrap:wrap}
.flight-search-actions .button{padding:10px 14px;font-size:11px}
.hotel-search-btns{display:flex;gap:6px;flex-wrap:wrap}
.hotel-search-btns .button{padding:10px 12px;font-size:11px;white-space:nowrap}
.map-topline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.map-mode-gps,.text-button-gps{color:var(--yellow)!important;font-weight:600}
.text-button-gps{margin-left:14px;cursor:pointer}
.stage-actions-box{display:grid;gap:8px;margin:14px 0}
.stage-gmaps-full{display:block;text-align:center;padding:10px;font:11px var(--mono);color:var(--green);border-color:var(--green)}
.stage-gmaps-full:hover{background:var(--green);color:var(--lime)}
.mini-lodging-links{display:flex;gap:8px}
.mini-lodging-links a{color:var(--green);font:10px var(--mono);text-decoration:underline}
.weather-chip{cursor:pointer;transition:transform .15s}
.weather-chip:hover{transform:translateY(-2px)}
.detail-weather-box{background:#e7f0e4;border:1px solid #ccdcce;border-radius:3px;padding:14px;margin:14px 0}
.weather-box-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.live-status-pill{background:#173c2e;color:var(--lime);font:9px var(--mono);padding:2px 7px;border-radius:999px;letter-spacing:.04em}
.weather-box-body{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.weather-live-icon{font-size:32px;line-height:1}
.weather-live-temp{font:700 18px var(--sans);color:var(--green)}
.weather-live-temp b{font-size:13px;font-weight:500;color:#436149;margin-left:6px}
.weather-box-body small{display:block;font:10px var(--mono);color:var(--muted);margin-top:2px}
.weather-forecast-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border-top:1px solid #cbdcc9;padding-top:10px}
.stage-weather-day{text-align:center;display:grid;gap:2px}
.stage-weather-day span{font:9px var(--mono);color:var(--green);text-transform:uppercase}
.stage-weather-day b{font-size:16px;line-height:1.2}
.stage-weather-day strong{font:11px var(--mono);color:var(--green)}
.stage-weather-day strong small{font-size:9px;color:var(--muted)}
.stage-weather-day small{font:8px var(--mono);color:#4e775a}

/* Moteur de vols dynamique & Résultats en direct */
.flight-results-section{margin-top:40px;padding-top:20px}
.flight-results-controls{display:flex;align-items:center;gap:10px}
.flight-results-controls label{font:10px var(--mono);color:var(--muted);text-transform:uppercase}
.flight-results-controls select{height:38px;padding:0 12px;border:1px solid var(--line);background:var(--paper);color:var(--green);font:12px var(--sans);border-radius:2px}
.flight-results-summary-strip{background:#e8efe5;border:1px solid #d4dfd1;padding:14px 18px;border-radius:3px;margin:18px 0 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font:12px var(--mono);color:var(--green)}
.flight-summary-route{display:flex;align-items:center;gap:8px;font-weight:600}
.flight-summary-route span{color:var(--coral)}
.flight-offers-grid{display:flex;flex-direction:column;gap:16px}
.flight-offer-card{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:22px;display:grid;grid-template-columns:1fr 250px;gap:24px;transition:transform .2s,box-shadow .2s,border-color .2s}
.flight-offer-card:hover{border-color:#a4bea1;transform:translateY(-2px);box-shadow:0 8px 24px rgba(18,39,26,.07)}
.flight-offer-main{display:flex;flex-direction:column;gap:14px}
.flight-offer-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.flight-airline-pill{display:inline-flex;align-items:center;gap:8px;font:13px var(--sans);color:var(--green);font-weight:700}
.flight-airline-logo{font-size:20px;line-height:1}
.flight-badge-tag{font:9px var(--mono);padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.badge-recommended{background:var(--green);color:var(--lime)}
.badge-fastest{background:var(--coral);color:#fff}
.badge-cheapest{background:#0ea5e9;color:#fff}
.badge-comfort{background:#8b5cf6;color:#fff}
.flight-legs{display:flex;flex-direction:column;gap:10px}
.flight-leg{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:12px 16px}
.flight-leg-type{font:9px var(--mono);color:var(--coral);text-transform:uppercase;font-weight:600}
.flight-leg-route{display:flex;align-items:center;gap:14px}
.flight-point{display:flex;flex-direction:column}
.flight-time{font:700 18px var(--sans);color:var(--green);line-height:1}
.flight-iata{font:10px var(--mono);color:var(--muted);margin-top:2px}
.flight-arrow-box{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 8px}
.flight-duration-tag{font:9px var(--mono);color:var(--muted)}
.flight-arrow-line{width:60px;height:1px;background:#b7c7b5;position:relative}
.flight-arrow-line::after{content:'▶';position:absolute;right:-4px;top:-6px;font-size:8px;color:#8ba389}
.flight-stop-label{font:9px var(--mono);color:var(--coral);font-weight:600}
.flight-leg-meta{text-align:right;font:10px var(--mono);color:var(--green)}
.flight-leg-meta small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.flight-offer-side{display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--line);padding-left:22px;text-align:right}
.flight-price-box{display:flex;flex-direction:column;gap:3px}
.flight-price-box span{font:10px var(--mono);color:var(--muted);text-transform:uppercase}
.flight-per-person{font:700 26px var(--sans);color:var(--green);line-height:1}
.flight-total-pax{font:12px var(--mono);color:var(--coral);font-weight:600;margin-top:2px}
.flight-baggage-note{font:9px var(--mono);color:#526756;margin:6px 0 12px;background:#eef4ea;padding:5px 8px;border-radius:2px;text-align:left}
.flight-card-actions{display:flex;flex-direction:column;gap:7px}
.flight-card-actions .button{width:100%;text-align:center;padding:9px 8px;font-size:11px}
.flight-detail-btn{font:10px var(--mono);color:var(--green);text-decoration:underline;background:none;border:none;cursor:pointer;margin-top:6px;padding:4px}
.flight-detail-btn:hover{color:var(--coral)}

/* Séjour Hébergements & Recalcul */
.stay-summary-bar{background:#e8efe5;border:1px solid #d4dfd1;border-radius:3px;padding:12px 18px;margin:16px 0;font:11px var(--mono);color:var(--green);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.stay-summary-bar strong{color:var(--green)}
.lodging-card-pricing{display:flex;flex-direction:column;gap:3px;margin:10px 0;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lodging-nightly-rate{font:12px var(--mono);color:var(--muted)}
.lodging-total-price{font:700 15px var(--sans);color:var(--green)}
.lodging-stay-tag{font:10px var(--mono);color:var(--coral);font-weight:600}

/* Dates & Parcours */
.stage-calendar-date{display:inline-block;font:10px var(--mono);color:var(--coral);background:#fdf2ed;padding:2px 7px;border-radius:2px;margin-right:6px;font-weight:600}
.itinerary-date-badge{font:9px var(--mono);color:#436149;background:#e4eee0;padding:2px 6px;border-radius:2px;margin-left:6px}
.plan-date-summary{font:11px var(--mono);color:var(--green);background:#e8efe4;border:1px solid #d4dfd1;padding:10px 16px;border-radius:3px;margin-bottom:16px}

@media(max-width:850px){
  .flight-offer-card{grid-template-columns:1fr;gap:16px}
  .flight-offer-side{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:16px;text-align:left}
  .flight-leg{grid-template-columns:1fr;gap:8px}
  .flight-leg-route{flex-wrap:wrap}
  .flight-leg-meta{text-align:left}
}

/* Direction visuelle 2027 — carnet tropical, lecture directe */
:root{--ink:#08251f;--muted:#60766c;--paper:#f7f4ec;--panel:#fffdf8;--line:#d9e0d4;--green:#0b382c;--lime:#dff58e;--yellow:#ffc95d;--orange:#f2764d;--blue:#b9e2df;--coral:#f2764d}
body{background:radial-gradient(circle at 84% 0%,#e6f0d4 0 16%,transparent 38%),var(--paper);color:var(--ink);font-size:15px;overflow-x:hidden}
main{overflow:hidden}
.site-header{position:sticky;top:0;z-index:30;max-width:none;padding-left:max(28px,calc((100% - 1280px)/2));padding-right:max(28px,calc((100% - 1280px)/2));height:76px;background:#f7f4eced;backdrop-filter:blur(16px);border-bottom:1px solid #d7dfd4}
.brand-mark{width:38px;height:38px;background:var(--green);color:var(--yellow);box-shadow:0 4px 0 #0b382c20}
.main-nav{gap:8px;font-size:13px;align-items:center}
.main-nav{display:flex}
.main-nav a{padding:9px 11px;border-radius:999px;color:#547066;transition:background .2s,color .2s,transform .2s}
.main-nav a:hover,.main-nav a.active{background:#e3eedb;color:var(--green);transform:translateY(-1px)}
.main-nav a:nth-child(2),.main-nav a:nth-child(5),.main-nav a:nth-child(7),.main-nav a:nth-child(8){display:none}
.header-cta{background:var(--green);border-color:var(--green);color:var(--lime);padding:11px 16px;font-size:13px;box-shadow:0 8px 18px #0b382c20}
.header-cta:hover{background:#13523f}
.button{border-radius:13px;padding:14px 18px;font-size:13px;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0b382c1e}
.button-primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px #f2764d38}
.button-primary:hover{background:#d85e38}
.button-ghost{border:1px solid #ffffff80;color:#fff;background:#ffffff12}
.button-dark{background:var(--green);border-radius:13px}
.hero h1{font-size:clamp(56px,7.5vw,104px);letter-spacing:-.09em}
.hero h1 em{color:var(--yellow)}
.eyebrow{font-size:12px;letter-spacing:.12em}
.home-hero{max-width:none;min-height:calc(100vh - 76px);padding-top:78px;padding-bottom:80px;padding-left:max(28px,calc((100% - 1280px)/2));padding-right:max(28px,calc((100% - 1280px)/2));grid-template-columns:.83fr 1.17fr;gap:72px;background:var(--green);color:#f4f7ee;position:relative}
.home-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 12% 24%,#39745b70,transparent 32%),linear-gradient(125deg,#0b382c 12%,#0b382c 46%,#0a3027 100%);z-index:0}
.home-hero>*{position:relative;z-index:1}
.home-hero .hero-copy{padding-top:12px}
.home-hero .eyebrow{color:#bed0af}
.home-hero .live-dot{background:var(--yellow);box-shadow:0 0 0 4px #ffc95d2b}
.home-hero .hero-intro{max-width:470px;color:#cad9c8;font-size:17px;line-height:1.55}
.home-hero .hero-visual{height:590px;border-radius:26px 26px 26px 86px;background-image:linear-gradient(180deg,#09291c12 20%,#08251fd6 100%),url('assets/costa-rica-hero-illustration-v2.webp');box-shadow:22px 24px 0 #ffc95d25,0 30px 90px #051b1459;transform:rotate(1.2deg)}
.home-hero .hero-visual:before{inset:14px;border:1px solid #ffffff80;border-radius:18px 18px 18px 65px}
.home-hero .hero-visual:after{content:'PACIFIQUE  ·  VOLCAN  ·  FORÊT';right:26px;top:26px;color:#fff;font-size:10px}
.home-hero .hero-stamp{right:7%;top:9%;background:var(--yellow);color:var(--green);box-shadow:0 12px 0 #0b382c50}
.home-hero .hero-caption{left:30px;right:30px;bottom:26px;transform:none;color:#fff}
.home-hero .hero-caption strong{color:#fff;font-size:14px}
.quick-start{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:560px;margin-top:28px}
.quick-start a{display:grid;gap:5px;padding:12px 13px;background:#ffffff12;border:1px solid #ffffff30;border-radius:12px;transition:background .2s,transform .2s,border-color .2s}
.quick-start a:hover{background:#ffffff20;border-color:#ffffff70;transform:translateY(-3px)}
.quick-start span{font:10px var(--mono);color:var(--yellow)}
.quick-start strong{font-size:13px;color:#fff}
.quick-start small{font-size:11px;color:#b8cbbb;line-height:1.2}
.home-hero .hero-notes{border-color:#ffffff2c;color:#b9c9b9;margin-top:30px}
.home-hero .hero-notes b{color:var(--yellow)}
.home-live{max-width:1280px;margin:-28px auto 0;position:relative;z-index:4;border:1px solid #c5d7c8;border-radius:18px;background:#e1f0df;box-shadow:0 18px 50px #0b382c18;padding-top:22px;padding-bottom:22px}
.home-live .eyebrow{color:#4e7160}
.home-live h2{font-size:32px}
.home-lead{font-size:13px}
.home-live-strip{gap:10px}
.home-live-strip .live-strip-label{background:var(--green);color:var(--lime);border-radius:999px;padding:9px 12px}
.home-index{padding-top:105px}
.home-index .section-heading{margin-bottom:38px}
.home-index .section-heading h2{font-size:clamp(38px,5vw,64px)}
.home-page-grid{gap:16px}
.home-start-grid{grid-template-columns:1.2fr 1fr 1fr}
.home-page-card{min-height:260px;border:0;border-radius:18px;padding:25px;background:#e8f0e1;box-shadow:0 8px 0 #dce8d9;transition:transform .22s,box-shadow .22s}
.home-page-card:hover{transform:translateY(-6px);box-shadow:0 14px 0 #d3e3d2,0 24px 36px #0b382c14}
.home-page-card-wide{background:linear-gradient(135deg,#0b382c,#14513d);color:#f4f7ee}
.home-page-card-dark{background:linear-gradient(135deg,#f2764d,#d95d39);color:#fff}
.home-page-card span,.home-page-card-wide span,.home-page-card-dark span{font-size:11px;letter-spacing:.12em;color:var(--orange)}
.home-page-card-wide span{color:var(--yellow)}
.home-page-card-dark span{color:#ffe0a2}
.home-page-card h3{font-size:30px;line-height:1.02;margin:28px 0 10px}
.home-page-card p{font-size:14px;line-height:1.55}
.home-page-card b{font-size:11px}
.home-quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
.home-quick-links a{display:grid;gap:4px;padding:14px 0;color:var(--green);transition:padding-left .2s}
.home-quick-links a:hover{padding-left:8px}
.home-quick-links span{font-size:13px;font-weight:700}
.home-quick-links b{font:11px var(--mono);color:var(--muted)}
.illustration-feature{gap:54px;padding-top:110px;padding-bottom:110px}
.illustration-feature-media{border-radius:24px;box-shadow:18px 18px 0 var(--yellow);transform:rotate(-1deg)}
.illustration-feature-copy h2{font-size:clamp(44px,6vw,74px)}
.illustration-facts strong{color:var(--orange)}
.home-callout{border-radius:22px;margin-bottom:20px;background:var(--yellow);padding-top:38px;padding-bottom:38px;box-shadow:0 12px 0 #e3b64e}
.home-callout h2{font-size:clamp(24px,3vw,38px)}
.home-callout .button-dark{background:var(--green);color:var(--lime)}
.home-source{padding-top:95px;padding-bottom:110px}
.source-proof{border-radius:18px;background:var(--green);color:var(--lime);padding:27px;box-shadow:12px 12px 0 #cbdcc7}
.source-proof strong{color:#fff;font-size:28px}
.page-hero{max-width:none;padding-left:max(28px,calc((100% - 1280px)/2));padding-right:max(28px,calc((100% - 1280px)/2));padding-top:78px;padding-bottom:70px;background:var(--green);color:#f5f7ef;position:relative}
.page-hero:after{content:'';position:absolute;right:7%;bottom:-28px;width:190px;height:190px;border:1px solid #dff58e55;border-radius:50%;transform:rotate(23deg);pointer-events:none}
.page-hero .eyebrow{color:#bed0af}
.page-hero h1{font-size:clamp(56px,7vw,92px);color:#fff}
.page-hero h1 em{color:var(--yellow)}
.page-hero p:not(.eyebrow){color:#c7d7c7;font-size:16px}
.page-hero-note{border:1px solid #dff58e3d;border-radius:16px;background:#14513d;color:var(--lime);padding:24px;box-shadow:10px 10px 0 #051b1433}
.page-hero-note span,.page-hero-note small{color:#c5d9b5}
.page-hero-note strong{color:#fff;font-size:25px}
.section-heading h2{font-size:clamp(38px,5vw,62px)}
.route-grid,.official-grid,.program-grid,.stage-grid,.activity-grid,.lodging-grid{gap:16px}
.route-card,.media-card,.home-page-card{border-radius:18px}
.route-card{min-height:350px;box-shadow:0 9px 0 #dce8d9}
.route-card:nth-child(1) .route-card-bg{background-image:url('assets/visitcostarica/destinations/central-valley-1.webp')}
.route-card:nth-child(2) .route-card-bg{background-image:url('assets/visitcostarica/destinations/northern-plains-1.webp')}
.route-card:nth-child(3) .route-card-bg{background-image:url('assets/visitcostarica/destinations/central-pacific-1.webp')}
.route-card:before{background:linear-gradient(180deg,#071d1280 0%,#061a12eb 100%)}
.official-intro,.official-program-section,.source-closure,.stage-next{background:transparent}
.official-intro{padding-top:92px}
.official-card,.stage-card,.activity-card,.lodging-card{border-radius:16px;overflow:hidden;box-shadow:0 7px 0 #dce8d9;transition:transform .2s,box-shadow .2s}
.official-card:hover,.stage-card:hover,.activity-card:hover,.lodging-card:hover{transform:translateY(-4px);box-shadow:0 12px 0 #d2e2d1,0 20px 32px #0b382c12}
.filter-button,.region-button{border-radius:999px;padding:10px 14px;background:var(--panel)}
.filter-button.active,.region-button.active{background:var(--green);color:var(--lime);border-color:var(--green)}
.trip-bar,.flight-metasearch,.stay-summary-bar{border-radius:16px;box-shadow:0 8px 0 #dce8d9}
.planner-section{background:linear-gradient(135deg,#08251f,#0e4434);padding-top:92px}
.map-panel,.itinerary-panel{border-radius:18px;overflow:hidden;background:#123f30;border-color:#4c765b}
.map-panel{box-shadow:0 12px 0 #061d16}
.itinerary-panel{box-shadow:0 12px 0 #061d16}
.map-canvas{border-radius:12px;background:linear-gradient(135deg,#a9d6c4,#f0edb6 49%,#add3c4)}
.map-topline-actions{gap:6px}
.map-mode{padding:8px 11px;border-radius:999px;background:#ffffff12}
.map-mode:hover{background:#ffffff25}
.site-footer{max-width:1280px;padding-top:48px;padding-bottom:52px}
.site-footer .brand-mark{background:var(--orange);color:#fff}
.walk-page-link{display:block;margin-top:12px;color:var(--green);font:10px var(--mono);text-decoration:underline;text-underline-offset:4px}
.fauna-open{display:inline-block;text-decoration:underline;text-underline-offset:4px}
.detail-page-hero .fauna-detail-credit{display:inline-block;margin-top:16px;color:#e3ebdf;font:10px var(--mono);text-decoration:underline;text-underline-offset:4px}
.flight-details-inline{margin-top:8px;border-top:1px solid var(--line);padding-top:8px;color:var(--green);font:10px var(--mono)}
.flight-details-inline summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.flight-details-inline p{margin:8px 0 0;color:var(--muted);font:11px var(--sans);line-height:1.45}
@media(max-width:980px){.home-hero{grid-template-columns:1fr;min-height:0;padding-top:58px}.home-hero .hero-copy{max-width:720px}.home-hero .hero-visual{height:500px}.home-start-grid{grid-template-columns:1fr 1fr}.home-start-grid .home-page-card-wide{grid-column:span 2}.home-quick-links{grid-template-columns:repeat(2,1fr)}.home-live{margin:18px 28px 0}.page-hero{padding-top:58px}.main-nav{gap:3px}.main-nav a{padding:8px 8px;font-size:12px}}
@media(max-width:850px){.main-nav{display:none}.site-header{justify-content:space-between}}
@media(max-width:620px){.section-shell{padding-left:18px;padding-right:18px}.site-header{height:68px;padding-left:18px;padding-right:18px}.brand-mark{width:34px;height:34px}.main-nav{display:none !important}.header-cta{padding:9px 11px;font-size:11px}.home-hero{padding:44px 18px 56px}.home-hero .hero-visual{height:390px;border-radius:18px 18px 18px 50px}.home-hero .hero-visual:before{inset:10px;border-radius:12px 12px 12px 40px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{text-align:center}.quick-start{grid-template-columns:1fr;max-width:none}.home-live{margin:12px 18px 0;padding:19px 17px;display:block}.home-live-strip{margin-top:18px}.home-index{padding-top:70px}.home-start-grid{grid-template-columns:1fr}.home-start-grid .home-page-card-wide{grid-column:auto}.home-page-card{min-height:220px}.home-quick-links{grid-template-columns:1fr}.illustration-feature{padding-top:70px;padding-bottom:80px}.illustration-feature-media{box-shadow:10px 10px 0 var(--yellow)}.home-callout{margin-left:18px;margin-right:18px}.page-hero{padding-top:46px;padding-bottom:55px}.page-hero h1{font-size:56px}.page-hero-note{margin-top:20px}.section-heading{display:block}.section-heading>p{margin-top:16px}.site-footer{display:grid;gap:18px;padding-top:34px;padding-bottom:38px}.site-footer .footer-meta{flex-wrap:wrap}}

/* Mobile pass: every dense tool becomes a vertical, thumb-friendly flow. */
@media(max-width:850px){
  html,body{overflow-x:hidden}
  .site-header{height:68px;padding-left:18px;padding-right:18px}
  .brand{min-width:0}.brand strong{font-size:11px}.brand small{font-size:9px}
  .header-cta{padding:10px 13px;white-space:nowrap}
  .section-shell{padding-left:18px;padding-right:18px}
  .page-hero{display:block;padding-top:46px;padding-bottom:48px}
  .page-hero h1{font-size:clamp(46px,13vw,64px);max-width:680px}
  .page-hero-note{margin-top:22px}
  .section-block{padding-top:54px;padding-bottom:68px}
  .section-heading{display:block;margin-bottom:24px}
  .section-heading h2{font-size:clamp(34px,8vw,42px)}
  .section-heading>p{margin-top:16px}

  .trip-bar{display:grid;grid-template-columns:1fr;align-items:stretch;gap:12px;padding:16px;margin-bottom:36px}
  .trip-field{min-width:0;width:100%}
  .trip-field input,.trip-field select{width:100%;min-height:44px;font-size:16px}
  .trip-bar .button{width:100%;min-height:48px}

  .planner-section{padding:56px 18px 68px}
  .planner-section .section-heading{display:block}
  .planner-state{display:flex;flex-wrap:wrap;gap:9px;line-height:1.4;margin-top:16px}
  .planner-state .text-button{margin-left:0;padding:8px 0}
  .planner-state .text-button-gps{width:100%;text-align:left}
  .planner-layout{display:flex;flex-direction:column;gap:14px}
  .map-panel,.itinerary-panel{width:100%;min-width:0}
  .map-panel{padding:10px}
  .map-topline{display:block;padding:5px 4px 10px}
  .map-topline-actions{display:grid;grid-template-columns:1fr;gap:6px;margin-top:8px}
  .map-mode{width:100%;min-height:44px;text-align:left;padding:10px 12px}
  .map-canvas{height:min(64vh,460px);min-height:360px}
  .map-foot{display:grid;grid-template-columns:1fr;gap:7px;padding:11px 4px 2px}
  .map-foot #map-status{margin-left:0}
  .map-place{font-size:9px;gap:4px}
  .map-place i{width:11px;height:11px;flex:0 0 11px}
  .map-place span{padding:3px 5px}
  .itinerary-panel{padding:18px 14px;min-height:0}
  .panel-header h3{font-size:20px}
  .selected-place{padding:16px 0 12px}
  .itinerary-panel .day-row{grid-template-columns:28px minmax(0,1fr) auto 18px;gap:7px;padding:12px 0}
  .itinerary-panel .day-row strong{font-size:12px}
  .itinerary-panel .day-row small{font-size:9px;line-height:1.35}
  .route-timeline{margin:14px 0}
  .add-place{width:100%;min-height:52px}
  .panel-total{margin-top:20px}

  .filter-row,.region-filter-row,.wildlife-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}
  .filter-row::-webkit-scrollbar,.region-filter-row::-webkit-scrollbar,.wildlife-filters::-webkit-scrollbar{display:none}
  .filter-button,.region-button,.wildlife-filter{flex:0 0 auto;min-height:44px}
  .activity-search-bar input{font-size:16px}
  .activity-trip-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
  .activity-trip-controls a{grid-column:1/-1}

  .flight-card{padding:24px 18px;gap:24px}
  .flight-copy h2{font-size:clamp(34px,9vw,44px)}
  .flight-metasearch{padding:14px;margin-top:20px}
  .flight-search-form{grid-template-columns:1fr;gap:10px}
  .flight-field select,.flight-field input{width:100%;min-height:44px;font-size:16px}
  .flight-search-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .flight-search-actions .button{width:100%;min-height:46px;text-align:center}
  .flight-results-controls{display:grid;grid-template-columns:1fr;align-items:stretch}
  .flight-results-controls select{width:100%;min-height:44px}

  .lodging-filter-controls{grid-template-columns:1fr!important;gap:10px}
  .lodging-filter-controls select,.hotel-search input,.hotel-search select{width:100%;min-height:44px;font-size:16px}
  .hotel-search{display:grid!important;grid-template-columns:1fr!important;gap:10px;width:100%}
  .hotel-search input[type=search],.hotel-search .button{grid-column:auto!important}
  .hotel-search-btns{display:grid;grid-template-columns:1fr;gap:8px}
  .hotel-search-btns .button{width:100%;min-height:46px;text-align:center}
  .lodging-status-bar{display:grid;gap:8px;align-items:start}
  .stay-summary-bar{display:grid;gap:8px}

  .weather-forecast-row{grid-template-columns:repeat(2,1fr);gap:8px}
  .booking-links{grid-template-columns:1fr}
  .budget-grid{padding-top:36px}
  .budget-lines{padding-top:18px}
}

@media(max-width:430px){
  .site-header{padding-left:14px;padding-right:14px}
  .header-cta{padding:9px 10px;font-size:11px}
  .section-shell{padding-left:14px;padding-right:14px}
  .home-hero{padding-left:14px;padding-right:14px}
  .planner-section{padding-left:14px;padding-right:14px}
  .page-hero h1{font-size:clamp(43px,14vw,56px)}
  .map-canvas{height:360px;min-height:0}
  .map-place span{font-size:8px}
  .airport-switch{grid-template-columns:1fr}
  .activity-trip-controls{grid-template-columns:1fr}
  .activity-trip-controls a{grid-column:auto}
}
