/* Flat visual-design gallery: one horizontal row with vertical 3:4 thumbnails. */
.poster-scene .gallery-viewport {
  top: 25vh;
  height: 65vh;
  perspective: none !important;
}

.poster-scene .gallery-track {
  top: 52%;
}

.poster-scene .gallery-card {
  width: min(17vw, 250px) !important;
  aspect-ratio: 3 / 4 !important;
  transform:
    translate(-50%, -50%)
    translateX(calc(var(--offset) * min(20vw, 300px))) !important;
  opacity: clamp(.18, calc(1 - var(--abs-offset) * .16), 1) !important;
  will-change: transform, opacity;
}

.poster-scene .gallery-art {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4 !important;
  transform: none !important;
  box-shadow: 0 22px 46px rgba(20, 22, 28, .15);
}

.poster-scene .gallery-art.has-real-image {
  background-color: #e8e4dc !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.poster-scene .gallery-art.has-real-image::before,
.dialog-visual.has-real-image::before {
  display: none !important;
}

.poster-scene .gallery-art.has-real-image .card-copy {
  left: 0;
  right: 0;
  bottom: 0;
  padding: 34px 14px 13px;
  color: #fff;
  background: linear-gradient(to top, rgba(0, 0, 0, .72), transparent);
  text-shadow: 0 1px 8px rgba(0, 0, 0, .55);
}

.dialog-visual.has-real-image {
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

@media (max-width: 900px) {
  .poster-scene .gallery-viewport {
    top: 27vh;
    height: 61vh;
  }

  .poster-scene .gallery-card {
    width: min(38vw, 240px) !important;
    transform:
      translate(-50%, -50%)
      translateX(calc(var(--offset) * min(44vw, 285px))) !important;
  }
}

@media (max-width: 620px) {
  .poster-scene .gallery-card {
    width: 52vw !important;
    transform:
      translate(-50%, -50%)
      translateX(calc(var(--offset) * 59vw)) !important;
  }
}