@media (max-width: 991.98px) {
    html:has(body.site-menu-open) { overflow: hidden; }
    body.site-menu-open .header-container { z-index: 1061; }
    body .menu-items {
        position: fixed;
        top: 0;
        bottom: 0;
        width: 100vw !important;
        max-width: none;
        height: 100dvh;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .menu-items:not(.open) { visibility: hidden; }
    .menu-items.open { visibility: visible; }
    .menu-items.mobile-menu-enhanced {
        display: grid !important;
        grid-template-columns: 104px minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }
    .mobile-menu-enhanced .menu-items-header {
        grid-column: 1 / -1;
        padding: max(12px, env(safe-area-inset-top)) 16px 12px;
        gap: 10px;
    }
    .mobile-menu-enhanced .menu-items-header .logo img { max-height: 38px; }
    .mobile-menu-enhanced .menu-items-header .mobile-search-open { border-radius: 24px; }
    .mobile-menu-enhanced .mobile-menu-hint {
        display: none;
    }
    .mobile-menu-enhanced .mobile-menu-category-rail {
        display: flex;
        flex-direction: column;
        grid-column: 1;
        grid-row: 2;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #f1f1f4;
        border-inline-end: 1px solid #e7e7ee;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
        scrollbar-width: thin;
    }
    .mobile-menu-category {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 8px;
        min-height: 82px;
        padding: 12px 7px;
        border: 0;
        border-bottom: 1px solid #e7e7ee;
        border-inline-start: 3px solid transparent;
        background: transparent;
        color: #586174;
        font: inherit;
        font-size: 12px;
        line-height: 1.8;
        text-align: center;
        text-decoration: none;
        overflow-wrap: anywhere;
    }
    .mobile-menu-category i { font-size: 19px; }
    .mobile-menu-category img {
        width: 42px;
        height: 42px;
        object-fit: contain;
        border-radius: 12px;
        background: white;
        padding: 3px;
        box-shadow: 0 2px 8px rgb(38 25 49 / 8%);
    }
    .mobile-menu-category[aria-pressed="true"] {
        border-inline-start-color: var(--colorMain);
        color: var(--colorMain);
        background: white;
        font-weight: 600;
    }
    .mobile-menu-category[aria-pressed="true"] img { box-shadow: 0 3px 10px color-mix(in srgb, var(--colorMain, #421268) 18%, transparent); }
    .mobile-menu-category:focus-visible { outline: 2px solid var(--colorMain); outline-offset: -3px; }
    .menu-items.mobile-menu-enhanced > nav {
        grid-column: 2;
        grid-row: 2;
        padding: 0 16px max(20px, env(safe-area-inset-bottom));
        min-width: 0;
        background: white;
    }
    .mobile-menu-enhanced .menu-item:not(.is-category-active) { display: none; }
    .mobile-menu-enhanced .menu-item.is-category-active { display: block; padding: 0; border: 0; }
    .mobile-menu-enhanced .menu-item > .menu-item-toggle { display: none; }
    .mobile-menu-enhanced .menu-item > a { flex-wrap: wrap; gap: 6px 10px; padding: 18px 0 14px; font-size: 14px; color: #2363a3; }
    .mobile-menu-enhanced .menu-item > a .menu-main-icon { display: none; }
    .mobile-menu-enhanced .menu-item > a .menu-main-label { flex: 1 0 auto; }
    .mobile-menu-enhanced .mobile-menu-view-all { display: flex; align-items: center; gap: 7px; margin-inline-start: auto; color: #2363a3; font-size: 13px; font-weight: 600; }
    .mobile-menu-enhanced .menu-item > .submenu {
        display: block !important;
        width: 100% !important;
        padding: 0;
        background: white;
    }
    .mobile-menu-enhanced .menu-item > .submenu > ul { padding: 0; }
    .mobile-menu-enhanced .menu-item .submenu > ul > li.has-nested-submenu {
        grid-template-columns: minmax(0, 1fr) 52px;
        column-gap: 8px;
        align-items: center;
        margin: 6px 0;
        padding: 0;
        border: 1px solid #e8e4ed;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 8px rgb(36 24 48 / 4%);
        overflow: hidden;
    }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > a { grid-column: 1; grid-row: 1; min-height: 50px; padding: 8px 11px; font-size: 14px; font-weight: 600; }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > a::before { display: none; }
    .mobile-menu-enhanced .submenu-item-toggle {
        grid-column: 2;
        grid-row: 1;
        display: grid;
        place-items: center;
        width: 42px;
        min-height: 42px;
        height: 42px;
        margin-inline: auto;
        padding: 0;
        border: 1px solid color-mix(in srgb, var(--colorMain, #421268) 24%, Canvas);
        border-radius: 12px;
        color: var(--colorMain, #421268);
        background: color-mix(in srgb, var(--colorMain, #421268) 6%, Canvas);
        font-size: 22px;
        line-height: 1;
        -webkit-tap-highlight-color: transparent;
        transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
    }
    .mobile-menu-enhanced .submenu-item-toggle .menu-toggle-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .mobile-menu-enhanced .submenu-item-toggle i { font-size: 22px; line-height: 1; transition: transform .18s ease; }
    .mobile-menu-enhanced .submenu-item-toggle:active { transform: scale(.94); }
    .mobile-menu-enhanced .submenu-item-toggle:focus-visible { outline: 3px solid color-mix(in srgb, var(--colorMain, #421268) 38%, Canvas); outline-offset: 2px; }
    .mobile-menu-enhanced .submenu-item-toggle[aria-expanded="true"] { color: var(--colorMain, #421268); border-color: color-mix(in srgb, var(--colorMain, #421268) 24%, Canvas); background: color-mix(in srgb, var(--colorMain, #421268) 8%, Canvas); }
    .mobile-menu-enhanced .submenu-item-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu {
        grid-column: 1 / -1;
        margin: 0;
        padding: 0 12px 6px 0;
        border-inline-start: 2px solid #e2e3e8;
    }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu > li > a { min-height: 48px; padding: 10px 4px; font-size: 14px; }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu {
        display: none;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin: 0 8px 9px;
        padding: 8px;
        border-radius: 0 0 9px 9px;
        background: #fcfbfd;
        border: 0;
        border-inline-start: 1px solid color-mix(in srgb, var(--colorMain, #421268) 24%, #e8e4ec);
        transition: height .22s ease, opacity .18s ease;
    }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu:not(.open) { display: none; }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu.open { display: grid; }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu.open { overflow: hidden; }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu > li { min-width: 0; }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu > li > a.nested-category-card {
        display: flex;
        min-height: 0;
        height: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        min-height: 94px;
        padding: 6px 4px 7px;
        border: 1px solid #f0edf2;
        border-radius: 11px;
        background: #fff;
        transition: border-color .18s ease, background-color .18s ease;
        text-align: center;
        font-size: 12px;
        line-height: 1.7;
        overflow-wrap: anywhere;
    }
    .mobile-menu-enhanced .menu-item .submenu > ul > li > ul.nested-submenu > li > a.nested-category-card::before { display: none; }
    .mobile-menu-enhanced .nested-category-card img {
        display: block;
        width: min(100%, 64px);
        aspect-ratio: 1;
        object-fit: contain;
        border-radius: 9px;
        background: #faf9fb;
        padding: 5px;
    }
    .mobile-menu-enhanced .nested-category-card:active { background: #faf7fc; }
    .mobile-menu-enhanced .nested-category-card--no-image { justify-content: center !important; min-height: 94px !important; }
    .mobile-menu-enhanced .nested-category-placeholder { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid #eee7f1; border-radius: 10px; background: #fbf9fc; color: color-mix(in srgb, var(--colorMain, #421268) 76%, #81788b); font-size: 19px; }
}
@media (max-width: 575.98px) {
    /* Keep the menu trigger reachable when the language switcher is present. */
    .header-up { gap: 10px; }
    .header-up .header-logo { flex: 1 1 auto; min-width: 0; max-width: 140px; height: 42px; }
    .header-up .header-logo img { width: 100%; object-fit: contain; }
    .header-up .header-up-left-content { gap: 6px; margin: 0; }
    .header-up-left-content .site-language-switcher { margin: 0; }
    .header-up-left-content .site-language-trigger,
    .header-up-left-content .header-button,
    .header-up-left-content #open-menu {
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        margin: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .header-up-left-content .site-language-icon,
    .header-up-left-content .site-language-chevron { display: none; }
}
@media (max-width: 360px) {
    .menu-items.mobile-menu-enhanced { grid-template-columns: 88px minmax(0, 1fr); }
    .menu-items.mobile-menu-enhanced > nav { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .menu-items, .mobile-menu-enhanced .submenu-item-toggle i, .mobile-menu-enhanced .nested-submenu { transition: none; }
}
