/* Reusable inside any container; no viewport position or docking behavior. */
.sponsor-strip, .sponsor-strip * { box-sizing: border-box; }
.sponsor-strip {
  --sponsor-default-track-height: 56px;
  --sponsor-gap: 56px;
  --sponsor-fade: 56px;
  width: 100%;
  min-width: 0;
  height: var(--sponsor-track-height, var(--sponsor-default-track-height));
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 var(--sponsor-fade), #000 calc(100% - var(--sponsor-fade)), transparent);
}
.sponsor-strip:not([data-sponsor-pointer-focus]):focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.sponsor-strip[data-sponsor-draggable] { cursor: grab; touch-action: pan-y pinch-zoom; user-select: none; -webkit-user-select: none; }
.sponsor-strip[data-sponsor-draggable] * { cursor: inherit; }
.sponsor-strip[data-sponsor-dragging] { cursor: grabbing; }
.sponsor-strip[data-sponsor-dragging] .sponsor-track { animation-play-state: paused; }
.sponsor-track {
  display: flex;
  width: max-content;
  min-width: 200%;
  height: 100%;
  animation: sponsor-scroll var(--sponsor-duration, 84s) linear infinite;
}
.sponsor-group {
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: space-around;
  gap: var(--sponsor-gap);
  padding-right: var(--sponsor-gap);
}
.sponsor-item {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: calc(var(--sponsor-track-height, var(--sponsor-default-track-height)) * var(--sponsor-ratio));
  height: 100%;
}
.sponsor-item a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.sponsor-item svg { display: block; width: 100%; height: 100%; }
.sponsor-strip:not([data-sponsor-pointer-focus]):is(:focus-visible, :has(:focus-visible)) .sponsor-track { animation-play-state: paused; }
@media (hover: hover) {
  .sponsor-strip:hover .sponsor-track { animation-play-state: paused; }
}
@keyframes sponsor-scroll { to { transform: translateX(-50%); } }
@media (max-width: 850px) {
  .sponsor-strip { --sponsor-default-track-height: 44px; --sponsor-gap: 36px; --sponsor-fade: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .sponsor-strip { overflow-x: auto; }
  .sponsor-track { animation: none; min-width: 100%; transform: none; }
  .sponsor-group[aria-hidden] { display: none; }
}
