/* Landing page news ticker (resources/views/partials/news-ticker.blade.php).
   The track holds the list twice; moving it by half its width loops seamlessly.
   Arabic (rtl) scrolls towards the right, English (ltr) towards the left. */
.nt { display: flex; align-items: stretch; background: #fff; border-block: 1px solid var(--line); overflow: hidden; font-size: .95rem; line-height: 1.4; }
.nt-label { flex: none; display: flex; align-items: center; gap: .45rem; background: var(--bad, #B3261E); color: #fff; padding: .6rem 1rem; white-space: nowrap; position: relative; z-index: 1; box-shadow: 0 0 12px rgba(0,0,0,.18); }
.nt-label strong { font-weight: 700; }
.nt-bar { opacity: .6; }
.nt-sub { font-weight: 500; }
.nt-label .demo-badge { margin-inline-start: .25rem; }
.nt-pulse { width: .55rem; height: .55rem; border-radius: 50%; background: #fff; animation: nt-pulse 1.4s ease-in-out infinite; }

.nt-viewport { flex: 1; min-width: 0; overflow: hidden; display: flex; align-items: center; background: #FBFBFD;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 1.5rem, #000 calc(100% - 1.5rem), transparent);
  mask-image: linear-gradient(to right, transparent, #000 1.5rem, #000 calc(100% - 1.5rem), transparent); }
.nt-viewport:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.nt-track { display: flex; flex: none; width: max-content; animation: nt-ltr var(--nt-dur, 60s) linear infinite; will-change: transform; }
[dir="rtl"] .nt-track { animation-name: nt-rtl; }
.nt:hover .nt-track, .nt:focus-within .nt-track { animation-play-state: paused; }

.nt-list { display: flex; flex: none; align-items: center; list-style: none; margin: 0; padding: 0; }
.nt-item { display: flex; align-items: center; white-space: nowrap; }
.nt-item a, .nt-text { color: var(--ink); text-decoration: none; font-weight: 500; padding-inline: 1rem .5rem; }
.nt-item a:hover, .nt-item a:focus-visible { color: var(--bad, #B3261E); text-decoration: none; }
.nt-source { color: var(--muted); font-size: .8rem; padding-inline-end: .5rem; }
.nt-sep { display: inline-flex; align-items: center; padding-inline: .5rem; }
.nt-logo { height: 22px; width: auto; max-width: 64px; object-fit: contain; display: block; }
.nt-mark { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--marker); background: var(--ink); color: var(--marker); font-size: .68rem; font-weight: 700; display: grid; place-items: center; line-height: 1; }

@keyframes nt-ltr { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes nt-rtl { from { transform: translateX(0); } to { transform: translateX(50%); } }
@keyframes nt-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

@media (max-width: 600px) {
  .nt-bar, .nt-sub { display: none; }
  .nt-label { padding-inline: .75rem; }
}

/* No movement: one static row the visitor scrolls by hand. */
@media (prefers-reduced-motion: reduce) {
  .nt-track { animation: none; }
  .nt-list[data-copy] { display: none; }
  .nt-viewport { overflow-x: auto; scrollbar-width: none; -webkit-mask-image: none; mask-image: none; }
  .nt-viewport::-webkit-scrollbar { display: none; }
  .nt-pulse { animation: none; }
}

/* at the very top of the page on a phone: keep the red label short so the news gets the room */
@media (max-width: 560px) {
  .nt { font-size: .88rem; }
  .nt-label { padding: .5rem .7rem; }
  .nt-bar, .nt-sub { display: none; }
}
