.publishers-marquee {
  position: relative;
  overflow: hidden;
  margin: 0 0 3rem 0;
}

.publishers-marquee::before,
.publishers-marquee::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: 8%;
  pointer-events: none;
}

.publishers-marquee::before {
  left: 0;
  background: linear-gradient(to right, var(--white), transparent);
}

.publishers-marquee::after {
  right: 0;
  background: linear-gradient(to left, var(--white), transparent);
}

.publishers-track {
  width: max-content;
  will-change: transform;
}

.publishers-list {
  /* Default box shared by all logos, centered via object-fit: contain */
  --w: 7rem;
  --h: 2.25rem;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.publishers-list li {
  position: relative;
  flex: none;
  margin-right: 4rem;
  width: var(--w);
  height: var(--h);
  overflow: hidden;
}

.publisher-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Logos with empty canvas around them: crop to the visible artwork */
.logo-gsp-logo-color .publisher-logo,
.logo-playtech-logo .publisher-logo,
.logo-romedic-logo2 .publisher-logo {
  position: absolute;
  width: var(--img-w);
  height: var(--img-h);
  left: var(--img-x);
  top: var(--img-y);
  object-fit: fill;
}

/* Very wide logos need a wider, shorter box to match the others visually */
.logo-autovit,
.logo-wall-street-logo,
.logo-ziarul-financiar {
  --w: 9rem;
  --h: 1.25rem;
}

/* Square-ish logos */
.logo-digi24,
.logo-master-logo-antena1 {
  --w: 2.75rem;
  --h: 2.75rem;
}

/* Cropped logos: box matches the aspect ratio of the visible artwork */
.logo-gsp-logo-color {
  --w: 7.2rem; --h: 2rem;
  --img-w: 102.09%; --img-h: 365.6%; --img-x: -0.71%; --img-y: -139.85%;
}
.logo-playtech-logo {
  --w: 9rem; --h: 1.25rem;
  --img-w: 132.3%; --img-h: 535.7%; --img-x: -15.88%; --img-y: -216.67%;
}
.logo-romedic-logo2 {
  --w: 7rem; --h: 2rem;
  --img-w: 112.5%; --img-h: 200%; --img-x: -6.25%; --img-y: -45%;
}

.publisher-logo-dark {
  filter: brightness(0);
}

/* The original list stays in the DOM for assistive tech once the script
   builds the animated copy */
.publishers-list-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .publishers-marquee::before,
  .publishers-marquee::after {
    display: none;
  }

  .publishers-track {
    width: auto;
  }

  .publishers-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem 0;
    padding: 0 1rem;
  }
}
