/* Tour stay cards and their single-accommodation expanded galleries. */
#tour_page .accommodation-gallery {
  min-width: 0;
}
#tour_page .accommodation-gallery .stay-card__zoom {
  pointer-events: none;
}
#tour_page .accomm-slider,
#tour_page .mobile-accomm-slider {
  padding-bottom: 40px;
}
#tour_page .accommodation-gallery__thumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: 6px;
}
#tour_page .accommodation-gallery__thumbs button {
  padding: 0;
  width: 50px;
  height: 50px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  overflow: hidden;
  background: #000;
  cursor: pointer;
  opacity: 0.5;
}
#tour_page .accommodation-gallery__thumbs button[aria-pressed="true"] {
  opacity: 1;
  border-color: var(--tru-pink);
}
#tour_page .accommodation-gallery__thumbs button:focus-visible {
  outline: 2px solid var(--tru-pink);
  outline-offset: 2px;
}
#tour_page .accommodation-gallery__thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#tour_page .accommodation-modal {
  overflow-y: auto;
}
#tour_page .accommodation-modal .zoom-modal__inner {
  max-height: calc(100dvh - 5rem);
  overflow-y: auto;
}
#tour_page .accommodation-modal .stay-card__media {
  height: min(60vh, 36rem);
  aspect-ratio: auto;
  border-radius: 10px;
  overflow: hidden;
}
#tour_page .accommodation-modal .image-swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
#tour_page .accommodation-modal .image-swiper img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 10px;
}
@media (max-width: 640px) {
  #tour_page .accommodation-modal .stay-card__media {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}
