.carousel-container {
    margin: 20px 10px;
    position: relative;
    backdrop-filter: blur(10px);
    border-radius: 20px;
}



.carousel {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
}

.carousel-wrapper {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.carousel-slide {
    min-width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    position: relative;
    overflow: hidden;
}



.slide-content {
    flex: 1;
    z-index: 2;
}


.offer-cta:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.carousel-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 8px;
}

.carousel-btn {
    background: rgb(185 185 185 / 20%);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}

.carousel-btn:hover {
    background: rgb(197 180 180 / 30%);
    transform: scale(1.1);
}

.carousel-indicators {
    display: flex;
    gap: 10px;
}

.indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgb(209 209 209 / 71%);
    cursor: pointer;
    transition: all 0.3s ease;
}

.indicator.active {
    background: rgb(204, 204, 204);
    transform: scale(1.2);
}

.slide-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.1;
    background-size: cover;
    background-position: center;
}

.carousel-image {
  width: 100%;
  object-fit: cover; /* makes the image fill the rectangle without distortion */
  object-position: center; /* centers the image focus */
  display: block;
  border-radius: 8px; /* optional: smooth corners */
  aspect-ratio: 211 / 35;
}

@media (max-width: 768px) {
    .carousel-slide {
        flex-direction: column;
        text-align: center;
    }
    .carousel-slide {
        height: 150px; /* smaller rectangle for mobile */
    }
    .carousel-container{
        display: flex !important;
        flex-direction: column;
    }

    .carousel-image{
        aspect-ratio: 45 / 18;
    }

    .nav-buttons{
        margin-bottom: 0;
    }

}

/* Auto-play animation */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.carousel-slide.active .slide-content > * {
    animation: slideIn 1s ease-out forwards;
}