/* Mobile menu animation */
#mobile-menu.hidden { display: none; }

#mobile-menu:not(.hidden) {
    display: block;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
}

#mobile-menu.mobile-menu-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

/* Hamburger/Close icon animation */
#mobile-menu-button {
    position: relative;
}

.menu-icon,
.close-icon {
    position: absolute;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                rotate 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center;
}

.menu-icon.icon-show {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

.menu-icon.icon-hide {
    opacity: 0;
    transform: rotate(-90deg) scale(0.8);
}

.close-icon.icon-show {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

.close-icon.icon-hide {
    opacity: 0;
    transform: rotate(90deg) scale(0.8);
}

.close-icon.hidden {
    display: none;
}

/* Additional responsive adjustments if needed */
@media (max-width: 768px) {
    /* Example: Adjust padding on main content for smaller screens */
    main {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
