/* ArtisanPro — surcharge typographique de la charte Broadsheet.
   Broadsheet est un système "presse écrite" en Source Serif 4. Décision produit
   validée le 26/08/2026 : l'INTERFACE passe en sans-serif (Public Sans), le reste
   de la charte (couleurs, espacements, rayons, ombres, composants) est inchangé.
   Charger ce fichier APRÈS broadsheet.css. */

@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --font-heading: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-heading-weight: 600;

  /* Échelle de corps applicative — plus grande que le défaut du système :
     public visé = artisan peu à l'aise avec les logiciels. */
  --text-xs: 14px;    /* mentions, horodatages */
  --text-sm: 15px;    /* aides sous les libellés */
  --text-base: 17px;  /* corps de l'interface — plancher */
  --text-lg: 19px;    /* titres de ligne, montants */
  --text-xl: 22px;
  --text-2xl: 26px;
  --text-3xl: 30px;

  /* Hauteurs de cible tactile — jamais en dessous de --touch-min. */
  --touch-min: 44px;
  --touch-action: 48px;   /* action secondaire visible */
  --touch-primary: 52px;  /* action principale d'un écran */
  --touch-mobile: 56px;   /* bouton plein écran, usage avec des gants */
}

body { font-size: var(--text-base); }

/* Le serif reste disponible pour une seule chose : la citation de la dictée
   du technicien, qui doit se lire comme une parole rapportée. */
.quote-voice {
  font-family: 'Source Serif 4', Georgia, serif;
  font-style: italic;
  font-size: var(--text-lg);
  line-height: 1.55;
  max-width: 56ch;
}

/* Chiffres alignés partout où l'on compare des montants ou des heures. */
.num { font-variant-numeric: tabular-nums; }

/* Boutons à la taille réelle du produit (le .btn du système est calibré 14px
   pour du web éditorial — trop petit ici). */
.btn { font-size: 16px; min-height: var(--touch-action); padding: 12px 20px; }
.btn-primary { font-size: 17px; min-height: var(--touch-primary); padding: 14px 26px; }
.btn-block { min-height: var(--touch-mobile); font-size: 18px; }
.input { min-height: var(--touch-min); font-size: var(--text-base); }
