.promotions {
    position: relative;
    /* needed for ::before overlay */
    min-height: 420px;
    /* ensure bg is visible */
    padding: 80px 0;
    background-color: transparent;
    border-radius: 5px;
    text-align: center;
    background-size: cover;
    /* safe defaults even if classes missed */
    background-position: center;
    background-repeat: no-repeat;
    color: white
}

.promotion-header {
    position: relative;
    z-index: 3;
    /* higher than overlay’s z-index:1 */
}

/* Overlay for text readability */
.promotions::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.promotions .promotionSwiper {
    position: relative;
    z-index: 2;
    /* background: rgba(0, 0, 0, 0.3); */
    border-radius: 10px
        /* above overlay */
}

.promotion-content {
    color: white !important;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.promotion-text-color {
    color: #fff;
}

/* Section-wide backgrounds */
.promotion-bg-1 {
    background-image: url("../images/promotions/promotion-1.jpg") !important;
}

.promotion-bg-2 {
    background-image: url("../images/promotions/promotion-2.jpg") !important;
}

.promotion-bg-3 {
    background-image: url("../images/promotions/promotion-3.jpg") !important;
    /* fixed */
}

.promotion-bg-4 {
    background-image: url("../images/promotions/promotion-4.jpg") !important;
}

.promotion-bg-5 {
    background-image: url("../images/promotions/promotion-5.jpg") !important;
}


@media (max-width: 768px) {
    .promotions {
        padding: 48px 0;
        min-height: 360px;
    }

    .promotion-content h3 {
        font-size: 1.4rem;
    }

    .promotion-content h4 {
        font-size: 1.2rem;
    }
}