/* ============================================================
   GPM — ФУТЕР, скомпонован как единый компонент.
   Раньше правила были размазаны по services.css / corporate.css /
   service.css / content.css / home-figma.css — здесь всё в одном месте.

   Логика та же, что у .newhead: НЕ патчим легаси, задаём вид сами.
   Разметка (HTML/CMS-чанки) не меняется — только стили.
   ============================================================ */

/* ---------- Каркас ---------- */
footer.newtemplate {
  background: var(--ds-surface-alt);
  border-top: 1px solid var(--ds-border-soft);
  padding: 44px var(--ds-gutter) 28px;
  box-sizing: border-box;
  font-family: var(--ds-font); color: var(--ds-text-2);
}
/* Легаси-подвал (page_footer) — прячем: используем только .newtemplate */
footer.page_footer { display: none !important; }
/* Легаси-разделитель, идущий из старой вёрстки (img-line на fon22.png) */
footer .row.my-row:has(> .img-line) { display: none !important; }
footer .img-line, .img-line[style*="footer.png"] { display: none !important; }

/* ---------- Ряд колонок ---------- */
footer.newtemplate > .my-px-md-3 {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1.1fr 1.1fr 1.2fr;
  gap: 32px; max-width: var(--ds-container, 1440px);
  margin: 0 auto; width: 100%; align-items: start;
}
footer.newtemplate > .my-px-md-3 > div { min-width: 0; }
/* Футер без колонок услуг (головной gpm-workers.ru: «О компании» + контакты) —
   «О компании» той же ширины, что в полном футере, контакты занимают остальное */
footer.newtemplate > .my-px-md-3:has(> div:nth-child(2):last-child) { grid-template-columns: 1.5fr 5.4fr; }
/* …и колонка контактов прижата к правому краю, по правому краю выровнена (головной, 2026-10-13) */
@media (min-width: 761px) {
  footer.newtemplate > .my-px-md-3:has(> div:nth-child(2):last-child) > div:last-child { text-align: right; }
  footer.newtemplate > .my-px-md-3:has(> div:nth-child(2):last-child) > div:last-child .social { justify-content: flex-end; }
}

/* Заголовок колонки (жирный текст сверху) */
footer.newtemplate > .my-px-md-3 > div > p:first-child { margin: 0 0 16px; }
footer.newtemplate > .my-px-md-3 > div > p:first-child > span {
  font: var(--ds-fw-medium) var(--ds-body-l)/1.2 var(--ds-font);
  color: var(--ds-text); text-transform: none;
}
/* заголовок колонки может быть ссылкой (у городов «Услуги» → «Услуги и цены»):
   выглядит так же, как остальные заголовки колонок */
footer.newtemplate > .my-px-md-3 > div > p:first-child > a { text-decoration: none; color: inherit; display: inline; }
footer.newtemplate > .my-px-md-3 > div > p:first-child > a > span {
  font: var(--ds-fw-medium) var(--ds-body-l)/1.2 var(--ds-font);
  color: var(--ds-text); text-transform: none;
}
footer.newtemplate > .my-px-md-3 > div > p:first-child > a:hover > span { color: var(--ds-brand); }

/* ---------- Колонка «О компании» ---------- */
footer.newtemplate .first p.small {
  font: var(--ds-fw-regular) var(--ds-body-s)/1.55 var(--ds-font);
  color: var(--ds-text-2); margin: 0 0 16px;
}
footer.newtemplate .first .logo { display: inline-block; margin: 0 0 14px; }
footer.newtemplate .first .logo img,
footer .logo img { max-width: 148px !important; height: auto !important; }
footer.newtemplate .first > p {
  font: var(--ds-fw-regular) var(--ds-body-s)/1.5 var(--ds-font);
  color: var(--ds-text-3); margin: 3px 0;
}

/* ---------- Колонки со списками ссылок ---------- */
footer.newtemplate .cont-serv p { margin: 0 0 9px; }
footer.newtemplate a.small,
footer.newtemplate .cont-serv a {
  font: var(--ds-fw-regular) var(--ds-body-m)/1.4 var(--ds-font);
  color: var(--ds-text-2); text-decoration: none;
  transition: color var(--ds-transition);
}
/* только текстовые ссылки — кнопки в футере (компонент .ds-btn) не задеваем */
footer.newtemplate .cont-serv a:not([class*="button"]):not(.ds-btn):hover,
footer.newtemplate a.small:hover { color: var(--ds-brand); }

/* ---------- Кнопка «Отправить заявку» в колонке ----------
   вид/состояния — компонент .ds-btn; здесь только раскладка */
footer.newtemplate .button-red { margin-top: 14px; padding: 12px 24px; }
/* кнопка не шире своей колонки: в узкой колонке (короткий список «Для компаний»
   у городов, экраны уже 1440) она заезжала на иконки соцсетей соседней колонки */
footer.newtemplate .button-red { max-width: 100%; white-space: normal; text-align: center; box-sizing: border-box; }

/* ---------- Колонка контактов ---------- */
footer.newtemplate .phone_footer a {
  font: var(--ds-fw-medium) var(--ds-body-l)/1.3 var(--ds-font);
  color: var(--ds-text); text-decoration: none;
  transition: color var(--ds-transition);
}
/* телефон всегда в одну строку (заказчик 12.10.2026): размер шрифта идёт за шириной колонки
   контактов. Самый длинный номер сети «+7 (343) 288-04-97» ≈ 9,05em; делитель 9,4 — с запасом.
   Без поддержки container query (старые браузеры) — просто без переноса, 22px */
footer.newtemplate > .my-px-md-3 > div:has(.phone_footer) { container-type: inline-size; }
footer.newtemplate .phone_footer a { white-space: nowrap; font-size: min(var(--ds-body-l), calc(100cqi / 9.4)); }
footer.newtemplate .phone_footer a:hover,
footer.newtemplate .phone_footer a:active,
footer .phone:hover, footer .phone:active,
footer a[href^="tel"]:hover, footer a[href^="tel"]:active { color: var(--ds-brand); }

footer.newtemplate .mail_footer a,
footer.newtemplate .write_director_footer a { color: var(--ds-text-2); text-decoration: none; }
footer.newtemplate .mail_footer a:hover,
footer.newtemplate .mail_footer a:active,
footer.newtemplate .write_director_footer a:hover,
footer.newtemplate .write_director_footer a:active { color: var(--ds-brand); }

footer.newtemplate .col-lg-3:last-child p.small {
  font: var(--ds-fw-regular) var(--ds-body-s)/1.5 var(--ds-font);
  color: var(--ds-text-2); margin: 0 0 12px;
}

/* Соцсети — плитки. Общий вид с шапкой описан в design-system.css. */
footer.newtemplate .social { display: flex; gap: 10px; margin-top: 16px; }

/* Соц-иконки на корп-странице: подсветка бренд-цветом. */
footer .header-socials a:hover, footer .social a:hover,
footer a.whatsapp:hover, footer a.telegram:hover, footer a.telega:hover {
  background: rgba(var(--ds-brand-rgb), .14);
}
/* Убираем легаси outline у соцсетей */
footer .header-socials a, footer .header-socials a img { outline: none; }

/* ---------- Нижние строки: разделитель + копирайт ---------- */
footer.newtemplate > .my-px-3 {
  max-width: var(--ds-container, 1440px); margin: 0 auto; width: 100%;
}
footer.newtemplate .img-line,
footer .img-line.col-xs-12 { border-top: 1px solid var(--ds-border-soft); margin: 30px 0 0; }

footer.newtemplate > .my-px-3:last-child {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 10px 24px;
  padding-top: 20px; margin-top: 20px;
  border-top: 1px solid var(--ds-border-soft);
}
footer.newtemplate > .my-px-3:last-child p {
  font: var(--ds-fw-regular) var(--ds-body-s)/1.5 var(--ds-font);
  color: var(--ds-text-3); margin: 0;
}
footer.newtemplate > .my-px-3:last-child a {
  color: var(--ds-text-3); text-decoration: none;
  transition: color var(--ds-transition);
}
footer.newtemplate > .my-px-3:last-child a:hover { color: var(--ds-brand); }
footer.newtemplate > .my-px-3:last-child > div { width: auto !important; padding: 0; }

/* Ссылки-политики в футере ".pdf" — не рвутся посреди слова, центрируются на мобилке */
footer p:has(a[href$=".pdf"]) a { white-space: nowrap; }

/* Красные акценты в футере (.red / .gruz / логотип) */
footer .red, footer .gruz, footer .gruz span { color: var(--ds-brand); }

/* ---------- Адаптив ---------- */
@media (max-width: 1000px) {
  footer.newtemplate > .my-px-md-3 { grid-template-columns: 1fr 1fr 1fr; gap: 26px; }
}
@media (max-width: 760px) {
  footer p:has(a[href$=".pdf"]) { text-align: center; }
}
@media (max-width: 680px) {
  footer.newtemplate { padding: 16px 16px 22px; }
  footer.newtemplate > .my-px-md-3 { grid-template-columns: 1fr 1fr; gap: 22px; }
  footer.newtemplate > .my-px-3:last-child { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 420px) {
  footer.newtemplate > .my-px-md-3 { grid-template-columns: 1fr; }
}
/* головной (2 колонки) на телефоне — одна колонка: правило 1.5fr/5.4fr выше сильнее мобильных */
@media (max-width: 680px) {
  footer.newtemplate > .my-px-md-3:has(> div:nth-child(2):last-child) { grid-template-columns: 1fr; }
}
