/* =========================================================
   GWM Mobile Menu Position Fix
   Purpose:
   - Prevent opened mobile menu from covering logo/site title
   - Push dropdown below the header row/toggle button
   ========================================================= */

@media (max-width: 1023px) {
    .gwm-site-header {
        overflow: visible !important;
    }

    .gwm-main-header {
        position: relative !important;
        z-index: 100000 !important;
        overflow: visible !important;
    }

    .gwm-header-inner {
        position: relative !important;
        z-index: 100100 !important;
    }

    .gwm-brand,
    .gwm-site-branding,
    .custom-logo-link,
    .gwm-site-title,
    .gwm-mobile-menu-toggle,
    .gwm-menu-toggle,
    button[data-gwm-menu-toggle] {
        position: relative !important;
        z-index: 100300 !important;
    }

    /*
       Push menu down below the mobile header row.
       96px works with current 72-78px header height plus breathing room.
    */
    .gwm-primary-navigation,
    #gwm-primary-navigation,
    nav[data-gwm-primary-navigation] {
        top: 96px !important;
        left: 14px !important;
        right: 14px !important;
        max-height: calc(100vh - 118px) !important;
        z-index: 100200 !important;
    }

    body.admin-bar .gwm-primary-navigation,
    body.admin-bar #gwm-primary-navigation,
    body.admin-bar nav[data-gwm-primary-navigation] {
        top: 142px !important;
        max-height: calc(100vh - 164px) !important;
    }
}

/* Smaller phones: keep it tight but still below logo/title row */
@media (max-width: 480px) {
    .gwm-primary-navigation,
    #gwm-primary-navigation,
    nav[data-gwm-primary-navigation] {
        top: 92px !important;
        left: 12px !important;
        right: 12px !important;
        max-height: calc(100vh - 112px) !important;
    }

    body.admin-bar .gwm-primary-navigation,
    body.admin-bar #gwm-primary-navigation,
    body.admin-bar nav[data-gwm-primary-navigation] {
        top: 138px !important;
        max-height: calc(100vh - 158px) !important;
    }
}

/* If topbar is visible on tablet widths, add extra room */
@media (min-width: 768px) and (max-width: 1023px) {
    .gwm-topbar + .gwm-main-header .gwm-primary-navigation,
    .gwm-site-header .gwm-primary-navigation,
    .gwm-site-header #gwm-primary-navigation,
    .gwm-site-header nav[data-gwm-primary-navigation] {
        top: 108px !important;
        max-height: calc(100vh - 130px) !important;
    }

    body.admin-bar .gwm-site-header .gwm-primary-navigation,
    body.admin-bar .gwm-site-header #gwm-primary-navigation,
    body.admin-bar .gwm-site-header nav[data-gwm-primary-navigation] {
        top: 154px !important;
        max-height: calc(100vh - 176px) !important;
    }
}
