/* Desktop navigation and catalog layout corrections. */
@media (min-width: 981px) {
    .category-nav-inner {
        width: min(1540px, calc(100% - 40px));
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0 .75rem;
        overflow: visible;
        scrollbar-width: none;
    }

    .category-nav-inner::-webkit-scrollbar {
        display: none;
    }

    .category-nav a {
        padding: .78rem 0;
        font-size: .82rem;
    }

    .catalog-layout {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .catalog-results {
        min-width: 0;
    }

    .filter-backdrop {
        display: none;
    }
}

@media (max-width: 980px) {
    body.menu-open {
        overflow: hidden;
    }

    body.menu-open .cookie-notice,
    body.menu-open .whatsapp-float {
        display: none;
    }

    .category-nav {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 220;
        width: min(360px, 88vw);
        height: 100vh;
        height: 100dvh;
        padding: 0 1.25rem 2rem;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #fff !important;
        color: #111214;
        opacity: 1;
        isolation: isolate;
    }

    .category-nav.open {
        box-shadow: 18px 0 50px rgba(0, 0, 0, .22);
    }

    .mobile-menu-heading {
        position: sticky;
        top: 0;
        z-index: 2;
        min-height: 74px;
        margin-bottom: .35rem;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid var(--line);
        background: #fff;
        font: 800 1.12rem "Manrope", sans-serif;
    }

    .mobile-menu-heading button {
        width: 42px;
        height: 42px;
        border: 0;
        border-radius: 50%;
        background: var(--soft);
        color: var(--ink);
        font-size: 1.8rem;
        line-height: 1;
    }

    .category-nav-inner {
        width: 100%;
        flex-wrap: nowrap;
        overflow: visible;
    }

    .category-nav a {
        width: 100%;
        padding: 1rem .15rem;
        border-bottom: 1px solid var(--line);
        background: #fff;
        color: #111214;
        font-size: .96rem;
        font-weight: 700;
        line-height: 1.3;
    }

    .category-nav a::after {
        display: none;
    }

    .mobile-menu-backdrop {
        position: fixed;
        inset: 0;
        z-index: 215;
        display: block;
        border: 0;
        background: rgba(10, 12, 10, .58);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .22s, visibility .22s;
    }

    body.menu-open .mobile-menu-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}
