.kt-carousel-container {
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
    --row-height: var(--base-row-height);
    --spacing: var(--base-spacing);
    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;
}

/* Mobile Responsiveness */
@media (max-width: 680px) {
    .kt-carousel-container {
        --row-height: calc(var(--base-row-height) * var(--responsive-scale, 0.6));
        --spacing: calc(var(--base-spacing) * var(--responsive-scale, 0.6));
    }
}