.carousel-item {
    position: relative;
}

.carousel-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.1) 100%);
    z-index: 1;
}

.carousel-caption {
    z-index: 2;
    right: 10%;
    left: 10%;
    bottom: 20%;
    text-align: right;
}

.carousel-indicators {
    z-index: 2;
}

.carousel-control-prev,
.carousel-control-next {
    z-index: 2;
}

.carousel-item img {
    filter: brightness(0.8);
    transition: transform 0.5s ease;
}

.carousel-item.active img {
    transform: scale(1.05);
}

.carousel-caption h1 {
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    animation: fadeInUp 1s ease;
}

.carousel-caption p {
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
    animation: fadeInUp 1s ease 0.3s;
    animation-fill-mode: both;
}

.carousel-caption .btn {
    animation: fadeInUp 1s ease 0.6s;
    animation-fill-mode: both;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
} 