/* ==========================================================================
   СТРУКТУРА: «Витрина» — все шесть фотографий видны сразу мозаикой,
   без слайдера. Заявка — широкой полосой под мозаикой.
   ========================================================================== */
.gallery__stage { aspect-ratio: auto; height: auto; overflow: visible; }
.gallery__track {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: clamp(120px, 13vw, 190px);
  gap: 6px;
  height: auto;
  transform: none !important;
}
.gallery__slide { flex: none; height: 100%; }
.gallery__slide:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gallery__slide:nth-child(4) { grid-column: span 2; }
.gallery__slide:nth-child(5),
.gallery__slide:nth-child(6) { grid-column: span 2; }   /* нижний ряд без пустых ячеек */
.gallery__slide.is-active img { animation: none; }
.gallery__slide img { transition: transform .5s var(--ease); }
.gallery__slide:hover img { transform: scale(1.05); }
.gallery__nav, .gallery__counter, .gallery__thumbs { display: none; }
.gallery__zoom { right: 10px; bottom: 10px; }

/* align-items: stretch обязателен: в базе у .hero__inner стоит start (для
   сеточной раскладки «рельс»), а в колоночном флексе start сжимает детей
   по содержимому — галерея схлопывалась до ширины своей сетки. */
.hero__inner { display: flex; flex-direction: column; align-items: stretch; gap: var(--sp-5); }
.hero__main  { display: contents; }
.hero__head  { order: -1; }
.gallery     { order: 0; }
.specs       { order: 1; }
.booking     { order: 2; position: static; width: 100%; }

@media (min-width: 981px) {
  .booking__inner {
    display: grid;
    grid-template-columns: auto 1fr 1fr auto;
    align-items: end;
    gap: var(--sp-5);
  }
  .booking__price { margin: 0; align-self: center; }
  .booking__form  { display: contents; }
  .booking__dates, .booking__places, .booking__total { margin: 0; }
  .booking__total { min-height: 0; align-self: center; }
  .booking__call, .booking__note { display: none; }
  .booking__terms { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: var(--sp-6); margin: 0; }
}

@media (max-width: 720px) {
  /* Две колонки: крупный кадр сверху, две пары, широкий замыкающий. */
  .gallery__track { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 108px; }
  .gallery__slide:nth-child(1) { grid-column: span 2; grid-row: span 2; }
  .gallery__slide:nth-child(4),
  .gallery__slide:nth-child(5) { grid-column: auto; }
  .gallery__slide:nth-child(6) { grid-column: span 2; }
}
