/* Régua de parceiros: grupos alinhados e controle lateral fixo. */
.sponsors {
  position: relative;
  margin-bottom: 0;
  padding: 30px 0;
  background: var(--bg);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.sponsors-controls {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  border-left: 1px solid var(--border);
  background: var(--bg);
}
.sponsors-toggle {
  border: 1px solid var(--border);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  padding: 12px;
  background: transparent;
  color: var(--fg-2);
  font: 12px var(--font-mono);
  cursor: pointer;
}
.sponsors-toggle[hidden] { display: none; }
.sponsors-toggle:hover { color: var(--fg); border-color: currentColor; }
.sponsors-toggle svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sponsors-toggle .sponsors-icon--play { display: none; fill: currentColor; stroke: none; }
.sponsors[data-paused="true"] .sponsors-icon--pause { display: none; }
.sponsors[data-paused="true"] .sponsors-icon--play { display: block; }
.sponsors-toggle:focus-visible,
.sponsors-viewport:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.sponsors-viewport { overflow-x: auto; margin-right: 72px; }
.sponsors-track { display: flex; width: max-content; }
.sponsors-set {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
.sponsor-group { flex: 0 0 auto; padding: 0 60px; border-right: 1px solid var(--border); text-align: center; }
.sponsor-category {
  display: block;
  margin-bottom: 18px;
  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; justify-content: center; gap: 30px; height: 78px; }
.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: 150px; }
.sponsor-logo--grupo-ag { width: 108px; height: 73px; overflow: hidden; }
.sponsor-logo--grupo-ag img { display: block; width: 129.56px; max-width: none; height: auto; margin: -19.11px -10.78px; }
.sponsor-logo--outlight { width: 180px; }
.sponsor-logo--sooh { width: 126px; }
.sponsor-logo--surf { width: 156px; }
.sponsor-logo--aos { width: 60px; }
.sponsor-logo--atarde { width: 132px; }
.sponsor-logo--nuts { width: 84px; }
.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 72s linear infinite; }
.sponsors[data-paused="true"] .sponsors-track { animation-play-state: paused; }
@keyframes sponsors-scroll { to { transform: translateX(-50%); } }

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

