.carousel-container {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    display: flex;
    gap: 1rem;
    padding-bottom: 1rem;
    scroll-behavior: smooth;
    padding: 1rem 0vw;
    width: 80vw;
    margin: 10px auto;
}

.carousel-item {
    position: relative;
    overflow: hidden;
    flex: 0 0 50vw;
    scroll-snap-align: start;
    border-radius: 1rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    min-height: 50px;
    min-width: clamp(100px, calc(65vw), 360px);
    max-width: clamp(100px, calc(65vw), 360px);
}

/* Effet de brillance */
.carousel-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: skewX(-20deg);
    pointer-events: none; /* évite d'interférer avec les clics */
}

/* Animation */
.carousel-item::before {
    animation: shine 2.8s ease-in-out infinite;
}

@keyframes shine {
    0% {
        left: -75%;
    }
    20%, 100% {
        left: 125%;
    }
}

.carousel-container::-webkit-scrollbar {
    display: none;
}

.carousel-item.loyalty-program {
    background: #e59f1e;
}
.carousel-item.discount {
    background: #07a107;
}

.loyalty-program-title,
.discount-title {
    font-variant: all-petite-caps;
    font-size: var(--fs-500);
    line-height: 12px;
    font-weight: bold;
    color: #fff;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
    gap: .5rem;
}

.loyalty-program-description,
.discount-description {
    font-variant: all-petite-caps;
    color: #f1f1f1;
    line-height: 12px;
    font-size: var(--fs-400);
    padding-top: 5px;
}
