/* ============================================
   WHAT'S ON — Carousel
   ============================================ */

/* The scrollable track */
.carousel-track {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 20px;
    gap: 20px;
}

.carousel-track::-webkit-scrollbar {
    display: none;
}

/* Each card inside the track — prevent shrinking, set fixed width */
.carousel-track > .e-con {
    flex: 0 0 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
    scroll-snap-align: start;
    flex-shrink: 0 !important;
}

/* The parent container wrapping the track — clip overflow */
.carousel-track-wrapper {
    overflow: hidden !important;
}

/* Arrow button hover states */
.custom-prev,
.custom-next {
    cursor: pointer;
}

/* Hide arrows on mobile (touch swipe handles it) */
@media (max-width: 768px) {
    .custom-prev,
    .custom-next {
        display: none !important;
    }

    .carousel-track > .e-con {
        flex: 0 0 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
    }
}
