body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.custom-navbar :is(a, button):focus-visible,
.mobile-menu-overlay :is(a, button):focus-visible,
.mobile-search-overlay :is(a, button):focus-visible,
.wallet-trigger:focus-visible,
.wallet-panel :is(a, button):focus-visible,
.nav-suggest-item:focus-visible {
    outline: 2px solid var(--focus-ring, #1f2937);
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--focus-gap, #ffffff);
}

.nav-account-dropdown :is(a, button):focus-visible,
.currency-item-btn:focus-visible,
.nav-suggest-item:focus-visible,
.mobile-menu-links :is(a, button):focus-visible {
    outline-offset: -3px;
    box-shadow: none;
}

.login-btn-special:focus-visible,
.mobile-search-close:focus-visible {
    outline-color: var(--focus-ring, #1f2937);
}

#main-content:focus {
    outline: none;
}

.skip-to-content {
    position: fixed;
}

.skip-to-content:focus {
    max-width: calc(100vw - 20px);
}

.nav-container {
    padding-inline: max(20px, env(safe-area-inset-left), env(safe-area-inset-right));
}

.nav-logo {
    min-width: 0;
}

.nav-logo img {
    max-width: 100%;
}

.mobile-menu-overlay {
    box-sizing: border-box;
    justify-content: flex-start;
    padding: calc(76px + env(safe-area-inset-top, 0px)) env(safe-area-inset-right, 0px) calc(16px + env(safe-area-inset-bottom, 0px)) env(safe-area-inset-left, 0px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.mobile-menu-links {
    margin-block: auto;
    max-height: none;
    overflow: visible;
}

.mobile-search-overlay {
    overscroll-behavior: contain;
}

.mobile-suggest-dropdown {
    overscroll-behavior: contain;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 991px) {
    .nav-container {
        padding-inline: max(14px, env(safe-area-inset-left), env(safe-area-inset-right));
    }

    .nav-logo {
        flex: 0 1 140px;
    }

    .nav-search-toggle,
    .menu-toggle,
    .cart-wrapper,
    .wallet-trigger {
        min-width: 44px;
        min-height: 44px;
        box-sizing: border-box;
    }

    .nav-search-toggle {
        width: 44px;
        height: 44px;
    }

    .menu-toggle {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        width: 44px;
        height: 44px;
        padding: 0 10px;
    }

    .cart-wrapper {
        justify-content: center;
    }

    .wallet-trigger {
        justify-content: center;
    }

    .mobile-search-close {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 400px) {
    .nav-container {
        padding-inline: max(10px, env(safe-area-inset-left), env(safe-area-inset-right));
    }

    .nav-group {
        gap: 2px;
    }

    .nav-logo {
        flex-basis: 110px;
    }

    .nav-logo img {
        max-width: 110px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .custom-navbar,
    .mobile-menu-overlay,
    .mobile-search-overlay,
    .bar,
    .nav-link-btn,
    .nav-currency-pill,
    .currency-arrow,
    .nav-account-caret {
        transition: none;
    }

    .nav-currency-dropdown-deluxe {
        animation: none;
    }
}
