/* Mobile Menu CSS - Estilos específicos do menu mobile */

/* Mobile menu overlay */
#mobile-menu-overlay {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    transition: all 0.3s ease-in-out;
}

#mobile-menu-overlay.opacity-0 {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
    pointer-events: none;
}

#mobile-menu-overlay.opacity-100 {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.5);
    pointer-events: auto;
}

/* Mobile menu container */
#mobile-menu {
    backdrop-filter: blur(4px);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transition: all 0.5s ease-out;
    transform: translateX(-100%) scale(0.95);
}

#mobile-menu.translate-x-0 {
    transform: translateX(0) scale(1);
}

#mobile-menu.-translate-x-full {
    transform: translateX(-100%) scale(0.95);
}

/* Mobile menu header animations */
#mobile-menu-header {
    transform: translateY(16px);
    opacity: 0;
    transition: all 0.7s ease-out;
    transition-delay: 0.2s;
}

#mobile-menu-header.translate-y-0 {
    transform: translateY(0);
    opacity: 1;
}

#mobile-menu-header.translate-y-4 {
    transform: translateY(16px);
    opacity: 0;
}

/* Mobile menu navigation animations */
#mobile-menu-nav {
    transform: translateY(32px);
    opacity: 0;
    transition: all 0.7s ease-out;
    transition-delay: 0.3s;
}

#mobile-menu-nav.translate-y-0 {
    transform: translateY(0);
    opacity: 1;
}

#mobile-menu-nav.translate-y-8 {
    transform: translateY(32px);
    opacity: 0;
}

/* Mobile menu CTA animations */
#mobile-menu-cta {
    transform: translateY(16px);
    opacity: 0;
    transition: all 0.7s ease-out;
    transition-delay: 0.5s;
}

#mobile-menu-cta.translate-y-0 {
    transform: translateY(0);
    opacity: 1;
}

#mobile-menu-cta.translate-y-4 {
    transform: translateY(16px);
    opacity: 0;
}

/* Mobile menu links hover effects */
.mobile-menu-link {
    transition: all 0.3s ease;
    transform: translateX(0);
    padding: 12px;
    margin: 0 -12px;
    border-radius: 8px;
}

.mobile-menu-link:hover {
    transform: translateX(8px);
    background-color: rgba(249, 250, 251, 1);
}

/* Mobile menu close button */
#mobile-menu-close {
    transition: all 0.2s ease;
    border-radius: 50%;
}

#mobile-menu-close:hover {
    background-color: rgba(243, 244, 246, 1);
}

/* Mobile menu CTA button */
#mobile-menu-cta .bg-primary {
    transition: all 0.3s ease;
}

#mobile-menu-cta .bg-primary:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 25px -5px rgba(1, 92, 222, 0.3);
}

/* Responsive adjustments */
@media (max-width: 640px) {
    #mobile-menu {
        max-width: 100%;
    }
}

@media (min-width: 641px) {
    #mobile-menu {
        max-width: 384px; /* max-w-sm */
    }
}