/*
 * Vektor Child — Ф1 Page Templates Styles
 * page-contacts.php · page-company.php · page-keysi.php ·
 * page-privacy-policy.php · page-soglasie.php · page.php (fallback)
 *
 * Все правила скоуплены под .vkt-pg (обёртка секции этих шаблонов) —
 * front-page.css грузится site-wide (functions.php, временно), поэтому
 * .vkt-card/.vkt-grid/.vkt-btn/.vkt-advantages/.vkt-portfolio-card уже
 * доступны без дублирования; здесь — только компоненты, которых в ките
 * ещё нет (инфо-блок контактов, карты, ROI-калькулятор, интро компании,
 * типографика длинного юртекста) + отступы между блоками.
 * Namespace: vkt-pg*, vkt-contact-*, vkt-roi-calc*, vkt-company-intro*, vkt-reqs.
 */

/* =====================================================================
   ОБЁРТКА И БАЗОВЫЕ ОТСТУПЫ
   ===================================================================== */

.vkt-pg h1 { margin-bottom: var(--space-6); }
.vkt-pg h2 { margin-top: var(--space-8); margin-bottom: var(--space-5); }
.vkt-pg h2:first-of-type { margin-top: 0; }

.vkt-pg__actions { margin-block: var(--space-6); }
.vkt-pg__note { font-size: var(--text-2xs); color: var(--color-ink-muted); margin-top: var(--space-5); }

/* =====================================================================
   КОНТАКТЫ — инфо-карточка (адреса/часы/телефон/почта)
   ===================================================================== */

.vkt-contact-info {
  display: grid;
  gap: var(--space-5);
  margin-bottom: var(--space-2);
}
@media (min-width: 700px) {
  .vkt-contact-info { grid-template-columns: repeat(2, 1fr); }
}
.vkt-contact-info__item { display: flex; flex-direction: column; gap: 4px; }
.vkt-contact-info__label {
  font-size: var(--text-2xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--color-ink-muted);
}
.vkt-contact-info__value { font-size: var(--text-base); color: var(--color-ink); }
.vkt-contact-info__value a { color: var(--color-accent); text-decoration: none; }
.vkt-contact-info__value a:hover { text-decoration: underline; }

/* Схемы проезда — конструктор Яндекс.Карт пишет фикс-ширину iframe,
   заворачиваем в скролл-контейнер, чтобы не распирало мобайл. */
.vkt-contact-map {
  margin-bottom: var(--space-7);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  overflow-x: auto;
  background: var(--color-bg-light);
}
.vkt-contact-map__photo {
  max-width: 100%;
  border-radius: var(--radius-card);
  margin-bottom: var(--space-8);
  display: block;
}

/* ROI-калькулятор — визуал 1:1, значения статичные (TODO Ф2 в шаблоне) */
.vkt-roi-calc__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
  margin-top: var(--space-2);
}
@media (max-width: 900px) {
  .vkt-roi-calc__row { grid-template-columns: 1fr; }
}
.vkt-roi-calc__field { display: flex; flex-direction: column; gap: var(--space-2); }
.vkt-roi-calc__field label {
  font-size: var(--text-2xs);
  font-weight: 700;
  color: var(--color-ink-muted);
}
.vkt-roi-calc__field select,
.vkt-roi-calc__field input[type="text"] {
  min-height: 44px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  padding-inline: var(--space-3);
  font-family: var(--font-body);
  font-size: var(--text-base);
  background: var(--color-white);
  color: var(--color-ink);
}
.vkt-roi-calc__field select:disabled,
.vkt-roi-calc__field input:disabled {
  opacity: .65;
  cursor: not-allowed;
  background: var(--color-bg-light);
}
.vkt-roi-calc__label { font-size: var(--text-2xs); color: var(--color-ink-muted); margin-top: var(--space-2); }
.vkt-roi-calc__result { font-size: var(--text-lg); font-weight: 700; color: var(--color-accent); }

/* =====================================================================
   КОМПАНИЯ — интро (текст + фото)
   ===================================================================== */

.vkt-company-intro {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: var(--space-8);
  align-items: start;
  margin-bottom: var(--space-2);
}
@media (max-width: 900px) {
  .vkt-company-intro { grid-template-columns: 1fr; }
}
.vkt-company-intro p { margin-bottom: var(--space-4); max-width: 68ch; }
.vkt-company-intro strong { color: var(--color-ink); }
.vkt-company-intro figure { margin: 0; }
.vkt-company-intro img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-sm);
  display: block;
}
.vkt-company-intro figcaption {
  font-size: var(--text-2xs);
  color: var(--color-ink-muted);
  text-align: center;
  margin-top: var(--space-3);
}

/* =====================================================================
   БЛОК РЕКВИЗИТОВ (Ф1, S2 — contacts и company)
   ===================================================================== */

.vkt-reqs {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: var(--space-6);
  margin-top: var(--space-8);
  background: var(--color-bg-light);
}
.vkt-reqs h3 { margin-bottom: var(--space-4); font-size: var(--text-md); }
.vkt-reqs p { margin: 0; font-size: var(--text-2xs); line-height: 1.9; color: var(--color-ink-muted); }

/* =====================================================================
   ЮРТЕКСТ (privacy-policy, soglasie) — the_content(), читаемая ширина
   ===================================================================== */

.vkt-pg__prose { max-width: 860px; }
.vkt-pg__prose h1 { margin-bottom: var(--space-7); }
.vkt-pg__prose h2 { margin-top: var(--space-8); margin-bottom: var(--space-4); }
.vkt-pg__prose h2:first-of-type { margin-top: 0; }
.vkt-pg__prose h3 { margin-top: var(--space-6); margin-bottom: var(--space-3); font-size: var(--text-lg); }
.vkt-pg__prose p { margin-bottom: var(--space-4); max-width: 72ch; }
.vkt-pg__prose p + p { margin-top: 0; }
.vkt-pg__prose strong { color: var(--color-ink); }
.vkt-pg__prose hr { border: none; border-top: 1px solid var(--color-border); margin-block: var(--space-6); }
.vkt-pg__prose ul, .vkt-pg__prose ol { margin: 0 0 var(--space-4); padding-left: var(--space-6); max-width: 72ch; }
.vkt-pg__prose li + li { margin-top: var(--space-2); }

/* =====================================================================
   АДАПТИВ
   ===================================================================== */

@media (max-width: 767px) {
  .vkt-pg__prose p,
  .vkt-company-intro p { max-width: 100%; }
}

/* =====================================================================
   ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ (page-id-1057) — во всю ширину контейнера.
   Владелец 2026-09-15: юридический текст читают выборочно, поиском по
   странице, поэтому колонка 72ch не нужна — растягиваем на контейнер.
   Ограничение снято ТОЛЬКО на этой странице, остальные страницы
   сохраняют читаемую колонку.
   ===================================================================== */

.page-id-1057 .vkt-pg__prose { max-width: 100%; }

.page-id-1057 .vkt-pg__prose p,
.page-id-1057 .vkt-pg__prose ul,
.page-id-1057 .vkt-pg__prose ol {
  max-width: 100%;
  overflow-wrap: break-word; /* длинные адреса и реквизиты не рвут вёрстку */
}

/* Мобильные: контейнер уже даёт боковые отступы, добавляем только
   аккуратную типографику для длинного текста на узком экране. */
@media (max-width: 767px) {
  .page-id-1057 .vkt-pg__prose p,
  .page-id-1057 .vkt-pg__prose li { font-size: var(--text-base); line-height: 1.65; }
  .page-id-1057 .vkt-pg__prose h1 { font-size: clamp(28px, 7vw, 36px); margin-bottom: var(--space-5); }
  .page-id-1057 .vkt-pg__prose h2 { font-size: clamp(22px, 5.5vw, 28px); margin-top: var(--space-7); }
  .page-id-1057 .vkt-pg__prose ul,
  .page-id-1057 .vkt-pg__prose ol { padding-left: var(--space-5); }
}
