/* Feuille de style des sorties PDF — charte help.eko-crm.com. */
@page { size: A4; margin: 18mm 16mm 20mm 16mm; }

:root {
  --eko-bleu-nuit: #1f1f54;
  --eko-violet: #704af1;
  --eko-ambre: #ffb10a;
}

body {
  font-family: "DM Sans", Helvetica, Arial, sans-serif;
  font-size: 10.5pt;
  line-height: 1.55;
  color: #666666;
  margin: 0;
}

.couverture { break-after: page; text-align: center; padding-top: 55mm; }
.couverture img { width: 70mm; }
.couverture h1 { font-size: 26pt; color: var(--eko-bleu-nuit); margin: 12mm 0 4mm; }
.couverture .sous-titre { font-size: 12pt; color: var(--eko-violet); margin: 0; font-weight: 700; }
.couverture .date { font-size: 10pt; color: #999; margin-top: 3mm; }

.sommaire { break-after: page; }
.sommaire h1 { font-size: 20pt; color: var(--eko-bleu-nuit); border-bottom: 3px solid var(--eko-ambre); padding-bottom: 2mm; }
.sommaire h2 { font-size: 12pt; margin: 6mm 0 2mm; color: var(--eko-ambre); }
.sommaire ul { margin: 0; padding-left: 6mm; }
.sommaire li { list-style: none; font-size: 10pt; margin-bottom: 1mm; }
.sommaire a { color: #666; text-decoration: none; }

.intercalaire { break-before: page; break-after: page; padding-top: 90mm; text-align: center; }
.intercalaire h1 {
  font-size: 22pt;
  color: var(--eko-bleu-nuit);
  display: inline-block;
  border-top: 3px solid var(--eko-ambre);
  border-bottom: 3px solid var(--eko-ambre);
  padding: 4mm 8mm;
}

article { break-before: page; }
body.article-seul article { break-before: auto; }
body.article-seul .categorie {
  font-size: 9pt; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--eko-violet); margin: 0 0 1mm;
}
article > h1 {
  font-size: 18pt;
  color: var(--eko-bleu-nuit);
  border-bottom: 2px solid var(--eko-ambre);
  padding-bottom: 2mm;
  margin: 0 0 2mm;
}
article .origine { font-size: 8pt; color: #aaa; margin: 0 0 6mm; word-break: break-all; }

h2 { font-size: 13pt; color: var(--eko-ambre); margin-top: 7mm; break-after: avoid; }
h3 { font-size: 11.5pt; color: var(--eko-ambre); margin-top: 5mm; break-after: avoid; }
h4, h5 { color: var(--eko-bleu-nuit); break-after: avoid; }
strong { color: var(--eko-bleu-nuit); }
p, li { orphans: 2; widows: 2; }

/* Une capture plus large que la colonne est réduite ; une image plus petite
   garde sa taille, elle n'est jamais agrandie (`width: auto`). `max-height`
   empêche qu'une image très haute déborde de la page. */
img {
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 200mm;
  object-fit: contain;
  border: 1px solid #ddd;
  border-radius: 3px;
  break-inside: avoid;
}

/* Pictogrammes marqués par scripts/rehype-icones.mjs : à leur taille naturelle
   (300 px ≈ 79 mm) ils occupaient un tiers de page chacun et rejetaient le
   texte de la puce au bord droit. */
img.eko-icone {
  display: inline;
  height: 5.5mm;
  width: auto;
  max-width: none;
  max-height: 5.5mm;
  margin-right: 1.5mm;
  vertical-align: -1.4mm;
  border: 0;
  border-radius: 0;
}

table { border-collapse: collapse; width: 100%; font-size: 9pt; break-inside: avoid; }
th, td { border: 1px solid #ddd; padding: 1.5mm 2mm; text-align: left; vertical-align: top; }
th { background: #f1f1f1; color: var(--eko-bleu-nuit); }

blockquote {
  border-left: 3px solid var(--eko-ambre);
  margin: 4mm 0; padding: 1mm 0 1mm 4mm;
  color: #555; background: #fbfbfb;
}

code { font-family: Menlo, Consolas, monospace; font-size: 9pt; background: #f1f1f1; padding: 0 1mm; }
pre { background: #f1f1f1; padding: 2mm; white-space: pre-wrap; overflow-wrap: break-word; break-inside: avoid; }

a { color: var(--eko-violet); }

/* Starlight ajoute une ancre cliquable à chaque titre : sans objet sur papier. */
a.sl-anchor-link,
.sr-only { display: none !important; }
