/* Sidebar Parent */
.mobile-sidebar {
    position: fixed;
    inset: 0;
    z-index: 200;
    pointer-events: none;
    visibility: hidden; /* Hidden state for FOUC fix */
}

.mobile-sidebar.active {
    pointer-events: auto;
    visibility: visible !important;
}

/* Glass Overlay */
.mobile-overlay {
    position: absolute;
    inset: 0;
    background: rgba(10, 31, 46, 0.4);
    backdrop-filter: blur(12px);
    opacity: 0;
    transition: opacity 0.6s ease;
}

.mobile-sidebar.active .mobile-overlay {
    opacity: 1;
}

/* Side Panel */
.mobile-panel {
    position: absolute;
    right: 0; top: 0; bottom: 0;
    width: 85%;
    max-width: 360px;
    background: white;
    transform: translateX(100%);
    transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    box-shadow: -25px 0 80px rgba(0,0,0,0.15);
}

.mobile-sidebar.active .mobile-panel {
    transform: translateX(0);
}

/* Staggered entry animation for items */
.nav-item-mobile {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: calc(var(--i) * 0.1s);
}

.mobile-sidebar.active .nav-item-mobile {
    opacity: 1;
    transform: translateY(0);
}

/* Smooth Accordion Physics */
.accordion-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion[open] .accordion-content {
    grid-template-rows: 1fr;
}

/* Typography Polish */
details summary::-webkit-details-marker { display: none; }

.shadow-mega {
    box-shadow: 0 50px 100px -20px rgba(50, 50, 93, 0.15), 
                0 30px 60px -30px rgba(0, 0, 0, 0.2), 
                inset 0 -2px 6px 0 rgba(10, 31, 46, 0.02);
}
