/* ============ Страница контактов /kontakty/ (макета нет — из токенов и блоков 67:2 / UI-кита 71:2) ============
   Маршрут — плашка .route, машина и маломобильные — .notes, мессенджеры — кнопки .ask__btn из записи. */

/* Контакты слева, карта справа */
.contacts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 56px; align-items: stretch; }
.cinfo { min-width: 0; display: flex; flex-direction: column; }
.cinfo__item { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding-block: 24px; border-top: 1px solid var(--haze); }
.cinfo__item:first-child { border-top: 0; padding-top: 0; }
.cinfo__item:last-child { padding-bottom: 0; }
.cinfo__label { font-weight: 600; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--rose); }
.cinfo__value {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.3;
  color: var(--ink);
  overflow-wrap: anywhere;
}
a.cinfo__value { transition: color .2s ease; }
a.cinfo__value:hover { color: var(--rose); }
.cinfo__value--sm { font-family: var(--font-sans); font-size: 18px; }
.cinfo__text { font-size: 15px; line-height: 1.55; color: var(--ink-soft); }
.cinfo .ask__list { width: 100%; max-width: 420px; }

/* Карта: виджет Яндекса без ключа, грузится лениво */
.cmap { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cmap__box { flex: 1 1 auto; min-height: 440px; border: 1px solid var(--haze); border-radius: var(--r-lg); overflow: hidden; background: var(--blush); }
.cmap__frame { display: block; width: 100%; height: 100%; min-height: 440px; border: 0; }
.cmap__links { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.cmap__link,
.note__text a {
  color: var(--rose);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(138, 74, 94, .35);
}
.cmap__link { font-size: 14.5px; line-height: normal; }
.cmap__link:hover,
.note__text a:hover { color: var(--rose-dark); text-decoration-color: currentColor; }
.note__text a[href^="tel:"] { white-space: nowrap; }

/* «В центре»: заголовок над текстом, а не над всей парой колонок */
.split .prose .h2 { margin-bottom: 16px; }

@media (max-width: 1024px) {
  .contacts { gap: 40px; }
  .cinfo__value { font-size: 24px; }
}
@media (max-width: 900px) {
  .contacts { grid-template-columns: 1fr; gap: 32px; }
  .cmap__box, .cmap__frame { min-height: 340px; }
}
@media (max-width: 768px) {
  .cinfo__item { padding-block: 18px; gap: 6px; }
  .cinfo__label { font-size: 12px; }
  .cinfo__value { font-size: 22px; }
  .cinfo__value--sm { font-size: 16px; }
  .cinfo__text { font-size: 14px; }
  .cinfo .ask__list { max-width: none; }
  .cmap__box, .cmap__frame { min-height: 300px; }
  .cmap__box { border-radius: var(--r-md); }
  .cmap__link { font-size: 14px; }
  .split .prose .h2 { margin-bottom: 12px; }
}
