/*!
 * Набор веб-шрифтов ВИСТЛАН 1.0.0-akb — сужённая под akb-ups.ru сборка брендового набора 1.0.0 (25.10.2026).
 * Папка названа 1.0.0-akb, а не 1.0.0, сознательно: файлы отличаются от брендового канона vistlan/brand/fonts/,
 * и одно имя версии не должно означать два разных набора. Брендовый 1.0.0 остаётся общим для всех сайтов.
 * Заголовки: Sofia Sans Semi Condensed 400–800 · Текст: Inter 400–700 · Цифры и артикулы: JetBrains Mono 400–600.
 * Все три — SIL Open Font License 1.1 (google/fonts), Reserved Font Name не объявлен. Лицензии: ./OFL/.
 * Источник и сборка: vistlan/brand/fonts/ (build.sh). Файлы — сабсеты latin + latin-ext + cyrillic + cyrillic-ext.
 * 26.10.2026, akb-ups.ru: vl-inter / vl-sofia-sans-semicond / vl-jetbrains-mono дополнительно сужены pyftsubset до знаков, реально
 * встречающихся на сайте (ASCII, кириллица, пунктуация, ₽ × · — № …), без неиспользуемых OpenType-функций (frac, sups, smcp, zero…).
 * Оси wght сохранены. vl-inter-ext.woff2 не менялся: он качается, только если на странице окажутся знаки расширенной латиницы.
 * Пути относительные: держите этот CSS рядом с папкой woff2/.
 */

/* ---------- Заголовки ---------- */
@font-face {
  font-family: "VL Sofia Sans";
  src: url("woff2/vl-sofia-sans-semicond.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+02B0-02FF, U+0301, U+0304, U+0308, U+0329, U+0400-052F, U+1C80-1C8A,
    U+1E00-1E9F, U+1EF2-1EFF, U+2000-206F, U+20A0-20BC, U+20BE-20C0, U+2113, U+2116, U+2122,
    U+2190-2199, U+2212, U+2215, U+2C60-2C7F, U+2DE0-2DFF, U+A640-A69F, U+A720-A7FF, U+FE2E-FE2F, U+FEFF, U+FFFD;
}
/* В Sofia Sans нет знака ₽ — берём его из Inter (тот же файл, что для текста, уже в кэше) */
@font-face {
  font-family: "VL Sofia Sans";
  src: url("woff2/vl-inter.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20BD;
}

/* ---------- Текст и интерфейс ---------- */
@font-face {
  font-family: "VL Inter";
  src: url("woff2/vl-inter.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0301, U+0304, U+0308,
    U+0329, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2000-206F, U+20AC, U+20BD, U+2116, U+2122, U+2190-2199,
    U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Расширенная латиница и кириллица (польский, казахский, украинский-ext…) — качается, только если такие символы есть на странице */
@font-face {
  font-family: "VL Inter";
  src: url("woff2/vl-inter-ext.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-024F, U+02B0-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0460-048F,
    U+0492-04AF, U+04B2-052F, U+1C80-1C8A, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20BC,
    U+20BE-20C0, U+2113, U+2C60-2C7F, U+2DE0-2DFF, U+A640-A69F, U+A720-A7FF, U+FE2E-FE2F;
}

/* ---------- Цифры, артикулы, спецификации ---------- */
@font-face {
  font-family: "VL JetBrains Mono";
  src: url("woff2/vl-jetbrains-mono.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}

/* ---------- Метрические фолбэки: пока грузится woff2, системный шрифт занимает то же место (меньше CLS) ----------
   Посчитано tools/metrics.py по русско-английскому образцу текста (ширина знаков + вертикальные метрики) против Arial / Arial Narrow /
   Courier New. Liberation Sans и Helvetica метрически совпадают с Arial; Roboto (Android) отличается на ~0,2 % (замер gpuservers.ru).
   Для Inter замер gpuservers.ru по живым страницам дал 106,5 % — расчёт здесь 105,72 %: расхождение < 1 %. */
@font-face {
  font-family: "VL Sofia Sans Fallback";            /* узкий: Arial Narrow (macOS, Windows с Office) */
  src: local("Arial Narrow Bold"), local("ArialNarrow-Bold");
  font-weight: 400 800;
  size-adjust: 107.53%;
  ascent-override: 83.7%;
  descent-override: 27.9%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "VL Sofia Sans Fallback Arial";      /* если Arial Narrow нет (Android, Linux, Windows без Office) */
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Helvetica Bold"), local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 400 800;
  size-adjust: 88.21%;
  ascent-override: 102.03%;
  descent-override: 34.01%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "VL Inter Fallback";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Helvetica"), local("Roboto"), local("Roboto-Regular");
  font-weight: 400 500;
  size-adjust: 105.72%;
  ascent-override: 91.63%;
  descent-override: 22.82%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "VL Inter Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Helvetica Bold"), local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 600 700;
  size-adjust: 102.76%;
  ascent-override: 94.28%;
  descent-override: 23.47%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "VL JetBrains Mono Fallback";
  src: local("Courier New"), local("CourierNewPSMT"), local("Liberation Mono"), local("Courier");
  size-adjust: 99.98%;
  ascent-override: 102.02%;
  descent-override: 30%;
  line-gap-override: 0%;
}

/* ---------- Токены ---------- */
:root {
  --vl-font-head: "VL Sofia Sans", "VL Sofia Sans Fallback", "VL Sofia Sans Fallback Arial", "Arial Narrow", Arial, sans-serif;
  --vl-font-body: "VL Inter", "VL Inter Fallback", Arial, system-ui, sans-serif;
  --vl-font-mono: "VL JetBrains Mono", "VL JetBrains Mono Fallback", ui-monospace, "Courier New", monospace;
}

/* ---------- Минимальные правила (подключаются тем же файлом; сайт может переопределить) ---------- */
/* Русские формы кириллицы в заголовочном шрифте вшиты в файл (у исходной Sofia Sans по умолчанию —
   болгарские д, л, в, г…), поэтому ни lang="ru", ни font-feature-settings для них не нужны. */
.vl-head,
.vl-fonts h1, .vl-fonts h2, .vl-fonts h3, .vl-fonts h4 { font-family: var(--vl-font-head); }
.vl-fonts { font-family: var(--vl-font-body); }
.vl-mono, .vl-fonts code, .vl-fonts kbd, .vl-fonts samp { font-family: var(--vl-font-mono); }
/* Цены, суммы, колонки чисел: цифры одной ширины, чтобы разряды стояли столбиком */
.vl-price, .vl-num, .vl-fonts td, .vl-fonts th { font-variant-numeric: tabular-nums lining-nums; }
