/* Hero Carousel Styles */
#heroCarousel {
    overflow: hidden;
    display: block !important;
}

/* Hide carousel controls in hero section */
#heroCarousel .carousel-control-prev,
#heroCarousel .carousel-control-next {
    display: none !important;
}

/* Smooth fade and slide animation */
#heroCarousel.carousel.slide .carousel-inner {
    overflow: visible;
}

/* Base carousel item styles */
#heroCarousel .carousel-item {
    transition: all 0.8s ease-in-out;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    display: block !important;
    transform: translateY(30px);
}

/* Active slide */
#heroCarousel .carousel-item.active {
    opacity: 1;
    position: relative;
    transform: translateY(0);
}

/* Slide in/out animations */
#heroCarousel .carousel-item-next:not(.carousel-item-start),
#heroCarousel .carousel-item-prev:not(.carousel-item-end) {
    transform: translateY(0);
}

#heroCarousel .carousel-item-next,
#heroCarousel .carousel-item-prev,
#heroCarousel .carousel-item.active.carousel-item-start,
#heroCarousel .carousel-item.active.carousel-item-end {
    transform: translateY(0);
}

#heroCarousel .carousel-item-next:not(.carousel-item-start),
#heroCarousel .active.carousel-item-end {
    transform: translateY(30px);
    opacity: 0;
}

#heroCarousel .carousel-item-prev:not(.carousel-item-end),
#heroCarousel .active.carousel-item-start {
    transform: translateY(-30px);
    opacity: 0;
}

/* Card animations */
.hero-text-card {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 0.6s ease-out 0.3s;
}

.hero-image-card {
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.6s ease-out 0.6s;
}

.carousel-item.active .hero-text-card,
.carousel-item.active .hero-image-card {
    opacity: 1;
    transform: translateX(0);
}

/* Stats animation */
.hero-stats-item {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease-out;
}

.carousel-item.active .hero-stats-item {
    opacity: 1;
    transform: translateY(0);
}

/* Delay each stat item */
.carousel-item.active .hero-stats-item:nth-child(1) { 
    transition-delay: 0.9s; 
}
.carousel-item.active .hero-stats-item:nth-child(2) { 
    transition-delay: 1.1s; 
}
.carousel-item.active .hero-stats-item:nth-child(3) { 
    transition-delay: 1.3s; 
}

/* Button animation */
.hero-buttons {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease-out 0.8s;
}

.carousel-item.active .hero-buttons {
    opacity: 1;
    transform: translateY(0);
}

/* Video badge animation */
.video-badge {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease-out 1.5s;
}

.carousel-item.active .video-badge {
    opacity: 1;
    transform: translateY(0);
}

/* Hero card styles */
.hero-card {
    background-color: #4361ee;
    color: #ffffff;
    border-radius: 0.75rem;
}

.hero-card .card-body {
    padding: 1rem 1.5rem;
}

.hero-card .card-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.hero-card .card-text {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    opacity: 0.9;
}

.hero-card .btn {
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.hero-card .btn-primary {
    background-color: #ffffff;
    color: #4361ee;
    border: none;
}

.hero-card .btn-outline-light {
    border-width: 2px;
    border-color: #ffffff;
    color: #ffffff;
}

.hero-card .stats-row {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1rem;
    margin-top: 1.5rem;
}

.hero-card .stat-item {
    text-align: center;
}

.hero-card .stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.hero-card .stat-label {
    font-size: 0.85rem;
    opacity: 0.8;
}
