/* --- Modern Fullscreen Mobile Menu --- */

/* Hamburger Button */
.hamburger-btn {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px;
    z-index: 99999;
    width: 40px;
    height: 30px;
    flex-direction: column;
    justify-content: space-between;
    float: right;
    position: relative;
    bottom: 60px;
}

/* Hide accordion toggle on desktop screens */
.submenu-toggle {
    display: none;
}

@media (max-width: 991px) {
    .hamburger-btn {
        display: flex !important;
    }
}

.hamburger-btn .bar {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #333;
    border-radius: 3px;
    transition: all 0.3s ease-in-out;
}

/* Burger to cross animation */
.hamburger-btn.is-active .bar1 {
    transform: translateY(11.5px) rotate(45deg);
    background-color: #fff !important;
    /* X always white on blue bg */
}

.hamburger-btn.is-active .bar2 {
    opacity: 0;
}

.hamburger-btn.is-active .bar3 {
    transform: translateY(-11.5px) rotate(-45deg);
    background-color: #fff !important;
    /* X always white on blue bg */
}

/* Fullscreen Menu Overlay */
@media (max-width: 991px) {
    .basic-menu {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background-color: #020202 !important;
        z-index: 99999 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.4s ease, visibility 0.4s ease;
        overflow-y: auto !important;
        float: none !important;
        padding-top: 60px;
        /* Space for hamburger */
    }

    .basic-menu.is-active {
        opacity: 1;
        visibility: visible;
    }

    .basic-menu nav {
        width: 100%;
        margin-top: -60px;
        /* Offset to center properly */
    }

    .basic-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
        text-align: center;
        width: 100%;
    }

    .basic-menu ul li {
        margin: 0 !important;
        display: block !important;
        transform: translateY(20px);
        opacity: 0;
        transition: transform 0.4s ease, opacity 0.4s ease;
        float: none !important;
        height: auto !important;
        position: relative;
    }

    .basic-menu.is-active ul li {
        transform: translateY(0);
        opacity: 1;
    }

    /* Staggered animation */
    .basic-menu.is-active ul li:nth-child(1) {
        transition-delay: 0.1s;
    }

    .basic-menu.is-active ul li:nth-child(2) {
        transition-delay: 0.15s;
    }

    .basic-menu.is-active ul li:nth-child(3) {
        transition-delay: 0.2s;
    }

    .basic-menu.is-active ul li:nth-child(4) {
        transition-delay: 0.25s;
    }

    .basic-menu.is-active ul li:nth-child(5) {
        transition-delay: 0.3s;
    }

    .basic-menu.is-active ul li:nth-child(6) {
        transition-delay: 0.35s;
    }

    .basic-menu.is-active ul li:nth-child(7) {
        transition-delay: 0.4s;
    }

    .basic-menu.is-active ul li:nth-child(n+8) {
        transition-delay: 0.45s;
    }

    .basic-menu ul li a {
        font-size: 24px !important;
        color: #fff !important;
        text-decoration: none;
        font-weight: 600 !important;
        display: block !important;
        padding: 10px !important;
        transition: color 0.2s;
        transition: color 0.2s;
        line-height: normal !important;
        /* Changed from 40px to prevent gaps */
    }

    .basic-menu ul li.menu-item-has-children {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .basic-menu ul li.menu-item-has-children>a {
        padding-right: 5px !important;
        flex: 0 1 auto !important;
    }

    .submenu-toggle {
        display: flex !important;
        justify-content: center;
        align-items: center;
        color: #fff;
        cursor: pointer;
        transition: transform 0.3s ease;
        padding: 10px;
    }

    .submenu-toggle i {
        font-size: 28px;
        line-height: 40px;
    }

    .submenu-toggle.active {
        transform: rotate(180deg);
    }

    .basic-menu ul li a:hover {
        color: rgba(255, 255, 255, 0.7) !important;
    }

    /* Submenus handling */
    .basic-menu ul li ul {
        width: auto !important;
    }

    .basic-menu ul li ul.sub-menu {
        display: none;
        /* Let slideToggle handle this */
        background: transparent !important;
        position: relative !important;
        box-shadow: none !important;
        padding-top: 5px;
        width: 100% !important;
        clear: both;
        float: none !important;
        top: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        transition: none !important;
    }

    /* Absolutely kill desktop hover glitch */
    .basic-menu ul li:hover ul.sub-menu,
    .basic-menu ul li:focus-within ul.sub-menu {
        position: relative !important;
        top: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        transition: none !important;
    }


    .basic-menu ul li ul.sub-menu li {
        margin: 5px 0 !important;
        transform: none !important;
        opacity: 1 !important;
        display: block !important;
        position: relative !important;
        float: none !important;
        height: auto !important;
    }

    .basic-menu ul li ul.sub-menu li a {
        font-size: 20px !important;
        font-weight: 400 !important;
        padding: 5px !important;
    }

    .basic-menu ul li ul li {
        background: none !important;
    }

    #menu-item-2681::after {
        top: 18px !important;
        right: 20px !important;
    }
}