/* ============================================================
   Страница «Контакты» — вёрстка по макету Figma (node 1:24)
   Источник макета: figma.com/design/lhOQC61I0C41qmlbZWO983 (1-24)
   Токены: H2 Montserrat 40 / H3 24 / текст 14, цвета ниже.
   ============================================================ */
/* Color 10  — основной текст          */
/* заголовки                           */
/* Ищквукы   — разделители/границы     */
/* Color 11  — светлый фон             */
/* Зелёный                             */
/* планшеты и ниже — колонки в стек     */
/* телефоны — адаптация типографики     */
.kontakty-page {
  padding: 10px 0;
  /* ── Заголовок страницы ───────────────────────────── */
  /* ── Двухколоночная сетка (751 + 20 + остаток) ─────── */
  /* ── Медиа и мессенджеры ──────────────────────────── */
  /* ── Контактная информация (метки + значения) ─────── */
  /* ── Реквизиты ────────────────────────────────────── */
  /* ── Адаптив ──────────────────────────────────────── */
  /* ≤991px (планшеты, Bootstrap sm: container 750px) — колонки в стек,
       форма на всю ширину, чтобы она не схлопывалась */
  /* ≤767px (телефоны) — типографика */
}
.kontakty-page .kp-title {
  margin: 0 0 24px;
  padding: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 1.5;
  color: #1d1d1d;
  text-transform: none;
  text-align: left;
  /* убираем глобальное подчёркивание h1::after — в макете его нет */
}
.kontakty-page .kp-title::after {
  display: none;
}
.kontakty-page .kp-grid {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.kontakty-page .kp-left {
  flex: 1 1 auto;
  /* занимает оставшееся место (≈751 на десктопе) */
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.kontakty-page .kp-right {
  flex: 0 0 365px;
  /* форма фиксированной ширины, как в макете */
  max-width: 365px;
  min-width: 0;
}
.kontakty-page .kp-social-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 60px;
  padding: 16px 0 24px;
  border-bottom: 1px solid #d7d7d7;
}
.kontakty-page .kp-media,
.kontakty-page .kp-messengers {
  display: flex;
  align-items: center;
  gap: 8px;
}
.kontakty-page .kp-social-label {
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
  white-space: nowrap;
}
.kontakty-page .kp-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
}
.kontakty-page .kp-info-row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
.kontakty-page .kp-info-label {
  flex: 0 0 120px;
  line-height: 1.5;
}
.kontakty-page .kp-info-val {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.kontakty-page .kp-info-val a {
  color: #333333;
  text-decoration: underline;
}
.kontakty-page .kp-info-val a:hover {
  text-decoration: none;
}
.kontakty-page .kp-cline {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.5;
}
.kontakty-page .kp-ico {
  flex-shrink: 0;
  display: inline-flex;
  color: #333333;
}
.kontakty-page .kp-req-title {
  margin: 0;
  padding: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.5;
  color: #1d1d1d;
}
.kontakty-page .kp-table {
  border-radius: 8px;
  overflow: hidden;
  /* шапка — #333 */
  /* Строка e-mail в реквизитах — иконка + подчёркнутая ссылка (как в макете) */
}
.kontakty-page .kp-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 0;
}
.kontakty-page .kp-table td {
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #000;
  /* значения — чёрные, как в макете */
  border-bottom: 1px solid #d7d7d7;
  vertical-align: top;
  word-break: break-word;
}
.kontakty-page .kp-table td:first-child {
  width: 45%;
}
.kontakty-page .kp-table tr:nth-child(odd) td {
  background: #f5f7f8;
}
.kontakty-page .kp-table tr:nth-child(even) td {
  background: #fff;
}
.kontakty-page .kp-table tr:first-child td {
  font-weight: 700;
  color: #333333;
}
.kontakty-page .kp-table tr:last-child td {
  border-bottom: none;
}
.kontakty-page .kp-table p {
  margin: 0;
}
.kontakty-page .kp-table .kp-req-mail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.kontakty-page .kp-table .kp-req-mail .kp-ico {
  color: inherit;
}
.kontakty-page .kp-table .kp-req-email {
  color: inherit;
  text-decoration: underline;
}
.kontakty-page .kp-table .kp-req-mail:hover .kp-req-email {
  text-decoration: none;
}
@media (max-width: 991px) {
  .kontakty-page .kp-grid {
    flex-direction: column;
  }
  .kontakty-page .kp-left {
    flex: 1 1 auto;
    width: 100%;
  }
  .kontakty-page .kp-right {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 767px) {
  .kontakty-page .kp-title {
    font-size: 28px;
    margin-bottom: 16px;
  }
  .kontakty-page .kp-social-row {
    gap: 16px 24px;
  }
  .kontakty-page .kp-info-label {
    flex-basis: 96px;
  }
}
