/* =========================================================
   GWM Mobile Menu Toggle Fix
   Purpose:
   - Make mobile menu toggle clickable
   - Ensure open/close classes match JS behavior
   - Avoid desktop menu disruption
   ========================================================= */

@media (max-width: 1023px) {
    .gwm-mobile-menu-toggle,
    .gwm-menu-toggle,
    button[data-gwm-menu-toggle] {
        display: inline-flex !important;
        position: relative !important;
        z-index: 100200 !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        user-select: none !important;
        touch-action: manipulation !important;
    }

    .gwm-primary-navigation,
    #gwm-primary-navigation,
    nav[data-gwm-primary-navigation] {
        position: fixed !important;
        top: 88px !important;
        left: 16px !important;
        right: 16px !important;
        z-index: 100100 !important;
        max-height: calc(100vh - 112px) !important;
        overflow-y: auto !important;
        display: block !important;
        padding: 16px !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 23, 42, 0.10) !important;
        border-radius: 22px !important;
        box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(12px) !important;
        transition:
            opacity 0.22s ease,
            transform 0.24s ease,
            visibility 0.24s ease !important;
    }

    .gwm-primary-navigation.is-open,
    #gwm-primary-navigation.is-open,
    nav[data-gwm-primary-navigation].is-open,
    body.gwm-mobile-menu-open .gwm-primary-navigation,
    body.gwm-mobile-menu-open #gwm-primary-navigation,
    body.gwm-mobile-menu-open nav[data-gwm-primary-navigation] {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    body.gwm-mobile-menu-open {
        overflow: hidden;
    }

    .gwm-primary-navigation .gwm-dropdown-menu,
    #gwm-primary-navigation .gwm-dropdown-menu {
        display: block !important;
        width: 100% !important;
    }

    .gwm-primary-navigation .gwm-dropdown-menu > li,
    #gwm-primary-navigation .gwm-dropdown-menu > li {
        width: 100% !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    }

    .gwm-primary-navigation .gwm-dropdown-menu > li > a,
    #gwm-primary-navigation .gwm-dropdown-menu > li > a {
        width: 100% !important;
        min-height: 46px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-radius: 14px !important;
    }

    .gwm-primary-navigation ul.sub-menu,
    #gwm-primary-navigation ul.sub-menu {
        position: static !important;
        min-width: 0 !important;
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 10px 14px !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .gwm-primary-navigation li.is-open > ul.sub-menu,
    #gwm-primary-navigation li.is-open > ul.sub-menu {
        display: block !important;
    }
}

@media (min-width: 1024px) {
    .gwm-primary-navigation,
    #gwm-primary-navigation,
    nav[data-gwm-primary-navigation] {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }
}
