/*
 * EN mobile-nav fix v1.4
 * Fixes: hamburger position, dead zone 601-1024, display:none override, open state
 */

/* Force hamburger absolute position at ALL mobile widths */
@media only screen and (max-width:1024px) {
    .main-header .menu-hamburger,
    .main-header .bottom-container .sticky .menu-hamburger {
        position: absolute !important;
        top: 50% !important;
        right: 3em !important;
        left: auto !important;
        -webkit-transform: translateY(-50%) !important;
        -ms-transform: translateY(-50%) !important;
        transform: translateY(-50%) !important;
        display: block !important;
        z-index: 20 !important;
    }
}

/* 601-1024 dead zone: hide desktop nav, show hamburger */
@media only screen and (min-width:601px) and (max-width:1024px) {
    nav.navigation.horizontal.primary-navigation:not(.mobile) {
        display: none !important;
    }
}

/* Base state: mobile nav hidden off-screen (override inline display:none) */
@media only screen and (max-width:1024px) {
    nav.navigation.horizontal.primary-navigation.mobile,
    .main-header .bottom-container .sticky .primary-navigation.mobile,
    .main-header .bottom-container .sticky nav.primary-navigation.mobile {
        display: block !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: -100% !important;
        width: 100% !important;
        z-index: 1001 !important;
        opacity: 0 !important;
        -webkit-transition: right .3s ease-in-out, opacity .3s ease-in-out;
        -o-transition: right .3s ease-in-out, opacity .3s ease-in-out;
        transition: right .3s ease-in-out, opacity .3s ease-in-out;
        background: #363636;
        overflow-y: auto !important;
        max-height: calc(100vh - 160px) !important;
    }

    /* Slide in when body.en-mobile-open */
    body.en-mobile-open nav.navigation.horizontal.primary-navigation.mobile,
    body.en-mobile-open .main-header .bottom-container .sticky .primary-navigation.mobile {
        display: block !important;
        opacity: 1 !important;
        right: 0 !important;
        -webkit-box-shadow: 0 4px 6px rgba(0,0,0,.3);
        box-shadow: 0 4px 6px rgba(0,0,0,.3);
    }

    /* Hide state container and search while menu is open */
    body.en-mobile-open .main-header .bottom-container .sticky div.state-container,
    body.en-mobile-open .main-header .bottom-container .sticky .search-form {
        -webkit-transform: translateX(-50px);
        -o-transform: translateX(-50px);
        transform: translateX(-50px);
        opacity: 0;
    }

    /* hamburger morphs into X while open */
    body.en-mobile-open .main-header .menu-hamburger .bar {
        background: 0 0 !important;
    }
    body.en-mobile-open .main-header .menu-hamburger .bar:before {
        top: 50% !important;
        -webkit-transform: translateY(-50%) rotate(45deg) !important;
        transform: translateY(-50%) rotate(45deg) !important;
    }
    body.en-mobile-open .main-header .menu-hamburger .bar:after {
        top: 50% !important;
        -webkit-transform: translateY(-50%) rotate(-45deg) !important;
        transform: translateY(-50%) rotate(-45deg) !important;
    }
}

/* Ensure nav items stack vertically as dropdown (all <=1024, including landscape/tablet) */
@media only screen and (max-width:1024px) {
    body.en-mobile-open .main-header .primary-navigation.mobile,
    body.en-mobile-open .main-header .bottom-container .sticky .primary-navigation.mobile {
        height: auto !important;
        min-height: auto !important;
        padding: 0.5em 0 !important;
        text-align: center !important;
        max-height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
        -webkit-transform: none !important;
        transform: none !important;
    }
    body.en-mobile-open .main-header .primary-navigation.mobile .menu,
    body.en-mobile-open .main-header .primary-navigation.mobile ul {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
    body.en-mobile-open .main-header .primary-navigation.mobile .menu-item {
        margin: 0 !important;
        padding: 0.75em 0 !important;
        text-align: center !important;
        width: 100% !important;
        display: block !important;
        float: none !important;
    }
}

/* Tighter items on short landscape viewports so all 6 fit */
@media only screen and (max-width:1024px) and (max-height:500px) {
    body.en-mobile-open .main-header .primary-navigation.mobile .menu-item {
        padding: 0.45em 0 !important;
        font-size: 14px !important;
    }
}

/* Fix SHOP tab positioning in 601-1024 range (match mobile look) */
@media only screen and (min-width:601px) and (max-width:1024px) {
    .page-left .tab {
        display: block !important;
    }
    .page-left .tab .search-tab,
    .main-wrapper .page-left .tab a.search-tab {
        position: fixed !important;
        left: 0 !important;
        top: 205px !important;
        z-index: 1000 !important;
        display: block !important;
        line-height: 1 !important;
        font-size: 15px !important;
        font-weight: bold !important;
        padding: 25px 10px 20px !important;
        border-radius: 0 12px 12px 0 !important;
        border-top: 4px solid #fff !important;
        border-right: 4px solid #fff !important;
        border-bottom: 4px solid #fff !important;
        border-left: none !important;
        background: #f7941d !important;
        color: #fff !important;
        box-shadow: 0 0 4px 0 #000 !important;
        transform: none !important;
        width: auto !important;
        white-space: normal !important;
    }
}
