/* ============================================================
   Подвал v13 — главная и каталог.

   Артборд «Подвал — десктоп и телефон» (канва «Глэмпинги.рф —
   редизайн», правки по созвону 21.10.2026). Переписан с нуля:
   прежняя версия держала семь групп в одной сетке, длинные списки
   (регионы, удобства) уходили на свою строку и оставляли справа
   пустоту на пол-экрана.

   Компьютер: верхняя полоса (логотип, слоган, телефон, соцсети),
   первый ряд — четыре короткие группы в равных колонках, второй —
   регионы и удобства своей полосой с внутренними колонками, внизу
   копирайт и юридические ссылки.
   Телефон: группы — свёрнутые <details>, затем телефон, соцсети,
   юридические ссылки столбиком и копирайт.

   Правила заужены до body.hv13-body (главная v13) и body.cv13
   (каталог v13): подвал общий со всеми страницами сайта.
   ============================================================ */

:is(body.hv13-body, body.cv13) footer {
  margin-top: 72px;
  padding: 44px var(--hv13-pad, clamp(20px, 8.34vw, 120px)) 28px;
  /* Тёмно-зелёная подложка: на светлой ленте подвал сливался с ней */
  background: oklch(21% .018 150);
  color: oklch(92% .008 85);
  font-family: var(--hv13-sans);
}

/* Подвал стоял в контейнере 1400px по центру — расходился с шапкой */
:is(body.hv13-body, body.cv13) footer .content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

:is(body.hv13-body, body.cv13) footer .content > div { display: block; }

/* Как в макете: отступы входят в высоту — иначе строка ссылки 44px вместо 32 */
.hv13f, .hv13f * { box-sizing: border-box; }
.hv13f a { text-decoration: none; }
.hv13f a:visited { color: inherit; }

/* ── Верхняя полоса ──────────────────────────────────────────── */
.hv13f__top {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid oklch(100% 0 0 / .12);
}

.hv13f__logo { display: inline-flex; }
.hv13f__logo img { display: block; height: 32px; width: auto; }

.hv13f__slogan {
  margin: 12px 0 0;
  max-width: 360px;
  font-family: var(--hv13-serif);
  font-style: italic;
  font-size: 15px;
  line-height: 1.5;
  color: oklch(80% .012 85);
}

.hv13f__contacts { margin-left: auto; text-align: right; }

.hv13f__phone {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: oklch(100% 0 0) !important;
}

.hv13f__hours { font-size: 13px; color: oklch(72% .012 85); }

.hv13f__soc { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }

.hv13f__soc a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid oklch(100% 0 0 / .2);
  border-radius: 999px;
  font-family: var(--hv13-mono);
  font-size: 12px;
  color: oklch(92% .008 85) !important;
}

.hv13f__soc a:hover { border-color: oklch(.72 .16 55); color: oklch(.78 .14 60) !important; }

/* ── Группы ссылок ───────────────────────────────────────────── */

/* Первый ряд: четыре равные колонки, списки в них короткие */
.hv13f__cols {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  padding: 30px 0;
  align-items: start;
}

/* Второй ряд: регионы и удобства, у каждой группы три внутренние колонки */
.hv13f__wide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding: 26px 0 8px;
  border-top: 1px solid oklch(100% 0 0 / .12);
}

.hv13f__group { min-width: 0; }

/* На компьютере заголовок группы — просто подпись, не кнопка */
.hv13f__h {
  display: block;
  list-style: none;
  cursor: default;
  pointer-events: none;
  font-family: var(--hv13-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: oklch(66% .02 85);
}

.hv13f__h::-webkit-details-marker { display: none; }

.hv13f__list { display: flex; flex-direction: column; gap: 2px; margin-top: 14px; }

.hv13f__list a,
.hv13f__multi a {
  display: block;
  min-height: 32px;
  padding: 6px 0;
  font-size: 14.5px;
  line-height: 1.35;
  color: oklch(92% .008 85) !important;
}

.hv13f__multi { margin-top: 14px; column-count: 3; column-gap: 24px; }
.hv13f__multi a { break-inside: avoid; font-size: 14px; color: oklch(88% .01 85) !important; }

.hv13f__list a:hover,
.hv13f__multi a:hover {
  color: oklch(100% 0 0) !important;
  text-decoration: underline;
  text-underline-offset: .18em;
}

.hv13f__all {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-top: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: oklch(78% .09 95) !important;
}

.hv13f__all:hover { color: oklch(86% .1 95) !important; }

/* Телефон и соцсети для мобильной раскладки — на компьютере они наверху */
.hv13f__mcontacts { display: none; }

/* ── Нижняя полоса ───────────────────────────────────────────── */
.hv13f__bottom {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 24px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid oklch(100% 0 0 / .12);
  font-size: 13px;
  color: oklch(70% .012 85);
}

.hv13f__legal { display: flex; flex-wrap: wrap; gap: 0 20px; margin-left: auto; }

.hv13f__legal a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: oklch(78% .012 85) !important;
}

.hv13f__legal a:hover { color: oklch(100% 0 0) !important; text-decoration: underline; }

.hv13f__note { flex-basis: 100%; margin: 0; font-size: 12px; color: oklch(60% .012 85); }

/* Ноутбуки: четыре колонки ещё влезают, у полосы регионов две внутренние */
@media (max-width: 1100px) {
  .hv13f__multi { column-count: 2; }
}

@media (max-width: 900px) {
  .hv13f__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hv13f__wide { grid-template-columns: 1fr; }
}

/* ── Телефон: разделы аккордеоном ────────────────────────────── */
@media (max-width: 700px) {
  :is(body.hv13-body, body.cv13) footer { margin-top: 48px; padding: 26px 16px 18px; }

  .hv13f__top { padding-bottom: 0; border-bottom: 0; }
  .hv13f__logo img { height: 28px; }
  .hv13f__slogan, .hv13f__contacts { display: none; }

  .hv13f__cols, .hv13f__wide {
    display: block;
    margin-top: 0;
    padding: 0;
    border-top: 0;
  }

  .hv13f__cols { margin-top: 20px; }

  .hv13f__group { border-bottom: 1px solid oklch(100% 0 0 / .12); }

  .hv13f__h {
    display: flex;
    align-items: center;
    min-height: 56px;
    cursor: pointer;
    pointer-events: auto;
    color: oklch(80% .015 85);
  }

  .hv13f__h::after {
    content: "+";
    margin-left: auto;
    font-family: var(--hv13-sans);
    font-size: 18px;
    letter-spacing: 0;
    color: oklch(72% .012 85);
  }

  .hv13f__group[open] > .hv13f__h::after { content: "−"; }

  .hv13f__list, .hv13f__multi { margin-top: 0; padding: 4px 0 12px; column-count: 1; }

  .hv13f__list a, .hv13f__multi a {
    min-height: 44px;
    padding: 10px 0;
    font-size: 15px;
    color: oklch(90% .01 85) !important;
  }

  .hv13f__all { margin: -6px 0 12px; }

  .hv13f__mcontacts { display: block; margin-top: 22px; }
  .hv13f__mcontacts .hv13f__phone { font-size: 20px; }
  .hv13f__mcontacts .hv13f__soc { justify-content: flex-start; margin-top: 14px; }

  .hv13f__bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-top: 16px;
  }

  .hv13f__legal { order: 1; flex-direction: column; gap: 0; margin-left: 0; }
  .hv13f__legal a { min-height: 40px; font-size: 14px; color: oklch(84% .012 85) !important; }
  .hv13f__note { order: 2; margin-top: 12px; }

  .hv13f__copy {
    order: 3;
    margin-top: 12px;
    font-family: var(--hv13-mono);
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: oklch(62% .012 85);
  }
}

/* Отступ над подвалом показывал белый фон body полосой между светлой
   страницей и тёмным подвалом — красим body в цвет страницы */
html body.hv13-body { background-color: var(--hv13-paper, oklch(99% .003 85)); }
