/* Smooth Fade & Slide Animations for Overlay Text */
@keyframes slideUpFade {
    0% {
        opacity: 0;
        transform: translateY(25px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Active Slide Transitions */
.carousel-slide {
    transition: opacity 0.7s ease-in-out;
}

    .carousel-slide.active {
        opacity: 1;
        z-index: 10;
    }

    .carousel-slide.inactive {
        opacity: 0;
        z-index: 0;
        pointer-events: none;
    }

    /* Animated Content Elements */
    .carousel-slide.active .animate-title {
        animation: slideUpFade 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    .carousel-slide.active .animate-desc {
        animation: slideUpFade 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
        opacity: 0; /* Handled by animation delay */
    }

    .carousel-slide.active .animate-btn {
        animation: slideUpFade 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
        opacity: 0; /* Handled by animation delay */
    }
