/* ============================================================================
   03 — MODERNE
   ----------------------------------------------------------------------------
   Style professionnel contemporain : sans-serif moderne, palette bleu/gris,
   titres marqués par une barre latérale, pagination soignée. Bon compromis
   entre rigueur et accessibilité. Idéal pour la majorité des documents.
   ============================================================================ */

/* ============================================================================
   CORRECTIF — Neutralisation des puces de liste générées par l'extension
   ----------------------------------------------------------------------------
   L'extension logseq-pdf-export-plugin transforme CHAQUE bloc LogSeq en un
   élément <li> d'une liste HTML. Les "cercles" visibles dans le PDF sont donc
   les puces standard des <li>. On les masque ici pour avoir un rendu lisse.
   Conséquence : les listes Markdown explicites n'auront pas non plus de puces
   dans le PDF — c'est un compromis nécessaire puisque tout est rendu en liste.
   Si tu veux RESTAURER les puces, supprime ce bloc.
   ============================================================================ */

/* Neutralisation totale des puces de liste */
ul, ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

li {
  list-style: none !important;
}

li::marker {
  content: "" !important;
}

/* Au cas où LogSeq préserverait aussi ses classes internes : on les masque */
.bullet,
.bullet-container,
.bullet-link-wrap,
.block-control,
.rotating-arrow,
.control-hide,
.block-control-wrap {
  display: none !important;
}

/* Annule le décalage négatif que LogSeq applique au conteneur de blocs */
.page-blocks-inner {
  margin-left: 0 !important;
}

/* ============================================================================
   MASQUAGE DES PROPRIÉTÉS DE BLOC LOGSEQ
   ----------------------------------------------------------------------------
   Les propriétés (export::, style::, title::, date::, type::, etc.) sont
   utiles dans LogSeq mais ne doivent pas apparaître dans le PDF final.
   Cette règle les masque complètement, quel que soit leur nom.
   Pour faire apparaître un titre ou une date dans le PDF, écris-les
   directement dans le contenu de la page :
       # Joseph - Réunion EMAS30
       *5 juin 2026*
   ============================================================================ */
.block-properties,
.page-properties,
.pre-block,
.block-properties-area,
[class*="properties"] {
  display: none !important;
}


:root {
  --couleur-titre: #1F3A5F;
  --couleur-accent: #0066CC;
  --couleur-lien: #0066CC;
  --couleur-texte: #2C3E50;
  --couleur-filet: #D5DBE0;
  --couleur-encadre: #F5F7FA;

  --police-titre: 'Inter', 'Source Sans 3', 'Source Sans Pro', sans-serif;
  --police-texte: 'Inter', 'Source Sans 3', 'Source Sans Pro', sans-serif;
  --police-code:  'JetBrains Mono', 'Fira Code', 'Source Code Pro', monospace;

  --taille-base: 11pt;
  --interligne: 1.55;
}

/* === 2. MISE EN PAGE & PAGINATION === */
@page {
  size: A4;
  margin: 2.5cm 2.5cm 2.5cm 2.5cm;

  @bottom-center {
    content: "Page " counter(page) " sur " counter(pages);
    font-family: 'Inter', sans-serif;
    font-size: 9pt;
    color: #888888;
    padding-top: 0.5cm;
  }
}

@page :first { margin-top: 3cm; }

/* === 3. STRUCTURE DE BASE === */
body {
  font-family: var(--police-texte);
  font-size: var(--taille-base);
  line-height: var(--interligne);
  color: var(--couleur-texte);
  text-align: justify;
  hyphens: auto;
}

/* === 4. TITRES === */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--police-titre);
  color: var(--couleur-titre);
  font-weight: 700;
  page-break-after: avoid;
  break-after: avoid;
  text-align: left;
  hyphens: none;
  letter-spacing: -0.01em;
}

/* Titre principal avec barre colorée à gauche (touche moderne) */
h1 {
  font-size: 2em;
  margin: 0 0 0.5em 0;
  padding-left: 0.6em;
  border-left: 6px solid var(--couleur-accent);
}

h2 {
  font-size: 1.4em;
  margin: 1.5em 0 0.4em 0;
  padding-bottom: 0.2em;
  border-bottom: 2px solid var(--couleur-filet);
}

h3 { font-size: 1.2em; margin: 1.2em 0 0.3em 0; color: var(--couleur-accent); }
h4 { font-size: 1.05em; margin: 1em 0 0.2em 0; }
h5, h6 { font-size: 0.95em; text-transform: uppercase; letter-spacing: 0.08em;
         color: var(--couleur-accent); margin: 0.8em 0 0.2em 0; }

/* === 5. PARAGRAPHES === */
p { margin: 0 0 0.9em 0; orphans: 3; widows: 3; }
strong, b { font-weight: 700; color: var(--couleur-titre); }
em, i { font-style: italic; }

/* === 6. LIENS === */
a, a:link, a:visited { color: var(--couleur-lien); text-decoration: none;
                       font-weight: 500; }
a:hover { text-decoration: underline; }

/* === 7. LISTES === */
ul, ol { margin: 0.5em 0 0.9em 0; padding-left: 1.5em; }
li { margin-bottom: 0.25em; text-align: left; }
li > ul, li > ol { margin: 0.2em 0; }
ul li::marker { color: var(--couleur-accent); }

/* === 8. TABLEAUX === */
table { width: 100%; border-collapse: collapse; margin: 0.8em 0 1.2em;
        page-break-inside: avoid; }
th, td { padding: 0.5em 0.7em; text-align: left; vertical-align: top;
         border-bottom: 1px solid var(--couleur-filet); }
thead th { background-color: var(--couleur-encadre); font-weight: 700;
           color: var(--couleur-titre); border-bottom: 2px solid var(--couleur-accent); }
tbody tr:last-child td { border-bottom: 2px solid var(--couleur-accent); }

/* === 9. CITATIONS === */
blockquote {
  margin: 1em 0;
  padding: 0.6em 1em;
  border-left: 4px solid var(--couleur-accent);
  background-color: var(--couleur-encadre);
  font-style: italic;
  color: #555;
  page-break-inside: avoid;
}
blockquote p:last-child { margin-bottom: 0; }

/* === 10. CODE === */
code { font-family: var(--police-code); font-size: 0.9em;
       background-color: var(--couleur-encadre); padding: 0.15em 0.4em;
       border-radius: 3px; color: var(--couleur-accent); }
pre { font-family: var(--police-code); font-size: 0.85em;
      background-color: var(--couleur-encadre); padding: 0.9em;
      border-radius: 4px; border-left: 3px solid var(--couleur-accent);
      margin: 1em 0; overflow-x: auto; white-space: pre-wrap;
      page-break-inside: avoid; }
pre code { background: none; padding: 0; color: var(--couleur-texte); }

/* === 11. IMAGES & HR === */
img { max-width: 100%; height: auto; display: block; margin: 1em auto;
      border-radius: 4px; }
hr { border: none; border-top: 2px solid var(--couleur-filet); margin: 1.5em 0; }

/* === 12. IMPRESSION === */
@media print {
  body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; break-after: avoid; }
}
