/* ============================================================
   TDN Typography Presets — utility classes
   Source canonique : docs/tokens/tdn-tokens.json + tdn-tokens.generateblocks.json
   Mirroir de : tdn/data/generateblocks-global-classes.tdn.json

   Rôle : fallback front + référence visuelle dans le repo.
   Les mêmes définitions sont aussi importées en Global Classes
   GenerateBlocks Pro (CPT gblocks_styles) pour exposer un picker
   dans Gutenberg.
   ============================================================ */

/* ---------- Heroes ---------- */

.tdn-hero-home {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-black);
  font-size: var(--tdn-font-size-92);
  line-height: var(--tdn-line-height-tight);
  letter-spacing: var(--tdn-letter-spacing-display);
  text-transform: uppercase;
}

.tdn-hero-page {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-regular);
  font-size: var(--tdn-font-size-82);
  line-height: var(--tdn-line-height-tight);
  letter-spacing: var(--tdn-letter-spacing-display-xl);
  text-transform: none;
}

/* ---------- Display ---------- */

.tdn-display-md {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-bold);
  font-size: var(--tdn-font-size-72);
  line-height: var(--tdn-line-height-tight);
  letter-spacing: var(--tdn-letter-spacing-display-lg);
  text-transform: none;
}

.tdn-display-sm {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-bold);
  font-size: var(--tdn-font-size-60);
  line-height: 0.855;
  letter-spacing: var(--tdn-letter-spacing-tight);
  text-transform: none;
}

/* ---------- Headings ---------- */

.tdn-h1 {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-bold);
  font-size: var(--tdn-font-size-36);
  line-height: 1.111;
  letter-spacing: -0.9px;
  text-transform: none;
}

.tdn-h2 {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-bold);
  font-size: var(--tdn-font-size-32);
  line-height: 1.125;
  letter-spacing: -1.28px;
  text-transform: none;
}

.tdn-h3 {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-bold);
  font-size: var(--tdn-font-size-24);
  line-height: var(--tdn-line-height-normal);
  letter-spacing: 0;
  text-transform: none;
}

/* ---------- Body ---------- */

.tdn-body-lg {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-regular);
  font-size: var(--tdn-font-size-20);
  line-height: var(--tdn-line-height-normal);
  letter-spacing: 0;
  text-transform: none;
}

.tdn-body {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-regular);
  font-size: var(--tdn-font-size-18);
  line-height: var(--tdn-line-height-loose);
  letter-spacing: 0;
  text-transform: none;
}

.tdn-body-sm {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-regular);
  font-size: var(--tdn-font-size-16);
  line-height: var(--tdn-line-height-relaxed);
  letter-spacing: 0;
  text-transform: none;
}

.tdn-caption {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-regular);
  font-size: var(--tdn-font-size-14);
  line-height: var(--tdn-line-height-relaxed);
  letter-spacing: 0;
  text-transform: none;
}

/* ---------- Eyebrows ---------- */

.tdn-eyebrow {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-black);
  font-size: var(--tdn-font-size-12);
  line-height: 1.5;
  letter-spacing: var(--tdn-letter-spacing-wider);
  text-transform: uppercase;
}

.tdn-eyebrow-lg {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-black);
  font-size: var(--tdn-font-size-18);
  line-height: 0.889;
  letter-spacing: var(--tdn-letter-spacing-widest);
  text-transform: uppercase;
}

/* ---------- Buttons ---------- */

.tdn-button-lg {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-bold);
  font-size: var(--tdn-font-size-20);
  line-height: var(--tdn-line-height-normal);
  letter-spacing: 0;
  text-transform: none;
}

.tdn-button {
  font-family: var(--tdn-font-family-brand);
  font-weight: var(--tdn-font-weight-bold);
  font-size: var(--tdn-font-size-16);
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}
