/* Régua aprovada de patrocínios — uma linha contínua, nos dois temas. */
.sponsors {
  margin-bottom: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--border);
}

.sponsors-controls { display: flex; justify-content: flex-end; margin-bottom: 1.5rem; }
.sponsors-toggle {
  border: 1px solid var(--border);
  border-radius: 0;
  padding: .5rem .75rem;
  background: transparent;
  color: var(--fg-2);
  font: 12px var(--font-mono);
  cursor: pointer;
}
.sponsors-toggle:focus-visible,
.sponsors-viewport:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.sponsors-viewport { overflow-x: auto; }
.sponsors-track { display: flex; width: max-content; }
.sponsors-set {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-around;
  gap: 80px;
  min-width: 100vw;
  padding: 0 40px;
  margin: 0;
  list-style: none;
}
.sponsor-group { flex: 0 0 auto; }
.sponsor-category {
  display: block;
  margin-bottom: 24px;
  color: var(--fg-2);
  font: 11px var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sponsor-logos { display: flex; align-items: center; gap: 36px; height: 112px; }
.sponsor-logo { display: block; flex: 0 0 auto; height: auto; filter: brightness(0); }
[data-theme="dark"] .sponsor-logo { filter: brightness(0) invert(1); }
.sponsor-logo--paraguacu { width: 210px; }
.sponsor-logo--outlight { width: 240px; }
.sponsor-logo--surf { width: 210px; }
.sponsor-logo--aos { width: 88px; }
.sponsor-logo--atarde { width: 180px; }
.sponsor-logo--nuts { width: 110px; }
.sponsor-group--experience { text-align: center; }
.sponsor-group--experience .sponsor-logos { justify-content: center; }

.sponsors[data-ready] .sponsors-viewport { overflow-x: hidden; }
.sponsors[data-ready] .sponsors-track { animation: sponsors-scroll 76s linear infinite; }
.sponsors[data-paused="true"] .sponsors-track { animation-play-state: paused; }
@keyframes sponsors-scroll { to { transform: translateX(-50%); } }

@media (hover: hover) {
  .sponsors-viewport:hover .sponsors-track { animation-play-state: paused; }
}
@media (max-width: 600px) {
  .sponsors-set { gap: 48px; padding: 0 24px; }
  .sponsor-logos { gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .sponsors[data-ready] .sponsors-track { animation: none; }
  .sponsors[data-ready] .sponsors-viewport { overflow-x: auto; }
  .sponsors-set[aria-hidden="true"], .sponsors-controls { display: none; }
}
