/*
 * AANRY Mobile Menu Fix 2.0
 * The plugin creates its own isolated mobile drawer and does not restyle
 * the shortcode's internal HTML.
 */

.aanry-mobile-drawer {
    display: none;
}

@media only screen and (max-width: 1024px) {
    html.aanry-mobile-menu-open,
    body.aanry-mobile-menu-open {
        overflow: hidden !important;
    }

    .aanry-mobile-drawer {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483000 !important;
        display: block !important;
        visibility: hidden;
        pointer-events: none;
    }

    .aanry-mobile-drawer.is-open {
        visibility: visible;
        pointer-events: auto;
    }

    .aanry-mobile-drawer__backdrop {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: rgba(27, 29, 24, 0.48) !important;
        opacity: 0;
        cursor: pointer;
        transition: opacity 220ms ease;
    }

    .aanry-mobile-drawer.is-open .aanry-mobile-drawer__backdrop {
        opacity: 1;
    }

    .aanry-mobile-drawer__panel {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: min(88vw, 420px) !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100vh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        background: #fbf8f3 !important;
        color: #2f3328 !important;
        box-shadow: 14px 0 40px rgba(26, 27, 23, 0.18) !important;
        opacity: 1 !important;
        transform: translateX(-102%);
        transition: transform 260ms ease;
        box-sizing: border-box !important;
    }

    .aanry-mobile-drawer.is-open .aanry-mobile-drawer__panel {
        transform: translateX(0);
    }

    .aanry-mobile-drawer__head {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 82px !important;
        margin: 0 !important;
        padding: 20px 22px !important;
        border-bottom: 1px solid rgba(75, 90, 57, 0.18) !important;
        background: #fbf8f3 !important;
        box-sizing: border-box !important;
    }

    .aanry-mobile-drawer__title {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #2f3328 !important;
        font-family: "Montserrat", Arial, sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        letter-spacing: 2px !important;
    }

    .aanry-mobile-drawer__close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(75, 90, 57, 0.25) !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #4b5a39 !important;
        box-shadow: none !important;
        font-family: Arial, sans-serif !important;
        font-size: 32px !important;
        font-weight: 300 !important;
        line-height: 1 !important;
        cursor: pointer;
    }

    .aanry-mobile-drawer__nav {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 12px 22px 40px !important;
        background: #fbf8f3 !important;
        box-sizing: border-box !important;
    }

    .aanry-mobile-drawer__menu,
    .aanry-mobile-drawer__menu ul {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .aanry-mobile-drawer__menu > li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(75, 90, 57, 0.18) !important;
        background: transparent !important;
    }

    .aanry-mobile-drawer__menu li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 17px 2px !important;
        border: 0 !important;
        background: transparent !important;
        color: #2f3328 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        font-family: "Montserrat", Arial, sans-serif !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
        letter-spacing: 1.2px !important;
        text-align: left !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    .aanry-mobile-drawer__menu li > a:hover,
    .aanry-mobile-drawer__menu li.current-menu-item > a,
    .aanry-mobile-drawer__menu li.current-menu-ancestor > a {
        color: #66764c !important;
    }

    .aanry-mobile-drawer__menu li > a::before,
    .aanry-mobile-drawer__menu li > a::after {
        display: none !important;
        content: none !important;
    }

    .aanry-mobile-drawer__menu .sub-menu {
        display: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 10px 16px !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .aanry-mobile-drawer__menu .menu-item-has-children.aanry-submenu-open > .sub-menu {
        display: block !important;
    }

    .aanry-mobile-drawer__menu .sub-menu li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .aanry-mobile-drawer__menu .sub-menu li > a {
        min-height: 45px !important;
        padding: 12px 2px !important;
        font-size: 12px !important;
        letter-spacing: 0.8px !important;
    }

    .aanry-mobile-drawer__submenu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 34px !important;
        width: 34px !important;
        height: 34px !important;
        margin: 0 0 0 10px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #4b5a39 !important;
        font-size: 20px !important;
        line-height: 1 !important;
        cursor: pointer;
        transition: transform 180ms ease;
    }

    .aanry-mobile-drawer__menu .aanry-submenu-open > a .aanry-mobile-drawer__submenu-toggle {
        transform: rotate(45deg);
    }

    .aanry-mobile-drawer__menu--empty::before {
        content: "Le menu principal n’a pas été trouvé. Assignez votre menu à l’emplacement principal dans Apparence > Menus.";
        display: block;
        padding: 18px 0;
        color: #5c5b55;
        font-size: 14px;
        line-height: 1.6;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aanry-mobile-drawer__backdrop,
    .aanry-mobile-drawer__panel,
    .aanry-mobile-drawer__submenu-toggle {
        transition: none !important;
    }
}
