/* ── Ticker Widget for Elementor ── */

/* Override Elementor entrance animations / AOS / scroll observer
   that hide off-screen elements until they "enter" the viewport */
.ticker-wrapper,
.ticker-wrapper *,
.ticker-viewport,
.ticker-track,
.ticker-item,
.ticker-sep {
    visibility: visible !important;
    opacity: 1 !important;
    transform-origin: left center;
    animation-play-state: running;
}

/* Re-apply the scroll transform only to the track */
.ticker-track {
    opacity: 1 !important;
    visibility: visible !important;
}

.ticker-wrapper {
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
    width: 100%;
    background-color: #111;
    padding: 10px 0;
    box-sizing: border-box;
}

/* Label badge */
.ticker-label {
    flex-shrink: 0;
    background-color: #ff4500;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 14px;
    margin-right: 16px;
    white-space: nowrap;
    z-index: 2;
    position: relative;
}

/* Clipping viewport */
.ticker-viewport {
    overflow: hidden;
    flex: 1;
    position: relative;
}

/* Scrolling track */
.ticker-track {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    animation-name: ticker-scroll;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    will-change: transform;
    /* Force GPU layer — prevents blank flash on loop */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

/* Individual items */
.ticker-item {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    padding: 0 8px;
    white-space: nowrap;
}

.ticker-item a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.ticker-item a:hover {
    opacity: 0.75;
    text-decoration: underline;
}

/* Separator */
.ticker-sep {
    display: inline-block;
    color: #ff4500;
    padding: 0 12px;
    font-size: 12px;
    flex-shrink: 0;
}

/* Pause on hover */
.ticker-wrapper.pause-on-hover:hover .ticker-track {
    animation-play-state: paused;
}

/* Keyframe — moves exactly 1/3 (one set out of 3 copies = seamless) */
@keyframes ticker-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-33.3333%); }
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .ticker-label {
        font-size: 11px;
        padding: 3px 10px;
        margin-right: 10px;
    }
    .ticker-item {
        font-size: 13px;
    }
}
