/* ═══════════════════════════════════════════════════════
   News Ticker — Scrolling Marquee (dark bar below header)
   ═══════════════════════════════════════════════════════ */

.news-ticker {
    overflow: hidden;
    position: relative;
    flex: 1;
    height: var(--ticker-height, 36px);
    display: flex;
    align-items: center;
}

.ticker-track {
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: tickerScroll var(--ticker-duration, 60s) linear infinite;
    gap: 32px;
}

.news-ticker:hover .ticker-track {
    animation-play-state: paused;
}

.ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
}

.ticker-item .ticker-headline {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

.ticker-item .ticker-source {
    color: rgba(255, 255, 255, 0.35);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.ticker-separator {
    display: inline-block;
    width: 3px;
    height: 3px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    margin: 0 12px;
    flex-shrink: 0;
}

.ticker-placeholder {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.3);
}

@keyframes tickerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Fade edges */
.news-ticker::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 40px;
    background: linear-gradient(to right, transparent, var(--primary));
    pointer-events: none;
}

.news-ticker::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    background: linear-gradient(to left, transparent, var(--primary));
    pointer-events: none;
    z-index: 1;
}
