/* Homepage components. Scoped to win over the retained legacy theme. */
body.homepage-autumn .hero-benefit{font-size:1rem;line-height:1.5;color:#57656b;margin:.75rem 0}
body.homepage-autumn .hero-proof{font-size:.8rem!important;margin:.35rem 0!important}
.discovery-links{max-width:1280px;margin:1rem auto;padding:0 1.5rem;display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.guide-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.discovery-links .quick-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:min(100%,360px);align-items:stretch}
.discovery-links .quick-filters button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;box-sizing:border-box;height:44px;margin:0;line-height:1.2;white-space:nowrap}
.quick-filters button,.results-bar button{border:1px solid #d4dcdd;border-radius:999px;background:#ffffff;color:#356382;padding:.55rem .85rem;font:inherit;font-size:.875rem;min-height:44px;cursor:pointer}
.quick-filters button.active,.quick-filters button[aria-pressed=true]{background:#356382;color:#fff}
.guide-links a,.early-newsletter a{color:#356382;font-weight:700;font-size:.875rem;display:inline-flex;align-items:center;min-height:44px;padding:0 .4rem}
body.homepage-autumn .results-bar{display:flex!important;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.8rem}
body.homepage-autumn #resultsCount{display:block!important;font-size:.9rem;color:#356382;flex:1 1 220px}
.age-specific{display:flex;gap:.5rem;align-items:center;min-height:44px;font-size:.875rem;color:#356382}
.age-specific input{width:20px;height:20px;accent-color:#356382}
.age-help{flex-basis:100%;margin:0;font-size:.8rem;color:#57656b}
.early-newsletter{font-size:.875rem;color:#57656b;border-block:1px solid #d4dcdd;margin:.6rem 0 1rem;padding:.35rem 0}
.feed-status{padding:.8rem;background:#f2f5f3;border:1px solid #356382;border-radius:8px;color:#3b4a51}
.saved-event-row-title{margin:0 0 .35rem;font-size:1rem}
.saved-event-row-title a{display:inline-flex;align-items:center;min-height:44px;color:#283339;text-decoration:underline}
.saved-event-remove,.saved-events-close,.saved-events-toggle{min-width:44px;min-height:44px}
.modal-box{max-height:90dvh;overflow:auto;overscroll-behavior:contain}
#eventModal .modal-close,#formModal .modal-close{position:sticky;top:.5rem;float:right;width:44px;height:44px;margin:.5rem .5rem -44px 0;z-index:3;background:#356382;color:#fff}
.modal-title{padding-right:1rem}
.modal-btn-p{text-decoration:none}
#calendar.cal-card{display:none!important}
#calendar.cal-card.cal-open{display:block!important;position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;z-index:10001!important;width:min(420px,calc(100vw - 24px))!important;max-height:90dvh;overflow:auto;padding:1rem;border-radius:18px;box-shadow:0 0 0 100vmax #30271e77;background:#ffffff}
#calendar .cal-sheet-close{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #d4dcdd;border-radius:50%;background:#ffffff;color:#356382}
#calendar .cal-d{font:inherit;font-size:.875rem;min-height:40px;width:100%;border:0;color:#356382;background:#f2f5f3;border-radius:6px;cursor:pointer}
#calendar .cal-d.other,#calendar .cal-d.disabled{opacity:.5;cursor:default}
#calendar .cal-d.sel{background:#356382;color:#fff}
#calendar .cal-nav-btn{min-width:44px;min-height:44px}
body :focus-visible{outline:3px solid #356382!important;outline-offset:3px!important}
body.homepage-autumn .evc-day-hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.newsletter-fallback-form label{font-size:.875rem;color:#356382;flex-basis:100%}
.newsletter-fallback-form{flex-wrap:wrap}
.newsletter-fallback-form input{min-width:0;font-size:16px}
.newsletter-fallback-form button{min-height:44px}
#resultsHeading{scroll-margin-top:100px}
@media(max-width:1100px){
 body.homepage-autumn .hero-inner2{gap:1rem!important}
 body.homepage-autumn #homeSearch{box-sizing:border-box;flex-wrap:wrap!important}
 body.homepage-autumn #homeSearch .hs-seg{flex:1 1 135px!important;min-width:0!important}
 body.homepage-autumn #homeSearch .hs-seg-grow{flex-basis:220px!important}
 body.homepage-autumn #homeSearch .hs-div{display:none!important}
 body.homepage-autumn #homeSearch select{width:100%;min-width:0}
}
@media(max-width:900px){
 body.homepage-autumn .hero{padding:1rem!important}
 body.homepage-autumn .hero-inner2{display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important}
 body.homepage-autumn .hero-left2{grid-row:1!important}
 body.homepage-autumn #homeSearch{grid-row:2!important}
 body.homepage-autumn #heroSponsorCard{grid-row:3!important;padding:.5rem .8rem!important;min-height:0!important;max-width:none!important}
 body.homepage-autumn #heroSponsorCard .psc-spots{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1rem!important;align-items:center!important}
 body.homepage-autumn #heroSponsorCard .psc-logo-wrap{padding:.2rem!important;min-height:0!important;height:auto!important;border:0!important}
 body.homepage-autumn #heroSponsorCard .psc-logo-wrap img{max-height:42px!important;width:auto!important;max-width:100%!important;object-fit:contain!important}
 body.homepage-autumn .psc-eyebrow{font-size:.65rem!important;margin:0 0 .25rem!important}
 body.homepage-autumn .hero-h1{margin:0!important}
 body.homepage-autumn .hero-title-main{font-size:2.2rem!important}
 body.homepage-autumn .hero-title-small{font-size:1.1rem!important}
 body.homepage-autumn .hero-title-place{font-size:.85rem!important}
 body.homepage-autumn .hero-kicker2{display:none}
 body.homepage-autumn .hero-proof{display:none!important}
 .discovery-links{padding:0 1rem;margin:.7rem 0}
}
@media(max-width:480px){
 body.homepage-autumn #homeSearch .hs-seg{flex:1 1 40%!important;padding:.25rem .4rem!important}
 body.homepage-autumn #homeSearch .hs-seg-grow{flex-basis:100%!important}
 body.homepage-autumn #homeSearch{gap:.25rem!important;padding:.6rem!important}
 body.homepage-autumn #homeSearch input,body.homepage-autumn #homeSearch select{font-size:16px!important;min-height:40px}
 body.homepage-autumn #homeSearch .hs-go{min-height:44px;flex:1}
 body.homepage-autumn .section-title-row{flex-wrap:wrap;gap:.5rem}
 .guide-links{gap:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.more-filters{flex:3 1 320px;min-width:0}
.more-filters summary{display:none}
.more-filters-body{display:flex;align-items:center;min-width:0}
.more-filters-body .hs-seg{flex:1;min-width:0}
.early-newsletter{grid-column:1/-1}
@media(max-width:900px){
 .more-filters{flex:1 1 140px;position:relative}
 .more-filters summary{display:list-item;padding:.7rem;min-height:44px;box-sizing:border-box;font-size:.9rem;color:#356382;font-weight:700;cursor:pointer}
 .more-filters:not([open]) .more-filters-body{display:none}
 .more-filters[open]{flex-basis:100%}
 .more-filters-body{flex-wrap:wrap;gap:.3rem}
 body.homepage-autumn #homeSearch .hs-go{flex:0 1 auto;min-width:85px;padding:.6rem!important}
 body.homepage-autumn .hero-benefit{font-size:.9rem;line-height:1.4;margin:.4rem 0}
 .age-help,.age-specific{display:none}
 body:has(#heroAgeSelect option:checked:not([value="all"])) .age-help{display:block}
 body:has(#heroAgeSelect option:checked:not([value="all"])) .age-specific{display:flex}
}

.newsletter-direct-link{display:inline-flex;align-items:center;min-height:44px;color:#356382;font-weight:700}
body.homepage-autumn #homeSearch{display:grid!important;grid-template-columns:minmax(160px,1.3fr) minmax(140px,1fr) minmax(350px,2.2fr) 110px!important;gap:0!important}
body.homepage-autumn #homeSearch>.hs-div{display:none!important}
body.homepage-autumn #homeSearch .more-filters-body{display:grid!important;grid-template-columns:1.25fr 1fr 1fr!important}
body.homepage-autumn #homeSearch .more-filters-body>.hs-div{display:none!important}
body.homepage-autumn #homeSearch .more-filters{flex:2 1 390px!important;min-width:0!important}
body.homepage-autumn #homeSearch .more-filters .hs-seg{flex:1 1 100px!important;min-width:90px!important}
body.homepage-autumn #homeSearch .more-filters select{width:100%!important}
body.homepage-autumn #homeSearch .hs-seg-grow{flex:1.3 1 190px!important}
body.homepage-autumn #homeSearch > .hs-seg{flex:1 1 150px!important}
body.homepage-autumn #homeSearch .hs-go{flex:0 0 110px!important;width:auto!important}
@media(max-width:900px){
 .discovery-links .quick-filters{width:100%}
 body.homepage-autumn #homeSearch{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:.2rem!important;align-items:center!important}
 body.homepage-autumn #homeSearch .more-filters:not([open]) .more-filters-body{display:none!important}
 body.homepage-autumn #homeSearch .more-filters[open] .more-filters-body{grid-template-columns:1fr 1fr!important}
 body.homepage-autumn .main{padding-top:.5rem!important;margin-top:0!important}
 .discovery-links{gap:.3rem;margin:.5rem 0!important}
 .guide-links{display:flex;gap:0 .4rem}
 .guide-links a{font-size:.8rem;min-height:40px}
 body.homepage-autumn #homeSearch .hs-seg{padding:.1rem .35rem!important}
 body.homepage-autumn #heroSponsorCard{padding:.25rem .5rem!important}
 body.homepage-autumn .hero{padding:.8rem!important}
 body.homepage-autumn #homeSearch .more-filters{flex:1 1 120px!important}
 body.homepage-autumn #homeSearch .more-filters[open]{flex-basis:100%!important}
 body.homepage-autumn #homeSearch > .hs-seg{flex:1 1 100px!important;width:auto!important;box-sizing:border-box}
 body.homepage-autumn #homeSearch > .hs-seg-grow{flex-basis:100%!important}
 body.homepage-autumn #homeSearch .hs-go{flex:1 1 100%!important;min-height:44px!important;width:auto!important}
}
@media(min-width:901px) and (max-width:1100px){body.homepage-autumn #homeSearch{grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) minmax(300px,2fr) 90px!important}}

body.homepage-autumn #newsletter .nl-band-eyebrow{color:#57656b!important;opacity:1!important}
body.homepage-autumn #newsletter .nl-band-sub{color:#283339!important;opacity:1!important}
body.homepage-autumn .lfhx-footer .lfhx-fbottom p{color:#57656b!important}
body.homepage-autumn #eventsGrid .no-results{grid-column:1/-1}
body.homepage-autumn #eventsGrid .no-results p{color:#57656b!important}
body.homepage-autumn #eventsGrid .evc-day-hidden{display:none!important}

/* Back to top: fixed, hidden until the visitor scrolls, and never shown on
   phones where the mobile quick-nav bar already owns that corner. Without
   these rules the button sits in the page flow under the footer and leaves a
   blank strip you can scroll into -- the bug check-mobile-bar.js watches for. */
.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:80;display:none;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:999px;background:#356382;color:#ffffff;font-family:inherit;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(40,51,57,.22)}
.back-to-top.visible{display:flex}
.back-to-top:hover{background:#23495b}
@media(max-width:700px){#backToTop{display:none!important}}

/* Route label for /weekend and /free. The homepage ships it hidden; the edge
   function serving those routes reveals it with the route's name, so the
   state is visible from first paint without JavaScript. */
.hero-mode{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .55rem;padding:.32rem .75rem;border-radius:999px;background:rgba(63,86,111,.1);color:#283339;font:700 12px/1.3 'Inter','Inter',sans-serif;letter-spacing:.09em;text-transform:uppercase}
.hero-mode[hidden]{display:none}
.hero-mode::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
