/* ============================================
   MOBILE STYLES (max-width: 768px)
   ============================================ */

@media (max-width: 768px) {


    .base-header {
        padding: 0.75rem 1.25rem;
        background: linear-gradient(
            to bottom,
            rgba(71, 172, 229, 0.95) 0%,
            rgba(66, 168, 223, 0.92) 55%,
            rgba(58, 159, 212, 0.90) 100%
        ) !important;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    /* --- HAMBURGER BUTTON --- */
    .nav-toggle {
        display: block !important;
        z-index: 1003;
        background: none;
        border: none;
        color: white;
        font-size: 2rem;
        cursor: pointer;
        padding: 0.25rem 0.5rem;
        line-height: 1;
        position: relative;
    }


    header.base-header nav.base-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important; 
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 2.5rem !important;


        background: #3fa1d4 !important; 
        background: linear-gradient(
            to bottom,
            rgba(71, 172, 229, 0.98) 0%,
            rgba(66, 168, 223, 0.95) 55%,
            rgba(58, 159, 212, 0.93) 100%
        ) !important;

        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);

    
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transition: opacity 0.4s ease, visibility 0.4s ease !important;
        z-index: 1001 !important;


        transform: none !important;
        box-shadow: none !important;
        background-image: linear-gradient(
            to bottom,
            rgba(71, 172, 229, 0.98) 0%,
            rgba(66, 168, 223, 0.95) 55%,
            rgba(58, 159, 212, 0.93) 100%
        ) !important;
    }


    header.base-header nav.base-nav.open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }


    header.base-header nav.base-nav a,
    header.base-header nav.base-nav .nav-icon-btn {
        display: inline-block !important; 
        color: white !important;
        font-size: 2.2rem !important;
        text-decoration: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transition: transform 0.25s ease, opacity 0.25s ease !important;
        position: relative !important;
        z-index: 1002 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        padding: 0.5rem !important;
        line-height: 1.4 !important;
    }

    header.base-header nav.base-nav a:hover,
    header.base-header nav.base-nav .nav-icon-btn:hover {
        opacity: 0.85 !important;
        transform: scale(1.05) !important;
    }

    header.base-header nav.base-nav a::after {
        background: white !important;
        height: 2px !important;
        bottom: -4px !important;
    }

   
    header.base-header .nav-icon-btn {
        display: none !important;
    }

   
    body.menu-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
    }
}

/* ============================================
   DESKTOP STYLES (min-width: 769px)
   ============================================ */

@media (min-width: 769px) {
    /* --- Reset mobile nav --- */
    header.base-header nav.base-nav {
        transform: none !important;
        position: static !important;
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 2rem !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        border-bottom: none !important;
        box-shadow: none !important;
        background-image: none !important;
    }

    header.base-header nav.base-nav.open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    header.base-header nav.base-nav a {
        font-size: 1.125rem !important;
        color: white !important;
        display: inline-block !important;
    }

    header.base-header nav.base-nav a::after {
        background: white !important;
    }

   
    header.base-header .nav-icon-btn {
        display: inline-block !important;
    }

    .nav-toggle {
        display: none !important;
    }

    body.menu-open {
        overflow: auto !important;
        position: static !important;
        width: auto !important;
    }
}