/* Gallery marquee — continuous scroll; pause only on hover */
.gallery-row.animate-gallery-marquee {
  animation: gallery-marquee-left var(--gallery-marquee-duration, 55s) linear infinite;
  animation-delay: var(--gallery-marquee-delay, 0s);
  animation-play-state: running;
  will-change: transform;
}

.gallery-row.animate-gallery-marquee-reverse {
  animation: gallery-marquee-right var(--gallery-marquee-duration, 65s) linear infinite;
  animation-delay: var(--gallery-marquee-delay, 0s);
  animation-play-state: running;
  will-change: transform;
}

.gallery-row.animate-gallery-marquee:hover,
.gallery-row.animate-gallery-marquee-reverse:hover {
  animation-play-state: paused;
}

@keyframes gallery-marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes gallery-marquee-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

.gallery-row--speed-a { --gallery-marquee-duration: 58s; --gallery-marquee-delay: -7s; }
.gallery-row--speed-b { --gallery-marquee-duration: 72s; --gallery-marquee-delay: -19s; }
.gallery-row--speed-c { --gallery-marquee-duration: 64s; --gallery-marquee-delay: -31s; }

@media (prefers-reduced-motion: reduce) {
  .gallery-row.animate-gallery-marquee,
  .gallery-row.animate-gallery-marquee-reverse {
    animation: none !important;
    transform: none !important;
  }
}
