/* Подвал navigatorgrp.ru (редизайн 28.10.2026), разметка — template/footer.php, классы nf-*.
   Старый navi-footer.css остаётся ради cookie-баннера, окна настроек cookie и кнопки чата. */

.nf {
  --nf-bg: #1f2328;
  --nf-line: rgba(255, 255, 255, .08);
  --nf-text: #d3d8e2;
  --nf-muted: rgba(255, 255, 255, .62);
  --nf-accent: #30a495;
  --nf-accent-hi: #20c9ac;
  background: var(--nf-bg);
  color: var(--nf-text);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 32px;
}
.nf *, .nf *::before, .nf *::after { box-sizing: border-box; }
.nf a { color: inherit; text-decoration: none; }
.nf a:focus-visible, .nf button:focus-visible { outline: 2px solid var(--nf-accent); outline-offset: 2px; border-radius: 4px; }

.nf-wrap { max-width: 1440px; margin: 0 auto; padding: 40px 24px 20px; }

/* ПК: бренд и контакты + три колонки ссылок */
.nf-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1.1fr) 1fr 1fr 1fr;
  gap: 32px 40px;
  align-items: start;
}

.nf-logo { display: inline-block; margin-bottom: 10px; }
.nf-logo img { display: block; width: 104px; height: auto; }
.nf-about { margin: 0 0 16px; color: var(--nf-muted); font-size: 13px; line-height: 1.5; max-width: 300px; }

.nf-phone { display: inline-block; font-size: 22px; font-weight: 700; letter-spacing: -.3px; color: #fff !important; line-height: 1.25; }
.nf-phone:hover { color: var(--nf-accent-hi) !important; }
.nf-email { display: block; margin: 0 0 12px; color: var(--nf-accent-hi) !important; font-size: 14px; }
.nf-email:hover { color: #fff !important; }

.nf-msg { display: flex; gap: 8px; margin-bottom: 16px; }
.nf-msg-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 36px; padding: 6px 14px; border-radius: 10px;
  background: rgba(255, 255, 255, .06); border: 1px solid var(--nf-line);
  color: #fff !important; font-weight: 600; font-size: 13px;
  transition: background .18s, border-color .18s;
}
.nf-msg-btn:hover { background: rgba(48, 164, 149, .18); border-color: var(--nf-accent); }
.nf-msg-btn img { width: 18px; height: 18px; display: block; }

.nf-info { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; font-size: 13px; color: var(--nf-muted); }
.nf-info-row { display: flex; gap: 12px; align-items: flex-start; }
.nf-info-row > i { width: 16px; margin-top: 3px; color: var(--nf-muted); text-align: center; }
.nf-address:hover { color: var(--nf-accent-hi); text-decoration: underline; }

.nf-socials { display: flex; flex-wrap: wrap; gap: 6px; }
.nf-socials a {
  width: 36px; height: 36px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .05); border: 1px solid var(--nf-line);
  color: rgba(255, 255, 255, .8); font-size: 15px;
  transition: background .18s, border-color .18s, color .18s;
}
.nf-socials a:hover { background: rgba(48, 164, 149, .2); border-color: var(--nf-accent); color: #fff; }
.nf-socials img { width: 22px; height: 22px; display: block; }
.nf-ico-vk { width: 22px; height: 22px; border-radius: 6px; background: #07f; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; }

/* Заголовки разделов: на ПК — просто заголовок, на мобиле — кнопка раскрытия */
.nf-title {
  display: block; width: 100%; margin: 0 0 14px; padding: 0 0 10px;
  background: none; border: 0; border-bottom: 1px solid var(--nf-line);
  color: #fff; font: inherit; font-size: 16px; font-weight: 700; text-align: left;
  cursor: default;
}
.nf-links { list-style: none; margin: 0; padding: 0; }
.nf-links li { margin: 0 0 8px; }
.nf-links a { color: var(--nf-text); transition: color .18s; }
.nf-links a:hover { color: var(--nf-accent-hi); }

/* Нижняя строка */
.nf-bottom {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 24px;
  margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--nf-line);
  color: var(--nf-muted); font-size: 12px;
}
.nf-dot { margin: 0 4px; opacity: .6; }
.nf-legal { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.nf-legal a, .nf-linkbtn { color: var(--nf-muted); font-size: 12px; }
.nf-linkbtn { background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; }
.nf-legal a:hover, .nf-linkbtn:hover { color: var(--nf-accent-hi); }

/* Ноутбуки: ссылки плотнее */
@media (max-width: 1200px) {
  .nf-grid { grid-template-columns: minmax(250px, 1.2fr) 1fr 1fr 1fr; gap: 28px 28px; }
  .nf-bottom { flex-direction: column; align-items: flex-start; }
}

/* Планшеты: бренд сверху во всю ширину, ссылки в три колонки */
@media (max-width: 991px) and (min-width: 768px) {
  .nf-grid { grid-template-columns: 1fr 1fr 1fr; }
  .nf-brand { grid-column: 1 / -1; }
}

/* Мобила: контакты сверху, разделы раскрываются, правовые ссылки видны */
@media (max-width: 767px) {
  .nf { margin-top: 24px; }
  .nf-wrap { padding: 28px 16px 16px; }
  .nf-grid { grid-template-columns: 1fr; gap: 0; }
  .nf-brand { text-align: center; padding-bottom: 20px; }
  .nf-about { display: none; }
  .nf-logo { display: none; } /* на мобиле логотип всегда виден в закреплённой шапке */
  .nf-phone { font-size: 24px; }
  .nf-msg { justify-content: center; }
  .nf-msg-btn { flex: 1 1 0; max-width: 180px; min-height: 44px; }
  .nf-info { align-items: center; margin-bottom: 16px; }
  .nf-info-row { justify-content: center; text-align: left; }
  .nf-socials { justify-content: center; }
  .nf-socials a { width: 44px; height: 44px; }

  .nf-acc { border-top: 1px solid var(--nf-line); }
  .nf-acc:last-child { border-bottom: 1px solid var(--nf-line); }
  .nf-title {
    position: relative; margin: 0; padding: 0 28px 0 0; min-height: 52px;
    display: flex; align-items: center; border-bottom: 0; cursor: pointer;
  }
  .nf-title::after {
    content: ""; position: absolute; right: 4px; top: 50%;
    width: 8px; height: 8px; margin-top: -6px;
    border-right: 2px solid var(--nf-muted); border-bottom: 2px solid var(--nf-muted);
    transform: rotate(45deg); transition: transform .2s;
  }
  .nf-acc.open .nf-title::after { transform: rotate(-135deg); margin-top: -2px; }
  .nf-acc .nf-links { display: none; padding-bottom: 10px; }
  .nf-acc.open .nf-links { display: block; }
  .nf-links li { margin: 0; }
  .nf-links a { display: block; padding: 9px 0; }

  .nf-bottom { margin-top: 20px; border-top: 0; padding-top: 0; align-items: center; text-align: center; gap: 12px; }
  .nf-legal { justify-content: center; gap: 2px 16px; }
  .nf-legal a, .nf-linkbtn { display: inline-block; padding: 6px 0; }
  .nf-copy { order: 2; }
  .nf-req { display: block; }
  .nf-copy > .nf-dot { display: none; }
  /* место под плавающие кнопки чата и «наверх» */
  .nf-wrap { padding-bottom: 84px; }
}

@media print { .nf { display: none !important; } }
