/*!
 * vcp-fonts.css — единая шрифтовая система VCP Travel (пара A): Literata (заголовки) + Golos Text (всё остальное).
 * Подключать ПОСЛЕДНИМ в <head> (после air-*.css / home-fix.css / schengen-info.css), см. TZ_fonts.md.
 * Шрифты: SIL Open Font License 1.1 (fonts/OFL-literata.txt, fonts/OFL-golostext.txt).
 * "VCP Golos Tnum" — производная цифр Golos Text 2.004 (OFL, без Reserved Font Name) с выровненной шириной цифр.
 * Сгенерировано tool/gen_css.py: Literata size-adjust 90%, запасные шрифты подогнаны по метрикам.
 */

/* ---------- 1. Веб-шрифты (self-hosted, variable WOFF2, core = латиница+кириллица+типографика, ext = latin-ext) ---------- */
@font-face {
  font-family: "Literata"; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-VF.core.woff2") format("woff2-variations"), url("/media/fonts/Literata-VF.core.woff2") format("woff2");
  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;
  size-adjust: 90%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%;
}
@font-face {
  font-family: "Literata"; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-VF.ext.woff2") format("woff2-variations"), url("/media/fonts/Literata-VF.ext.woff2") format("woff2");
  unicode-range: U+0100-0130, U+0132-0151, U+0154-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20BC, U+20BE-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 90%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%;
}
@font-face {
  font-family: "Literata"; font-style: italic; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-Italic-VF.core.woff2") format("woff2-variations"), url("/media/fonts/Literata-Italic-VF.core.woff2") format("woff2");
  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;
  size-adjust: 90%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%;
}
@font-face {
  font-family: "Literata"; font-style: italic; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-Italic-VF.ext.woff2") format("woff2-variations"), url("/media/fonts/Literata-Italic-VF.ext.woff2") format("woff2");
  unicode-range: U+0100-0130, U+0132-0151, U+0154-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20BC, U+20BE-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 90%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%;
}
@font-face {
  font-family: "Golos Text"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/media/fonts/GolosText-VF.core.woff2") format("woff2-variations"), url("/media/fonts/GolosText-VF.core.woff2") format("woff2");
  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;
}
@font-face {
  font-family: "Golos Text"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/media/fonts/GolosText-VF.ext.woff2") format("woff2-variations"), url("/media/fonts/GolosText-VF.ext.woff2") format("woff2");
  unicode-range: U+0100-0130, U+0132-0151, U+0154-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20BC, U+20BE-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Табличные цифры: в Golos Text 2.004 фича tnum выравнивает только 0/1/4/7 — эти 4 файла (~1,6 КБ) делают все цифры одной ширины */
@font-face { font-family: "VCP Golos Tnum"; font-weight: 400; font-display: swap; src: url("/media/fonts/VCPGolosTnum-400.woff2") format("woff2"); unicode-range: U+0030-0039; }
@font-face { font-family: "VCP Golos Tnum"; font-weight: 500; font-display: swap; src: url("/media/fonts/VCPGolosTnum-500.woff2") format("woff2"); unicode-range: U+0030-0039; }
@font-face { font-family: "VCP Golos Tnum"; font-weight: 600; font-display: swap; src: url("/media/fonts/VCPGolosTnum-600.woff2") format("woff2"); unicode-range: U+0030-0039; }
@font-face { font-family: "VCP Golos Tnum"; font-weight: 700; font-display: swap; src: url("/media/fonts/VCPGolosTnum-700.woff2") format("woff2"); unicode-range: U+0030-0039; }

/* ---------- 2. Запасные шрифты с подогнанными метриками (меньше CLS при подмене) ---------- */
@font-face { font-family: "Literata Fallback G"; src: local("Georgia"), local("Georgia Regular");
  size-adjust: 94.86%; ascent-override: 95.83%; descent-override: 24.67%; line-gap-override: 0%; }
@font-face { font-family: "Literata Fallback T"; src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Tinos"), local("Liberation Serif");
  size-adjust: 105.74%; ascent-override: 85.96%; descent-override: 22.13%; line-gap-override: 0%; }
@font-face { font-family: "Golos Fallback A"; src: local("Arial"), local("ArialMT"), local("Arimo"), local("Liberation Sans");
  size-adjust: 105.56%; ascent-override: 92.84%; descent-override: 20.84%; line-gap-override: 0%; }
@font-face { font-family: "Golos Fallback R"; src: local("Roboto"), local("Roboto-Regular");
  size-adjust: 103.99%; ascent-override: 94.24%; descent-override: 21.16%; line-gap-override: 0%; }


/* ---------- 2b. Отдельное начертание для H1 героя: Literata шире Times на ~15–20 %, поэтому H1 уменьшен через size-adjust 81% (кегли air-шкалы не трогаем) ---------- */
@font-face { font-family: "Literata H1"; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-VF.core.woff2") format("woff2-variations"), url("/media/fonts/Literata-VF.core.woff2") format("woff2");
  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;
  size-adjust: 81%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%; }
@font-face { font-family: "Literata H1"; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-VF.ext.woff2") format("woff2-variations"), url("/media/fonts/Literata-VF.ext.woff2") format("woff2");
  unicode-range: U+0100-0130, U+0132-0151, U+0154-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20BC, U+20BE-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 81%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%; }
@font-face { font-family: "Literata H1"; font-style: italic; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-Italic-VF.core.woff2") format("woff2-variations"), url("/media/fonts/Literata-Italic-VF.core.woff2") format("woff2");
  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;
  size-adjust: 81%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%; }
@font-face { font-family: "Literata H1"; font-style: italic; font-weight: 400 600; font-display: swap;
  src: url("/media/fonts/Literata-Italic-VF.ext.woff2") format("woff2-variations"), url("/media/fonts/Literata-Italic-VF.ext.woff2") format("woff2");
  unicode-range: U+0100-0130, U+0132-0151, U+0154-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20BC, U+20BE-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 81%; ascent-override: 101%; descent-override: 26%; line-gap-override: 0%; }
@font-face { font-family: "Literata H1 Fallback G"; src: local("Georgia"), local("Georgia Regular");
  size-adjust: 85.37%; ascent-override: 95.83%; descent-override: 24.67%; line-gap-override: 0%; }
@font-face { font-family: "Literata H1 Fallback T"; src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Tinos"), local("Liberation Serif");
  size-adjust: 95.17%; ascent-override: 85.96%; descent-override: 22.13%; line-gap-override: 0%; }

/* ---------- 3. Токены + переназначение старых переменных (html:root перебивает :root страниц и visa-popup.css) ---------- */
html:root {
  --font-display: "Literata", "Literata Fallback G", "Literata Fallback T", Georgia, "Times New Roman", serif;
  --font-text: "Golos Text", "Golos Fallback A", "Golos Fallback R", Arial, system-ui, sans-serif;
  --font-num: "VCP Golos Tnum", "Golos Text", "Golos Fallback A", "Golos Fallback R", Arial, system-ui, sans-serif;
  --font-display-h1: "Literata H1", "Literata H1 Fallback G", "Literata H1 Fallback T", Georgia, "Times New Roman", serif;
  --kicker-ls-text: 0.12em;
  /* старые имена → новые токены */
  --display: var(--font-display);
  --sans: var(--font-text);
  --mono: var(--font-text);
  --vp-serif: var(--font-display);
  --vp-sans: var(--font-text);
  --vp-mono: var(--font-text);
}
html .jp-case { --f-display: var(--font-display); --f-sans: var(--font-text); }

/* ---------- 4. Роли ---------- */
/* Текст: body, лид, кнопки, навигация, футер, формы и попапы */
html body,
html .vcp-cookie, html .sc-lead, html .sc-btn, html .sheet-h3 + p,
html #lead-pop .popup, html #lead-pop .popup h2, html #cabinet-home .popup,
html .site-foot__list a, html .site-foot__list button,
html .visa-sheet, html .visa-bar, html .vcp-repeat { font-family: var(--font-text); }
html button, html input, html select, html textarea { font-family: inherit; }

/* Заголовки H1–H3 и прочие места, где был Instrument Serif / Fraunces с жёстко прописанным семейством */
html h1,
html .jp-hero h1, html .sc-hero h1,
html .rail-head h2, html .pin-sheet__title, html .sheet-h3, html #cabinet-home .cabinet-title,
html .jp-faq__h, html .jp-faq__cta-h, html .visa-sheet--b2b .jp-faq__h, html .visa-sheet--b2b .jp-faq__cta-h,
html .jp-press__h, html .jp-press__expert-name { font-family: var(--font-display); }
html h1, html h2, html h3 { font-optical-sizing: auto; font-kerning: normal; }
/* H1 главной на телефонах (≤440px): строки «Визовое сопровождение:» / «Великобритания, Япония» в Literata шире на 19–22 %,
   при 90 % они переносятся (3→4–5 строк). Начертание «Literata H1» = те же файлы, size-adjust 81% → 3 строки, как в принятой вёрстке. */
@media (max-width: 440px) { html .hero h1 { font-family: var(--font-display-h1); } }


/* Кикеры (раньше IBM Plex Mono): Golos капсом с разрядкой */
html .rail-eyebrow, html .dir-card__short, html .dest-card__kicker, html .pin-sheet__kicker,
html #cabinet-home .badge, html .visa-short, html .visa-sheet--b2b .b2b-kicker, html .doc__kicker {
  font-family: var(--font-text); font-weight: 500; letter-spacing: var(--kicker-ls-text); text-transform: uppercase;
}
@media (min-width:768px) and (max-width:1023px) and (orientation:portrait), (min-width:641px) and (max-width:767px), (min-width:768px) and (max-width:900px) and (orientation:landscape) {
  html .site-foot__h { font-family: var(--font-text); letter-spacing: var(--kicker-ls-text); }
}

/* Цифры: табличные (телефоны, таблицы, счётчики, номера шагов) */
html .method__table th, html .method__table td, html #cabinet-home .stat strong, html #press .press-metrics__item b,
html [data-vcp-phone], html .visa-bar__phone, html .jp-faq__tel, html .jp-fit__n, html .jp-step__n,
html .visa-mono, html .method__apkap { font-family: var(--font-num); font-variant-numeric: tabular-nums lining-nums; }
html .method__n, html .pin-sheet__n, html .si-step__n, html .visa-sheet--b2b .b2b-n, html .visa-sent__ticket,
html .jp-case__rows li { font-variant-numeric: tabular-nums lining-nums; }
