/* Alert Fade In Animation */
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}

/* Header Animations */
@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-down {
    animation: fadeInDown 0.8s ease-out forwards;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s 0.3s ease-out forwards;
    opacity: 0;
}

/* Scroll Animations */
@keyframes slideInLeft {
    0% {
        opacity: 0;
        transform: translateX(-50px);
        -webkit-transform: translateX(-50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
        -webkit-transform: translateX(0);
    }
}

@-webkit-keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
    }
}

@keyframes slideInRight {
    0% {
        opacity: 0;
        transform: translateX(50px);
        -webkit-transform: translateX(50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
        -webkit-transform: translateX(0);
    }
}

@-webkit-keyframes slideInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(50px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
    }
}

@keyframes slideInUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
        -webkit-transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        -webkit-transform: translateY(0);
    }
}

@-webkit-keyframes slideInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(30px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

.scroll-animate {
    opacity: 0;
    transition: all 0.6s ease-out;
    -webkit-transition: all 0.6s ease-out;
    will-change: opacity, transform;
}

.scroll-animate.animated {
    opacity: 1;
}

.scroll-animate:nth-child(odd).animated {
    animation: slideInLeft 0.8s ease-out forwards;
    -webkit-animation: slideInLeft 0.8s ease-out forwards;
}

.scroll-animate:nth-child(even).animated {
    animation: slideInRight 0.8s ease-out forwards;
    -webkit-animation: slideInRight 0.8s ease-out forwards;
}

/* Mobile and Tablet Optimizations */
@media (max-width: 1024px) {
    .scroll-animate {
        opacity: 0;
        transition: all 0.5s ease-out;
        -webkit-transition: all 0.5s ease-out;
    }
    
    .scroll-animate:nth-child(odd).animated {
        animation: slideInLeft 0.6s ease-out forwards;
        -webkit-animation: slideInLeft 0.6s ease-out forwards;
    }
    
    .scroll-animate:nth-child(even).animated {
        animation: slideInRight 0.6s ease-out forwards;
        -webkit-animation: slideInRight 0.6s ease-out forwards;
    }
}

/* Form Field Animations */
@keyframes formFieldFade {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-field-animate {
    animation: formFieldFade 0.6s ease-out forwards;
    opacity: 0;
}

/* Input Focus Effect */
input:focus, textarea:focus {
    transform: translateY(-2px);
}

/* Placeholder Styles */
::placeholder {
    color: #9ca3af;
    opacity: 1;
}

/* Loading State for Form */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

/* Smooth Scroll Behavior */
html {
    scroll-behavior: smooth;
}
