/* ─────────────────────────────────────────────────────────────────────────────
 *  fonts.css — Polices auto-hébergées (self-hosted), v0.63.x
 *
 *  Remplace la dépendance à Google Fonts (fonts.googleapis.com / gstatic.com).
 *  Avantages : vie privée (aucune requête vers Google → conformité RGPD, cf.
 *  jurisprudence allemande 2022), performance (1 hop de moins, pas de
 *  preconnect externe), résilience (pas de point de défaillance tiers).
 *
 *  Fichiers .woff2 latin uniquement (via @fontsource). font-display: swap pour
 *  éviter le FOIT (texte invisible pendant le chargement).
 *
 *  Familles / graisses embarquées :
 *    DM Sans          300, 400, 500, 600
 *    DM Mono          400, 500
 *    Fraunces         300, 600  + 300 italic
 *    Quicksand        400, 500, 600
 *    Playfair Display 500, 700  + 500 italic
 * ───────────────────────────────────────────────────────────────────────────── */

/* ── DM Sans ─────────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./dm-sans-latin-300-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./dm-sans-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./dm-sans-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./dm-sans-latin-600-normal.woff2') format('woff2');
}
/* v0.63.262 — Variantes italiques (600/700) : plusieurs styles du tag preview
   (.ac-title, .ac-note, .pp-title, .bp-name, .ss-name...) demandent
   font-style:italic sur cette police, mais aucun fichier italique n'était
   chargé jusqu'ici — le navigateur synthétisait l'italique lui-même, avec un
   rendu (graisse perçue) différent entre Firefox et Safari/Chrome. */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('./dm-sans-latin-600-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('./dm-sans-latin-700-italic.woff2') format('woff2');
}

/* ── DM Mono ─────────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./dm-mono-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./dm-mono-latin-500-normal.woff2') format('woff2');
}

/* ── Fraunces ────────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./fraunces-latin-300-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fraunces-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('./fraunces-latin-300-italic.woff2') format('woff2');
}

/* ── Quicksand ───────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./quicksand-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./quicksand-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./quicksand-latin-600-normal.woff2') format('woff2');
}

/* ── Playfair Display ────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./playfair-display-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./playfair-display-latin-700-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('./playfair-display-latin-500-italic.woff2') format('woff2');
}

/* ── Montserrat (v0.63.236 — logo header "TravelTag") ───────────────────── */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./montserrat-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./montserrat-latin-700-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('./montserrat-latin-800-normal.woff2') format('woff2');
}
