.ls-wrap {
  width: 100%;
  overflow: hidden;
  display: grid;
  gap: 14px;
}

.ls-row {
  overflow: hidden;
  width: 100%;
  contain: content; /* verhindert Layout-Einflüsse von außen */
}

.ls-track {
  display: flex;
  align-items: center;
  gap: var(--ls-gap, 28px);
  width: max-content;
  animation: ls-marquee var(--ls-speed, 28s) linear infinite;
  will-change: transform;
}

.ls-row.is-reverse .ls-track {
  animation-direction: reverse;
}

.ls-item { flex: 0 0 auto; }

.ls-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.ls-link img {
  display: block;
  height: auto;
  width: auto;
  max-height: 70px;
}

@keyframes ls-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-1 * var(--ls-distance, 600px))); }
}

@media (prefers-reduced-motion: reduce) {
  .ls-track { animation: none;
			  transform: translateZ(0);
			  backface-visibility: hidden;
			  }
}

/* Logos sollen ihre natürliche Breite behalten */
.ls-item {
  width: auto;
}


.ls-link { width: 100%; }
.ls-link img { margin: 0 auto; }
