/* static/css/fontes.css — os tipos de letra da Suite, servidos por nós.
 *
 * PORQUE EXISTE. A Suite pedia o Inter e o Playfair Display ao `fonts.googleapis.com`, em duas
 * ligações externas por página. Duas razões para sair de lá, e a segunda é a que decidiu:
 *
 *  1. Um produto que se vende a gabinetes de contabilidade não deve depender de uma chamada a
 *     terceiros para se desenhar. É a mesma razão dos ícones (auto-hospedados em 30/07/2026) e
 *     encaixa na postura de CSP e de anti-extracção que já existe.
 *
 *  2. E a séria: o relatório do CFO Virtual é impresso em PDF pelo **Chromium na VM**
 *     (`pdf_render.html_to_pdf`). A VM não tem Inter nem Playfair instalados — verificado, só tem
 *     DejaVu, Liberation e Noto. Se a chamada ao Google falhar no momento exacto de gerar, o
 *     documento que vai para um cliente ou para um banco sai em Arial, e **ninguém repara**: não
 *     há erro, não há log, o PDF gera-se. Uma falha silenciosa num documento que se entrega.
 *
 * O QUE ESTÁ AQUI. Quatro ficheiros, 196 KB no total, em `static/fonts/`:
 *   inter-latin.woff2 (48K) · inter-latin-ext.woff2 (84K)
 *   playfair-latin.woff2 (38K) · playfair-latin-ext.woff2 (21K)
 *
 * São VARIÁVEIS: um ficheiro por subconjunto cobre toda a gama de pesos (`font-weight: 400 700`
 * no Inter, `600 800` no Playfair), em vez de um ficheiro por peso. Sete pesos em quatro ficheiros.
 *
 * PORQUE VÊM OS DOIS SUBCONJUNTOS. O português cabe todo no `latin`: `ã` é U+00E3, `õ` é U+00F5,
 * `ç` é U+00E7 — dentro de U+0000-00FF. (Escrevi primeiro o contrário neste comentário, e estava
 * errado.) O `latin-ext` cobre U+0100 para cima: `ł`, `ř`, `š`, `ż`, `ę`. Não é para nós — é para
 * os NOMES DOS CLIENTES E DOS FORNECEDORES. Num gabinete que lança faturas intracomunitárias
 * aparece um fornecedor polaco ou checo, e sem o `latin-ext` o nome dele trocava de tipo de letra
 * a meio da palavra, num documento que se entrega.
 * Os `unicode-range` são os do Google, tal e qual: é o que faz o browser descarregar só o ficheiro
 * de que precisa para o texto que está na página — quem só lê português nunca puxa o `latin-ext`.
 *
 * LICENÇA. Ambos são SIL Open Font License 1.1, que permite o alojamento próprio e exige que o
 * aviso de direitos acompanhe os ficheiros — está em `static/fonts/OFL-Inter.txt` e
 * `static/fonts/OFL-PlayfairDisplay.txt`.
 *   Inter: Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
 *   Playfair Display: Copyright 2017 The Playfair Display Project Authors
 *     (https://github.com/clauseggers/Playfair-Display), with Reserved Font Name "Playfair Display".
 *
 * `font-display: swap` mantém-se: o texto aparece logo com o tipo de sistema e troca quando o
 * nosso carrega. Servido do mesmo domínio, essa troca é de milissegundos — mas em papel, num PDF,
 * o Chromium espera pelo tipo de letra, que é exactamente o que se queria garantir.
 */

/* ── Inter — corpo de texto, 400 a 700 ─────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 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: 400 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;
}

/* ── Playfair Display — títulos e números de peça, 600 a 800 ───────────────────────────────── */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url('../fonts/playfair-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: 'Playfair Display';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url('../fonts/playfair-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;
}
