.light-slider .light-slider__cards {
    margin-left: calc(50% - 50vw);
}

.light-slider .light-slider__track {
    justify-content: center;
    gap: 1rem;
    padding-left: 0;
    padding-right: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-padding-left: max(2rem, calc((100vw - 78rem) / 2));
}

.light-slider .light-slider__track::-webkit-scrollbar {
    display: none;
}

.light-slider__slide {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.light-slider__controls {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.light-slider__controls.hidden-on-desktop {
    display: none;
}

.light-slider__pagination {
    display: none;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.light-slider__pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    flex: none;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--color-black);
    opacity: 0.3;
    cursor: pointer;
}

.light-slider__pagination-bullet.is-active {
    opacity: 1;
}

/* Centering an overflowing track clips the first slides out of scroll reach, auto margins center only when the slides fit */
@media screen and (min-width: 992px) and (max-width: 1439px) {
    .light-slider .light-slider__track {
        justify-content: flex-start;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .light-slider__slide {
        flex-shrink: 1;
        min-width: 0;
    }

    .light-slider__slide:first-child {
        margin-left: auto;
    }

    .light-slider__slide:last-child {
        margin-right: auto;
    }
}

@media screen and (max-width: 991px) {
    .light-slider {
        display: flex;
        flex-direction: column;
    }

    .light-slider .light-slider__track {
        justify-content: flex-start;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .light-slider .light-slider__cards.swiper {
        display: block;
        width: 100vw;
        min-width: 0;
        margin-right: 0;
        touch-action: pan-y;
    }

    .light-slider .light-slider__track.swiper-wrapper {
        gap: 0;
        width: 100%;
        height: auto;
        padding-left: 0;
        padding-right: 0;
        overflow: visible;
        scroll-snap-type: none;
        animation: none;
    }

    .light-slider .light-slider__slide.swiper-slide {
        width: 25.1875rem;
        height: auto;
        scroll-snap-align: none;
    }

    .light-slider__controls {
        order: 2;
        margin: 1.5rem auto 0;
        padding: 0.5rem 0.75rem;
        border-radius: 4rem;
        background-color: var(--color-bg-muted);
    }

    .light-slider__controls.hidden-on-desktop {
        display: flex;
    }

    .light-slider__nav-btn {
        display: none;
    }

    .light-slider__pagination {
        display: flex;
    }
}

@media screen and (max-width: 767px) {
    .light-slider .light-slider__track {
        justify-content: flex-start;
        padding-left: 1rem;
        padding-right: 1rem;
        scroll-padding-left: 1rem;
        scroll-padding-right: 1rem;
    }

    .light-slider__slide {
        flex: 0 0 min(calc(100vw - 2rem), 25.1875rem);
    }

    .light-slider .light-slider__slide.swiper-slide {
        width: min(calc(100vw - 2rem), 25.1875rem);
    }
}
