/* ============================================================
   Caprasimo + Figtree — auto-ospitati.

   Sono i due caratteri del design system del mockup di Andrea (`_ds/organic-…`). Il foglio del
   design system li tira da `fonts.googleapis.com`; qui stanno in `/assets/fonts/` per due
   ragioni, e nessuna delle due è la velocità:

   1. **È una PWA dietro un banco.** Un carattere che arriva da un CDN è una cosa che può non
      arrivare — e quando non arriva, il pannello si presenta con un carattere di sistema proprio
      il giorno che la linea del bar fa i capricci. Auto-ospitato entra nel service worker e c'è
      anche senza rete.
   2. **Google Fonts chiamato dal browser manda l'IP del visitatore a Google**, e in UE è un
      problema noto (il Garante tedesco ci ha già messo una sentenza sopra nel 2022). Il pannello
      lo usa il personale del bar, ma la regola è la stessa e costa 53 KB evitarla.

   Entrambi i caratteri sono SIL Open Font License 1.1: l'auto-hosting è espressamente consentito.

   Figtree è **variabile**: lo stesso file copre 400→700, quindi si dichiara una faccia sola con
   l'intervallo invece di tre facce identiche. Sono 20 KB al posto di 60.

   `font-display: swap` — il testo si legge subito col carattere di sistema e cambia quando il
   vero è pronto. Su un pannello dove si leggono ordini, aspettare il carattere è peggio che
   vederlo cambiare.

   ⚠️ Chi misura pixel in un banco di prova deve aspettare `document.fonts.ready`: con `swap` il
   testo viene disegnato due volte, e la prima volta ha le misure sbagliate. È esattamente il
   difetto che ha reso instabile `browser-pannello-layout.js` per giorni.

   Questo file è **usabile anche dall'app cliente** (TASK-039): basta che `--serif`/`--sans` in
   `app.css` puntino a "Caprasimo"/"Figtree" e includere questo foglio. È scritto perché non
   dipende da nient'altro: nessun token, nessuna classe.
   ============================================================ */

/* ---------- Caprasimo — solo i titoli, un peso solo ---------- */
@font-face {
  font-family: 'Caprasimo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/caprasimo-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;
}
@font-face {
  font-family: 'Caprasimo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/caprasimo-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;
}

/* ---------- Figtree — il testo. Variabile: una faccia, tutti i pesi ---------- */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/assets/fonts/figtree-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;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/assets/fonts/figtree-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;
}
