/* Distinct editorial worlds; selectors follow the exact filtered mode. */
:root[data-outing-theme="fall"]{--ink:#342b20;--paper:#fcf6e9;--line:#deceb2;--green:#75512c;--orange:#a4471f;--muted:#6f6553;--theme-dark:#3b3021;--theme-soft:#f1dfc0;--theme-art:url('autumn-harvest-editorial-v27.jpg');--theme-overlay:linear-gradient(90deg,#382710eb,#433315ac 48%,#8e63242a)}
:root[data-outing-theme="kids"]{--ink:#292c35;--paper:#fff7e9;--line:#d4c3a4;--green:#303b49;--orange:#bb481c;--muted:#62636b;--theme-dark:#192430;--theme-soft:#f6e2be;--theme-art:url('pumpkin-patch-hero-v2.png');--theme-overlay:linear-gradient(90deg,#0e1e31ed,#132a45a8 48%,#0e1e3115)}
:root[data-outing-theme="evening"]{--ink:#1e3937;--paper:#f3f4ef;--line:#c6d1c9;--green:#234f47;--orange:#8b5426;--muted:#5e716a;--theme-dark:#112824;--theme-soft:#e1e8dc;--theme-art:url('skeleton-cocktail-editorial-v27.jpg');--theme-overlay:linear-gradient(90deg,#0d1d24f0,#142c2be0 43%,#142c2b05 73%)}
:root[data-outing-theme="haunts"]{--ink:#263336;--paper:#f4f2ed;--line:#cbd0c9;--green:#253f40;--orange:#a54624;--muted:#65706d;--theme-dark:#13262b;--theme-soft:#e1e4dc;--theme-art:url('pumpkin-patch-hero-v2.png');--theme-overlay:linear-gradient(90deg,#091720f2,#142831ce 48%,#17392f4d)}
html[data-outing-theme] header,html[data-outing-theme] footer{background:var(--theme-dark)}
html[data-outing-theme] .hero{background-image:var(--theme-overlay),var(--theme-art);background-position:center,center 58%;background-size:cover;min-height:570px;animation:none}
html[data-outing-theme] .hero h1{font-size:clamp(48px,6vw,84px)}
html[data-outing-theme] .hero:after{animation:none;background:none}
html[data-outing-theme] .hero .eyebrow{color:#f8d7a5}
html[data-outing-theme] .trip,html[data-outing-theme] .filters,html[data-outing-theme] .map-note,html[data-outing-theme] .tag{background:var(--theme-soft)}
html[data-outing-theme] .pin,html[data-outing-theme] .number{background:var(--green)}
html[data-outing-theme] .pin.active{background:var(--orange)}
html[data-outing-theme] .mode-buttons button[aria-pressed=true]{background:var(--green)!important;border-color:var(--green)!important}
.mode-world{margin:16px 0 0;border-radius:8px;min-height:150px;padding:24px;display:flex;align-items:center;background:var(--theme-overlay),var(--theme-art) 75% 65%/cover;color:#fff8e9;isolation:isolate}
.mode-world p{font:clamp(24px,3vw,34px)/1.2 Georgia,serif!important;max-width:560px;margin:0!important;text-shadow:0 2px 12px #0005}
.mode-world span{display:block;font:11px/1.5 system-ui;letter-spacing:.16em;text-transform:uppercase;color:#f3d4a5;margin-bottom:8px}
.suggestions{margin:24px 5vw;padding:30px;border:1px solid var(--line);background:var(--theme-soft);border-radius:8px;display:flex;gap:25px;justify-content:space-between;align-items:center}.suggestions p{max-width:760px}.suggestions .primary{flex-shrink:0}.suggestions h2{font:30px Georgia,serif}
@media(max-width:580px){html[data-outing-theme] .hero{min-height:640px;background-position:center,68% center;background-image:linear-gradient(180deg,#16201cbd,#142019b8),var(--theme-art)}html[data-outing-theme="evening"] .hero{background-image:linear-gradient(180deg,#102523b5,#102523aa),var(--theme-art);background-position:center,70% center}.mode-world{min-height:155px;padding:20px}.mode-world p{max-width:250px}.suggestions{padding:23px;flex-direction:column;align-items:flex-start}.suggestions .primary{width:100%;justify-content:center}}

.official-event-link{display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid var(--green);border-radius:5px;background:#fffdf7;color:var(--green);font-weight:650;text-decoration:none}.registration-link{min-height:40px}.official-event-link:hover{text-decoration:underline;background:var(--theme-soft)}.leaflet-popup-content .actions{gap:8px}.leaflet-popup-content .official-event-link,.leaflet-popup-content .registration-link{font-size:12px;padding:7px 9px}

.city-picker{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px!important}.city-picker h2{font:28px Georgia,serif}.city-picker .eyebrow{font-size:10px}.city-picker .field{flex:0 1 390px;min-width:220px}.city-picker select{min-height:49px;background:#fffdf7;font-size:16px}@media(max-width:580px){.city-picker{display:block;padding:20px!important}.city-picker .field{margin-top:15px;min-width:0;width:100%}}

.filter-step{font:700 11px/1.5 system-ui!important;letter-spacing:.13em;color:var(--orange);margin:12px 0 8px!important}.filter-instructions{font-size:15px;line-height:1.55;max-width:720px}.activity-filter-heading{border-top:1px solid var(--line);padding-top:8px;margin-top:20px}.activity-filter-heading h3{font:25px/1.25 Georgia,serif;margin:4px 0 8px}.mode-categories{border-top:0!important;padding-top:6px!important}.filter-selection{font-size:13px;font-weight:650;margin:10px 0!important;color:var(--green)}.mode-categories button[aria-pressed=true]{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important;box-shadow:none!important}.mode-categories button[aria-pressed=true]:before{content:"✓ ";font-weight:bold}.mode-explainer{margin-top:12px}.mode-explainer summary{cursor:pointer;font-size:12px;color:var(--muted)}

.welcome-modes{padding:25px 5vw 24px;background:var(--paper);border-bottom:1px solid var(--line)}.welcome-modes h2{font:clamp(27px,3vw,36px)/1.2 Georgia,serif;margin:5px 0 10px}.welcome-modes .eyebrow{font-size:10px}.welcome-modes p{margin:7px 0 14px;max-width:900px}.welcome-mode-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0}.welcome-mode-buttons button{padding:16px;text-align:left;background:#fffdf7;border:1px solid var(--line);border-radius:7px;color:var(--ink)}.welcome-mode-buttons strong{font:22px Georgia,serif;display:block;margin-bottom:5px}.welcome-mode-buttons span{font-size:12px;line-height:1.5;display:block}.welcome-mode-buttons button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.welcome-mode-buttons button[aria-pressed=true] strong:before{content:"✓ ";font-family:system-ui;font-size:15px}.welcome-modes .small{font-size:12px;margin-bottom:0}@media(max-width:580px){.welcome-mode-buttons{grid-template-columns:1fr;gap:8px}.welcome-mode-buttons button{padding:12px 15px}.welcome-mode-buttons strong{font-size:21px}.welcome-modes{padding:22px 5vw}}

.hero-mode-note{font-size:14px;line-height:1.6;max-width:540px;color:#fff4df;margin:18px 0 0}.hero-mode-note a{color:#ffe0ad;font-weight:600}
