/* ==========================================================================
   RESPONSIVE.CSS
   The definitive mobile stylesheet for Codexa Marketplace.
   Consolidates all mobile fixes, menu styles, and layout adjustments.
   Load this file LAST.
   ========================================================================== */

/* ==========================================================================
   1. MOBILE MENU COMPONENT (The "Hamburger" Menu)
   ========================================================================== */

/* Container with overlay */
.mobile-menu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2147483647 !important;
    /* Max integer value */
    display: none !important;
    background: rgba(0, 0, 0, 0.75) !important;
    pointer-events: auto !important;
}

.mobile-menu.open {
    display: block !important;
}

/* Menu Drawer */
.mobile-menu-inner {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 85% !important;
    max-width: 320px !important;
    background: #ffffff !important;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.4) !important;
    z-index: 2147483647 !important;
    overflow-y: auto !important;
    transform: translateX(100%) !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    pointer-events: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.mobile-menu.open .mobile-menu-inner {
    transform: translateX(0) !important;
}

/* Menu Header */
.mobile-menu-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 24px 20px !important;
    background: linear-gradient(135deg, #0066FF, #00CC88) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
}

.mobile-menu-header span {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.5px !important;
}

/* Close Button */
.mobile-nav-close {
    background: rgba(255, 255, 255, 0.2) !important;
    border: none !important;
    font-size: 24px !important;
    color: #ffffff !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    transition: background 0.2s !important;
}

.mobile-nav-close:active {
    background: rgba(255, 255, 255, 0.4) !important;
}

/* Navigation List */
.mobile-nav-list {
    list-style: none !important;
    padding: 8px 0 !important;
    margin: 0 !important;
}

.mobile-nav-list li {
    border-bottom: 1px solid #f3f4f6 !important;
}

.mobile-nav-list a {
    display: flex !important;
    align-items: center !important;
    padding: 18px 24px !important;
    color: #111827 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    min-height: 60px !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: background 0.2s !important;
}

.mobile-nav-list a:active {
    background: #f0f9ff !important;
    color: #0066FF !important;
}

/* Menu Actions (Cart, Login) */
.mobile-menu-actions {
    padding: 20px !important;
    border-top: 2px solid #e5e7eb !important;
    background: #f9fafb !important;
    margin-top: auto !important;
}

.mobile-menu-actions .btn {
    width: 100% !important;
    margin-bottom: 12px !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

/* ==========================================================================
   2. GLOBAL MOBILE LAYOUT FIXES
   ========================================================================== */

/* Mobile Toggle Button (Hamburger) */
.mobile-nav-toggle {
    display: none !important;
    background: none !important;
    border: none !important;
    font-size: 24px !important;
    color: #111827 !important;
    cursor: pointer !important;
    padding: 8px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 8px !important;
}

@media (max-width: 768px) {
    .mobile-nav-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Hide Desktop Nav */
    .site-header nav,
    .mk-nav,
    .site-header .right,
    .d-none.d-md-flex {
        display: none !important;
    }


    /* ==========================================================================
   4. FOOTER OPTIMIZATIONS
   ========================================================================== */

    @media (max-width: 767px) {
        .footer-lite {
            text-align: center !important;
            padding-top: 2rem !important;
        }

        .footer-lite .row {
            flex-direction: column !important;
            gap: 2rem !important;
        }

        .footer-lite .col-md-3,
        .footer-lite .col-md-6 {
            width: 100% !important;
        }

        .social-icons {
            justify-content: center !important;
        }

        .newsletter-form {
            flex-direction: column !important;
        }

        .newsletter-btn {
            width: 100% !important;
            margin-top: 10px !important;
        }
    }