/* ============================================================================
   07 — SCOLAIRE
   ----------------------------------------------------------------------------
   Style cahier d'école : couleurs douces type fournitures scolaires, accents
   pastel bleu et rose, encadrés clairs, mise en forme pédagogique. Idéal pour
   fiches pédagogiques, supports de travail, exercices à distribuer aux élèves.
   ============================================================================ */

/* ============================================================================
   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: #3A5F7A;                /* Bleu pastel profond */
  --couleur-accent: #E07A5F;               /* Corail doux */
  --couleur-accent-2: #81B29A;             /* Vert d'eau */
  --couleur-lien: #3A5F7A;
  --couleur-texte: #2D3748;
  --couleur-filet: #CBD5E0;
  --couleur-encadre: #F0F4F8;              /* Bleu très pâle */

  --police-titre: 'Source Sans 3', 'Lato', 'DejaVu Sans', sans-serif;
  --police-texte: 'Source Sans 3', 'Lato', 'DejaVu Sans', sans-serif;
  --police-code:  'Source Code Pro', monospace;

  --taille-base: 12pt;                     /* Plus grand : confort pour les enfants */
  --interligne: 1.7;                       /* Très aéré pour la lecture */
}

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

  @bottom-right {
    content: "Page " counter(page);
    font-family: 'Source Sans 3', sans-serif;
    font-size: 10pt;
    color: var(--couleur-titre, #3A5F7A);
    font-weight: 600;
    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: left;
  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;
}

/* Titre principal avec fond pastel */
h1 {
  font-size: 1.9em;
  margin: 0 0 1em 0;
  padding: 0.5em 0.7em;
  background-color: var(--couleur-encadre);
  border-radius: 8px;
  border-left: 6px solid var(--couleur-accent);
}

/* H2 avec petit "rond" coloré devant (style scolaire) */
h2 {
  font-size: 1.4em;
  margin: 1.5em 0 0.4em 0;
  padding-left: 1.2em;
  position: relative;
}
h2::before {
  content: "●";
  position: absolute;
  left: 0;
  color: var(--couleur-accent);
}

h3 {
  font-size: 1.2em;
  margin: 1.2em 0 0.3em 0;
  color: var(--couleur-accent-2);
}

h4 { font-size: 1.05em; margin: 1em 0 0.2em 0; font-style: italic; }
h5, h6 { font-size: 1em; margin: 0.8em 0 0.2em 0; font-style: italic;
         color: var(--couleur-accent); }

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

/* === 6. LIENS === */
a, a:link, a:visited {
  color: var(--couleur-lien);
  text-decoration: underline;
  text-decoration-color: var(--couleur-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.15em;
  font-weight: 600;
}
a:hover { text-decoration-thickness: 3px; }

/* === 7. LISTES === */
ul, ol { margin: 0.6em 0 1em 0; padding-left: 1.8em; }
li { margin-bottom: 0.4em; text-align: left; }
li > ul, li > ol { margin: 0.3em 0; }
ul li::marker { color: var(--couleur-accent); content: "★ "; }   /* Étoile scolaire */
ol li::marker { color: var(--couleur-accent); font-weight: 700; }

/* === 8. TABLEAUX === */
table { width: 100%; border-collapse: separate; border-spacing: 0;
        margin: 1em 0 1.3em; page-break-inside: avoid;
        border-radius: 8px; overflow: hidden; }
th, td { padding: 0.6em 0.8em; text-align: left; vertical-align: top; }
thead th { background-color: var(--couleur-titre); color: white;
           font-weight: 700; }
tbody tr:nth-child(even) { background-color: var(--couleur-encadre); }
tbody td { border-bottom: 1px solid var(--couleur-filet); }

/* === 9. CITATIONS (style "petit mot" sur fond pastel) === */
blockquote {
  margin: 1em 0;
  padding: 1em 1.2em;
  background-color: var(--couleur-encadre);
  border-radius: 10px;
  border-left: 4px solid var(--couleur-accent-2);
  font-style: italic;
  color: var(--couleur-titre);
  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.2em 0.5em;
       border-radius: 5px; color: var(--couleur-accent); }
pre { font-family: var(--police-code); font-size: 0.85em;
      background-color: var(--couleur-encadre); padding: 1em;
      border-radius: 8px; border-left: 4px 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: 1.3em auto;
      border-radius: 8px; }
hr {
  border: none;
  text-align: center;
  margin: 2em 0;
  color: var(--couleur-accent);
  font-size: 1.2em;
}
hr::before { content: "✿ ✿ ✿"; letter-spacing: 0.8em; }

/* === 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; }
}
