.animate__animated {
    animation-duration: 0.8s;
    animation-fill-mode: both;
}

.animate__delay-1s {
    animation-delay: 0.35s;
}

.animate__fadeInDown {
    animation-name: animateFadeInDown;
}

.animate__fadeInUp {
    animation-name: animateFadeInUp;
}

.animate__zoomIn {
    animation-name: animateZoomIn;
}

.animate__bounceIn {
    animation-name: animateBounceIn;
    animation-duration: 0.85s;
}

.animate__pulse {
    animation-name: animatePulse;
    animation-duration: 0.62s;
}

.animate__headShake {
    animation-name: animateHeadShake;
    animation-duration: 0.72s;
}

@keyframes animateFadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -24px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes animateFadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes animateZoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.92, 0.92, 0.92);
    }
    50% {
        opacity: 1;
    }
    to {
        transform: scale3d(1, 1, 1);
    }
}

@keyframes animateBounceIn {
    0% {
        opacity: 0;
        transform: scale3d(0.35, 0.35, 0.35);
    }
    55% {
        opacity: 1;
        transform: scale3d(1.08, 1.08, 1.08);
    }
    72% {
        transform: scale3d(0.96, 0.96, 0.96);
    }
    100% {
        transform: scale3d(1, 1, 1);
    }
}

@keyframes animatePulse {
    from {
        transform: scale3d(1, 1, 1);
    }
    50% {
        transform: scale3d(1.025, 1.025, 1.025);
    }
    to {
        transform: scale3d(1, 1, 1);
    }
}

@keyframes animateHeadShake {
    0% {
        transform: translateX(0);
    }
    12.5% {
        transform: translateX(-6px) rotateY(-6deg);
    }
    37.5% {
        transform: translateX(5px) rotateY(4deg);
    }
    62.5% {
        transform: translateX(-3px) rotateY(-2deg);
    }
    87.5% {
        transform: translateX(2px) rotateY(1deg);
    }
    100% {
        transform: translateX(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .animate__animated {
        animation: none !important;
    }
}
