.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;
}

@keyframes tcd-smooth-marquee-animation {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Se desplaza la mitad del "loop" (dos copias del texto) */
        transform: translateX(-50%);
    }
}
