/* ==========================================================================
   СТРУКТУРА: «Обложка» — фото почти во весь экран, заголовок поверх него,
   панель заявки наезжает на фото снизу, дальше узкая колонка.
   ========================================================================== */
.hero .container { max-width: none; padding-inline: 0; }
.hero__inner { display: block; position: relative; }

/* Галерея и заголовок делят одну ячейку сетки — заголовок ложится
   на низ фотографии, а не на низ всего героя. */
.hero__main {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}
.gallery    { grid-row: 1; grid-column: 1; }
.hero__head { grid-row: 1; grid-column: 1; align-self: end; }
.specs      { grid-row: 2; grid-column: 1; }

.gallery { border-radius: 0; box-shadow: none; }
.gallery__stage { aspect-ratio: auto; height: min(88vh, 780px); }
.gallery__thumbs { display: none; }

.hero__head {
  position: relative; z-index: 3;
  padding: 0 clamp(24px, 6vw, 96px) clamp(32px, 6vh, 72px);
  margin: 0;
  color: #fff;
  background: linear-gradient(to top, rgba(8,10,14,.88) 12%, rgba(8,10,14,.35) 55%, transparent);
  pointer-events: none;
}
.hero__head a { pointer-events: auto; }
.hero__title { font-size: clamp(2.2rem, .8rem + 5.6vw, 5.2rem); color: #fff; max-width: 15ch; }
.hero__brand { filter: brightness(0) invert(1); opacity: .9; }
.hero__rating { background: rgba(255,255,255,.14); color: #fff; backdrop-filter: blur(6px); box-shadow: none; }
.hero__rating-meta { color: rgba(255,255,255,.75); }

.booking {
  position: static;
  width: min(1080px, calc(100% - clamp(32px, 8vw, 96px)));
  margin: clamp(-88px, -6vw, -48px) auto 0;
  z-index: 4;
}
.booking__inner { box-shadow: var(--shadow-lg); }
.specs { width: min(1080px, calc(100% - 48px)); margin-inline: auto; }

/* Текстовые секции — узкой журнальной колонкой */
.section--description .container,
.section--terms .container { max-width: 860px; }

@media (max-width: 720px) {
  .gallery__stage { aspect-ratio: 3 / 4; height: auto; }
  .hero__title { max-width: none; }
  .booking { width: calc(100% - 32px); margin-top: var(--sp-5); }
}
