/* ==========================================
   SCROLL TRIGGERED ANIMATIONS
   ========================================== */

/* Base state for all scroll-animated elements */
.anim-fade-in,
.anim-zoom-in,
.anim-zoom-out,
.anim-slide-up,
.anim-slide-down,
.anim-slide-left,
.anim-slide-right {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: opacity, transform;
}

/* Stagger Delays */
.delay-1 { transition-delay: 0.2s; }
.delay-2 { transition-delay: 0.4s; }
.delay-3 { transition-delay: 0.6s; }
.delay-4 { transition-delay: 0.8s; }
.delay-5 { transition-delay: 1s; }


/* 1. Fade In */
.anim-fade-in { transform: translateY(0); }

/* 2. Zoom In */
.anim-zoom-in { transform: scale(0.88); }

/* 3. Zoom Out */
.anim-zoom-out { transform: scale(1.12); }

/* 4. Slide Up */
.anim-slide-up { transform: translateY(40px); }

/* 5. Slide Down */
.anim-slide-down { transform: translateY(-40px); }

/* 6. Slide Left */
.anim-slide-left { transform: translateX(50px); }

/* 7. Slide Right */
.anim-slide-right { transform: translateX(-50px); }

/* ACTIVE / IN-VIEW STATE (Triggered on Scroll) */
.anim-fade-in.show,
.anim-zoom-in.show,
.anim-zoom-out.show,
.anim-slide-up.show,
.anim-slide-down.show,
.anim-slide-left.show,
.anim-slide-right.show {
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

/* ==========================================
   HOVER INTERACTION UTILITIES
   ========================================== */

.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
}

.hover-zoom {
    transition: transform 0.4s ease;
}
.hover-zoom:hover {
    transform: scale(1.04);
}

.hover-glow {
    transition: box-shadow 0.3s ease;
}
.hover-glow:hover {
    box-shadow: 0 0 20px rgba(208, 161, 51, 0.4);
}