/* Looping marquee wrapper for Builders section */
.gallery-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-inline: clamp(10px, 2vw, 20px);
}

.gallery-track {
  display: flex;
  align-items: flex-start;
  width: max-content;
  will-change: transform;
  animation: galleryMarquee 60s linear infinite;
}

/* Don't pause on hover (explicit) */
.gallery-track:hover {
  animation-play-state: running;
}

/* Ensure cloned gallery instances sit side-by-side without centering gaps */
.gallery-track .masonry-gallery {
  margin: 0;
  flex: none;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(10px, 1.5vw, 16px);
  width: auto;
  columns: unset;
}

/* Override masonry layout for horizontal flow */
.gallery-track .gallery-item {
  width: 280px;
  margin: 0;
  flex: none;
}

@keyframes galleryMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Creator username badge (shown on hover) */
.creator-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  padding: 8px 12px;
  font-size: var(--font-size-xs);
  font-family: var(--font-ui);
  letter-spacing: var(--letter-spacing-wide);
  color: #eaf7ff;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,0.20), rgba(255,255,255,0.10));
  backdrop-filter: blur(8px) saturate(140%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14), 0 6px 20px rgba(0,0,0,0.25);
  font-weight: var(--font-weight-medium);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 260ms ease, transform 260ms ease;
  pointer-events: none;
}

.gallery-image-wrapper:hover .creator-badge {
  opacity: 1;
  transform: translateY(0);
}

/* Remove fixed column widths on track items */
@media (max-width: 1024px) {
  .gallery-track .gallery-item {
    width: 240px;
  }
}

@media (max-width: 640px) {
  .gallery-track .gallery-item {
    width: 200px;
  }
}

/* Hide navigation arrows when using marquee */
.builders-gallery-section .gallery-nav {
  display: none;
}