/*
 * Artemis CRM — kroje pisma hostowane LOKALNIE (Redmine #47573, znalezisko dodatkowe 14B).
 *
 * DLACZEGO ten plik istnieje:
 *   Wcześniej `base.html`, `auth/login.html` i `auth/forgot_password.html` ładowały arkusz
 *   z hosta `fonts.googleapis.com`, który w runtime ciągnął pliki `woff2`
 *   z hosta `fonts.gstatic.com`. Dawało to dwa problemy:
 *     1. BEZPIECZEŃSTWO — obcy host w ścieżce ładowania CSS, dla którego SRI jest
 *        NIEMOŻLIWE (Google zwraca inny CSS per `User-Agent`, więc hash się nie zgadza).
 *     2. RODO — każde otwarcie strony (w tym STRONY LOGOWANIA, przez osobę niezalogowaną)
 *        przekazywało Google adres IP i `User-Agent` użytkownika, bez podstawy prawnej.
 *   Teraz pliki leżą w repo (`app/static/app/fonts/`), a przeglądarka nie odpytuje
 *   żadnego obcego hostu.
 *
 * CO TU JEST:
 *   Montserrat — krój interfejsu CRM (ustawiany w `theme.css`, sekcja 1).
 *   Inter      — krój bazowy motywu Keenthemes (`style.bundle.css`:
 *                `font-family: Inter, Helvetica, "sans-serif"`), używany na stronach
 *                logowania / odzyskiwania hasła, które nie ładują `theme.css`.
 *
 * PLIKI: warianty ZMIENNE (variable fonts, `font-weight: 300 700`) — jeden plik pokrywa
 *   wszystkie wagi 300/400/500/600/700, które były wcześniej pobierane osobno z Google.
 *   Podzbiory znaków: `latin` + `latin-ext`. `latin-ext` jest OBOWIĄZKOWY — polskie
 *   ą/ć/ę/ł/ń/ś/ź/ż leżą w U+0100–U+017F, czyli poza `latin`. Podzbiorów cyrillic,
 *   greek i vietnamese ŚWIADOMIE nie pobieramy (interfejs jest polski) — oszczędza to
 *   ~60% transferu; brakujący znak spadnie na czcionkę systemową z listy zapasowej.
 *
 * `font-display: swap` — tekst rysuje się natychmiast czcionką systemową i podmienia po
 *   wczytaniu pliku; brak „niewidocznego" tekstu, jeśli plik `woff2` byłby niedostępny.
 *
 * AKTUALIZACJA PLIKÓW: patrz docs/bezpieczenstwo/14-lancuch-dostaw-frontendu.md
 *   (sekcja „Jak to weryfikować na bieżąco") — jest tam gotowe polecenie `curl`.
 */

/* ============================================================
   Montserrat — variable (300–700), latin + latin-ext
   ============================================================ */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/montserrat-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/montserrat-latin.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;
}

/* ============================================================
   Inter — variable (300–700), latin + latin-ext
   ============================================================ */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/inter-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/inter-latin.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;
}

/*
 * LISTA ZAPASOWA — celowo NIE ustawiamy tu `--bs-font-sans-serif` ani `font-family`.
 * Ten plik dostarcza wyłącznie same pliki krojów (`@font-face`); o tym, KTÓRY krój
 * jest użyty, decydują (bez zmian względem stanu przed naprawą):
 *   * `theme.css` sekcja 1 — Montserrat dla całego CRM-a,
 *   * `style.bundle.css` (Keenthemes) — Inter na stronach logowania.
 * Łańcuch zapasowy na czcionki systemowe jest wpisany w `theme.css` (dopisany razem
 * z tą naprawą), żeby brak pliku `woff2` po niepełnym deployu nie dawał „gołego" serifa.
 */
