/* Geographic overlays reuse the same menu surfaces, type and motion as Live.
   Stop is a quick action on the right, not an extra parameter in this list. */

.meteone-live-stations .meteone-station-menu__submenu.is-isolines .is-loading {
    opacity: .7;
}

.meteone-live-stations .meteone-station-menu__category-button.is-isolines[aria-disabled='true'] {
    opacity: .45;
    cursor: default;
}

/* The useful vertical corridor is measured only when container/controls resize.
   Apply it to the collapsed rail as well: on low desktop screens the icons
   themselves can otherwise overlap the count above or brand below. Keep the
   established translateY centring so reveal animations do not change anchor. */
.meteone-live-stations .meteone-live-stations__map .meteone-station-menu__panel,
.meteone-live-stations .meteone-live-stations__map .meteone-station-menu__panel:is(.is-open, .has-open-category, .is-category-closing, .is-closing) {
    --meteone-menu-safe-bottom-edge: max(var(--meteone-menu-safe-bottom, 76px), var(--meteone-left-quick-reserved-bottom, 0px));
    top: calc(50% + var(--meteone-menu-safe-top, 54px) / 2 - var(--meteone-menu-safe-bottom-edge) / 2);
    bottom: auto;
    max-height: max(0px, calc(100% - var(--meteone-menu-safe-top, 54px) - var(--meteone-menu-safe-bottom-edge)));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* Match both Material and classic controls, including landscape overrides.
   Native wheel, touch and keyboard scrolling remain enabled. */
.meteone-live-stations[data-meteone-design] .meteone-live-stations__map .meteone-station-menu__panel {
    scrollbar-width: none;
}

.meteone-live-stations .meteone-live-stations__map .meteone-station-menu__panel::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* The last partially faded option hints at further content without a bar or
   another button. Fade only the edge that has more scrollable content. */
.meteone-live-stations .meteone-live-stations__map .meteone-station-menu__panel:is(.can-scroll-up, .can-scroll-down) {
    --meteone-menu-fade-top: 0px;
    --meteone-menu-fade-bottom: 0px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--meteone-menu-fade-top), #000 calc(100% - var(--meteone-menu-fade-bottom)), transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 var(--meteone-menu-fade-top), #000 calc(100% - var(--meteone-menu-fade-bottom)), transparent);
}

.meteone-live-stations .meteone-live-stations__map .meteone-station-menu__panel.can-scroll-up {
    --meteone-menu-fade-top: 18px;
}

.meteone-live-stations .meteone-live-stations__map .meteone-station-menu__panel.can-scroll-down {
    --meteone-menu-fade-bottom: 22px;
}

/* The count no longer needs to disappear: the menu stays below its actual
   lower edge. Search retains ownership of its independent hide animation. */
.meteone-live-stations .meteone-live-stations__map:is(.has-open-station-menu, .has-expanded-station-menu):not(.is-station-search-open) .meteone-station-count {
    visibility: visible;
}

@media (hover: hover) and (pointer: fine) {
    .meteone-live-stations .meteone-live-stations__map .meteone-station-menu__submenu.is-isolines .meteone-station-menu__metric:hover {
        background: var(--meteone-hover-background, #e7f4fa);
        color: var(--meteone-hover-color, #005f8c);
    }
}
