/* --- Hybrid Mobile Menu (CSS Core + JS Helper) --- */
#mobile-menu-toggle {
    display: none;
}

.mobile-menu {
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
}

.mobile-menu-overlay {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0s 0.3s;
}

#mobile-menu-toggle:checked ~ #mobile-menu {
    transform: translateX(0);
}

#mobile-menu-toggle:checked ~ #mobile-menu-overlay {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out;
}

body.body-no-scroll {
    overflow: hidden;
}

#mobile-menu-btn, #mobile-menu-close, #mobile-menu-overlay {
    cursor: pointer;
}

/* Dropdown transition styles */
.transition-enter {
    transition: ease-out duration-100ms;
}

.transition-enter-from {
    transform: scale(0.95);
    opacity: 0;
}

.transition-enter-to {
    transform: scale(1);
    opacity: 1;
}

.transition-leave {
    transition: ease-in duration-75ms;
}

.transition-leave-from {
    transform: scale(1);
    opacity: 1;
}

.transition-leave-to {
    transform: scale(0.95);
    opacity: 0;
}
