/* ============================================
   CONSOLIDATED CSS ANIMATIONS
   Island Tours Ceylon - All Animation Definitions
   ============================================ */

/* FADE ANIMATIONS */
@keyframes fadeInUp {
    from { 
        opacity: 0; 
        transform: translateY(40px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

@keyframes fadeInDown {
    from { 
        opacity: 0; 
        transform: translateY(-40px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

@keyframes fadeInLeft {
    from { 
        opacity: 0; 
        transform: translateX(-40px); 
    }
    to { 
        opacity: 1; 
        transform: translateX(0); 
    }
}

@keyframes fadeInRight {
    from { 
        opacity: 0; 
        transform: translateX(40px); 
    }
    to { 
        opacity: 1; 
        transform: translateX(0); 
    }
}

/* SCALE ANIMATIONS */
@keyframes scaleIn {
    from { 
        opacity: 0; 
        transform: scale(0.9); 
    }
    to { 
        opacity: 1; 
        transform: scale(1); 
    }
}

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

@keyframes pulse-glow {
    0%, 100% { 
        opacity: 1;
        transform: scale(1);
    }
    50% { 
        opacity: 0.8;
        transform: scale(1.05);
    }
}

/* FLOATING ANIMATIONS */
@keyframes float {
    0%, 100% { 
        transform: translateY(0px) rotate(0deg);
    }
    33% { 
        transform: translate(30px, -30px) rotate(120deg);
    }
    66% { 
        transform: translate(-20px, 20px) rotate(240deg);
    }
}

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

/* GLOW ANIMATIONS */
@keyframes glow {
    0%, 100% { 
        box-shadow: 0 0 20px rgba(232, 185, 35, 0.3); 
    }
    50% { 
        box-shadow: 0 0 40px rgba(232, 185, 35, 0.6); 
    }
}

/* SHIMMER ANIMATION */
@keyframes shimmer {
    0% { 
        background-position: -200% 0; 
    }
    100% { 
        background-position: 200% 0; 
    }
}

/* RIPPLE EFFECT */
@keyframes ripple-animation {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

/* SLIDE DOWN ANIMATION */
@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

/* ANIMATION UTILITY CLASSES */
.animate-fadeInUp { 
    animation: fadeInUp 0.8s ease forwards; 
}

.animate-fadeInDown { 
    animation: fadeInDown 0.8s ease forwards; 
}

.animate-fadeInLeft { 
    animation: fadeInLeft 0.8s ease forwards; 
}

.animate-fadeInRight { 
    animation: fadeInRight 0.8s ease forwards; 
}

.animate-scaleIn { 
    animation: scaleIn 0.6s ease forwards; 
}

.animate-float { 
    animation: float 3s ease-in-out infinite; 
}

.animate-float-slow {
    animation: float 6s ease-in-out infinite;
}

.animate-float-faster {
    animation: float 2s ease-in-out infinite;
}

.animate-glow { 
    animation: glow 2s ease-in-out infinite; 
}

.animate-pulse {
    animation: pulse 2s ease-in-out infinite;
}

/* ANIMATION DELAYS */
.delay-1 { 
    animation-delay: 0.1s; 
}

.delay-2 { 
    animation-delay: 0.2s; 
}

.delay-3 { 
    animation-delay: 0.3s; 
}

.delay-4 { 
    animation-delay: 0.4s; 
}

.delay-5 { 
    animation-delay: 0.5s; 
}

.delay-6 {
    animation-delay: 0.6s;
}

.delay-7 {
    animation-delay: 0.7s;
}

.delay-8 {
    animation-delay: 0.8s;
}
