/* Shared accessible location picker. Native select remains the no-JS fallback. */
.location-picker{position:relative;width:100%;min-width:0;text-transform:none}.location-picker .location-native{display:none}
.location-picker-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer}
.location-picker-menu{position:absolute;z-index:80;top:calc(100% + 7px);left:0;width:100%;min-width:0;max-height:min(310px,60vh);overflow:auto;padding:7px;border:1px solid #435a64;border-radius:12px;background:#fff;box-shadow:0 14px 30px #133e4820;box-sizing:border-box}
.location-picker-menu[hidden]{display:none}.location-picker-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;border-radius:7px;background:#fff;text-align:left;color:#214750;font:400 13px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif);cursor:pointer}
.location-picker-menu button:hover,.location-picker-menu button:focus-visible{background:#e8f4f1}.location-picker-menu button:focus-visible{outline:2px solid #268b83;outline-offset:-2px}.location-picker-menu button[aria-selected=true]{background:#eaf5f3;font-weight:500}.location-picker-menu button[aria-selected=true]::after{content:'✓';margin-left:auto;flex:none;color:#1b6c7c}
.location-city-heading{padding:12px 9px 7px;font:700 9px Arial,sans-serif;letter-spacing:.9px;color:#748b8f;border-top:1px solid #e5eded;margin-top:5px}
.location-choice-label{display:flex;align-items:center;gap:9px;min-width:0}.location-choice-label>span{min-width:0;overflow-wrap:break-word}.location-choice-copy{display:block;min-width:0}.location-choice-copy>span{display:block}.location-choice-copy>small{display:block;margin-top:3px;font:400 10px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif)}
.location-near-icon{width:20px;height:20px;flex:none;color:#167d78}.location-chevron{width:18px;height:18px;flex:none;color:#526875;margin-left:10px}
.location-picker-menu button[data-location-choice="near"]:hover,.location-picker-menu button[data-location-choice="near"]:focus-visible{background:#dff0ec}
.search-date-layout .search-field>label{display:block!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important}
.search-date-layout .filters{display:block!important;margin:0;padding:0}.search-date-layout .filters>label{width:100%;min-width:0}.location-day-label{display:block}
.search-date-layout .nearby{padding:0!important;margin:0!important;border:0!important;display:flex;justify-content:space-between}.search-date-layout .nearby-controls{order:2;flex-shrink:0}.search-date-layout .location-status{margin:0;line-height:1.45;text-transform:none}
.search-date-layout .nearby .reset{background:none;border:0;text-decoration:underline;text-underline-offset:3px}
.search-date-layout .main-date-panel{overflow:visible}
.intro-search-surface .search-date-layout{position:relative}
.intro-search-surface .search-date-layout>.menu-date-bar{position:relative;left:auto;top:auto;width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.search-date-layout .filter-panel-polished.main-date-panel .nearby-controls{position:static;display:block;width:auto;margin:0}
.search-date-layout .filter-panel-polished.main-date-panel .nearby-controls .reset{position:static;left:auto;right:auto;top:auto;bottom:auto;width:auto;margin:0;text-align:right}
.search-date-layout .shared-date-picker .shared-date-controls,.events-page .shared-date-picker .shared-date-controls{display:grid;gap:0;overflow:hidden}
.search-date-layout .shared-date-picker .shared-date-controls>button,.events-page .shared-date-picker .shared-date-controls>button{border:0;border-radius:0;background:transparent;color:#183e47;box-shadow:none}
.search-date-layout .shared-date-picker #menu-calendar-toggle,.events-page .shared-date-picker #event-calendar-toggle{border:0;border-radius:0;background:transparent;box-shadow:none}
.search-date-layout .shared-date-controls>button:focus-visible,.events-page .shared-date-controls>button:focus-visible{outline:2px solid #268b83;outline-offset:-4px;border-radius:7px}

/* Approved sleek finder: one exclusive Where selector, three aligned fields. */
.intro-search-surface .search-date-layout{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;padding:25px 25px 15px;border:0;border-radius:0 0 19px 19px;background:transparent;box-shadow:none}
.search-date-layout>.main-date-panel{display:contents!important}
.search-date-layout .filter-panel-polished.main-date-panel .search-field{grid-column:1;grid-row:1;min-width:0}
.search-date-layout .filter-panel-polished.main-date-panel .filters{grid-column:2;grid-row:1;min-width:0;width:100%;align-self:stretch}
.intro-search-surface .search-date-layout>.menu-date-bar{grid-column:3;grid-row:1;min-width:0;align-self:stretch}
.search-date-layout .filter-panel-polished.main-date-panel .nearby{grid-column:1/-1;grid-row:2;min-width:0;width:100%;min-height:22px;gap:12px;align-items:center}
.search-date-layout .search-field>label,.search-date-layout .filters>label,.location-day-label{font:700 12px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif)!important;color:#2d5059!important;margin:0 0 8px!important;letter-spacing:normal;text-transform:none}
.search-date-layout .filters>label{display:block!important}
.search-date-layout input[type=search],.location-picker .location-picker-toggle,.events-page .event-search input[type=search],.search-date-layout .shared-date-picker .shared-date-controls,.events-page .shared-date-picker .shared-date-controls{height:50px;min-height:50px;border:1px solid #435a64;border-radius:12px;background:#fff;color:#183e47;box-shadow:none;box-sizing:border-box}
.search-date-layout input[type=search],.events-page .event-search input[type=search]{font:400 13px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif)}
.location-picker .location-picker-toggle{font:400 13px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif);padding:0 12px;gap:8px}
.search-date-layout .shared-date-picker .shared-date-controls,.events-page .shared-date-picker .shared-date-controls{grid-template-columns:44px minmax(0,1fr) 44px;width:100%;max-width:none;margin:0}
.search-date-layout .shared-date-picker .shared-date-controls>button,.events-page .shared-date-picker .shared-date-controls>button{height:48px;min-height:48px;padding:0 9px}
.search-date-layout .shared-date-picker #menu-calendar-toggle,.events-page .shared-date-picker #event-calendar-toggle{font:700 13px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif);padding:0}
.search-date-layout input[type=search]:hover,.search-date-layout input[type=search]:focus-visible,.events-page .event-search input[type=search]:hover,.events-page .event-search input[type=search]:focus-visible,.location-picker .location-picker-toggle:hover,.location-picker .location-picker-toggle:focus-visible,.location-picker .location-picker-toggle[aria-expanded=true],.search-date-layout .shared-date-picker .shared-date-controls:hover,.search-date-layout .shared-date-picker .shared-date-controls:focus-within,.events-page .shared-date-picker .shared-date-controls:hover,.events-page .shared-date-picker .shared-date-controls:focus-within{border-color:#435a64;outline:none;box-shadow:inset 0 0 0 2px #47a69f}
.search-date-layout .location-status{font-size:11px;color:#73878c}
.search-date-layout .nearby .reset{font-size:11px;color:#5e7a80;padding:5px}
.location-picker-menu{border-color:#435a64;padding:7px;max-height:310px}
.location-picker-menu button{font-size:13px;padding:12px 9px;min-height:42px}
.location-choice-copy>small{font-size:10px;color:#69838a}
.location-picker-menu button[data-location-choice="near"]{background:#f4faf9;color:#165f66}
@media(min-width:651px) and (max-width:1000px){
 .intro-search-surface .search-date-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
 .search-date-layout .filter-panel-polished.main-date-panel .search-field{grid-column:1/-1;grid-row:1}
 .search-date-layout .filter-panel-polished.main-date-panel .filters{grid-column:1;grid-row:2}
 .intro-search-surface .search-date-layout>.menu-date-bar{grid-column:2;grid-row:2}
 .search-date-layout .filter-panel-polished.main-date-panel .nearby{grid-row:3}
}
@media(max-width:650px){
 .intro-search-surface .search-date-layout{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;padding:20px 17px 13px;border-radius:17px}
 .search-date-layout .filter-panel-polished.main-date-panel .search-field{grid-column:1;grid-row:1}
 .search-date-layout .filter-panel-polished.main-date-panel .filters{grid-column:1;grid-row:2}
 .intro-search-surface .search-date-layout>.menu-date-bar{grid-column:1;grid-row:3}
 .search-date-layout .filter-panel-polished.main-date-panel .nearby{grid-column:1;grid-row:4;margin-top:-4px!important}
 .search-date-layout .search-field>label,.search-date-layout .filters>label,.location-day-label{font-size:11px!important}
 .search-date-layout .location-status{font-size:10px}.location-picker-menu{max-height:280px;min-width:0}
}
/* Where's native label wraps its enhanced picker; space above the control,
   not below the entire field, to align all three control tops. */
.search-date-layout .filters>label{margin-bottom:0!important}
.search-date-layout .filters>label>.location-picker{margin-top:8px}
.search-date-layout .filter-panel-polished .search-input-wrap>svg{top:16px}

/* Keep the compact helper/footer on one line despite legacy flex defaults. */
.search-date-layout .filter-panel-polished.main-date-panel .nearby{flex-direction:row;flex-wrap:nowrap}
.search-date-layout .filter-panel-polished.main-date-panel .nearby-controls{flex:0 0 auto;margin-left:auto;order:2}
.search-date-layout .location-status{flex:1;min-width:0}

/* Only the actual selected option receives the stronger selection tint. */
.location-picker-menu button[data-location-choice="near"][aria-selected="true"]{background:#eaf5f3;font-weight:500}
.location-picker-menu button[data-location-choice="near"][aria-selected="false"]:hover,.location-picker-menu button[data-location-choice="near"][aria-selected="false"]:focus-visible{background:#edf7f5}
/* Keep both typed text and placeholders identical; mobile16px avoids iOS zoom. */
.search-date-layout #search,.events-page #event-search{font:400 13px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif)}
.search-date-layout #search::placeholder,.events-page #event-search::placeholder{font:400 13px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif)}
@media(max-width:700px){.search-date-layout #search,.events-page #event-search,.search-date-layout #search::placeholder,.events-page #event-search::placeholder{font-size:16px}}
/* A city boundary is a real full-width grid item. Never dense-backfill a
   neighbouring-town card into space above its heading. */
#results.city-tiered-results{grid-auto-flow:row}
#results>.nearby-town-divider{grid-column:1/-1;align-self:start;min-width:0;margin:4px 0 0;padding:16px 0 10px;border-top:1px solid #cfdddd;color:#2d5059;box-sizing:border-box}
#results>.nearby-town-divider h2{margin:0;font:600 18px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif)}
#results>.nearby-town-divider p{margin:0 0 6px;font:400 13px/1.4 var(--control-font-family,Arial,Helvetica,sans-serif);color:#637a80}

/* Anchor the calendar to its When field, never the outer finder grid. */
.intro-search-surface .search-date-layout>.menu-date-bar.shared-date-picker .shared-calendar-panel,.events-page .event-search-calendar-layout .shared-date-picker .shared-calendar-panel{left:0;right:auto;top:calc(100% + 8px);width:100%;max-width:none;margin:0;box-sizing:border-box}

/* Near me is outside the towns' scrolling region and always selectable. */
.location-picker-menu{display:flex;flex-direction:column;overflow:hidden}
.location-picker-menu>button[data-location-choice="near"]{flex:none;position:relative;z-index:1;border-bottom:1px solid #d9e6e5;border-radius:7px 7px 0 0;margin-bottom:5px}
.location-scroll-options{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:7px}
.location-scroll-options>button{scroll-margin-block:7px}
