/* Внутренние страницы «Как добраться» и «Контакты» (кадры «Как добраться · 1920 / 768 / 390» и «Контакты · 1920 / 768 / 390»).
   Общее с /ceny/ (первый экран страницы, крошки) — в ceny.css; блоки главной (eyebrow, h2 — bani.css; ссылка со стрелкой и звёзды — otzyvy.css). */

/* ===== «Карта · плашка»: картинка-плашка без скриптов; метки в процентах кадра (390 «Телефон» → 768 «Планшет» → ≥1200 «Широкий» / «Компакт») ===== */
.pmapsec { padding-block: 48px 24px; }
.pmap { position: relative; display: flex; flex-direction: column; gap: 12px; }
.pmap__map { position: relative; height: 260px; border-radius: var(--r-l); overflow: hidden; background: var(--c-line); }
.pmap__img, .pmap__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.pmap__img img { object-fit: cover; }
.pmap__pin { position: absolute; left: 43.143%; top: 36.923%; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--c-sage); color: var(--c-text-light); }
.pmap__pin .icon { width: 32px; height: 32px; }
.pmap__tag { position: absolute; padding: 8px 16px; border-radius: var(--r-pill); background: var(--c-bg-milk); color: var(--c-text); font: 400 14px/20px var(--f-sans); white-space: nowrap; }
.pmap__tag--rp { right: 12px; top: 20%; } /* в кадре 390: x 128 при ширине 350 и плашке 210 — отступ справа 12 */
.pmap__tag--ad { left: 3.429%; top: 60%; }
.pmap__route { display: none; }

/* «Карточка адреса»: молочная, r24; на 390 под картой, с 768 поверх неё */
.pmap__card { display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: var(--r-l); background: var(--c-bg-milk); }
.pmap__card .icon { width: 20px; height: 20px; flex: none; }
.pmap__addr, .pmap__tel, .pmap__hours { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--c-text); text-decoration: none; }
.pmap__addr { font: 400 18px/26px var(--f-sans); }
.pmap__tel { gap: 12px; font: 600 20px/26px var(--f-sans); white-space: nowrap; }
.pmap__hours { font: 400 15px/21px var(--f-sans); }
.pmap__act { padding-top: 8px; }
.pmap__act .btn { display: flex; width: 100%; }
/* 768–1199: адрес в карточке в одну строку — поля 32/28, карточка 340×281 */
/* F20: кнопка «Построить маршрут» в кадре 768 — 276×56 (x 88–364, поля карточки 32); текст карточки остаётся на полях 28, чтобы адрес не ушёл на вторую строку */
@media (min-width: 768px) and (max-width: 1199px) { .pmap .pmap__card { padding: 32px 28px; } .pmap .pmap__act { padding-inline: 4px; } }

@media (min-width: 768px) {
  .pmapsec { padding-block: 64px 32px; }
  .pmap__map { height: 440px; }
  .pmap__pin { left: 67.614%; top: 28.636%; }
  .pmap__tag--rp { left: 68.466%; right: auto; top: 18.636%; }
  .pmap__tag--ad { left: 76.278%; top: 47.727%; }
  .pmap__card { position: absolute; left: 24px; bottom: 24px; width: 340px; padding: 32px; }
}
@media (min-width: 1200px) {
  .pmapsec { padding-block: 96px 48px; }
  .pmap__map { height: 560px; }
  .pmap__pin { left: 73.286%; top: 45.714%; }
  .pmap__tag--rp { left: 77.571%; top: 37.857%; }
  .pmap__tag--ad { left: 62.214%; top: 56.429%; }
  .pmap__card { left: 40px; top: 50%; bottom: auto; width: 400px; transform: translateY(-50%); }
  /* «Компакт» (Контакты): 680×520, без карточки адреса, кнопка маршрута снизу слева */
  .pmap--compact .pmap__map { height: 520px; }
  .pmap--compact .pmap__pin { left: 46.471%; top: 33.846%; }
  .pmap--compact .pmap__tag--rp { left: 55.294%; top: 25.385%; }
  .pmap--compact .pmap__tag--ad { left: 23.676%; top: 45.385%; }
  .pmap--compact .pmap__route { position: absolute; left: 32px; bottom: 32px; display: inline-flex; }
}

/* ===== «Остановка и парковка»: фото во всю ширину, затемнение снизу, «Пункты · чан» ===== */
.pstop { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: 700px; padding-block: 48px; overflow: hidden; background: var(--c-bg-spruce); color: var(--c-text-light); }
.pstop__bg, .pstop__bg img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.pstop__bg img { object-fit: cover; }
.pstop::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(to top, rgba(31, 45, 34, .98) 0%, rgba(31, 45, 34, .93) 50%, rgba(31, 45, 34, .55) 80%, rgba(31, 45, 34, .05) 100%);
}
.pstop__in { display: flex; flex-direction: column; gap: 48px; }
.pstop__box { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; } /* «Пункты и ссылка»: пункты и под ними (через 24) «Подробнее о бассейне и чане» */
.pstop__box .pstop__items { align-self: stretch; }
.pstop__head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
/* «Надзаголовок / На фото-линии»: золотые линии 32×1 по бокам */
.eyebrow-line { display: inline-flex; align-items: center; gap: 16px; margin: 0; font: 600 13px/16px var(--f-sans); letter-spacing: 2px; text-transform: uppercase; color: var(--c-text-light); }
.eyebrow-line::before, .eyebrow-line::after { content: ''; width: 32px; height: 1px; background: var(--c-gold); }
.pstop .pstop__h2 { margin: 0; color: var(--c-text-light); font-size: 24px; line-height: 30px; }
.pstop__items { display: flex; flex-direction: column; gap: 16px; }
.pstop__item { display: flex; align-items: center; gap: 16px; font: 400 18px/26px var(--f-sans); }
.pstop__item .icon { width: 40px; height: 40px; flex: none; color: var(--c-gold); stroke-width: 1.05; } /* штрих 1,75 px при любом размере значка (1,75 × 24 / размер) */
.pstop__sep { height: 1px; background: var(--c-line-dark); }

@media (min-width: 768px) {
  .pstop { min-height: 720px; padding-block: 64px; }
  .pstop::before { background: linear-gradient(to top, rgba(31, 45, 34, .94) 0%, rgba(31, 45, 34, .82) 30%, rgba(31, 45, 34, .35) 55%, rgba(31, 45, 34, 0) 72%); }
  .pstop .pstop__h2 { font-size: 42px; line-height: 48px; }
  .pstop__items { flex-direction: row; align-items: center; gap: 16px; }
  .pstop__item { flex: 1 1 0; min-width: 0; gap: 12px; font-size: 15px; line-height: 22px; }
  .pstop__item .icon { width: 28px; height: 28px; stroke-width: 1.5; }
  .pstop__sep { flex: none; width: 1px; height: 48px; }
}
@media (min-width: 1200px) {
  .pstop { min-height: 800px; padding-block: 96px; }
  .pstop::before { background: linear-gradient(to top, rgba(31, 45, 34, .92) 0%, rgba(31, 45, 34, .8) 25%, rgba(31, 45, 34, .4) 50%, rgba(31, 45, 34, 0) 68%); }
  .pstop .pstop__h2 { font-size: 56px; line-height: 64px; }
  .pstop__items { gap: 40px; }
  .pstop__item { gap: 16px; font-size: 20px; line-height: 28px; }
  .pstop__item .icon { width: 48px; height: 48px; stroke-width: .875; }
}

/* ===== «Сколько ехать»: «Ведомость · строка» — значок, откуда, минуты Prata ===== */
.pdoroga { position: relative; isolation: isolate; overflow: hidden; }
.pdoroga__in { display: flex; flex-direction: column; gap: 24px; padding-block: 48px; }
.pdoroga__head { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pdoroga__decor { display: none; }
.pdoroga__decor img { width: 100%; height: 100%; object-fit: contain; }
/* 768–1199 (ТЗ-гравюры-внутренние, п. 12): под ведомостью справа, 320×183, .2; с 1200 — правило кадра ниже */
@media (min-width: 768px) and (max-width: 1199px) { .pdoroga__decor { display: block; position: absolute; z-index: -1; right: 0; bottom: -38px; width: 240px; height: 137px; opacity: .2; pointer-events: none; } }
.vedom { display: flex; flex-direction: column; max-width: 1000px; }
.vrow { display: flex; align-items: center; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--c-line); }
.vrow__icon { display: flex; flex: none; color: var(--c-sage); }
.vrow__icon .icon { width: 24px; height: 24px; }
.vrow__name { flex: 1; min-width: 0; font: 600 18px/26px var(--f-sans); color: var(--c-text); }
.vedom { --vrow-val-w: 128px; } /* одна ширина колонки значений на все строки (<768) */
.vrow__val { flex: none; width: var(--vrow-val-w); text-align: right; font: 400 26px/30px var(--f-digits); color: var(--c-text); white-space: nowrap; }
/* «Центр Сочи»: название и подпись столбиком (промежуток 4); на 390 «около 60 минут» — две строки в колонке 128 («около» / «60 минут»; в кадре три строки в колонке 94, но число и единица не разрываем) */
.vrow__who { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.vrow__who .vrow__name { flex: none; }
.vrow__note { font: 400 15px/21px var(--f-sans); color: var(--c-text-2); }
.vrow__val--long { white-space: normal; } /* «около» / «60 минут» (число с единицей не рвётся, в кадре 390 были три строки в колонке 94) */

@media (min-width: 768px) {
  .vrow__val, .vrow__val--long { width: auto; white-space: nowrap; }
  .pdoroga__in { gap: 32px; padding-block: 64px; }
  .vrow { gap: 24px; }
  /* «Значок в круге»: 64, золотая обводка 1,5, знак 26 */
  .vrow__icon { align-items: center; justify-content: center; width: 64px; height: 64px; border: 1.5px solid var(--c-gold); border-radius: 50%; color: var(--c-text); }
  .vrow__icon .icon { width: 26px; height: 26px; stroke-width: 1.6; }
  .vrow__val { font-size: 40px; line-height: 44px; }
}
@media (min-width: 1200px) {
  .pdoroga__in { padding-block: 96px; }
  .vrow__val { font-size: 48px; line-height: 52px; }
  /* гравюра гор 0,2 справа от ведомости: кадр 560×320 на x 1280, y 198 */
  .pdoroga__decor { display: block; position: absolute; z-index: -1; left: calc(50% + 320px); top: 198px; width: min(560px, calc(50% - 320px)); aspect-ratio: 560 / 320; height: auto; opacity: .2; pointer-events: none; }
}
/* 1200–1439: справа от ведомости (она до x 1040) места меньше 400 — гравюра сюда не помещалась и уходила за край под числа; скрыта (в разметке заглушка).
   С 1440 ширина = от левого края (50% + 320) до края экрана, не больше 560: на 1920 — кадр 560×320 */
@media (min-width: 1200px) and (max-width: 1439px) { .pdoroga__decor { display: none; } }

/* ===== «Связаться» (Контакты) ===== */
/* «Декор · папоротник» (ТЗ-гравюры-внутренние, п. 10): левый нижний угол блока, рамка и прозрачность — как .bani__fern главной (bani.css) */
.psv { position: relative; isolation: isolate; }
.psv__fern { position: absolute; z-index: -1; right: 20px; top: 48px; width: 90px; height: 90px; opacity: .45; pointer-events: none; }
.psv__fern img { width: 100%; height: 100%; object-fit: contain; }
/* до 1200 — правый верхний угол блока (внизу её закрывала карта); с 1870 — левый нижний угол, как на главной */
@media (min-width: 768px) { .psv__fern { right: 32px; top: 64px; width: 120px; height: 119px; } }
@media (min-width: 1200px) {
  .psv { overflow: clip; } /* в кадре папоротник на 30 px ниже низа блока — секция обрезает гравюру */
  .psv__fern { right: auto; top: auto; left: -40px; bottom: -30px; width: 200px; height: 199px; }
}
.psv__in { display: flex; flex-direction: column; gap: 32px; padding-block: 48px; }
.psv__col { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; min-width: 0; }
.psv__col .eyebrow { margin: 0; }
.psv__tel { font: 400 26px/30px var(--f-digits); color: var(--c-text); text-decoration: none; white-space: nowrap; }
.psv__hours { margin: 0; font: 400 18px/26px var(--f-sans); color: var(--c-text-2); }
.psv__btns { display: flex; flex-wrap: wrap; gap: 12px; }
/* «Кнопка · мессенджер»: те же 48, поля 8/24/8/8; здесь подпись всегда полная, ширина по содержимому */
.psv__btn { flex: none; }
/* правка макета 11.10, 390: три кнопки столбиком во всю колонку (350), промежуток 12, содержимое по центру */
@media (max-width: 767px) {
  .psv__btns { flex-direction: column; flex-wrap: nowrap; align-self: stretch; }
  .psv__btn { width: 100%; justify-content: center; }
}
.psv__addr { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; font: 400 18px/26px var(--f-sans); color: var(--c-text); }
.psv__addr .icon { width: 20px; height: 20px; flex: none; }
@media (min-width: 768px) {
  .psv__in { padding-block: 64px; }
  .psv__tel { font-size: 40px; line-height: 44px; }
}
@media (min-width: 1200px) {
  .psv__in { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; padding-block: 96px; }
  .psv__tel { font-size: 48px; line-height: 52px; }
}

/* ===== «Нас нашли»: молочная полоса с двумя рейтингами ===== */
.pnash { padding-bottom: 48px; }
.pnash__box { display: flex; flex-direction: column; gap: 24px; padding: 24px 20px; border-radius: var(--r-l); background: var(--c-bg-milk); }
.pnash__h2 { margin: 0; font: 400 24px/30px var(--f-serif); color: var(--c-text); }
.pnash__cols { display: flex; flex-direction: column; gap: 24px; }
.pnash__line { height: 1px; background: var(--c-line); }
.pnash__rate { display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 0; text-align: center; }
.pnash__num { margin: 0; font: 400 40px/40px var(--f-digits); color: var(--c-text); }
.pnash__cap { margin: -4px 0 0; font: 400 15px/21px var(--f-sans); color: var(--c-text-2); }
@media (min-width: 768px) {
  .pnash { padding-bottom: 64px; }
  .pnash__box { padding: 40px 48px; }
  .pnash__h2 { font-size: 36px; line-height: 42px; }
  .pnash__cols { display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); gap: 40px; }
  .pnash__line { width: 1px; height: auto; }
}
@media (min-width: 1200px) {
  .pnash { padding-bottom: 96px; }
  .pnash__box { flex-direction: row; align-items: center; justify-content: space-between; gap: 48px; }
  .pnash__cols { grid-template-columns: 280px 1px 280px; flex: none; }
}
