/* Animations */

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

@keyframes pulse-red {
    0%, 100% {
        box-shadow: 0 0 20px rgba(255, 0, 0, 0.6);
    }
    50% {
        box-shadow: 0 0 40px rgba(255, 0, 0, 1);
    }
}

@keyframes flicker {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.8;
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation classes */
.fade-in-down {
    animation: fadeInDown 0.6s ease-out;
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

.zoom-in {
    animation: zoomIn 0.6s ease-out;
}

/* Scroll animations */
@media (prefers-reduced-motion: no-preference) {
    .animate-on-scroll {
        opacity: 0;
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }
    
    .animate-on-scroll.animated {
        opacity: 1 !important;
    }
    
    .animate-on-scroll.fade-up {
        transform: translateY(40px);
    }
    
    .animate-on-scroll.fade-up.animated {
        transform: translateY(0) !important;
    }
}

/* Disable animations for benefit cards to prevent flickering */
.benefit-card {
    opacity: 1 !important;
    transform: none !important;
}

