/*
 * Golos Text - основной шрифт макета. Файлы лежат локально в assets/fonts/,
 * без внешнего CDN (правило проекта).
 *
 * Шрифт ВАРИАТИВНЫЙ: один файл покрывает весь диапазон начертаний, поэтому
 * файлов два (кириллица и латиница), а не шесть. Проверено по md5 - Google
 * отдаёт для 400/500/600 один и тот же файл.
 *
 * Лицензия SIL Open Font License, источник - Google Fonts.
 *
 * Kazan Basma Quran Web - арабский шрифт мусхафа, которым в макете набраны
 * аяты. Muhammet Abay. Версия 0.025 (прислана Заказчиком 19.08.2026,
 * dumrt.ru/files/KazanBasmaMushaf-Normal.ttf) неточно рисовала написание
 * аятов - подтверждено сравнением в браузере 28.09.2026 со сканом настоящего
 * мусхафа "Казан басмасы" на /quran/. Линар прислал версию 0.035
 * (kazan-basma-web.zip, 28.09.2026) - права на веб-публикацию подтверждены
 * Дмитрием тем же днём. Файл здесь - только резервный слой (басмала,
 * предпросмотр, страницы без точных печатных данных): для пиксельного
 * совпадения с изданием "Казан басмасы" аяты рисует canvas-рендерер
 * assets/vendor/kazan-print-renderer.js по данным public/kazan-data/ -
 * разбор в assets/controllers/kazan-print.js.
 */

@font-face {
    font-family: 'Golos Text';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url("../fonts/golos-cyrillic-d67ceb83dfeab243ddad247d3fe92926.woff2") format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: 'Golos Text';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url("../fonts/golos-latin-1c27b6d333a861bf27a47ded1384e652.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;
}


/* Арабский текст аятов. unicode-range не ставим: шрифт нужен только там, где
   он назван явно (--font-arabic), и подхватывать им арабские вкрапления в
   статьях мы не хотим - там своя вёрстка. */
@font-face {
    font-family: 'Kazan Basma Quran Web';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/kazan-basma-quran-0.035-7dc696406055340188810cfba954931c.woff2") format('woff2');
}

/* Мединский мусхаф на /quran/ - свой шрифт вместо казанского (просьба
   Дмитрия 07.10.2026, файл прислан Заказчиком). KFGQPC Uthmanic Script HAFS -
   стандартный шрифт издания "Мединский мусхаф" (Комплекс им. Короля Фахда),
   рассчитан на текст в кодировке Uthmani (поле API `textUthmanic`, не
   `text` - у него другое начертание: персидская "йе", иная растяжка перед
   даггер-алифом). Подключается только под мединским изданием - см.
   mushaf.css и controllers/kazan-print.js (там же, почему печатный
   рендерер Казан басмасы его не трогает). */
@font-face {
    font-family: 'KFGQPC Uthmanic Hafs';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/kfgqpc-uthmanic-hafs-f05df60b6cc37be0a074bb6a5b10a5a5.woff2") format('woff2');
}

/* Лигатура ﷺ (U+FDFA, "мир ему и благословение Аллаха") у плитки "Пророк
   Мухаммад" (02.09.2026, правка Заказчика). Kazan Basma Mushaf её не
   содержит - проверено разбором шрифта (323 глифа, набор под текст
   мусхафа, презентационных форм там нет). Без своего шрифта браузер берёт
   ЛЮБОЙ системный со знаком юникода и на Windows подставляет эмодзи-глиф
   вместо арабской вязи - совсем не похоже на задуманное.
   Источник - Noto Naskh Arabic (SIL OFL, fonts.google.com/noto), файл
   вырезан pyftsubset ровно под этот один символ: 197 КБ -> 1,8 КБ. */
@font-face {
    font-family: 'Arabic Honorific';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/arabic-honorific-4b9e050a4075c04c521608f83abd8846.woff2") format('woff2');
    unicode-range: U+FDFA;
}

/*
 * Roboto (основной текст) и PT Sans (заголовки) - подключены локально с 12.10.2026,
 * раньше шли с fonts.googleapis.com (внешний блокирующий запрос на каждой странице,
 * Lighthouse: ~0,5 с к отрисовке). Файлы взяты у Google Fonts как есть, лицензия
 * SIL Open Font License. Roboto вариативный: один файл на набор знаков покрывает
 * веса 400-700. Наборы: кириллица, расширенная кириллица, латиница, расширенная
 * латиница - как раньше отдавал Google для нашего текста; греческий, вьетнамский и
 * математические знаки не берём (в тексте сайта не встречаются, в крайнем случае
 * браузер подставит системный шрифт).
 * Пока на сайте действует проба шрифтов (блок <style> в IslamTodayApplication/New/
 * base.html.twig, "ВРЕМЕННО") - при откате на Golos Text эти правила можно удалить.
 */

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/pt-sans-400-cyrillic-ext-77b5ebd2a03824e275498db9c6df12eb.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/pt-sans-400-cyrillic-59144b6d7c80fecfbe2d555e087d1460.woff2") format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/pt-sans-400-latin-ext-6218c25e66f546fe54e0734113b1dbc0.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/pt-sans-400-latin-63b467e60ecc856324aa0619ded5cbb0.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: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/pt-sans-700-cyrillic-ext-737708a8f9111b7c2326f3a8adec5a17.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/pt-sans-700-cyrillic-9256d0d7f8d41ffb04c67f00cf193613.woff2") format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/pt-sans-700-latin-ext-56e42309e248dbe10c8f608d35ddd87b.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/pt-sans-700-latin-79321765a0afbcdda52fd476cb121ee6.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: 'Roboto';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/roboto-cyrillic-ext-fe5f58eb5ac42b0900b919edcdfda742.woff2") format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/roboto-cyrillic-a4b75551674e0cb492eed7a4dede3a1f.woff2") format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/roboto-latin-ext-237d5be88bc26c20b908d496a11523d8.woff2") format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/roboto-latin-3f9bdf373dec7b07bb5d08bc0806701c.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;
}
