/* ── Animated Hamburger ── */
.mw-hamburger {
    display:         none;
    flex-direction:  column;
    justify-content: center;
    gap:             5px;
    background:      none;
    border:          none;
    padding:         6px 4px;
    cursor:          pointer;
    z-index:         2100;
    position:        relative;
    margin-left:     auto;
}

@media (max-width: 991.98px) {
    .mw-hamburger   { display: flex; }
    .navbar-toggler { display: none !important; }
}

.mw-bar {
    display:          block;
    width:            24px;
    height:           2px;
    background:       var(--mw-secondary);
    border-radius:    2px;
    transform-origin: center;
    transition:       transform 0.3s ease, opacity 0.2s ease;
}

.mw-hamburger.is-open .mw-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mw-hamburger.is-open .mw-bar:nth-child(2) { opacity: 0; }
.mw-hamburger.is-open .mw-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Backdrop ── */
.mw-nav-backdrop {
    display:         none;
    position:        fixed;
    inset:           0;
    background:      rgba(0,0,0,0.45);
    z-index:         2000;
    backdrop-filter: blur(2px);
    transition:      opacity 0.3s ease;
}
.mw-nav-backdrop.is-visible { display: block; }

/* ── Drawer ── */
@media (max-width: 991.98px) {
    #primaryNav {
        display:        flex !important;
        position:       fixed;
        top:            0;
        right:          0;
        bottom:         0;
        width:          min(300px, 85vw);
        background:     #fff;
        z-index:        2050;
        overflow-y:     auto;
        flex-direction: column;
        padding:        0;
        transform:      translateX(110%);
        transition:     transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow:     -8px 0 40px rgba(0,0,0,0.15);
        /* reset BS5 collapse alignment */
        align-items:    flex-start !important;
    }

    #primaryNav.mw-drawer-open { transform: translateX(0); }

    /* Drawer top row */
    .mw-drawer-top {
        display:         flex;
        align-items:     center;
        justify-content: space-between;
        padding:         1rem 1.25rem;
        border-bottom:   1px solid var(--mw-border);
        position:        sticky;
        top:             0;
        background:      #fff;
        z-index:         1;
        width:           100%;
        flex-shrink:     0;
    }

    .mw-drawer-brand {
        font-family: var(--mw-font-heading);
        font-size:   var(--mw-fs-xl);
        font-weight: 700;
        color:       var(--mw-secondary);
    }

    .mw-drawer-close {
        background:  none;
        border:      none;
        font-size:   1.2rem;
        color:       var(--mw-text-muted);
        cursor:      pointer;
        padding:     0.25rem 0.5rem;
        line-height: 1;
        transition:  color var(--mw-transition);
        border-radius: var(--mw-radius-sm);
    }
    .mw-drawer-close:hover { color: var(--mw-primary); }

    /* Nav list inside drawer */
    .navbar-nav {
        flex-direction: column !important;
        align-items:    flex-start !important;
        padding:        0.5rem 0 !important;
        margin:         0 !important;
        width:          100%;
        gap:            0 !important;
    }

    .navbar-nav .nav-item {
        width:         100%;
        border-bottom: 1px solid var(--mw-border);
    }
    .navbar-nav .nav-item:last-child { border-bottom: none; }

    .navbar-nav .nav-link {
        padding:         0.9rem 1.25rem !important;
        font-size:       var(--mw-fs-md) !important;
        font-weight:     600 !important;
        text-transform:  none !important;
        letter-spacing:  0 !important;
        width:           100%;
        color:           var(--mw-secondary) !important;
    }
    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active { color: var(--mw-primary) !important; }

    /* Hide desktop underline animation on mobile */
    .navbar-nav .nav-link::after { display: none !important; }

    /* Hide desktop dropdown caret — megamenu-toggle handles mobile */
    .navbar-nav .nav-link .fa-angle-down { display: none; }

    /* Megamenu items: flex row so toggle button sits beside the link */
    .has-megamenu {
        display:   flex;
        flex-wrap: wrap;
        width:     100%;
    }
    .has-megamenu > .nav-link { flex: 1; }
    .megamenu-toggle {
        padding: 0.9rem 1.25rem;
    }

    /* Standard BS5 dropdown inside drawer */
    .navbar-nav .dropdown-menu {
        position:      static !important;
        box-shadow:    none !important;
        border:        none !important;
        border-radius: 0 !important;
        padding:       0 0 0.5rem 1.5rem !important;
        margin:        0 !important;
        background:    transparent !important;
        width:         100%;
    }
    .navbar-nav .dropdown-item {
        padding:       0.55rem 0 !important;
        font-size:     var(--mw-fs-sm) !important;
        border-bottom: 1px solid var(--mw-border) !important;
        color:         var(--mw-text) !important;
    }
    .navbar-nav .dropdown-item:last-child { border-bottom: none !important; }

    /* Contact/social info block */
    .mw-drawer-info {
        padding:        1rem 1.25rem;
        border-top:     1px solid var(--mw-border);
        display:        flex;
        flex-direction: column;
        align-items:    center;
        gap:            0.6rem;
        width:          100%;
        flex-shrink:    0;
        text-align:     center;
    }
    .mw-drawer-info__link {
        display:     flex;
        align-items: center;
        gap:         0.5rem;
        font-size:   var(--mw-fs-sm);
        color:       var(--mw-text-muted);
        text-decoration: none;
    }
    .mw-drawer-info__link:hover { color: var(--mw-primary); }
    .mw-drawer-info__social {
        display:   flex;
        gap:       0.9rem;
        margin-top: 0.25rem;
    }
    .mw-drawer-info__social a {
        color:     var(--mw-text-muted);
        font-size: 0.85rem;
        text-decoration: none;
    }
    .mw-drawer-info__social a:hover { color: var(--mw-primary); }

    /* CTA at drawer bottom */
    .mw-drawer-cta {
        margin-top:     auto;
        padding:        1.25rem;
        border-top:     1px solid var(--mw-border);
        display:        flex;
        flex-direction: column;
        gap:            0.75rem;
        width:          100%;
        flex-shrink:    0;
    }
    .mw-drawer-cta .btn {
        width:      100%;
        text-align: center;
    }
}

/* Desktop: hide drawer-only elements */
@media (min-width: 992px) {
    .mw-drawer-top  { display: none; }
    .mw-drawer-info { display: none; }
    .mw-drawer-cta  { display: none; }
}
