/* ==========================================================
   TOOLSHUB4U — MARQUEE COMPONENT (shared)
   Infinite-scrolling strip of popular tools.
   Loaded on the homepage and category pages, after main.css.
   ========================================================== */

.marquee {
  position: relative;
  overflow: hidden;
  padding: 15px 0;
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
  background: linear-gradient(90deg, transparent, var(--bg-secondary) 12%, var(--bg-secondary) 88%, transparent);
}
.marquee::before, .marquee::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 90px;
  z-index: 2;
  pointer-events: none;
}
.marquee::before { left: 0; background: linear-gradient(90deg, var(--bg), transparent); }
.marquee::after  { right: 0; background: linear-gradient(-90deg, var(--bg), transparent); }

.marquee__track {
  display: flex;
  gap: 0;
  width: max-content;
  animation: marqueeScroll 48s linear infinite;
}
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 22px;
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
}
.marquee__item span {
  width: 30px; height: 30px;
  display: grid; place-items: center;
  font-size: .95rem;
  background: var(--primary-50);
  border: 1px solid var(--primary-100);
  border-radius: 10px;
}
.marquee__item:hover { color: var(--primary-light); }

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

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