.kt-carousel-container {
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
}

.kt-carousel-row {
    width: 100%;
    overflow: hidden;
}

.kt-carousel-track {
    display: flex;
    width: max-content;
    gap: var(--spacing);
    animation: kt-scroll var(--duration) linear infinite;
    animation-direction: var(--direction);
    will-change: transform;
}

.kt-carousel-item {
    flex-shrink: 0;
    height: var(--row-height);
}

.kt-carousel-item img {
    height: 100%;
    width: auto;
    display: block;
}

@keyframes kt-scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        /* Move exactly half the track width (since track is duplicated) */
        transform: translateX(-50%);
    }
}

/* Pause on hover - only if interactive is enabled */
.kt-carousel-container.kt-is-interactive .kt-carousel-track:hover {
    animation-play-state: paused;
}