/**
 * Mobile Drawer Navigation Component (Issue #445)
 *
 * Shared styles for ClickUp-inspired full-screen mobile drawer
 * Used by both glassumbrella.io and grit.glassumbrella.io
 *
 * Site-specific overrides in:
 * - Main site: navbar.css (logo URLs, header button visibility)
 * - Grit site: grit-brand.css (logo URLs, no Sign In button)
 */

@media (max-width: 991.98px) {
    /* Drawer Container - Full width, fixed viewport */
    #mobileDrawer {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        max-height: 100vh !important;
        background: rgb(50, 48, 49) !important;
        transform: translateX(-100%) !important;
        transition: transform 0.3s ease-out !important;
        z-index: 1070 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    #mobileDrawer.show {
        transform: translateX(0) !important;
    }

    /* Prevent page scroll when drawer open - with fallback for older browsers */
    body:has(#mobileDrawer.show),
    body.drawer-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100vh !important;
    }

    /* Drawer Header - Logo left, buttons right */
    #mobileDrawer .drawer-header,
    #mobileDrawer .drawer-header.d-lg-none,
    #mobileDrawer div.drawer-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        height: auto !important;
        padding: 0.85rem 1rem !important;
        flex-shrink: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    /* Logo link - icon + text on left */
    #mobileDrawer .drawer-logo-link {
        display: flex !important;
        align-items: center !important;
        gap: 0.6rem !important;
        text-decoration: none !important;
        transition: opacity 0.3s ease !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
    }

    #mobileDrawer .drawer-logo-link:hover {
        opacity: 0.8 !important;
        text-decoration: none !important;
    }

    #mobileDrawer .drawer-logo-link img {
        width: 32px !important;
        height: 32px !important;
        display: block !important;
        flex-shrink: 0 !important;
        margin-top: 4px !important;
    }

    #mobileDrawer .drawer-logo-text {
        color: var(--brand-cloud) !important;
        font-size: 1.6rem !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    /* Header right side - buttons */
    #mobileDrawer .drawer-header-right {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 0.75rem !important;
        flex-shrink: 0 !important;
    }

    /* Sign In ghost button in header (main site only) */
    #mobileDrawer .drawer-signin-btn {
        padding: 0.5rem 1rem !important;
        font-size: 1.15rem !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        font-weight: 500 !important;
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        color: var(--brand-cloud) !important;
        background: transparent !important;
    }

    #mobileDrawer .drawer-signin-btn:hover {
        background: rgba(255, 255, 255, 0.1) !important;
        border-color: var(--brand-cloud) !important;
        text-decoration: none !important;
    }

    /* Close X button */
    #mobileDrawer .drawer-close-btn {
        background: none !important;
        border: none !important;
        color: rgba(255, 255, 255, 0.6) !important;
        font-size: 1.75rem !important;
        line-height: 1 !important;
        padding: 0 !important;
        width: 28px !important;
        height: 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: color 0.3s ease !important;
        flex-shrink: 0 !important;
    }

    #mobileDrawer .drawer-close-btn:hover {
        color: var(--brand-mint) !important;
    }

    #mobileDrawer .drawer-close-btn span {
        display: block !important;
        line-height: 1 !important;
    }

    /* Menu Items Container - size to content */
    #mobileDrawer .navbar-nav:first-of-type {
        flex: 0 0 auto !important;
        overflow-y: visible !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 0.5rem 0 !important;
        text-align: left !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Nav items - full width */
    #mobileDrawer .navbar-nav:first-of-type .nav-item {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        text-align: left !important;
        display: block !important;
        list-style: none !important;
    }

    /* Menu Item Styling - Large and bold */
    #mobileDrawer .nav-link {
        font-size: 1.5rem !important;
        font-weight: 600 !important;
        padding: 0.5rem 2rem !important;
        border-left: 3px solid transparent !important;
        transition: all 0.3s ease !important;
        color: rgba(255, 255, 255, 0.9) !important;
        width: 100% !important;
        display: block !important;
        text-align: left !important;
        line-height: 1.4 !important;
    }

    #mobileDrawer .nav-link:hover,
    #mobileDrawer .nav-link:active,
    #mobileDrawer .nav-link:focus {
        border-left-color: var(--brand-mint) !important;
        background-color: rgba(154, 213, 202, 0.1) !important;
        text-decoration: none !important;
    }

    /* Bottom Button Container */
    #mobileDrawer .navbar-nav:last-of-type {
        flex-shrink: 0 !important;
        padding: 0.5rem 1rem !important;
        margin: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-top: none !important;
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        background: rgb(50, 48, 49) !important;
    }

    /* Bottom button nav-item */
    #mobileDrawer .navbar-nav:last-of-type .nav-item {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        display: block !important;
        list-style: none !important;
        text-align: left !important;
    }

    /* Bottom CTA button - Big purple button */
    #mobileDrawer .drawer-join-bottom {
        width: 100% !important;
        margin: 0 !important;
        padding: 0.7rem !important;
        text-align: center !important;
        display: block !important;
        border-radius: 8px !important;
        font-size: 1.15rem !important;
        font-weight: 600 !important;
        border: none !important;
    }

    /* Show mobile-only items in drawer */
    #mobileDrawer .d-lg-none {
        display: block !important;
    }

    /* Override d-lg-none for drawer-header to use flexbox */
    #mobileDrawer .drawer-header.d-lg-none,
    #mobileDrawer div.drawer-header.d-lg-none {
        display: flex !important;
    }

    /* Hide desktop-only buttons in mobile drawer */
    #mobileDrawer .d-lg-block,
    #mobileDrawer li.d-lg-block,
    #mobileDrawer .nav-item.d-lg-block,
    #mobileDrawer .navbar-nav .nav-item.d-lg-block,
    #mobileDrawer .d-lg-inline-block {
        display: none !important;
    }

    /* Backdrop Overlay */
    #drawerBackdrop {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(0, 0, 0, 0.5) !important;
        z-index: 1050 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.3s ease-out !important;
    }

    #drawerBackdrop.show {
        opacity: 1 !important;
        visibility: visible !important;
    }
}
