/**
 * TAP v19.0.0 — Roboto Typography System
 * ---------------------------------------
 * Objectif : unifier l’éditorial desktop/mobile autour de Roboto, renforcer
 * la lisibilité des articles et utiliser exactement deux blancs éditoriaux :
 * #FFFFFF pour les titres/intertitres/chapôs, #F4F4F2 pour la lecture longue.
 *
 * Cette couche est chargée après v18 afin de préserver la structure, le logo,
 * la grille, les fonctionnalités et les composants déjà validés.
 */

:root {
  --tap-serif: "Roboto", Arial, Helvetica, sans-serif;
  --tap-reading-white: #F4F4F2;
  --tap-editorial-white: #FFFFFF;
}

/* Le site conserve les variables historiques pour ne pas casser les composants,
   mais toute typographie éditoriale qui utilisait --tap-serif passe à Roboto. */
body {
  font-family: var(--tap-serif);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* --------------------------------------------------------------------------
   ARTICLE — DESKTOP
   -------------------------------------------------------------------------- */
.single-post .tap-corail-article__head h1 {
  font-family: var(--tap-serif) !important;
  font-size: clamp(42px, 4.4vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  color: var(--tap-editorial-white) !important;
  text-wrap: pretty;
}

.single-post .tap-corail-article__deck {
  font-family: var(--tap-serif) !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  letter-spacing: -0.008em !important;
  color: var(--tap-editorial-white) !important;
}

.single-post .tap-corail-article__prose,
.single-post .tap-meter-teaser {
  font-family: var(--tap-serif) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
  letter-spacing: -0.004em !important;
  color: var(--tap-reading-white) !important;
}

.single-post .tap-corail-article__prose p,
.single-post .tap-corail-article__prose li,
.single-post .tap-corail-article__prose dd,
.single-post .tap-corail-article__prose dt {
  color: var(--tap-reading-white) !important;
}

.single-post .tap-corail-article__prose > p {
  margin-bottom: 30px !important;
}

.single-post .tap-corail-article__prose :is(h2, h3, h4) {
  font-family: var(--tap-serif) !important;
  font-weight: 700 !important;
  color: var(--tap-editorial-white) !important;
  letter-spacing: -0.018em !important;
  text-wrap: pretty;
}

.single-post .tap-corail-article__prose h2 {
  margin-top: 50px !important;
  margin-bottom: 24px !important;
  font-size: 34px !important;
  line-height: 1.14 !important;
}

.single-post .tap-corail-article__prose h3 {
  margin-top: 42px !important;
  margin-bottom: 20px !important;
  font-size: 27px !important;
  line-height: 1.18 !important;
}

.single-post .tap-corail-article__prose strong,
.single-post .tap-corail-article__prose b {
  font-weight: 700 !important;
  color: var(--tap-editorial-white) !important;
}

.single-post .tap-corail-article__prose blockquote {
  color: var(--tap-editorial-white) !important;
  font-family: var(--tap-serif) !important;
  font-size: 23px !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
}

/* La lettrine reste TAP/corail, mais adopte elle aussi Roboto. */
.single-post .tap-corail-article__prose > p:first-child::first-letter,
.single-post .tap-meter-teaser > p:first-child::first-letter {
  font-family: var(--tap-serif) !important;
  font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   ARTICLE — MOBILE
   -------------------------------------------------------------------------- */
@media (max-width: 760px) {
  .single-post .tap-corail-article {
    padding-inline: 20px !important;
  }

  .single-post .tap-corail-article__head h1 {
    font-size: clamp(36px, 10.2vw, 44px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    color: var(--tap-editorial-white) !important;
  }

  .single-post .tap-corail-article__deck {
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    color: var(--tap-editorial-white) !important;
  }

  .single-post .tap-corail-article__prose,
  .single-post .tap-meter-teaser {
    padding-top: 48px !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    letter-spacing: -0.008em !important;
    color: var(--tap-reading-white) !important;
  }

  .single-post .tap-corail-article__prose > p {
    margin-bottom: 28px !important;
  }

  .single-post .tap-corail-article__prose h2 {
    margin-top: 46px !important;
    margin-bottom: 22px !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--tap-editorial-white) !important;
  }

  .single-post .tap-corail-article__prose h3 {
    margin-top: 38px !important;
    margin-bottom: 20px !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    color: var(--tap-editorial-white) !important;
  }

  .single-post .tap-corail-article__prose blockquote {
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
  }
}
