/* ==========================================================================
   JC FILMS - INTERACTIVE ANIMATIONS SYSTEM
   ========================================================================== */

/* Keyframes for Hero background zoom */
@keyframes zoomBg {
    from {
        transform: scale(1.15);
    }
    to {
        transform: scale(1);
    }
}

/* Pulsing effect for play buttons */
@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(197, 168, 128, 0.4);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(197, 168, 128, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(197, 168, 128, 0);
    }
}

/* Reveal transition on scrolling */
.reveal {
    position: relative;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Transition delays for list items */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }

/* Subtle rotation animation for camera aperture or loader */
@keyframes spinAperture {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Slide in overlays */
.slide-in-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.slide-in-left.active {
    opacity: 1;
    transform: translateX(0);
}

.slide-in-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.slide-in-right.active {
    opacity: 1;
    transform: translateX(0);
}

/* Image zoom on hover (Helper classes) */
.zoom-on-hover {
    overflow: hidden;
}

.zoom-on-hover img {
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.zoom-on-hover:hover img {
    transform: scale(1.08);
}
