.kit.logo-marquee {
  background: rgba(var(--color-background));
  color: inherit;
}

.logo-marquee__inner {
  display: flex;
  align-items: center;
  gap: 40px;
}

.logo-marquee__label {
  flex-shrink: 0;
  font-size: 11.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(var(--color-text), 0.55);
  font-weight: 600;
  white-space: nowrap;
}

.logo-marquee__viewport {
  position: relative;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.logo-marquee--animated .logo-marquee__viewport::before,
.logo-marquee--animated .logo-marquee__viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 72px;
  z-index: 2;
  pointer-events: none;
}

.logo-marquee--animated .logo-marquee__viewport::before {
  left: 0;
  background: linear-gradient(90deg, rgba(var(--color-background)) 0%, rgba(var(--color-background), 0) 100%);
}

.logo-marquee--animated .logo-marquee__viewport::after {
  right: 0;
  background: linear-gradient(270deg, rgba(var(--color-background)) 0%, rgba(var(--color-background), 0) 100%);
}

.logo-marquee__group {
  display: flex;
  align-items: center;
  gap: 48px;
  padding-right: 48px;
  flex: none;
}

.logo-marquee__group--static {
  flex-wrap: wrap;
  justify-content: center;
  padding-right: 0;
}

.logo-marquee .logo-marquee__logo {
  flex-shrink: 0;
  max-width: none;
  width: auto;
  opacity: 0.92;
}

@media (max-width: 800px) {
  .logo-marquee--animated .logo-marquee__viewport::before,
  .logo-marquee--animated .logo-marquee__viewport::after {
    width: 28px;
  }
}

/* Static mode: the label and every logo share one centred, wrapping row. */
.logo-marquee--static .logo-marquee__inner {
  justify-content: center;
  flex-wrap: wrap;
  gap: 48px;
}

.logo-marquee--static .logo-marquee__viewport,
.logo-marquee--static .logo-marquee__group--static {
  display: contents;
}

@media (max-width: 800px) {
  .logo-marquee--static .logo-marquee__inner {
    gap: 28px;
  }
}
