/* Desktop submenu geometry shared by every header variant. */

@media screen and (min-width: 769px) {
    body .site-header .main-navigation .menu > li:not(.qtranxs-lang-menu) > ul.sub-menu {
        right: auto !important;
        left: 0 !important;
        width: max-content !important;
        min-width: 18rem !important;
        max-width: min(30rem, calc(100vw - 2rem)) !important;
        overflow: visible !important;
    }

    body .site-header .main-navigation .menu > li:not(.qtranxs-lang-menu) > ul.sub-menu > li,
    body .site-header .main-navigation .menu > li:not(.qtranxs-lang-menu) > ul.sub-menu > li > a {
        width: 100% !important;
        min-width: 0 !important;
    }

    body .site-header .main-navigation .menu > li:not(.qtranxs-lang-menu) > ul.sub-menu > li > a {
        min-height: 44px !important;
        padding: 0.75rem 1rem !important;
        white-space: normal !important;
        line-height: 1.35 !important;
        overflow-wrap: break-word;
    }

    body .site-header .main-navigation .menu > li.qtranxs-lang-menu > ul.sub-menu {
        right: 0 !important;
        left: auto !important;
        width: max-content !important;
        min-width: 10rem !important;
    }

    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu {
        top: calc(100% - 1px) !important;
        left: 0 !important;
        width: min(23rem, calc(100vw - 2rem)) !important;
        min-width: min(23rem, calc(100vw - 2rem)) !important;
        padding: 0.35rem !important;
        overflow: visible !important;
    }

    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li {
        position: static !important;
        display: block !important;
        float: none !important;
    }

    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li > a {
        min-height: 46px !important;
        display: flex !important;
        align-items: center !important;
        padding: 0.75rem 0.9rem !important;
        font-weight: 800 !important;
    }

    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > .menu-dropdown-btn,
    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > .topshop-submenu-toggle {
        display: none !important;
    }

    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        margin: 0 !important;
        width: auto !important;
        margin: 0.1rem 0.65rem 0.45rem !important;
        padding: 0.2rem 0 0.2rem 0.65rem !important;
        border: 0 !important;
        border-left: 2px solid color-mix(in oklch, var(--topshop-color-accent) 58%, transparent) !important;
        background: color-mix(in oklch, var(--topshop-color-paper) 4%, transparent) !important;
        box-shadow: none !important;
    }

    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li,
    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li > a {
        width: 100% !important;
        min-width: 0 !important;
    }

    body .site-header .main-navigation .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li > a {
        min-height: 40px !important;
        padding: 0.55rem 0.75rem !important;
        color: color-mix(in oklch, currentColor 72%, transparent) !important;
        font-size: 0.69rem !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        white-space: normal !important;
    }
}

/* Footer language control mirrors the compact header language button. */
body .site-footer-bottom-bar-right .qtranxs-lang-menu > a {
    width: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid color-mix(in oklch, var(--topshop-color-accent) 58%, transparent) !important;
    background: color-mix(in oklch, var(--topshop-color-accent) 18%, transparent) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

body .site-footer-bottom-bar-right .qtranxs-lang-menu > a::before {
    color: var(--topshop-color-paper) !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
}

body .site-footer-bottom-bar-right .qtranxs-lang-menu-ru > a::before { content: "RU"; }
body .site-footer-bottom-bar-right .qtranxs-lang-menu-et > a::before { content: "ET"; }
body .site-footer-bottom-bar-right .qtranxs-lang-menu-en > a::before { content: "EN"; }

body .site-footer-bottom-bar-right .qtranxs-lang-menu > a img,
body .site-footer-bottom-bar-right .qtranxs-lang-menu > a span {
    display: none !important;
}

body .site-footer-bottom-bar-right .qtranxs-lang-menu > a:hover,
body .site-footer-bottom-bar-right .qtranxs-lang-menu > a:focus-visible {
    border-color: var(--topshop-color-accent) !important;
    background: color-mix(in oklch, var(--topshop-color-accent) 30%, transparent) !important;
    transform: none !important;
}

@media screen and (max-width: 768px) {
    body .site-header,
    body .site-header > .sticky-wrapper,
    body .site-header .main-navigation,
    body .site-header .main-navigation .site-container {
        overflow: visible !important;
    }

    body .site-header .main-navigation,
    body .site-header .main-navigation.toggled {
        position: static !important;
        height: 64px !important;
        min-height: 64px !important;
    }

    body .site-header .main-navigation.toggled ul.nav-menu,
    body .site-header .main-navigation.toggled ul.menu {
        position: fixed !important;
        top: 64px !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        z-index: 130 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        max-height: calc(100dvh - 64px) !important;
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        margin: 0 !important;
        padding: 0.55rem 1rem 1rem !important;
        border-top: 1px solid color-mix(in oklch, var(--topshop-color-paper) 15%, transparent) !important;
        background: color-mix(in oklch, var(--topshop-color-dark) 96%, black) !important;
        overscroll-behavior: contain;
    }

    body .site-header .main-navigation.toggled ul.menu > li,
    body .site-header .main-navigation.toggled ul.nav-menu > li {
        width: 100% !important;
        background: transparent !important;
    }

    body .site-header .main-navigation.toggled ul.menu ul.sub-menu,
    body .site-header .main-navigation.toggled ul.nav-menu ul.sub-menu {
        width: 100% !important;
        padding-left: 0.85rem !important;
        background: transparent !important;
    }

    body .site-header .main-navigation.toggled .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
        width: calc(100% - 0.75rem) !important;
        margin: 0.15rem 0 0.5rem 0.75rem !important;
        padding: 0.2rem 0 0.2rem 0.75rem !important;
        border-left: 2px solid color-mix(in oklch, var(--topshop-color-accent) 58%, transparent) !important;
        background: color-mix(in oklch, var(--topshop-color-paper) 4%, transparent) !important;
    }

    body .site-header .main-navigation.toggled .topshop-products-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu a {
        min-height: 38px !important;
        color: color-mix(in oklch, var(--topshop-color-paper) 68%, transparent) !important;
        font-size: 0.72rem !important;
        font-weight: 700 !important;
    }

    body .site-header .main-navigation.toggled ul.menu a,
    body .site-header .main-navigation.toggled ul.nav-menu a {
        min-height: 42px !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
}
