/* === ANIMATIONS === */

/* Fade in animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Slide up animation */
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Scale in animation */
@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Pulse animation */
@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* Apply animations */
.hero {
    animation: fadeIn 0.6s ease-out;
}

.service-card {
    animation: slideUp 0.5s ease-out;
    animation-fill-mode: both;
}

.service-card:nth-child(1) { animation-delay: 0.1s; }
.service-card:nth-child(2) { animation-delay: 0.2s; }
.service-card:nth-child(3) { animation-delay: 0.3s; }
.service-card:nth-child(4) { animation-delay: 0.4s; }
.service-card:nth-child(5) { animation-delay: 0.5s; }

.payment-card {
    animation: scaleIn 0.5s ease-out;
    animation-fill-mode: both;
}

.payment-card:nth-child(1) { animation-delay: 0.1s; }
.payment-card:nth-child(2) { animation-delay: 0.2s; }

.program-card {
    animation: slideUp 0.4s ease-out;
    animation-fill-mode: both;
}

.progress-card {
    animation: slideUp 0.5s ease-out;
}

.order-btn {
    animation: slideUp 0.5s ease-out 0.3s both;
}

/* Smooth transitions */
* {
    transition-property: background-color, border-color, color, opacity, transform;
    transition-duration: 0.2s;
    transition-timing-function: ease;
}

/* Disable animations on page load for performance */
.preload * {
    animation-duration: 0s !important;
    transition-duration: 0s !important;
}
