/* Mobile-First Responsive Banner Styles */

/* Base carousel styles - mobile first */
.carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.carousel-inner {
    width: 100%;
    position: relative;
}

.carousel-item {
    position: relative;
    width: 100%;
    height: 200px; /* Fixed height for mobile */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    max-width: none;
    flex-shrink: 0;
}

/* Ensure images are visible */
.carousel-item img,
.responsive-banner {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Tablet styles */
@media (min-width: 576px) {
    .carousel-item {
        height: 250px;
    }
}

@media (min-width: 768px) {
    .carousel-item {
        height: 300px;
    }
}

/* Desktop styles */
@media (min-width: 992px) {
    .carousel-item {
        height: 400px;
    }
}

@media (min-width: 1200px) {
    .carousel-item {
        height: 500px;
    }
}

/* Force image loading */
.carousel-item picture,
.carousel-item source,
.carousel-item img {
    width: 100%;
    height: 100%;
}

/* Fallback for browsers that don't support object-fit */
.no-objectfit .carousel-item {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.no-objectfit .carousel-item img {
    opacity: 0;
}
