/* ══════════════════════════════════════════════════════════════
   LE CANON PANTAGRUÉLION — TYPOGRAPHIE COMMUNE
   Une seule échelle pour tout le site. Chargée en DERNIER sur
   chaque page : elle a le dernier mot sur les tailles.

   Trois familles, trois rôles :
   · Cormorant Garamond → titres, noms, prix
   · Libre Caslon Text  → texte à lire
   · DM Mono            → libellés, boutons, mentions (toujours en capitales)
   ══════════════════════════════════════════════════════════════ */

:root {
  --t-label: 11.5px;   /* libellés de chapitre, sur-titres        */
  --t-micro: 10.5px;   /* badges, mentions légales, en-têtes      */
  --t-btn:   12.5px;   /* boutons                                  */
  --t-nav:   11px;     /* bandeau des pages intérieures            */
  --t-lead:  18px;     /* chapeaux, introductions                  */
  --t-body:  17px;     /* texte courant                            */
  --t-small: 15px;     /* texte de carte, notes                    */
  --ls-label: .24em;
  --ls-micro: .16em;
  --ls-btn:   .18em;
}

/* ── 1. LIBELLÉS DE CHAPITRE & SUR-TITRES ─────────────────────── */
.section-numero, .terroir-overlay p.section-numero,
.heritage-meta, .collection-label, .vitrine-numero, .pro-accueil-numero,
.argument-eyebrow, .hero-establecida,
.hero-eyebrow, .page-eyebrow, .section-label, .achat-label,
.pro-offre .num, .ont-carte .num, p.num,
.summary-virement-title, .summary-precommande-title,
.folio-label, .carnet-index .entry-body .label, article.carnet span.num {
  font-family: 'DM Mono', monospace !important;
  font-size: var(--t-label) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: var(--ls-label) !important;
  text-transform: uppercase !important;
  line-height: 1.6 !important;
}

/* ── 2. MENTIONS FINES (badges, étiquettes, légal) ─────────────── */
.vitrine-badge, .pu-badge, .product-badge, .badge-novembre,
.stat-label, .spec-key, .vitrine-gamme, .apo-h-occ, .apo-unite,
.avertissement-legal, .footer-legal, .attente-mention,
.timeline-en-cours, .confirmation-note, .maj, .manifeste-carte-sous {
  font-family: 'DM Mono', monospace !important;
  font-size: var(--t-micro) !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-micro) !important;
  text-transform: uppercase;
}

/* ── 3. BOUTONS ────────────────────────────────────────────────── */
.btn-rouge, .btn-line, .vitrine-btn, .hero-cta, .submit-btn,
a.cta, .folio-cta a, .back-link {
  font-family: 'DM Mono', monospace !important;
  font-size: var(--t-btn) !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-btn) !important;
  text-transform: uppercase !important;
}
/* Boutons sans police déclarée (quantités, flèches) : plus d'Arial */
button { font-family: inherit; }
.qty-btn { font-family: 'Cormorant Garamond', serif !important; font-size: 22px !important; }

/* ── 4. BANDEAU DES PAGES INTÉRIEURES ──────────────────────────── */
.nav-logo-text, .nav-mark-text, .site-bar a.cp {
  font-family: 'DM Mono', monospace !important;
  font-size: var(--t-nav) !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.nav-back, header .retour, .site-bar a:not(.cp) {
  font-family: 'DM Mono', monospace !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
}

/* ── 5. TITRES DE SECTION DE LA PAGE D'ACCUEIL ─────────────────── */
.section-title, .heritage h2, .collection-title, .vitrine-titre,
.pro-accueil h2, .terroir-overlay h2 {
  font-size: clamp(2.5rem, 5vw, 4.2rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.005em !important;
}
/* Sous-titres de bloc (cartes, encadrés) */
.manifeste-carte-titre, .vapo-intro-titre, .attente h3 {
  font-size: 2rem !important;
  font-weight: 500 !important;
}

/* ── 6. TITRES DE CARTE DES FICHES (autrefois en machine à écrire) */
.col-card-title, .comp-titre {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.2 !important;
}

/* ── 7. TEXTE À LIRE ───────────────────────────────────────────── */
.faq-item p { font-size: var(--t-body) !important; }
.section-intro { font-size: var(--t-lead) !important; }
.nav-mark-text, .site-bar a.cp { color: var(--texte-doux) !important; }
header .retour { color: var(--texte-doux) !important; }
header .retour:hover { color: var(--cinabre) !important; }

/* ── 8. MENTIONS LÉGALES : même titre que les autres pages ─────── */
header:has(.retour) + main h1 { font-weight: 600 !important; }
header:has(.retour) + main h1 em { color: var(--cinabre) !important; }
header:has(.retour) + main h2 { font-weight: 600 !important; }

/* Titres de section de l'accueil : même graisse partout, fond clair ou sombre */
.section-title, .heritage h2, .collection-title, .vitrine-titre,
.pro-accueil h2, .terroir-overlay h2 { font-weight: 400 !important; }
.section-title em, .heritage h2 em, .collection-title em, .vitrine-titre em,
.pro-accueil h2 em, .terroir-overlay h2 em { font-weight: 500 !important; }
header:has(.retour) .nav-mark-text { display: block !important; }
