/* Manual photo/video gallery. Native scrolling remains usable without script. */
.media-gallery { min-width: 0; width: 100%; --ring: #faf6f0; }
.media-gallery__stage { display: grid; align-items: center; }
.media-gallery.is-enhanced .media-gallery__stage {
  grid-template-columns: 44px minmax(0, 1fr) 44px; column-gap: 12px;
}
.media-gallery__track {
  display: flex; gap: 16px; min-width: 0; overflow-x: auto; overflow-y: hidden;
  overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
  scrollbar-width: thin; background: transparent; border: 0; border-radius: 0;
}
.media-gallery.is-enhanced .media-gallery__track { grid-column: 2; grid-row: 1; scrollbar-width: none; }
.media-gallery.is-enhanced .media-gallery__track::-webkit-scrollbar { display: none; }
.media-gallery__slide {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 100%; min-width: 0; margin: 0; aspect-ratio: 4 / 5; overflow: hidden;
  scroll-snap-align: start; scroll-snap-stop: always;
}
.media-gallery__slide img, .media-gallery__slide video {
  display: block; width: auto; height: auto; max-width: 100%; max-height: 100%;
  object-fit: contain; border: 0; border-radius: var(--radius-media);
}
.media-gallery__arrow {
  grid-row: 1; display: grid; place-items: center;
  width: 44px; height: 44px; padding: 0;
  border: 1px solid rgba(250,246,240,.65); border-radius: 50%;
  color: #faf6f0; background: transparent; cursor: pointer;
}
.media-gallery__arrow--prev { grid-column: 1; }
.media-gallery__arrow--next { grid-column: 3; }
@media (hover: hover) and (pointer: fine) {
  .media-gallery__arrow:hover { background: rgba(250,246,240,.14); }
}
.media-gallery__arrow:active { background: rgba(250,246,240,.14); }
.media-gallery__arrow:focus-visible, .media-gallery__track:focus-visible {
  outline: 3px solid #faf6f0; outline-offset: 3px;
}
.media-gallery__arrow[hidden], .media-gallery__status[hidden] { display: none; }
.media-gallery__status, .media-gallery__hint { margin-top: 1.2rem; text-align: center; font-size: var(--text-small); }
.media-gallery.is-enhanced .media-gallery__hint { display: none; }
@media (max-width: 799px) {
  .soon--wmn .media-gallery { order: -1; max-width: 52rem; justify-self: center; }
  .media-gallery.is-enhanced .media-gallery__stage { column-gap: 8px; }
}
