/*------------ Logo Scroller — frontend ------------*/

@keyframes lscroller-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.lscroller__wrap {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.lscroller__track {
  display: flex;
  align-items: center;
  gap: var(--lscroller-gap, 40px);
  /* duration is set by JS based on speed setting */
  animation: lscroller-scroll linear infinite;
  animation-duration: inherit; /* fallback; JS sets it directly */
  will-change: transform;
  visibility: hidden; /* hidden until JS sets duration and makes visible */
}

.lscroller__track .lscroller__item {
  height: var(--lscroller-img-height, 60px);
  width: auto;
  max-width: var(--lscroller-img-width, 180px);
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.lscroller__track .lscroller__item img {
  height: var(--lscroller-img-height, 60px);
  width: auto;
  max-width: var(--lscroller-img-width, 180px);
  object-fit: contain;
  display: block;
}

/* Fade edges */
.lscroller__wrap::before,
.lscroller__wrap::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.lscroller__wrap::before {
  left: 0;
  background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
}
.lscroller__wrap::after {
  right: 0;
  background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
}
/*------------ Logo Scroller — frontend ------------*/
