/* ==========================================================================
   MOBILE NAV TOGGLE (Hamburger Icon)
   ========================================================================== */
 

   
.mobile-nav-toggle {
    display: none;
    background: transparent;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: var(--color-primary-blue);
    z-index: 1001;
}

.mobile-nav-toggle svg {
    width: 28px;
    height: 28px;
    stroke: var(--color-primary-blue);
    stroke-width: 2;
}

.mobile-nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 998;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.mobile-nav-backdrop.is-visible {
    display: block;
    opacity: 1;
}

/* Hide mobile-specific elements on desktop */
.mobile-nav-socials,
.mobile-menu-close {
    display: none;
}

/* ==========================================================================
   TABLET HEADER (1250px and below) - Logo Center, Nav Hidden
   ========================================================================== */
@media (max-width: 1250px) {

    .mobile-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .header-inner {
        position: relative; 
        justify-content: space-between; 
        width: 100%;
    }

.site-logo {
    position: static;
    left: auto;
    transform: none;
    max-width: 140px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

    .header-actions {
        margin-left: 0;
        gap: 12px;
    }

    /* Slide-out panel container */
.main-navigation {
        position: fixed;
        top: 0;
        left: 0;
        width: 300px;
        max-width: 85vw;
        height: 100vh;
        background-color: var(--color-bg-white);
        z-index: 1005; /* <-- CHANGED: Increased from 999 to cover the hamburger completely */
        transform: translateX(-100%);
        transition: transform 0.25s ease;
        overflow-y: auto;
        padding: 0 0 20px 0; 
        box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15);
        margin: 0; 
        display: flex;
        flex-direction: column;
    }

    .main-navigation.is-open {
        transform: translateX(0);
    }

/* =========================================
       ANIMATION 1: The Spinning 'X'
       ========================================= */
    .mobile-menu-close {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        background: transparent;
        border: none;
        padding: 32px 20px 20px 20px; 
        cursor: pointer;
        color: var(--color-primary-blue);
        width: 100%;
        border-bottom: 1px solid var(--color-border);
    }

    .mobile-menu-close svg {
        width: 26px;
        height: 26px;
        transition: transform 0.3s ease;
    }

    .mobile-menu-close:hover svg,
    .mobile-menu-close:active svg {
        transform: rotate(90deg); /* Spins when tapped */
    }

    /* =========================================
       ANIMATION 2: Staggered Cascade Fade-in
       ========================================= */
    .main-navigation .nav-menu {
        flex-direction: column;
        gap: 0;
        width: 100%;
        flex-grow: 1;
    }

    /* 1. Set initial state to hidden and pushed left */
    .main-navigation .nav-menu > li {
        display: block !important; 
        height: auto;
        padding: 0;
        width: 100%;
        border-bottom: 1px solid var(--color-border);
        opacity: 0;
        transform: translateX(-15px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }

    /* 2. When menu opens, slide them to position */
    .main-navigation.is-open .nav-menu > li {
        opacity: 1;
        transform: translateX(0);
    }

    /* 3. Delay each link slightly to create the "cascade" effect */
    .main-navigation.is-open .nav-menu > li:nth-child(1) { transition-delay: 0.1s; }
    .main-navigation.is-open .nav-menu > li:nth-child(2) { transition-delay: 0.15s; }
    .main-navigation.is-open .nav-menu > li:nth-child(3) { transition-delay: 0.2s; }
    .main-navigation.is-open .nav-menu > li:nth-child(4) { transition-delay: 0.25s; }
    .main-navigation.is-open .nav-menu > li:nth-child(5) { transition-delay: 0.3s; }
    .main-navigation.is-open .nav-menu > li:nth-child(6) { transition-delay: 0.35s; }
    .main-navigation.is-open .nav-menu > li:nth-child(7) { transition-delay: 0.4s; }
    .main-navigation.is-open .nav-menu > li:nth-child(8) { transition-delay: 0.45s; }

    .main-navigation .nav-menu > li > a {
        padding: 16px 20px;
        width: 100%;
        justify-content: space-between;
        font-size: 16px;
        font-weight: 500;
        white-space: normal;
    }

    /* Chevron rotation */
    .main-navigation .nav-menu li.menu-item-has-children > a::after,
    .main-navigation .nav-menu li.page_item_has_children > a::after {
        content: "";
        width: 8px;
        height: 8px;
        margin-top: 0;
        transform: rotate(45deg);
        transition: transform 0.3s ease;
    }

    .main-navigation .nav-menu li.submenu-open > a::after {
        transform: rotate(-135deg);
    }

    /* =========================================
       ANIMATION 3: Smooth Sub-Menu Accordion
       ========================================= */
    .main-navigation .nav-menu .sub-menu,
    .main-navigation .nav-menu .children,
    .main-navigation .nav-menu .sub-menu .sub-menu,
    .main-navigation .nav-menu .children .children {
        position: static !important;
        display: block !important; 
        max-height: 0; /* Starts collapsed */
        overflow: hidden; /* Hides contents when collapsed */
        transition: max-height 0.4s ease-in-out; /* Smooth slide down */
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        background-color: var(--color-bg-light) !important;
        width: 100% !important;
    }

    /* Opens the accordion smoothly to a max height */
    .main-navigation .nav-menu li.submenu-open > .sub-menu,
    .main-navigation .nav-menu li.submenu-open > .children {
        max-height: 500px; /* Big enough to fit all sub-links */
    }

    .main-navigation .nav-menu .sub-menu li a,
    .main-navigation .nav-menu .children li a {
        padding: 12px 20px 12px 32px !important;
    }
    
    .main-navigation .nav-menu .sub-menu .sub-menu li a,
    .main-navigation .nav-menu .children .children li a {
        padding-left: 44px !important;
    }

   
    /* UPDATED: Mobile Social Icons */
    .mobile-nav-socials {
        display: flex;
        gap: 14px;
        padding: 24px 20px;
    }

    .mobile-nav-socials a {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background-color: var(--color-primary-blue);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        transition: opacity 0.2s;
    }

    .mobile-nav-socials a:hover {
        opacity: 0.85;
    }

    .mobile-nav-socials a svg {
        width: 18px;
        height: 18px;
    }
}

/* ==========================================================================
   MOBILE ONLY (< 768px) - Hide Odds Button
   ========================================================================== */
@media (max-width: 768px) {

    
    .site-logo .logo-text {
        font-size: 20px;
    }
    

}