/* ──────────────────────────────────────────────
   Mants — Top Bar (Block 1) — scrolling stock marquee
   ────────────────────────────────────────────── */

.top-bar {
  width: 100%;
  background: var(--brand);
  color: var(--on-brand);
  overflow: hidden;
  white-space: nowrap;
}

/* Two identical groups sit side by side; sliding the track by -50%
   (exactly one group) and looping is seamless. */
.top-bar__track {
  display: flex;
  width: max-content;
  animation: top-bar-scroll 40s linear infinite;
}

.top-bar__group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* inline-block (not flex) so the spaces around the number span are kept. */
.top-bar__item {
  display: inline-block;
  height: 40px;
  line-height: 40px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Dot acts as the separator between repeated messages. */
.top-bar__item::before {
  content: "•";
  margin: 0 28px;
  opacity: 0.4;
}

.top-bar__count {
  font-weight: 600;
  font-variant-numeric: tabular-nums; /* digits keep a fixed width as it ticks down */
}

@keyframes top-bar-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── Responsive ─────────────────────────────── */

@media (max-width: 575px) { /* sm and down */
  .top-bar__item {
    font-size: 11px;
  }

  .top-bar__item::before {
    margin: 0 18px;
  }
}

/* ── Accessibility ──────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .top-bar__track {
    animation: none;
  }
}
