.ticker-container {
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
}

/* Normal mode */
.normal-loop .ticker-title {
    display: inline-block;
    padding-left: 100%;
    animation-name: ticker-normal;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes ticker-normal {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}

/* Seamless mode */
.seamless-loop .ticker-track {
    display: flex;
    white-space: nowrap;
    will-change: transform;
    animation-name: ticker-seamless;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.seamless-loop .ticker-title {
    flex-shrink: 0;
    padding: 0 2rem;
}

@keyframes ticker-seamless {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* Direction handling */
.dir-rtl .ticker-track,
.dir-rtl .ticker-title {
    animation-direction: reverse;
}
