/* Mobile navigation and panel accessibility. Loaded last to keep every tab
   reachable on small screens, including short-height phones. */
@media (max-width: 760px) {
    html,
    body {
        min-height: 100%;
    }

    body {
        overflow-x: hidden;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .primary-navigation {
        position: sticky;
        top: 0;
        z-index: 34;
        overflow: hidden;
        box-shadow: 0 8px 18px rgba(0,0,0,.18);
    }

    .primary-navigation-inner {
        display: flex !important;
        gap: 5px;
        min-height: 48px;
        padding: 0 12px 2px;
        overflow-x: auto !important;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .primary-navigation a,
    .primary-navigation .categories-trigger,
    .primary-navigation a:nth-of-type(5),
    .primary-navigation a:nth-of-type(6) {
        display: inline-flex !important;
        flex: 0 0 auto;
        min-height: 43px;
        padding: 0 12px;
        scroll-snap-align: start;
    }

    .primary-navigation a:last-child {
        margin-right: 8px;
    }

    .store-sidebar {
        height: 100dvh !important;
        max-height: 100dvh;
        overflow-x: hidden;
        overflow-y: auto !important;
        padding-bottom: calc(18px + env(safe-area-inset-bottom));
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .side-nav,
    .side-help,
    .side-admin {
        flex-shrink: 0;
    }

    .side-help {
        margin-top: 20px;
    }

    .side-admin {
        margin-bottom: max(2px, env(safe-area-inset-bottom));
    }
}

@media (max-width: 380px) {
    .primary-navigation a,
    .primary-navigation .categories-trigger {
        padding-right: 10px;
        padding-left: 10px;
        font-size: 9px;
    }
}
