.tamc-slider {
    --tamc-slider-gap: 20px;
    --tamc-slider-visible: 3;
    --tamc-slider-space: 40px;
    --tamc-slider-duration: 450ms;
    position: relative;
    min-width: 0;
}

.tamc-slider--4-3-2-1 {
    --tamc-slider-visible: 4;
    --tamc-slider-space: 60px;
}

.tamc-slider__viewport {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
}

.tamc-slider__viewport:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 5px;
}

.tamc-slider.is-dragging .tamc-slider__viewport {
    cursor: grabbing;
}

.tamc-slider__track {
    display: flex;
    gap: var(--tamc-slider-gap);
    margin: 0;
    padding: 0;
    direction: ltr;
    will-change: transform;
}

.tamc-slider__track.is-animating {
    transition: transform var(--tamc-slider-duration) cubic-bezier(0.22, 0.61, 0.36, 1);
}

.tamc-slider__slide {
    min-width: 0;
    flex: 0 0 calc((100% - var(--tamc-slider-space)) / var(--tamc-slider-visible));
    direction: var(--tamc-slider-content-direction, ltr);
}

.tamc-slider__slide[data-tamc-slider-clone] {
    pointer-events: none;
}

@media (max-width: 1399px) {
    .tamc-slider--4-3-2-1 {
        --tamc-slider-visible: 3;
        --tamc-slider-space: 40px;
    }
}

@media (max-width: 899px) {
    .tamc-slider--4-3-2-1,
    .tamc-slider--3-3-2-1 {
        --tamc-slider-visible: 2;
        --tamc-slider-space: 20px;
    }
}

@media (max-width: 559px) {
    .tamc-slider--4-3-2-1,
    .tamc-slider--3-3-2-1 {
        --tamc-slider-visible: 1;
        --tamc-slider-space: 0px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tamc-slider__track.is-animating {
        transition: none;
    }
}
