/* ============================================
   TICKER MARQUEE - Compact Posts
   ============================================ */

.ticker-wrapper {
    overflow: hidden;
    background: var(--primary);
    padding: var(--space-xs) 0;
    position: relative;
}

.ticker-wrapper::before,
.ticker-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 60px;
    z-index: 10;
    pointer-events: none;
}

.ticker-wrapper::before {
    left: 0;
    background: linear-gradient(to right, var(--primary), transparent);
}

.ticker-wrapper::after {
    right: 0;
    background: linear-gradient(to left, var(--primary), transparent);
}

.ticker-track {
    display: flex;
    gap: var(--space-l);
    width: max-content;
    animation: ticker-scroll 30s linear infinite;
}

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

.ticker-item {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    white-space: nowrap;
    color: var(--primary--alt);
    font-size: var(--text-s);
}

.ticker-item a {
    color: var(--primary--alt);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

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

.ticker-date {
    font-weight: 600;
}

.ticker-separator {
    opacity: 0.6;
}

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

/* Duplicate content for seamless loop - handled by JS */
.ticker-track--duplicated {
    animation: ticker-scroll 30s linear infinite;
}

/* Speed variants */
.ticker-wrapper--slow .ticker-track {
    animation-duration: 45s;
}

.ticker-wrapper--fast .ticker-track {
    animation-duration: 20s;
}

/* Responsive */
@media (max-width: 768px) {
    .ticker-item {
        font-size: var(--text-xs);
    }

    .ticker-track {
        gap: var(--space-m);
        animation-duration: 20s;
    }
}
