/* Keep essential controls reachable without pinning the full hero or filter chips. */
html { scrollbar-gutter:stable;scroll-padding-top:var(--gg-scroll-clearance,132px);scroll-padding-bottom:12px; }
.search-scroll-tools[hidden] { display:none; }
.search-scroll-tools { position:sticky;top:var(--gg-header-height,120px);z-index:50;display:flex;align-items:center;gap:12px;min-height:56px;margin:0 0 16px;padding:6px 0;background:var(--gg-bg);border-bottom:1px solid var(--gg-border); }
.search-scroll-tools>a,.search-scroll-tools .results-filter-trigger { display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:44px;margin:0;font-size:14px;text-decoration:none;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface);color:var(--gg-text-1); }
.search-scroll-tools .ui-icon { width:18px;height:18px; }
body:has(.filter-panel:popover-open) { overflow:hidden; }
body:has(.filter-panel:popover-open) .search-scroll-tools { visibility:hidden; }
.results-content { overflow-anchor:none; }
@media(min-width:1000px) {
 .has-discovery-search.header-scrolled .header-search { display:flex;visibility:visible;pointer-events:auto; }
 .header-search,.header-search .header-search-open { min-height:44px;height:44px; }
 .results-sidebar { position:sticky;top:calc(var(--gg-header-height,120px) + 16px); }
 .results-sidebar .filter-panel { max-height:calc(100dvh - var(--gg-header-height,120px) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-top:64px;scroll-padding-bottom:80px; }
 .results-sidebar .filter-panel-heading { position:sticky;top:0;z-index:2; }
 .results-sidebar .filter-panel-footer { position:sticky;bottom:0;z-index:2; }
}
@media(min-width:1000px) and (max-width:1399px) {
 .has-discovery-search.header-scrolled .header-main nav form { display:none; }
}
/* Booking rails follow the measured navigation height, including wrapped tablet rows. */
@media(min-width:1000px) and (min-height:481px) {
 .page-gig .event-booking { top:calc(var(--gg-header-height,120px) + 16px);max-height:calc(100dvh - var(--gg-header-height,120px) - 32px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scroll-padding-block:12px; }
}
@media(min-width:701px) and (min-height:481px) {
 .page-experience .experience-visit { position:sticky;align-self:start;top:calc(var(--gg-header-height,120px) + 16px);max-height:calc(100dvh - var(--gg-header-height,120px) - 32px - var(--gg-sidebar-bottom-clearance,0px));overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scroll-padding-block:12px; }
 .page-experience .experience-ticket { position:static; }
}
@media(min-width:701px) and (max-width:759px) {
 .page-experience .experience-visit { --gg-sidebar-bottom-clearance:calc(60px + env(safe-area-inset-bottom)); }
}
.event-booking:focus-visible,.experience-visit:focus-visible { outline:2px solid var(--gg-accent-blue);outline-offset:4px; }
@media(max-width:999px) {
 .has-discovery-search .site-header { top:calc(0px - var(--gg-header-main-height,68px)); }
 .has-discovery-search .site-header:has(.header-main :focus-visible) { top:0; }
 .results-filters-ready .results-layout { grid-template-columns:minmax(0,1fr); }
 .results-filters-ready .results-filter-trigger { display:inline-flex; }
 .results-filters-ready .results-controls>.results-filter-trigger { display:none; }
 .filter-panel { scroll-padding-top:80px;scroll-padding-bottom:80px; }
}
@media(max-width:759px) {
 html { scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
 html:has(.event-ticket-bar) { scroll-padding-bottom:calc(144px + env(safe-area-inset-bottom)); }
 .search-update-status { bottom:calc(72px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);width:max-content; }
}
/* Short/zoomed viewports must leave room for content and keyboard focus. */
@media(max-height:480px) {
 .site-header { position:relative;top:0!important; }
 .search-scroll-tools { position:static; }
 .results-sidebar { position:static; }
 .results-sidebar .filter-panel { max-height:none;overflow:visible; }
 .results-sidebar .filter-panel-heading,.results-sidebar .filter-panel-footer { position:static; }
 .page-gig .event-booking,.page-experience .experience-visit,.page-experience .experience-ticket { position:static;max-height:none;overflow:visible; }
 html { scrollbar-gutter:stable;scroll-padding-top:12px; }
}

@media(min-width:760px) and (max-width:999px) {
 html:has(.event-ticket-bar) { scroll-padding-bottom:calc(108px + env(safe-area-inset-bottom)); }
}
