/* Подвал сайта 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 — те же файлы и диапазоны, что в lp2.css и site-header.css, только начертания подвала: 400 (ссылки, текст), 500
   (заголовки колонок), 600 (заголовок «Если что, Дядя Ваня на связи»). На страницах с шапкой сайта браузер уже знает эти файлы. */
@font-face { font-family: "Onest"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/onest/onest-cyrillic-400-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/onest/onest-cyrillic-500-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/onest/onest-cyrillic-600-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/onest/onest-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/onest/onest-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Onest"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/onest/onest-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- корень: переменные, шрифт ---------- */
#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: "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; }

/* ---------- адаптив ---------- */
@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; }
}
