/* ==========================================================================
   Mobile Drill-Down Menu Stylesheet
   ========================================================================== */

/* Hide mobile menu elements on desktop screens */
@media screen and (min-width: 1008px) {
    #mobile-menu-backdrop,
    #mobile-navigation {
        display: none !important;
    }
}

@media screen and (max-width: 1007px) {
    /* Suppress old Twenty Fourteen inline menu list on mobile so it doesn't open in the background */
    #primary-navigation .nav-menu,
    #primary-navigation #primary-menu,
    .primary-navigation.toggled-on .nav-menu,
    .primary-navigation.toggled-on ul {
        display: none !important;
    }

    /* 1. Backdrop Overlay */

    #mobile-menu-backdrop {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background-color: rgba(15, 38, 56, 0.45) !important;
        -webkit-backdrop-filter: blur(6px) !important;
        backdrop-filter: blur(6px) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        z-index: 99998 !important;
    }

    #mobile-menu-backdrop.is-open {
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 2. Main Drawer Panel (Right Side) */
    #mobile-navigation {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        width: 85vw !important;
        max-width: 380px !important;
        height: 100vh !important;
        height: 100dvh !important;
        background-color: #ffffff !important;
        box-shadow: -6px 0 25px rgba(0, 0, 0, 0.18) !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        z-index: 99999 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;
    }

    #mobile-navigation.is-open {
        transform: translateX(0) !important;
    }

    /* Prevent body scrolling when mobile menu is active */
    body.mobile-menu-active {
        overflow: hidden !important;
        touch-action: none !important;
    }

    /* 3. Drawer Header */
    #mobile-navigation .mobile-menu-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 20px !important;
        background-color: #ffffff !important;
        border-bottom: 1px solid #e2e8f0 !important;
        flex-shrink: 0 !important;
    }

    #mobile-navigation .mobile-menu-title {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #0f2638 !important;
        letter-spacing: -0.2px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mobile-navigation .mobile-menu-close {
        background: transparent !important;
        border: none !important;
        font-size: 26px !important;
        line-height: 1 !important;
        color: #44515c !important;
        cursor: pointer !important;
        padding: 4px 8px !important;
        border-radius: 4px !important;
        transition: background-color 0.2s ease, color 0.2s ease !important;
    }

    #mobile-navigation .mobile-menu-close:hover,
    #mobile-navigation .mobile-menu-close:focus {
        background-color: #f1f5f9 !important;
        color: #0f2638 !important;
    }

    /* 4. Drawer Body Container */
    #mobile-navigation .mobile-menu-body {
        position: relative !important;
        flex: 1 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        background-color: #ffffff !important;
    }

    /* 5. Drill-Down List Structure */
    #mobile-navigation ul,
    #mobile-navigation ul.mobile-nav-menu,
    #mobile-navigation ul.sub-menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    #mobile-navigation ul.mobile-nav-menu {
        position: relative !important;
        min-height: 100% !important;
    }

    #mobile-navigation li {
        position: static !important; /* Vital: positions sub-menus relative to .mobile-menu-body */
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border-bottom: 1px solid #f1f5f9 !important;
    }

    /* Link Styles inside Mobile Drawer */
    #mobile-navigation li a,
    #mobile-navigation li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 15px 20px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #1e5289 !important;
        text-decoration: none !important;
        min-height: 52px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        transition: background-color 0.15s ease, color 0.15s ease !important;
    }

    /* Target inner span tags generated by theme filters */
    #mobile-navigation li a span,
    #mobile-navigation li > a span {
        color: inherit !important;
        text-decoration: none !important;
        font-size: inherit !important;
        font-weight: inherit !important;
    }

    #mobile-navigation li a:hover,
    #mobile-navigation li a:active,
    #mobile-navigation li a:focus,
    #mobile-navigation li.current-menu-item > a {
        background-color: #f8fafc !important;
        color: #0f3253 !important;
    }

    /* Chevron Indicator for items with sub-menus */
    #mobile-navigation .nav-arrow {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #94a3b8 !important;
        margin-left: 10px !important;
        transition: color 0.2s ease !important;
    }

    #mobile-navigation li:hover > a .nav-arrow {
        color: #1e5289 !important;
    }

    /* 6. Sub-Menu Panel Sliding Logic */
    #mobile-navigation ul.sub-menu {
        position: absolute !important;
        top: 0 !important;
        left: 100% !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        background-color: #ffffff !important;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        visibility: hidden !important;
        overflow-y: auto !important;
        z-index: 10 !important;
    }

    #mobile-navigation ul.sub-menu.is-active {
        transform: translateX(-100%) !important;
        visibility: visible !important;
    }

    /* 7. "Zurück" (Back) Item & Button Styling */
    #mobile-navigation .mobile-menu-back-item {
        position: sticky !important;
        top: 0 !important;
        z-index: 20 !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: #f1f5f9 !important;
        border-bottom: 2px solid #cbd5e1 !important;
    }

    #mobile-navigation .mobile-menu-back-btn {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #1e5289 !important;
        background: #f1f5f9 !important;
        border: none !important;
        cursor: pointer !important;
        text-align: left !important;
        box-sizing: border-box !important;
        min-height: 50px !important;
        transition: background-color 0.2s ease, color 0.2s ease !important;
    }

    #mobile-navigation .mobile-menu-back-btn:hover,
    #mobile-navigation .mobile-menu-back-btn:focus {
        background-color: #e2e8f0 !important;
        color: #0f2638 !important;
    }

    #mobile-navigation .mobile-menu-back-btn .back-arrow {
        font-size: 18px !important;
        font-weight: 800 !important;
    }
}
