/* Блок 2 «Три бани». Кадры «Блок · Три бани» 1920 / 768 / 390. */
.bani { position: relative; isolation: isolate; background: var(--c-bg-linen); }
.bani__in { display: flex; flex-direction: column; gap: 24px; padding-block: 48px; }

/* шапка блока — общие «Надзаголовок» и H2 */
.bani__head { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.eyebrow { font: 600 13px/16px var(--f-sans); letter-spacing: 2px; text-transform: uppercase; color: var(--c-text-2); }
.h2 { font: 400 32px/38px var(--f-serif); color: var(--c-text); }
.bani__lead { font: 400 16px/22px var(--f-sans); color: var(--c-text-2); }
/* «Строка заголовка»: H2 и ссылка справа по низу строки (768 и 1920); на 390 — H2, под ним ссылка */
.bani__headrow { display: flex; flex-direction: column; align-items: flex-start; align-self: stretch; gap: 12px; }

/* «Декор · папоротник» 30 % — внизу слева, поверх карточек (как в кадре) */
/* «Декор · папоротник»: рамка как в кадре, гравюра вписана (FIT); под карточками, чтобы не ложиться на цену и кнопку */
/* F1 (сверка 19.10): в кадрах y папоротника от верха блока постоянен — 1689 / 1020 / 1384 (на Главной и «Банях» одинаково), не от низа */
.bani__fern { position: absolute; z-index: -1; left: -18px; top: 1689px; width: 90px; height: 90px; opacity: .45; pointer-events: none; }
.bani__fern img { width: 100%; height: 100%; object-fit: contain; }

.bani__rows { display: flex; flex-direction: column; gap: 12px; }

/* карточка «Баня · строка», вид «Телефон»: фото сверху, текст под ним */
.banya { display: flex; flex-direction: column; padding: 8px; border-radius: var(--r-l); background: var(--c-bg-milk); overflow: hidden; }
.banya__photo { display: block; flex: none; aspect-ratio: 334 / 210; border-radius: var(--r-m); overflow: hidden; }
.banya__photo img { width: 100%; height: 100%; object-fit: cover; }
.banya__text { display: flex; flex-direction: column; gap: 12px; padding: 16px 12px; }
.banya__title { display: flex; align-items: center; gap: 12px; font-weight: 400; }
.banya__no { font: 400 38px/38px var(--f-digits); color: var(--c-text-muted); }
.banya__name { font: 400 20px/24px var(--f-serif); color: var(--c-text); }
.banya__feature { font: 400 14px/19px var(--f-sans); color: var(--c-text-2); }

/* «Пункт»: компакт — значок 18 + текст 14/19 вторичным */
.banya__points { display: flex; flex-direction: column; gap: 8px; }
.point { display: flex; align-items: flex-start; gap: 8px; font: 400 14px/19px var(--f-sans); color: var(--c-text-2); }
.point .icon { width: 18px; height: 18px; color: var(--c-text); }

.banya__bottom { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding-top: 4px; }
.banya__meta { display: flex; align-items: center; gap: 12px; }
.banya__price { font: 600 20px/24px var(--f-sans); color: var(--c-text); white-space: nowrap; }
.banya__guests { display: inline-flex; align-items: center; gap: 8px; font: 400 14px/19px var(--f-sans); color: var(--c-text-2); white-space: nowrap; }
.banya__guests .icon { width: 16px; height: 16px; color: var(--c-text); }
/* «Цена и условие»: цена+гости и под ними «Условие» (факты карточки Яндекса, 09.10), промежуток 4 */
.banya__sum { display: flex; flex-direction: column; gap: 4px; }
.banya__terms { margin: 0; font: 400 14px/19px var(--f-sans); color: var(--c-text-2); }

/* кнопка «Основная · M» (56): на 768 и 390 во всю ширину колонки */
.banya__bottom .btn { align-self: stretch; }
/* «Подробнее о …» (только /bani/, модификатор --more): ссылка под кнопкой, промежуток 16 (768 и 390) */
.banya__more { align-self: flex-start; }
/* <768: зона нажатия 44 при тексте 20; вид строки не меняется (отрицательные поля), от кнопки «Забронировать» зона ≥8 */
@media (max-width: 767px) {
  .banya__more { display: inline-flex; align-items: flex-start; box-sizing: border-box; min-height: 44px; padding-top: 8px; margin-block: -8px -16px; }
}

@media (min-width: 768px) {
  .bani__in { gap: 32px; padding-block: 64px; }
  .h2 { font-size: 42px; line-height: 48px; }
  .bani__lead { font-size: 18px; line-height: 26px; }
  .bani__headrow { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 24px; }
  .bani__fern { left: -24px; top: 1020px; width: 120px; height: 119px; }
  .bani__rows { gap: 16px; }
  /* вид «Планшет»: фото 310 слева, текст справа */
  .banya { flex-direction: row; padding: 0; }
  .banya__photo { width: 310px; aspect-ratio: auto; border-radius: 0; }
  .banya__text { flex: 1; min-width: 0; gap: 8px; padding: 20px 20px 20px 16px; }
  /* на 768 цена и кнопка друг под другом (промежуток 16) */
  .banya__bottom { gap: 16px; padding-top: 8px; }
}
@media (min-width: 1200px) {
  .bani__in { padding-block: 96px; }
  .h2 { font-size: 56px; line-height: 64px; }
  .bani__lead { max-width: 700px; }
  .bani__fern { left: -40px; top: 1384px; width: 200px; height: 199px; }
  .bani__rows { gap: 12px; }
  /* вид «Справа» / «Слева»: текст 576, фото забирает остаток */
  .banya__photo { order: 2; flex: 1 1 auto; width: auto; }
  .banya--left .banya__photo { order: 0; }
  .banya__text { flex: none; width: 576px; gap: 20px; padding: 40px 24px 40px 48px; }
  .banya--left .banya__text { padding: 40px 48px 40px 24px; }
  .banya__no { font-size: 76px; line-height: 76px; }
  .banya__name { font-size: 34px; line-height: 40px; }
  .banya__feature { font-size: 17px; line-height: 24px; }
  .banya__points { width: 336px; }
  .point { font-size: 16px; line-height: 22px; color: var(--c-text); }
  .point .icon { width: 28px; height: 28px; }
  /* «Низ» в кадре 1920: ряд цена+гости+кнопка, под ним «Условие» на всю ширину, промежуток 12
     (стек «цена+условие» рядом с кнопкой не помещается: условие до 335 + кнопка 217 > 504) */
  .banya__bottom { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px 0; padding: 0 0 8px; } /* «Низ» в кадре 100 при содержимом 92 */
  .banya__sum { display: contents; }
  .banya__meta { grid-column: 1; grid-row: 1; }
  .banya__bottom .btn { align-self: auto; grid-column: 2; grid-row: 1; }
  .banya__terms { grid-column: 1 / -1; grid-row: 2; font-size: 17px; line-height: 24px; }
  /* 1920: «Низ» 124 = ряд 56 + условие 24 + ссылка 20 при промежутках 12, без нижнего запаса 8 */
  .banya--more .banya__bottom { padding-bottom: 0; }
  .banya__more { grid-column: 1 / -1; grid-row: 3; justify-self: start; }
  .banya__price { font-size: 24px; line-height: 28px; }
  .banya__guests { font-size: 17px; line-height: 24px; }
}
