/* ═══════════════════════════════════════════════════════════
   Live News Ticker — live-news-ticker.css
   Design: Bold broadcast news aesthetic — deep red, crisp white,
   sharp typography, TV-studio energy.
═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Barlow:wght@400;500&display=swap');

/* ── Variables ───────────────────────────────────────────── */
:root {
  --lnt-red:       #d0021b;
  --lnt-red-dark:  #a30016;
  --lnt-bg:        #111111;
  --lnt-text:      #f5f5f5;
  --lnt-muted:     #aaaaaa;
  --lnt-sep:       #d0021b;
  --lnt-h:         46px;
  --lnt-font-main: 'Barlow Condensed', sans-serif;
  --lnt-font-body: 'Barlow', sans-serif;
  --lnt-speed:     28s;   /* ticker scroll duration */
}

/* ── Wrapper ─────────────────────────────────────────────── */
.lnt-wrap {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: var(--lnt-h);
  background: var(--lnt-bg);
  overflow: hidden;
  font-family: var(--lnt-font-body);
  position: relative;
  z-index: 200;
  box-shadow: 0 2px 16px rgba(0,0,0,.45);
  border-top: 2px solid var(--lnt-red);
}

/* ── Live label badge ────────────────────────────────────── */
.lnt-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px 0 14px;
  background: var(--lnt-red);
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
  padding-right: 22px;
}

.lnt-label-main {
  font-family: var(--lnt-font-main);
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.lnt-label-sub {
  font-family: var(--lnt-font-main);
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.lnt-divider {
  color: rgba(255,255,255,.5);
  font-size: 13px;
}

/* ── Pulsing live dot ────────────────────────────────────── */
.lnt-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  animation: lntPulse 1.4s ease-in-out infinite;
}
@keyframes lntPulse {
  0%,100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(255,255,255,.6); }
  50%      { opacity: .7; transform: scale(1.2); box-shadow: 0 0 0 5px rgba(255,255,255,0); }
}

/* ── Viewport + track ────────────────────────────────────── */
.lnt-viewport {
  flex: 1;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}

/* Fade edges */
.lnt-viewport::before,
.lnt-viewport::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 32px;
  z-index: 3;
  pointer-events: none;
}
.lnt-viewport::before { left:  0; background: linear-gradient(to right, var(--lnt-bg), transparent); }
.lnt-viewport::after  { right: 0; background: linear-gradient(to left,  var(--lnt-bg), transparent); }

.lnt-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: lntScroll var(--lnt-speed) linear infinite;
  will-change: transform;
}
.lnt-track.paused { animation-play-state: paused; }

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

/* ── Individual headline item ────────────────────────────── */
.lnt-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 6px;
  color: var(--lnt-text);
  text-decoration: none;
  font-family: var(--lnt-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition: color .2s;
  cursor: pointer;
}
.lnt-item:hover { color: #f9c74f; text-decoration: none; }

/* Separator bullet between items */
.lnt-item::before {
  content: '◆';
  color: var(--lnt-red);
  font-size: 7px;
  margin-right: 4px;
  flex-shrink: 0;
}
.lnt-item:first-child::before { display: none; }

/* Breaking tag */
.lnt-breaking {
  display: inline-block;
  background: #f9c74f;
  color: #111;
  font-family: var(--lnt-font-main);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 2px;
  margin-right: 4px;
  flex-shrink: 0;
  animation: lntFlash 1.8s ease infinite;
}
@keyframes lntFlash {
  0%,100% { opacity: 1; }
  50%      { opacity: .6; }
}

/* Date/time stamp */
.lnt-time {
  color: var(--lnt-muted);
  font-size: 11px;
  margin-left: 4px;
  flex-shrink: 0;
}

/* ── Loading state ───────────────────────────────────────── */
.lnt-loading {
  color: var(--lnt-muted);
  font-size: 13px;
  font-style: italic;
  padding: 0 16px;
  animation: lntFade 1s ease infinite alternate;
}
@keyframes lntFade { from{opacity:.4} to{opacity:1} }

/* ── Error state ─────────────────────────────────────────── */
.lnt-error {
  color: #ff6b6b;
  font-size: 13px;
  padding: 0 16px;
}

/* ── Controls (pause/play) ───────────────────────────────── */
.lnt-controls {
  display: flex;
  align-items: center;
  padding: 0 12px;
  flex-shrink: 0;
  border-left: 1px solid rgba(255,255,255,.08);
}
.lnt-ctrl {
  background: none;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 3px;
  color: rgba(255,255,255,.6);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
  padding: 0;
  outline: none;
}
.lnt-ctrl:hover {
  border-color: var(--lnt-red);
  color: #fff;
  background: var(--lnt-red);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  :root { --lnt-h: 40px; --lnt-speed: 20s; }
  .lnt-label-sub, .lnt-divider { display: none; }
  .lnt-label { padding-right: 18px; }
  .lnt-label-main { font-size: 13px; }
  .lnt-item { font-size: 13px; }
  .lnt-controls { padding: 0 8px; }
}
@media (max-width: 480px) {
  :root { --lnt-speed: 16s; }
  .lnt-label { padding: 0 12px 0 10px; padding-right: 16px; }
  .lnt-time { display: none; }
}
