/* Système typographique Lansiow — deux polices, un rôle chacune.
 *  - Instrument Serif (400, normal) : uniquement les titres d'affichage (h1, h2 de page/section/fenêtre).
 *  - Inter (400 à 700) : tout le reste (texte, interface, boutons, libellés, tableaux).
 *  - IBM Plex Mono : chiffres et valeurs mises en avant (inchangé).
 * Chargée en dernier dans <head> pour l'emporter sur les règles h1/h2 propres à chaque page.
 */
:root {
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
}

html, body { font-family: var(--font-body); }

/* Utilitaire : à ajouter au cas par cas sur un titre qui doit être en serif. */
.font-brand-serif,
h1, h2,
.auth-form h2,
.modal-box h2,
.premium-lock-title {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.01em;
  font-synthesis: none;
  /* Le serif a une petite hauteur d'x : on l'aligne sur celle d'Inter pour garder la même présence visuelle. */
  font-size-adjust: 0.5;
}

/* Tailles d'affichage du tableau de bord (le serif, plus fin, a besoin d'un peu plus de corps que l'ancien titre gras). */
.view-title { font-size: 32px; }
.tool-panel-head h2 { font-size: 23px; }
.modal-box h2, .premium-lock-title { font-size: 23px; }
.product-title { font-size: 32px; line-height: 1.15; }
.section-block h2, .about-section h2 { font-size: 23px; }
.auth-form h2 { font-size: 32px; }
.onboarding-step h2 { font-size: 28px; }
@media (max-width: 760px) {
  .view-title { font-size: 28px; }
  .product-title { font-size: 26px; }
  .auth-form h2 { font-size: 28px; }
  .onboarding-step h2 { font-size: 24px; }
}

/* Textes riches écrits par les vendeurs (contenu de produit, éditeur), documents générés, petits sous-titres de 15 px
   et titres d'étapes d'un formulaire : restent en Inter. */
.rich-content h1, .rich-content h2,
.editor-textarea h1, .editor-textarea h2,
.sheet-main-title, .sheet-section-title,
h2[style*="font-size:15px"],
.pf-header h2 {
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: 0;
  font-size-adjust: none;
}
