.animate-fade-in {
    animation: fadeIn 0.6s ease-in-out;
}

.animate-fade-in-delay {
    animation: fadeIn 0.6s ease-in-out 0.2s;
    animation-fill-mode: both;
}

.animate-fade-in-delay-2 {
    animation: fadeIn 0.6s ease-in-out 0.4s;
    animation-fill-mode: both;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Active navigation link */
.nav-link.active {
    border-bottom: 2px solid #fff;
}

/* Custom styles for domain results */
.domain-available {
    animation: pulseGreen 2s infinite;
}

@keyframes pulseGreen {
    0% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}

/* Mobile enhancements for PWA */
@media (max-width: 640px) {
    .pwa-fullscreen {
        height: 100vh;
        overflow-y: auto;
    }
    
    .pwa-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: white;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        z-index: 100;
    }
}