/* Charte Figures Libres — fontes du thème Grav figureslibres-v2 et canvas
   de page A3 paysage (gabarit_book_v3 : 1190,55 × 841,89 pt), communs à
   l'aperçu et au PDF. 1 pt = 4/3 px → page = 1587,4 × 1122,5 px. */

@font-face {
  font-family: 'Syne';
  src: url('/fonts/Syne-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Syne';
  src: url('/fonts/Syne-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Moche';
  src: url('/fonts/Moche-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Lato';
  src: url('/fonts/Lato-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Lato';
  src: url('/fonts/Lato-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Lato';
  src: url('/fonts/Lato-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: 'Lato';
  src: url('/fonts/Lato-bold-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: block;
}
/* Fontes de titre par « utilité » (mixins du thème Grav) */
@font-face {
  font-family: 'Avara';
  src: url('/fonts/Avara-bold-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: 'PlayfairDisplay';
  src: url('/fonts/PlayfairDisplay-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: 'ManifontGrotesk';
  src: url('/fonts/ManifontGrotesk-bold-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: block;
}

/* ---- Canvas de page A3 paysage — métriques mesurées dans le gabarit ---- */

:root {
  --fl-page-w: 1587.4px; /* 420 mm */
  --fl-page-h: 1122.5px; /* 297 mm */
  --fl-margin: 30.2px; /* 8 mm — marge extérieure */
  --fl-gutter: 14.4px; /* 3,8 mm — gouttière des grilles */
  --fl-strip: 18.9px; /* 5 mm — filet haut des pages grille */
  --fl-strip-light: 7.6px; /* 2 mm — filet fin du mode clair (couverture + grille) */
  --fl-band: 208px; /* 55 mm — bandeau des pages couverture */
}

.fl-page {
  position: relative;
  width: var(--fl-page-w);
  height: var(--fl-page-h);
  overflow: hidden;
  flex-shrink: 0;
  background: #ffffff;
  color: #000000;
  font-family: 'Syne', sans-serif;
  font-size: 16px; /* 12 pt */
  line-height: 21.33px; /* 16 pt */
}

.fl-page :is(h1, h2, h3) {
  font-family: 'Syne', sans-serif;
  font-weight: 400; /* Syne toujours en Regular (seul « Figures Libres » reste en Bold) */
  line-height: 1.05;
}

.fl-page img {
  display: block;
}

/* Fontes de titre par catégorie (utilité) — plus spécifiques que la règle
   Syne des h1/h2/h3 ci-dessus */
.fl-page .fl-font-publique {
  font-family: 'PlayfairDisplay', serif;
  font-weight: 400;
  font-style: italic;
}
.fl-page .fl-font-sociale {
  font-family: 'ManifontGrotesk', sans-serif;
  font-weight: 700;
  font-style: italic;
}
.fl-page .fl-font-culturelle {
  font-family: 'Avara', serif;
  font-weight: 700;
  font-style: italic;
}

/* Texte courant issu du Markdown — Syne 12 pt / interligne 16 pt (gabarit) */
.fl-prose p { margin: 0 0 0.75em; }
.fl-prose p:last-child { margin-bottom: 0; }
.fl-prose a { text-decoration: underline; text-underline-offset: 2px; }
.fl-prose ul, .fl-prose ol { margin: 0 0 0.75em; padding-left: 1.2em; }
.fl-prose ul { list-style: disc; }
.fl-prose ol { list-style: decimal; }
.fl-prose strong { font-weight: 400; } /* Syne en Regular : pas de graisse dans le corps de texte */
.fl-prose em { font-style: italic; }
