/* Подвал сайта VANYA по ТЗ 03 — один на весь сайт (разметка vanya/partials/site-footer.ejs, данные — seo.siteFooter в front.js,
   «ОБЩИЙ ПОДВАЛ САЙТА»). Файл подключает сам партиал строкой перед <footer>, поэтому подвал оформлен на любой странице, как бы
   ни была устроена её шапка: Tilda, Bulma (/partners), hv-вёрстка, lp2, служебные страницы без шапки сайта (error, sorry,
   unsubscribe). Вид — подвал утверждённых посадочных lp2: правила перенесены из lp2.css без изменения значений (на lp2 подвал
   не сдвинулся ни на пиксель — сверка снимков checks/shot.js до/после, stage5-shots/footer).
   Изоляция — как у шапки (css/site-header.css). Подвал стоит внутри чужих стилей: на Tilda-страницах #allrecords a {color;
   text-decoration}, #allrecords ul {padding-left} и сброс * {box-sizing: content-box}; на /partners — Bulma (a, img {height:
   auto}) и bulma_style.css (footer {padding: 3rem 0 2rem !important}); у hv-страниц свои :root-переменные с теми же именами,
   что у lp2 (--text, --bg). Поэтому:
   - каждое правило начинается с #site-footer, классы — с префиксом sf-;
   - переменные свои, --sf-*, объявлены на самом подвале;
   - шрифт, кегль, межстрочный, цвет и сглаживание заданы на корне подвала, а не берутся у body страницы;
   - сброс полей и рамок у тегов внутри подвала; поля корня — с !important (иначе bulma_style.css перебил бы их на /partners).
   Значения переменных — копия токенов lp2.css (:root, вариант A): поменяли цвет там — поменяйте и здесь.
   Файл кэшируется Cloudflare: ссылка на него идёт с ?v=<хеш содержимого> (SITE_FOOTER_ASSETS в front.js), хеш считается
   при старте front.js — после правки на проде нужен рестарт. */

/* Шрифт Onest — css/onest.css (с 09.10.2026 единственный источник @font-face на сайте; раньше здесь была своя копия шести
   правил). Его подключают все <head> страниц с этим подвалом: lp2-head.ejs и head.ejs. Стек — --font оттуда же. */

/* ---------- корень: переменные, шрифт ---------- */
#site-footer {
	--sf-bg: #FFFFFF;
	--sf-line: #E5E5EA;
	--sf-text: #1C1C1E;
	--sf-text-2: #6C6C70;
	--sf-link: #C80E19;
	--sf-link-hover: #9C0A13;
	--sf-link-underline: rgba(200, 14, 25, .35);
	--sf-focus: #1C1C1E;
	--sf-font: var(--font, "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);

	display: block; position: static; float: none; width: auto; max-width: none; height: auto;
	margin: 0 !important; padding: 52px 0 28px !important;
	background: var(--sf-bg);
	border: 0; border-top: 1px solid var(--sf-line);
	font-family: var(--sf-font); font-size: 15px; font-weight: 400; font-style: normal; line-height: 1.55;
	letter-spacing: normal; word-spacing: normal; text-align: left; text-indent: 0; text-transform: none; text-shadow: none; white-space: normal;
	color: var(--sf-text);
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
	font-feature-settings: "kern", "liga";
	-webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
/* сброс внутри подвала: Tilda (* {box-sizing: content-box}, #allrecords ul {padding-left}), Bulma и стили страниц */
#site-footer, #site-footer *, #site-footer *::before, #site-footer *::after { box-sizing: border-box; }
#site-footer div, #site-footer nav, #site-footer ul, #site-footer li, #site-footer p, #site-footer a, #site-footer span,
#site-footer img { margin: 0; padding: 0; border: 0; float: none; }
#site-footer ul, #site-footer li { list-style: none; }
#site-footer p { text-wrap: pretty; }
/* ссылки — как a в lp2.css: красная, подчёркивание тоньше и ниже текста */
#site-footer a {
	color: var(--sf-link); text-decoration: underline;
	text-decoration-thickness: 1px; text-underline-offset: 0.2em; text-decoration-color: var(--sf-link-underline);
}
#site-footer a:hover { color: var(--sf-link-hover); text-decoration-color: currentColor; }
#site-footer :focus-visible { outline: 2px solid var(--sf-focus); outline-offset: 3px; border-radius: 6px; }

/* ---------- сетка: контакты, «О компании», документы ---------- */
#site-footer .sf-wrap { max-width: 1180px; margin: 0 auto; padding-inline: 24px; }
#site-footer .sf-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.4fr); gap: 32px; }
#site-footer .sf-title { font-size: 20px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.25; margin-bottom: 14px; max-width: 12em; color: var(--sf-text); }
#site-footer .sf-h { font-size: 13px; font-weight: 500; color: var(--sf-text-2); margin-bottom: 12px; }
#site-footer ul { display: grid; gap: 9px; }
#site-footer ul a { color: var(--sf-text); text-decoration: none; }
#site-footer ul a:hover { text-decoration: underline; color: var(--sf-text); text-decoration-color: currentColor; }
#site-footer .sf-links { display: grid; gap: 9px; justify-items: start; }
/* почта и Telegram подчёркнуты всегда — это главное, за чем приходят в подвал. Толщина задана после сокращённого
   text-decoration: оно сбрасывает её в auto (при наведении — как в lp2: auto и цвет текста) */
#site-footer .sf-contact ul a { text-decoration: underline; text-decoration-color: var(--sf-link-underline); text-decoration-thickness: 1px; }
#site-footer .sf-contact ul a:hover { text-decoration: underline; text-decoration-color: currentColor; }
#site-footer .sf-col--docs ul { max-width: 24em; }
#site-footer .sf-muted { color: var(--sf-text-2); }

/* ---------- нижняя строка: юрлицо (и строка главной), логотипы оплаты (главная), язык ---------- */
#site-footer .sf-bottom { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--sf-line); display: flex; justify-content: space-between; align-items: start; gap: 12px 32px; font-size: 13px; line-height: 1.5; color: var(--sf-text-2); }
#site-footer .sf-bottom a, #site-footer .sf-bottom a:hover { color: var(--sf-text-2); }
#site-footer .sf-legal { max-width: 52em; }
#site-footer .sf-note { margin-bottom: 6px; }
#site-footer .sf-side { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
#site-footer .sf-pay { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
#site-footer .sf-pay img { display: block; width: auto; max-width: none; height: 20px; }
/* «English»/«Русский» кнопкой (09.10.2026, пакет L1, «английский переключатель везде»): у страниц, которые рисуют английский текст
   тем же шаблоном по куке (/about, /partners, юрдокументы…), переключатель — <button class="sf-lang"> (кука и перезагрузка,
   js/site-header.js). Вид — как у ссылки нижней строки (#site-footer a + .sf-bottom a): серый текст, тонкое подчёркивание, при
   наведении подчёркивание цвета текста. */
#site-footer .sf-lang {
	margin: 0; padding: 0; border: 0; background: none; cursor: pointer;
	font: inherit; letter-spacing: inherit; text-align: left; color: var(--sf-text-2);
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; text-decoration-color: var(--sf-link-underline);
}
#site-footer .sf-lang:hover { color: var(--sf-text-2); text-decoration-color: currentColor; }

/* ---------- адаптив ---------- */
@media (max-width: 899px) {
	#site-footer .sf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#site-footer .sf-contact { grid-column: 1 / -1; }
}

/* подвал короче: контакты, «О компании» в две колонки, документы мелким списком */
@media (max-width: 767px) {
	#site-footer { padding: 36px 0 24px !important; font-size: 14px; line-height: 1.5; }
	#site-footer .sf-wrap { padding-inline: 16px; }
	#site-footer .sf-grid { grid-template-columns: 1fr; gap: 24px; }
	#site-footer .sf-title { font-size: 18px; margin-bottom: 10px; max-width: none; }
	#site-footer .sf-links { display: flex; flex-wrap: wrap; gap: 4px 18px; }
	#site-footer ul { gap: 7px; }
	#site-footer .sf-col--company ul { grid-template-columns: max-content max-content; column-gap: 32px; }
	#site-footer .sf-col--docs ul { gap: 6px; font-size: 13.5px; line-height: 1.45; }
	#site-footer .sf-h { margin-bottom: 8px; }
	#site-footer .sf-bottom { flex-direction: column; margin-top: 28px; padding-top: 16px; font-size: 12.5px; }
	#site-footer .sf-pay img { height: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	#site-footer, #site-footer *, #site-footer *::before, #site-footer *::after { transition: none !important; }
}
