/* Scroll Animation Styles */

/* Base class to apply to elements we want to animate */
.scroll-animation {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), 
                transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    will-change: opacity, transform;
}

/* Class that gets added when element is in viewport */
.scroll-show {
    opacity: 1;
    transform: translateY(0);
}

/* Variations for different animation directions */
.scroll-animation-left {
    transform: translateX(-50px);
}

.scroll-animation-right {
    transform: translateX(50px);
}

.scroll-animation-fade {
    transform: translateY(0);
    opacity: 0;
}

/* When these variations come into view */
.scroll-animation-left.scroll-show,
.scroll-animation-right.scroll-show {
    transform: translateX(0);
}

.scroll-animation-fade.scroll-show {
    opacity: 1;
}

/* Different animation delays for cascade effect */
.delay-100 {
    transition-delay: 0.1s;
}

.delay-200 {
    transition-delay: 0.2s;
}

.delay-300 {
    transition-delay: 0.3s;
}

.delay-400 {
    transition-delay: 0.4s;
}

.delay-500 {
    transition-delay: 0.5s;
}

/* Scale animation */
.scroll-animation-scale {
    transform: scale(0.9);
    opacity: 0;
}

.scroll-animation-scale.scroll-show {
    transform: scale(1);
    opacity: 1;
}

/* Rotate animation */
.scroll-animation-rotate {
    transform: rotate(-5deg) scale(0.95);
    opacity: 0;
}

.scroll-animation-rotate.scroll-show {
    transform: rotate(0) scale(1);
    opacity: 1;
}

/* For podcast elements - special handling */
.podcast.scroll-animation {
    transform: translateY(70px);
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), 
                transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1),
                box-shadow 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.podcast.scroll-animation.scroll-show {
    transform: translateY(0);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* Enhanced hover effect for podcast items */
.podcast.scroll-animation.scroll-show:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

/* Mobile optimization */
@media (max-width: 768px) {
    .scroll-animation {
        transform: translateY(30px);
    }
    
    .scroll-animation-left {
        transform: translateX(-30px);
    }
    
    .scroll-animation-right {
        transform: translateX(30px);
    }
    
    .podcast.scroll-animation {
        transform: translateY(40px);
    }
}
