/* Hero Slideshow Animations */

/* Base styles for hero slides */
.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    z-index: 1;
}

.hero-slide.active {
    opacity: 0.85;
    z-index: 2;
}

/* Effect 1: Simple Crossfade */
.hero-slide.effect-crossfade {
    transition: opacity 2s ease-in-out;
}

/* Effect 2: Ken Burns (Cinematic Zoom & Pan) */
.hero-slide.effect-kenburns {
    transform: scale(1.15) translate(2%, 2%);
    transition: opacity 2s ease-in-out, transform 6s ease-out;
}

.hero-slide.effect-kenburns.active {
    transform: scale(1) translate(0, 0);
}

/* Effect 3: Wipe from Right */
.hero-slide.effect-wipe-right {
    clip-path: inset(0 100% 0 0);
    transition: opacity 2s ease-in-out, clip-path 2s ease-in-out;
}

.hero-slide.effect-wipe-right.active {
    clip-path: inset(0 0 0 0);
}

/* Effect 4: Wipe from Left */
.hero-slide.effect-wipe-left {
    clip-path: inset(0 0 0 100%);
    transition: opacity 2s ease-in-out, clip-path 2s ease-in-out;
}

.hero-slide.effect-wipe-left.active {
    clip-path: inset(0 0 0 0);
}

/* Gradient overlay animation */
.hero-gradient {
    background: linear-gradient(-45deg, #0EA5E9, #06B6D4, #8B5CF6, #F59E0B);
    background-size: 400% 400%;
    animation: gradient-shift 15s ease infinite;
}

@keyframes gradient-shift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Enhanced text shadows for readability over images */
.hero-title-shadow {
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.9),
        0 4px 12px rgba(0, 0, 0, 0.8),
        0 8px 24px rgba(0, 0, 0, 0.7),
        0 12px 36px rgba(0, 0, 0, 0.6);
}

.hero-subtitle-shadow {
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.9),
        0 4px 8px rgba(0, 0, 0, 0.8),
        0 6px 12px rgba(0, 0, 0, 0.7);
}

/* Floating animation for decorative shapes */
@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

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

/* Fade in up animation for content */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

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

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

/* Animation delays */
.delay-500 {
    animation-delay: 0.5s;
}

.delay-1000 {
    animation-delay: 1s;
}

.delay-1500 {
    animation-delay: 1.5s;
}

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