.tcd-smooth-marquee {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.tcd-smooth-marquee__inner {
    display: inline-flex;
    white-space: nowrap;
    will-change: transform;
    animation-name: tcd-smooth-marquee-animation;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-duration: 20s; /* se sobrescribe vía JS */
}

.tcd-smooth-marquee__text {
    display: inline-block;
    white-space: nowrap;
}

/* Modo ítems: una secuencia = todos los ítems en fila; JS clona y define --tcd-marquee-shift */
.tcd-smooth-marquee--items .tcd-smooth-marquee__inner {
    animation-name: tcd-smooth-marquee-animation-shift;
}

.tcd-smooth-marquee--items .tcd-smooth-marquee__sequence {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
    gap: var(--tcd-marquee-item-gap, 40px);
    padding-right: var(--tcd-marquee-item-gap, 40px);
}

.tcd-smooth-marquee__item {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.tcd-smooth-marquee__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.tcd-smooth-marquee__icon svg {
    display: block;
}

.tcd-smooth-marquee__label {
    display: inline-block;
    white-space: nowrap;
}

@keyframes tcd-smooth-marquee-animation {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@keyframes tcd-smooth-marquee-animation-shift {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-1 * var(--tcd-marquee-shift, 0px)));
    }
}
