/* Hotspot list only. Move one filter panel between the desktop sidebar and mobile dialog. */
body[data-site-page="hotspot-list"] #hotspot-filter-panel,
body[data-site-page="hotspot-list"] #hotspot-filter-dialog,
body[data-site-page="hotspot-list"] .hotspot-filter-mobile-bar {
    --hf-surface: var(--sa-surface, #fff);
    --hf-text: var(--sa-text, var(--hotspot-text, #1e293b));
    --hf-primary: var(--sa-primary, #0e7490);
    --hf-border: color-mix(in srgb, var(--hf-text) 16%, var(--hf-surface));
    --hf-subtle: color-mix(in srgb, var(--hf-primary) 8%, var(--hf-surface));
    color: var(--hf-text);
    font-family: var(--hotspot-font);
    font-size: 1.5rem;
    line-height: 1.6;
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel {
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--hf-surface);
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel [hidden],
body[data-site-page="hotspot-list"] #hotspot-filter-mobile-bar[hidden] { display: none !important; }
body[data-site-page="hotspot-list"] .hotspot-filter-search { flex: 0 0 auto; padding-bottom: 1.2rem; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel #searchInput {
    background: var(--hf-surface);
    color: var(--hf-text);
    border: 1px solid var(--hf-border);
    font-size: 1.6rem;
    box-shadow: none;
    border-radius: var(--sa-radius, 8px);
    width: 100%;
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .search-btn { color: var(--hf-primary); min-width: 40px; min-height: 40px; }
body[data-site-page="hotspot-list"] .hotspot-filter-scroll { min-height: 0; }
/* Keep the filter scroll affordance quiet until the user interacts with it. */
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll,
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body {
    --hf-scrollbar-thumb: transparent;
    scrollbar-width: thin;
    scrollbar-color: var(--hf-scrollbar-thumb) transparent;
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll:is(:hover, :focus-within),
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body:is(:hover, :focus-within) {
    --hf-scrollbar-thumb: color-mix(in srgb, var(--hf-text) 12%, transparent);
}
/* Let Chromium/WebKit use the narrow custom scrollbar instead of native arrows. */
@supports selector(::-webkit-scrollbar) {
    body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll,
    body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body {
        scrollbar-width: auto;
        scrollbar-color: auto;
    }
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll::-webkit-scrollbar,
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body::-webkit-scrollbar { width: 3px; height: 3px; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll::-webkit-scrollbar-track,
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body::-webkit-scrollbar-track { background: transparent; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll::-webkit-scrollbar-thumb,
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: var(--hf-scrollbar-thumb);
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll::-webkit-scrollbar-button,
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
@media (forced-colors: active) {
    body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll,
    body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body { scrollbar-width: auto; scrollbar-color: auto; }
    body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll::-webkit-scrollbar,
    body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body::-webkit-scrollbar { width: 12px; height: 12px; }
    body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll::-webkit-scrollbar-thumb,
    body[data-site-page="hotspot-list"] #hotspot-filter-dialog-body::-webkit-scrollbar-thumb { background: CanvasText; }
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-single-widget { margin-bottom: 0.6rem; padding-bottom: 0.8rem; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-widget-title { margin-bottom: 0.3rem; }
body[data-site-page="hotspot-list"] .hotspot-filter-group-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    gap: 0.6rem;
    padding: 0.4rem 0;
    background: transparent;
    color: var(--hf-text);
    border: 0;
    text-align: left;
    font: inherit;
    font-weight: 700;
}
body[data-site-page="hotspot-list"] .hotspot-filter-group-toggle i { flex: none; transition: transform 0.15s; }
body[data-site-page="hotspot-list"] .hotspot-filter-group-toggle[aria-expanded="false"] i { transform: rotate(-90deg); }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-sidebar-list-wrapper li { margin: 0; padding: 0; position: relative; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-sidebar-list-wrapper li label {
    display: block;
    min-height: 40px;
    margin: 0;
    padding: 0.8rem 3.6rem 0.8rem 2.8rem;
    font-size: 1.4rem;
    line-height: 1.6;
    color: var(--hf-text);
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
    border-radius: 6px;
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-sidebar-list-wrapper label:hover { background: var(--hf-subtle); }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-sidebar-list-wrapper label::before,
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-sidebar-list-wrapper label::after { display: none; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel input[type="checkbox"] {
    position: absolute;
    opacity: 1;
    left: 1px;
    top: 1.2rem;
    width: 18px;
    height: 18px;
    padding: 0;
    margin: 0;
    accent-color: var(--hf-primary);
    z-index: 1;
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-lable.count {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    right: 0;
    top: 0.8rem;
    min-width: 2.7rem;
    margin: 0;
    padding: 0.1rem 0.3rem;
    border-radius: 5px;
    background: var(--hf-subtle);
    color: var(--hf-text);
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
}
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-show-more-btn {
    background: transparent;
    border: 0;
    color: var(--hf-primary);
    min-height: 40px;
    width: 100%;
    margin-top: 0;
    text-align: left;
    font-size: 1.4rem;
}
body[data-site-page="hotspot-list"] .hotspot-filter-selection { padding-bottom: 1.2rem; margin-bottom: 0.8rem; border-bottom: 1px solid var(--hf-border); }
body[data-site-page="hotspot-list"] .hotspot-filter-selection-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
body[data-site-page="hotspot-list"] #hotspot-filter-clear-all { padding: 0.4rem 0; min-height: 40px; border: 0; background: transparent; color: var(--hf-primary); font-size: 1.4rem; }
body[data-site-page="hotspot-list"] .hotspot-filter-chips { display: flex; gap: 0.6rem; flex-wrap: wrap; }
body[data-site-page="hotspot-list"] .hotspot-filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    max-width: 100%;
    min-height: 40px;
    padding: 0.5rem 0.8rem;
    border: 1px solid var(--hf-border);
    border-radius: var(--sa-radius, 8px);
    background: var(--hf-subtle);
    color: var(--hf-text);
    font-size: 1.3rem;
    line-height: 1.5;
    text-align: left;
}
body[data-site-page="hotspot-list"] .hotspot-filter-chip span:first-child { min-width: 0; overflow-wrap: anywhere; }
body[data-site-page="hotspot-list"] .hotspot-filter-chip span:last-child { flex: none; font-size: 1.8rem; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel :is(button, input):focus-visible,
body[data-site-page="hotspot-list"] #hotspot-filter-dialog button:focus-visible,
body[data-site-page="hotspot-list"] #hotspot-filter-trigger:focus-visible { outline: 2px solid var(--hf-primary); outline-offset: 2px; }

body[data-site-page="hotspot-list"] .hotspot-filter-dialog:not([open]) { display: none; }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog[open] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    position: fixed;
    inset: auto 0 0;
    margin: 0;
    width: 100%;
    max-width: none;
    height: 90vh;
    height: 90dvh;
    max-height: 90vh;
    max-height: 90dvh;
    padding: 0;
    border: 1px solid var(--hf-border);
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    background: var(--hf-surface);
    overflow: hidden;
    box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.18);
}
body[data-site-page="hotspot-list"] .hotspot-filter-dialog::backdrop { background: rgba(15, 23, 42, 0.46); }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog-header { display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 1.6rem; gap: 1rem; border-bottom: 1px solid var(--hf-border); }
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-title { margin: 0; color: var(--hf-text); font-size: 2rem; line-height: 1.4; }
body[data-site-page="hotspot-list"] #hotspot-filter-dialog-hint { margin: 0.3rem 0 0; color: var(--hf-text); font-size: 1.3rem; line-height: 1.5; }
body[data-site-page="hotspot-list"] #hotspot-filter-close { width: 44px; height: 44px; flex: none; border: 0; border-radius: var(--sa-radius, 8px); background: var(--hf-subtle); color: var(--hf-text); font-size: 2rem; }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog #hotspot-filter-panel { max-height: none; border-radius: 0; box-shadow: none; }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog .hotspot-filter-scroll { overflow: visible; }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog-footer { padding: 0.8rem 1.6rem calc(1.2rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--hf-border); background: var(--hf-surface); }
body[data-site-page="hotspot-list"] #hotspot-filter-status { margin: 0 0 0.5rem; color: var(--hf-text); font-size: 1.3rem; line-height: 1.5; }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog-footer > div { display: flex; gap: 1rem; }
body[data-site-page="hotspot-list"] .hotspot-filter-dialog-footer button { min-height: 44px; padding: 0.8rem 1.2rem; border: 1px solid var(--hf-border); border-radius: var(--sa-radius, 8px); font-size: 1.6rem; line-height: 1.5; }
body[data-site-page="hotspot-list"] #hotspot-filter-clear { background: var(--hf-surface); color: var(--hf-text); }
body[data-site-page="hotspot-list"] #hotspot-filter-clear:disabled { opacity: 0.55; cursor: default; }
body[data-site-page="hotspot-list"] #hotspot-filter-results { flex: 1; background: var(--hf-primary); color: var(--sa-on-primary, #fff); border-color: var(--hf-primary); }
body[data-site-page="hotspot-list"].hotspot-filter-dialog-open { overflow: hidden !important; }

@media (min-width: 992px) {
    body[data-site-page="hotspot-list"] #hotspot-filter-sidebar { align-self: stretch; }
    body[data-site-page="hotspot-list"] #hotspot-filter-panel { position: sticky; top: 10rem; max-height: calc(100vh - 12rem); max-height: calc(100dvh - 12rem); }
    body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-scroll { overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
    body[data-site-page="hotspot-list"] .hotspot-filter-mobile-bar { display: none; }
}
@media (max-width: 991px) {
    body[data-site-page="hotspot-list"].hotspot-filters-enhanced { padding-bottom: calc(8rem + env(safe-area-inset-bottom, 0px)); }
    body[data-site-page="hotspot-list"].hotspot-filters-enhanced #hotspot-filter-sidebar { display: contents; }
    body[data-site-page="hotspot-list"].hotspot-filters-enhanced #hotspot-filter-sidebar > #hotspot-filter-panel { display: none; }
    body[data-site-page="hotspot-list"] .hotspot-filter-mobile-bar {
        position: fixed;
        inset: auto 0 0;
        z-index: 1030;
        padding: 1rem 1.6rem calc(1rem + env(safe-area-inset-bottom, 0px));
        background: var(--hf-surface);
        border-top: 1px solid var(--hf-border);
        box-shadow: 0 -3px 18px rgba(0, 0, 0, 0.08);
    }
    body[data-site-page="hotspot-list"] #hotspot-filter-trigger { display: flex; align-items: center; justify-content: center; gap: 0.8rem; width: 100%; min-height: 48px; border: 1px solid var(--hf-primary); border-radius: var(--sa-radius, 10px); padding: 0.8rem 1.2rem; font-size: 1.6rem; font-weight: 600; background: var(--hf-primary); color: var(--sa-on-primary, #fff); }
    body[data-site-page="hotspot-list"] #hotspot-filter-selected-count { padding: 0.1rem 0.6rem; border-radius: 5px; background: rgba(255, 255, 255, 0.18); font-size: 1.3rem; }
    body[data-site-page="hotspot-list"].hotspot-filters-enhanced .rbt-progress-parent { bottom: calc(8rem + env(safe-area-inset-bottom, 0px)); }
}

/* Keep vendor widget decoration and clipping from obscuring actionable filters. */
body[data-site-page="hotspot-list"] #hotspot-filter-panel { cursor: auto; border-radius: var(--sa-radius, 12px); }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-single-widget { padding: 0 0 0.8rem; background: transparent; border-bottom: 1px solid var(--hf-border); }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-single-widget:last-child { border-bottom: 0; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-widget-title { padding: 0; border: 0; font-size: 1.5rem; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-sidebar-list-wrapper { padding: 0; margin: 0; list-style: none; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-show-more-btn::before,
body[data-site-page="hotspot-list"] #hotspot-filter-panel .rbt-show-more-btn::after { display: none; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-left { display: inline-flex; gap: 8px; align-items: center; min-width: 0; }
body[data-site-page="hotspot-list"] #hotspot-filter-panel .hotspot-filter-text { min-width: 0; overflow-wrap: anywhere; }
body[data-site-page="hotspot-list"] .hotspot-results-heading { margin-bottom: 24px; color: var(--sa-text, #1e293b); }
body[data-site-page="hotspot-list"] .hotspot-results-heading h2 { margin: 0 0 4px; color: inherit; font-size: 24px; line-height: 1.4; }
body[data-site-page="hotspot-list"] #hotspot-result-summary { margin: 0; color: inherit; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
body[data-site-page="hotspot-list"] .hotspot-grid-column { min-width: 0; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
body[data-site-page="hotspot-list"] .hotspot-grid-column > :is(.hotspot-empty-state, #hotspot-data-error) { grid-column: 1 / -1; min-width: 0; overflow-wrap: anywhere; }
body[data-site-page="hotspot-list"] .hotspot-filter-error { margin-bottom: 24px; padding: 16px; border: 1px solid #b7791f; border-radius: var(--sa-radius, 8px); background: var(--sa-surface, #fff); color: var(--sa-text, #1e293b); }
body[data-site-page="hotspot-list"] .hotspot-filter-error p { margin: 0 0 12px; color: inherit; font-size: 14px; line-height: 1.6; }
body[data-site-page="hotspot-list"] :is(#hotspot-query-error, #hotspot-data-error) button { min-height: 44px; padding: 8px 16px; border: 1px solid var(--sa-primary, #0e7490); border-radius: var(--sa-radius, 8px); background: var(--sa-primary, #0e7490); color: var(--sa-on-primary, #fff); font-size: 16px; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) {
    body[data-site-page="hotspot-list"] .hotspot-filter-group-toggle i { transition: none; }
}
