/* Fade In */
.animate-fade-in {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeIn 0.6s ease forwards;
}

/* Slide In From Left */
.animate-slide-left {
    opacity: 0;
    transform: translateX(-50px);
    animation: slideLeft 0.6s ease forwards;
}

/* Slide In From Right */
.animate-slide-right {
    opacity: 0;
    transform: translateX(50px);
    animation: slideRight 0.6s ease forwards;
}

/* Scale Up */
.animate-scale {
    opacity: 0;
    transform: scale(0.8);
    animation: scaleUp 0.6s ease forwards;
}

/* Bounce */
.animate-bounce {
    animation: bounce 0.6s ease;
}

/* Hover Effects */
.hover-lift {
    transition: transform 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
}

.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.05);
}

/* Animation Keyframes */
@keyframes fadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideLeft {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleUp {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* Animation Delays */
.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; } 