/* ЛОКАЛЬНЫЙ СЛОЙ — подвал. Утопленная поверхность, не тёмная: вторая тёмная
   плита разрушила бы якорь блока основателя.

   Устройство — вариант «Г. Реквизиты полосой», выбранный Заказчиком
   01.09.2026 (черновики и замеры — v3/CHECKLIST.md, «Варианты подвала»).
   Ярусов три вместо четырёх: колонки ссылок, полоса реквизитов во всю
   ширину, нижняя полоса. Контакты и почта не отдельный ярус, а пятая
   колонка — на этом подвал и потерял 431 px из прежних 934. */
/* position + z-index: подвал должен лежать поверх карты, а не под ней. */
.zw-footer { position: relative; z-index: 1; background: var(--surface-sunken); border-top: 1px solid var(--line); padding-block: var(--section-y-tight) 24px; font-size: var(--size-small); }

/* --- колонки -------------------------------------------------------------- */
.zw-footer__cols {
  display: grid;
  gap: var(--sp-6);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* Пока колонок меньше пяти, контакты идут полосой под ссылками: в узкой
   сетке им достаётся 150 px, и адрес в них рвётся по слогам. */
.zw-footer__contacts { grid-column: 1 / -1; }
.zw-footer__col-title {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-mono);
  font-size: var(--size-caption);
  letter-spacing: var(--tracking-caption);
  text-transform: uppercase;
  color: var(--ink-muted);
}
.zw-footer__col ul { margin: 0; padding: 0; list-style: none; }
.zw-footer__col a { display: flex; align-items: center; min-height: 30px; line-height: 1.35; }
.zw-footer__col a:hover { color: var(--accent-ink); }

/* --- пятая колонка: город, почта, соцсети --------------------------------- */
.zw-footer__contacts { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-2); }
/* Строки колонки тянутся на всю её ширину: без этого flex сжимает абзац
   до содержимого самой длинной неразрывной части, и почта ломается
   на четыре строки вместо двух. */
.zw-footer__contacts > * { width: 100%; }
.zw-footer__phone { font-family: var(--font-mono); font-size: 21px; font-weight: 500; letter-spacing: -0.01em; }
.zw-footer__phone:hover { color: var(--accent-ink); }
.zw-footer__addr { margin: 0; line-height: 1.5; color: var(--ink-body); }
.zw-footer__hours { margin: 0; font-family: var(--font-mono); font-size: 13px; color: var(--ink-muted); }
.zw-footer__mail { margin: var(--sp-1) 0 0; font-size: 13px; line-height: 1.7; color: var(--ink-muted); }
.zw-footer__mail span { display: block; }
/* в колонке ссылка — строка списка высотой в палец; почта же стоит внутри
   фразы, и тот же flex ломал каждую строку надвое */
.zw-footer__mail a { display: inline; min-height: 0; font-weight: 600; color: var(--ink); }
.zw-footer__mail a:hover { color: var(--accent-ink); }

.zw-footer__socials { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); margin-top: var(--sp-1); }
.zw-footer__socials a { display: inline-flex; align-items: center; gap: var(--sp-2); min-height: 32px; color: var(--ink-body); }
.zw-footer__socials a:hover { color: var(--ink); }

/* --- полоса реквизитов ----------------------------------------------------
   Юридическая часть идёт строкой во всю ширину, а не столбиком в колонке:
   три строки собираются в одну через точку-разделитель, оговорки — второй. */
.zw-footer__band {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  margin-top: var(--sp-6);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line);
}
.zw-footer__req { margin: 0; font-size: 12px; line-height: 1.55; color: var(--ink-muted); }
.zw-footer__band i { font-style: normal; color: var(--line-strong); padding-inline: 2px; }

/* --- нижняя полоса --------------------------------------------------------
   Разделов в ней нет: они стоят колонкой выше. Слева знак и копирайт,
   справа — единственная ссылка, за которой сюда приходят. */
.zw-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3) var(--sp-5);
  margin-top: var(--sp-4);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line);
  font-size: 13px;
}
.zw-footer__logo { margin: 0; font-family: var(--font-head); font-size: 22px; font-weight: 800; letter-spacing: -0.02em; }
.zw-footer__logo b { color: var(--accent); }
.zw-footer__copy { color: var(--ink-muted); }
.zw-footer__all { margin-left: auto; }
.zw-footer__all .zw-link-arrow { font-size: 13px; min-height: 32px; }
/* стрелка садится на оптический центр строки, а не на центр её бокса:
   у гарнитуры подъём бокса больше спуска, и текст читается ниже стрелки */
.zw-footer__all .zw-ico--arrow { transform: translateY(1.2px); }
.zw-footer__all .zw-link-arrow:hover .zw-ico--arrow { transform: translate(3px, 1.2px); }

@media (min-width: 700px) {
  .zw-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .zw-footer__cols { grid-template-columns: 1.1fr .7fr .7fr 1fr 1.3fr; }
  .zw-footer__contacts { grid-column: auto; }
}
