/* =====================================================================
   CHARTE MAÎTRE — MATHS-SCIENCES — 2de BAC PRO PIPAC-B
   Roland Panzou — 2026-2027
   Version destinée aux polycopiés A4 imprimables
   ===================================================================== */

:root{
  --marine:#173f67;
  --turquoise:#16979d;
  --cyan:#46ccd3;
  --orange:#e9892d;
  --vert:#668f45;
  --violet:#75579b;

  --bleu-pale:#eef5fa;
  --turquoise-pale:#eef9f9;
  --orange-pale:#fff6e9;
  --vert-pale:#f2f7ed;
  --violet-pale:#f5f1f9;

  --texte:#172535;
  --gris:#5f6b76;
  --bord:#c9d1d8;
  --gris-pale:#f5f7f9;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
}

body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--texte);
  background:#eceff1;
  font-size:11pt;
  line-height:1.34;
}

p{
  margin:0 0 1.7mm 0;
}

ul,ol{
  margin:1.5mm 0 1.5mm 5mm;
  padding-left:4mm;
}

li{
  margin-bottom:1.1mm;
}

strong{
  font-weight:700;
}

/* ---------------------------------------------------------------------
   PAGE A4
   --------------------------------------------------------------------- */

.page{
  position:relative;
  width:210mm;
  height:297mm;
  margin:8mm auto;
  padding:10mm 12mm 21mm 12mm;
  background:#fff;
  page-break-after:always;
  overflow:hidden;
}

.page:last-child{
  page-break-after:auto;
}

/* ---------------------------------------------------------------------
   EN-TÊTE
   --------------------------------------------------------------------- */

.header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  border-bottom:2px solid var(--marine);
  padding-bottom:3mm;
  margin-bottom:4mm;
}

.brand{
  display:flex;
  align-items:center;
  gap:3.5mm;
}

.brand-icon{
  width:13mm;
  height:13mm;
  border-radius:50%;
  background:var(--turquoise);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 13mm;
}

.brand-icon svg{
  width:8.8mm;
  height:8.8mm;
}

.brand-title{
  font-size:18pt;
  font-weight:800;
  letter-spacing:.15mm;
  color:var(--marine);
  line-height:1.05;
}

.brand-subtitle{
  font-size:10.5pt;
  font-weight:700;
  color:var(--turquoise);
  margin-top:1mm;
}

.student-box{
  width:66mm;
  border:1.4px solid var(--marine);
  border-radius:2mm;
  padding:2.3mm 3.4mm;
  font-size:9.6pt;
  line-height:1.75;
}

/* ---------------------------------------------------------------------
   BANDEAU DE SÉANCE
   --------------------------------------------------------------------- */

.session-banner{
  display:flex;
  margin-bottom:4mm;
}

.session-number{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:22mm;
  padding:3mm;
  background:var(--marine);
  color:#fff;
  font-size:18pt;
  font-weight:800;
  border-radius:2mm 0 0 2mm;
}

.session-title{
  flex:1;
  display:flex;
  align-items:center;
  padding:3mm 5mm;
  border:1.4px solid var(--marine);
  border-left:0;
  border-radius:0 2mm 2mm 0;
  background:var(--bleu-pale);
  color:var(--marine);
  font-size:14pt;
  font-weight:800;
}

/* ---------------------------------------------------------------------
   BLOC GÉNÉRIQUE
   --------------------------------------------------------------------- */

.block{
  border:1.5px solid;
  border-radius:2.2mm;
  padding:3mm 4mm;
  margin-bottom:3mm;
  break-inside:avoid;
  background:#fff;
}

.block-title{
  display:flex;
  align-items:center;
  gap:2.5mm;
  font-size:12.4pt;
  font-weight:800;
  margin-bottom:1.8mm;
}

.block-number{
  width:8mm;
  height:8mm;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:9.3pt;
  font-weight:800;
  flex:0 0 8mm;
}

/* ---------------------------------------------------------------------
   FAMILLES PÉDAGOGIQUES
   --------------------------------------------------------------------- */

.automatismes{
  border-color:var(--orange);
  background:var(--orange-pale);
}
.automatismes .block-title{color:#9f5515}
.automatismes .block-number{background:var(--orange)}

.competences{
  border-color:var(--vert);
  background:var(--vert-pale);
}
.competences .block-title{color:#52743a}
.competences .block-number{background:var(--vert)}

.problematique{
  border-color:var(--marine);
  background:var(--bleu-pale);
}
.problematique .block-title{color:var(--marine)}
.problematique .block-number{background:var(--marine)}

.documents{
  border-color:var(--violet);
  background:var(--violet-pale);
}
.documents .block-title{color:var(--violet)}
.documents .block-number{background:var(--violet)}

.recherche{
  border-color:var(--turquoise);
  background:var(--turquoise-pale);
}
.recherche .block-title{color:var(--turquoise)}
.recherche .block-number{background:var(--turquoise)}

.cours{
  border:2.2px solid var(--marine);
  background:#fff;
}
.cours .block-title{color:var(--marine)}
.cours .block-number{background:var(--marine)}

.savoir-faire{
  border-color:var(--orange);
  border-left-width:5px;
  background:var(--orange-pale);
}
.savoir-faire .block-title{color:#9f5515}
.savoir-faire .block-number{background:var(--orange)}

.exercices{
  border-color:var(--vert);
  background:#fff;
}
.exercices .block-title{color:#52743a}
.exercices .block-number{background:var(--vert)}

.verification{
  border-color:var(--turquoise);
  background:var(--turquoise-pale);
}
.verification .block-title{color:var(--turquoise)}
.verification .block-number{background:var(--turquoise)}

/* TP */
.securite{
  border-color:var(--orange);
  border-left-width:6px;
  background:var(--orange-pale);
}
.securite .block-title{color:#9f5515}
.securite .block-number{background:var(--orange)}

.materiel{
  border-color:var(--violet);
  background:var(--violet-pale);
}
.materiel .block-title{color:var(--violet)}
.materiel .block-number{background:var(--violet)}

.protocole{
  border-color:var(--turquoise);
  background:#fff;
}
.protocole .block-title{color:var(--turquoise)}
.protocole .block-number{background:var(--turquoise)}

.resultats{
  border-color:var(--marine);
  background:#fff;
}
.resultats .block-title{color:var(--marine)}
.resultats .block-number{background:var(--marine)}

/* Contrôle */
.controle-intro{
  border-color:var(--marine);
  background:var(--bleu-pale);
}
.controle-intro .block-title{color:var(--marine)}
.controle-intro .block-number{background:var(--marine)}

.exercice-eval{
  border-color:var(--marine);
  background:#fff;
}

.exercice-eval .block-title{
  color:var(--marine);
}

.bareme{
  margin-left:auto;
  min-width:18mm;
  padding:1.2mm 2.3mm;
  border:1.2px solid var(--marine);
  border-radius:4mm;
  background:#fff;
  color:var(--marine);
  text-align:center;
  font-size:9.2pt;
  font-weight:800;
}

/* ---------------------------------------------------------------------
   ÉLÉMENTS DE CONTENU
   --------------------------------------------------------------------- */

.problem-question{
  color:var(--marine);
  font-size:11.6pt;
  font-weight:800;
}

.document-card{
  margin-top:2mm;
  padding:3mm;
  border:1px solid var(--bord);
  border-radius:2mm;
  background:#fff;
}

.document-title{
  color:var(--marine);
  font-weight:800;
  margin-bottom:1mm;
}

.source{
  margin-top:2mm;
  padding-top:1.5mm;
  border-top:1px dotted #aab3ba;
  color:var(--gris);
  font-size:8.5pt;
}

.course-definition{
  margin:2mm 0;
  padding:2.7mm 3.2mm;
  border-left:5px solid var(--marine);
  background:var(--bleu-pale);
}

.formula{
  margin:3mm 0;
  padding:2.5mm;
  border:1px solid var(--bord);
  border-radius:1.8mm;
  text-align:center;
  font-size:12pt;
  font-weight:800;
}

.checklist{
  list-style:none;
  margin-left:0;
  padding-left:0;
}

.checklist li{
  position:relative;
  padding-left:7mm;
  margin-bottom:1.7mm;
}

.checklist li::before{
  content:"□";
  position:absolute;
  left:0;
  top:-.5mm;
  font-size:13pt;
}

.two-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3mm;
}

.three-columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.5mm;
}

.small-card{
  border:1px solid var(--bord);
  border-radius:2mm;
  padding:2.6mm 3mm;
  background:#fff;
}

.small-card-title{
  font-weight:800;
  color:var(--marine);
  margin-bottom:1mm;
}

.question{
  margin:2.4mm 0;
  font-size:10.6pt;
}

.qnum{
  font-weight:800;
  color:var(--marine);
}

.answer-lines{
  min-height:22mm;
  margin-top:1.5mm;
  border:1px solid var(--bord);
  border-radius:1.7mm;
  background:
    repeating-linear-gradient(
      to bottom,
      #fff 0,
      #fff 7.4mm,
      #e3e8ec 7.5mm,
      #fff 7.7mm
    );
}

.answer-lines.small{min-height:14mm}
.answer-lines.large{min-height:38mm}

.answer-line{
  min-height:7mm;
  border-bottom:1px solid #7e8993;
}

.calc-lines{
  margin-top:1.5mm;
}

.calc-line{
  height:8mm;
  border-bottom:1px solid #a8b0b7;
}

.response-label{
  margin-top:2mm;
  color:var(--marine);
  font-weight:700;
  font-size:10.2pt;
}

.context{
  margin:2mm 0 3mm;
  padding:3mm 4mm;
  border-left:5px solid var(--turquoise);
  background:var(--turquoise-pale);
}

.protocol-step{
  display:grid;
  grid-template-columns:9mm 1fr;
  gap:2.5mm;
  align-items:start;
  margin-bottom:2mm;
}

.step-number{
  width:7mm;
  height:7mm;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1.3px solid var(--turquoise);
  border-radius:50%;
  color:var(--turquoise);
  font-size:9pt;
  font-weight:800;
}

.data-table{
  width:100%;
  border-collapse:collapse;
  margin-top:2mm;
}

.data-table th,
.data-table td{
  border:1px solid #6f7880;
  padding:2.2mm 2.5mm;
  min-height:8mm;
  vertical-align:middle;
}

.data-table th{
  background:var(--bleu-pale);
  text-align:center;
  font-weight:800;
}

.exercise{
  margin-top:2mm;
  padding-top:2mm;
  border-top:1px dotted #aeb5bc;
}

.exercise:first-of-type{
  border-top:0;
  padding-top:0;
}

.exercise-title{
  color:var(--marine);
  font-weight:800;
  margin-bottom:1.5mm;
}

.skill-tags{
  display:flex;
  flex-wrap:wrap;
  gap:1.5mm;
  margin:1.5mm 0 2mm;
}

.skill-tag{
  padding:1mm 2mm;
  border:1px solid var(--vert);
  border-radius:3mm;
  background:#fff;
  color:#486833;
  font-size:8.6pt;
  font-weight:700;
}

.score-box{
  display:grid;
  grid-template-columns:1fr 32mm;
  gap:3mm;
  align-items:center;
}

.score{
  border:1.6px solid var(--marine);
  border-radius:2mm;
  padding:3mm;
  text-align:center;
  font-weight:800;
  font-size:13pt;
}

/* ---------------------------------------------------------------------
   PIED DE PAGE
   --------------------------------------------------------------------- */

.footer{
  position:absolute;
  left:12mm;
  right:12mm;
  bottom:5mm;
  border-top:1px solid #cdd4da;
  padding-top:2mm;
  display:grid;
  grid-template-columns:1fr 1.15fr 1fr;
  align-items:end;
}

.footer-id{
  font-size:7.8pt;
  line-height:1.35;
}

.footer-id strong{
  font-size:8pt;
}

.footer-center{
  text-align:center;
}

.page-count{
  font-size:9.2pt;
  font-weight:800;
  margin-bottom:1mm;
}

.progress-track{
  width:42mm;
  height:3mm;
  margin:0 auto;
  background:#dff3f4;
  border-radius:5mm;
  overflow:visible;
}

.progress-value{
  height:100%;
  width:var(--progress);
  background:linear-gradient(90deg,var(--turquoise),var(--cyan));
  border-radius:5mm;
  position:relative;
}

.progress-value::after{
  content:"";
  position:absolute;
  right:-1.5mm;
  top:50%;
  width:3mm;
  height:3mm;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--turquoise);
}

.footer-session{
  text-align:right;
  font-size:7.8pt;
  line-height:1.35;
  color:var(--gris);
}

/* ---------------------------------------------------------------------
   IMPRESSION A4 / NOIR ET BLANC
   --------------------------------------------------------------------- */

@page{
  size:A4 portrait;
  margin:0;
}

@media print{
  body{
    background:#fff;
    color:#000;
  }

  .page{
    margin:0;
    box-shadow:none;
  }

  /* Fonds très clairs ou blancs pour éviter de consommer trop d'encre. */
  .block,
  .document-card,
  .small-card,
  .course-definition,
  .formula,
  .context{
    background:#fff !important;
  }

  /* Les familles restent différenciables sans couleur. */
  .automatismes{
    border:2px dotted #000 !important;
  }

  .competences{
    border:2px dashed #000 !important;
  }

  .problematique,
  .cours,
  .resultats,
  .controle-intro,
  .exercice-eval{
    border:2px solid #000 !important;
  }

  .documents,
  .materiel{
    border:3px double #000 !important;
  }

  .recherche,
  .protocole{
    border:2px dashed #000 !important;
  }

  .savoir-faire,
  .securite{
    border:2px solid #000 !important;
    border-left:6px solid #000 !important;
  }

  .exercices{
    border:1.5px solid #000 !important;
  }

  .verification{
    border:2px dotted #000 !important;
  }

  .block-title,
  .problem-question,
  .document-title,
  .exercise-title,
  .response-label,
  .small-card-title{
    color:#000 !important;
  }

  .block-number{
    background:#333 !important;
    color:#fff !important;
  }

  .brand-title,
  .brand-subtitle{
    color:#000 !important;
  }

  .brand-icon{
    background:#333 !important;
  }

  .session-number{
    background:#222 !important;
  }

  .session-title{
    background:#f2f2f2 !important;
    color:#000 !important;
    border-color:#000 !important;
  }

  .student-box,
  .score,
  .bareme{
    border-color:#000 !important;
    color:#000 !important;
  }

  .data-table th{
    background:#eee !important;
  }

  .skill-tag{
    border-color:#555 !important;
    color:#000 !important;
  }

  .progress-track{
    background:#fff !important;
    border:.6px solid #888;
  }

  .progress-value{
    background:#333 !important;
  }

  .progress-value::after{
    background:#000 !important;
  }
}

/* ================================================================
   Export PDF couleur - la couleur reste un repère secondaire.
   Les styles de bordure conservent aussi la lisibilité en N&B.
   ================================================================ */
@media print{
  *{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important;}
  body{background:#fff !important;color:var(--texte) !important;}
  .automatismes{border:2px dotted var(--orange) !important;background:var(--orange-pale) !important;}
  .competences{border:2px dashed var(--vert) !important;background:var(--vert-pale) !important;}
  .problematique{border:2px solid var(--marine) !important;background:var(--bleu-pale) !important;}
  .documents{border:3px double var(--violet) !important;background:var(--violet-pale) !important;}
  .recherche{border:2px dashed var(--turquoise) !important;background:var(--turquoise-pale) !important;}
  .cours{border:2.2px solid var(--marine) !important;background:#fff !important;}
  .savoir-faire{border:2px solid var(--orange) !important;border-left:6px solid var(--orange) !important;background:var(--orange-pale) !important;}
  .exercices{border:1.5px solid var(--vert) !important;background:#fff !important;}
  .verification{border:2px dotted var(--turquoise) !important;background:var(--turquoise-pale) !important;}
  .block-title.autom, .automatismes .block-title{color:#9f5515 !important;}
  .competences .block-title,.exercices .block-title{color:#52743a !important;}
  .problematique .block-title,.cours .block-title,.problem-question,.document-title,.exercise-title,.response-label,.small-card-title{color:var(--marine) !important;}
  .documents .block-title{color:var(--violet) !important;}
  .recherche .block-title,.verification .block-title{color:var(--turquoise) !important;}
  .savoir-faire .block-title{color:#9f5515 !important;}
  .automatismes .block-number,.savoir-faire .block-number{background:var(--orange) !important;}
  .competences .block-number,.exercices .block-number{background:var(--vert) !important;}
  .problematique .block-number,.cours .block-number{background:var(--marine) !important;}
  .documents .block-number{background:var(--violet) !important;}
  .recherche .block-number,.verification .block-number{background:var(--turquoise) !important;}
  .brand-title{color:var(--marine) !important;}.brand-subtitle{color:var(--turquoise) !important;}.brand-icon{background:var(--turquoise) !important;}
  .session-number{background:var(--marine) !important;}.session-title{background:var(--bleu-pale) !important;color:var(--marine) !important;border-color:var(--marine) !important;}
  .student-box{border-color:var(--marine) !important;color:var(--texte) !important;}
  .data-table th{background:var(--bleu-pale) !important;}
  .course-definition{background:var(--bleu-pale) !important;}
  .small-card,.document-card,.formula{background:#fff !important;}
  .progress-track{background:#dff3f4 !important;border:0 !important;}.progress-value{background:linear-gradient(90deg,var(--turquoise),var(--cyan)) !important;}.progress-value::after{background:var(--turquoise) !important;}
}

/* Ajustements spécifiques à cette séance */
body{font-size:10.45pt;line-height:1.28;}
.page{padding-top:8mm;padding-bottom:20mm;}
.header{margin-bottom:3mm;padding-bottom:2.4mm;}
.brand-title{font-size:17pt;}
.student-box{line-height:1.55;padding-top:1.8mm;padding-bottom:1.8mm;}
.session-banner{margin-bottom:3mm;}
.session-number{font-size:16pt;padding:2.5mm;min-width:20mm;}
.session-title{font-size:13.2pt;padding:2.5mm 4mm;}
.block{padding:2.5mm 3.5mm;margin-bottom:2.4mm;}
.block-title{font-size:11.8pt;margin-bottom:1.4mm;}
.block-number{width:7.4mm;height:7.4mm;flex-basis:7.4mm;font-size:8.8pt;}
.question{margin:1.7mm 0;font-size:10.1pt;}
.answer-lines{min-height:16mm;}
.answer-lines.small{min-height:9.5mm;}
.answer-lines.tiny{min-height:7mm;}
.answer-lines.medium{min-height:13mm;}
.document-card{padding:2.5mm;margin-top:1.5mm;}
.source{font-size:7.7pt;line-height:1.22;margin-top:1.4mm;padding-top:1mm;}
.data-table{margin-top:1.3mm;font-size:9.5pt;}
.data-table th,.data-table td{padding:1.45mm 1.7mm;}
.data-table td.blank{height:7.5mm;}
.data-table.compact th,.data-table.compact td{padding:1.25mm 1.5mm;}
.compact-list{margin-top:1mm;margin-bottom:1mm;}
.compact-list li{margin-bottom:.7mm;}
.values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5mm;margin:1.5mm 0 1mm;}
.value-chip{border:1px solid #9ca8b1;border-radius:1.5mm;text-align:center;padding:1.4mm;background:#fff;font-weight:700;}
.instruction{font-size:9.7pt;color:#34495e;margin-bottom:1mm;}
.note-box{padding:1.8mm 2.5mm;border-left:4px solid var(--turquoise);background:#fff;font-size:9.4pt;margin:1.3mm 0;}
.inline-blank{display:inline-block;min-width:32mm;border-bottom:1px solid #5e6972;height:5mm;vertical-align:bottom;}
.inline-blank.short{min-width:16mm}.inline-blank.long{min-width:52mm}
.formula-row{display:grid;grid-template-columns:1fr 1fr;gap:2mm;margin-top:1.5mm;}
.formula-mini{border:1px solid var(--bord);border-radius:1.5mm;padding:1.8mm;text-align:center;font-weight:700;background:#fff;}
.homework{border-color:var(--violet);background:var(--violet-pale);}
.homework .block-title{color:var(--violet)}
.homework .block-number{background:var(--violet)}
@media print{.homework{border:3px double var(--violet) !important;background:var(--violet-pale) !important;}.homework .block-title{color:var(--violet) !important;}.homework .block-number{background:var(--violet) !important;}}
.footer{bottom:4mm;padding-top:1.5mm;}
.footer-id,.footer-session{font-size:7.4pt;}
.page-count{font-size:8.7pt;}
.no-break{break-inside:avoid;}

/* Décontextualisation explicite - S1 */
.decontextualisation{
  border-color:var(--marine);
  border-left-width:5px;
  background:var(--bleu-pale);
}
.decontextualisation .block-title{color:var(--marine)}
.decontextualisation .block-number{background:var(--turquoise)}
.decontext-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5mm;
  margin:1.4mm 0;
}
.decontextualisation .small-card{
  padding:1.5mm 2mm;
  font-size:9.15pt;
}
.decontextualisation .course-definition{
  margin-top:1.4mm;
  padding:1.7mm 2.2mm;
}
@media print{
  .decontextualisation{border:2px solid var(--marine) !important;border-left:6px solid var(--turquoise) !important;background:var(--bleu-pale) !important;}
  .decontextualisation .block-title{color:var(--marine) !important;}
  .decontextualisation .block-number{background:var(--turquoise) !important;}
  .decontextualisation .small-card{background:#fff !important;}
}

/* ================================================================
   S1 v4 - dossier documentaire multi-sources
   ================================================================ */
.source-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2mm;margin-top:1.4mm;}
.source-doc{border:1px solid var(--bord);border-radius:1.8mm;padding:2mm 2.4mm;background:#fff;break-inside:avoid;}
.source-doc.wide{grid-column:1 / -1;}
.source-doc .doc-kicker{font-size:8pt;font-weight:800;letter-spacing:.2px;text-transform:uppercase;color:var(--violet);margin-bottom:.6mm;}
.source-doc .doc-head{font-size:10.1pt;font-weight:800;color:var(--marine);margin-bottom:1mm;}
.source-doc p{font-size:9.15pt;line-height:1.24;margin-bottom:1mm;}
.source-doc .key-figures{display:grid;grid-template-columns:1fr 1fr;gap:1.4mm;margin:1.1mm 0;}
.source-doc .key-figure{border:1px solid #d5dce2;border-radius:1.4mm;text-align:center;padding:1.2mm;background:var(--gris-pale);font-size:8.7pt;line-height:1.15;}
.source-doc .key-figure strong{display:block;color:var(--marine);font-size:13pt;line-height:1;}
.doc-source{margin-top:1mm;padding-top:.9mm;border-top:1px dotted #aab3ba;color:var(--gris);font-size:7.15pt;line-height:1.18;}
.doc-source a{color:inherit;text-decoration:none;}
.doc-source .source-label{font-weight:800;color:#4f5962;}

.objective-strip{display:grid;grid-template-columns:1fr auto;gap:2mm;align-items:center;border:1.5px dashed var(--vert);background:var(--vert-pale);border-radius:2mm;padding:2.3mm 3mm;margin-bottom:2.4mm;}
.objective-strip .objective-text{font-size:10.1pt;line-height:1.23;}
.objective-strip .skills{display:flex;gap:1mm;flex-wrap:wrap;justify-content:flex-end;max-width:58mm;}
.objective-strip .skill-tag{font-size:7.8pt;padding:.8mm 1.6mm;}

.reasoning-question{border-left:4px solid var(--turquoise);background:#fff;padding:1.5mm 2mm;margin:1.3mm 0;font-size:9.7pt;}
.compare-strip{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm;margin-top:1.3mm;}
.compare-strip .small-card{font-size:8.9pt;padding:1.5mm 2mm;}
.trace-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2mm;align-items:start;}
.trace-grid .course-definition{margin:0;}
.trace-list{margin:0;padding-left:4.5mm;}
.trace-list li{margin-bottom:.9mm;}
.micro{font-size:8.7pt;line-height:1.2;}

@media print{
  .source-doc{background:#fff !important;}
  .objective-strip{border:2px dashed var(--vert) !important;background:var(--vert-pale) !important;}
  .source-doc .key-figure{background:var(--gris-pale) !important;}
}

/* v5 - pagination volontaire du dossier documentaire */
.source-doc-grid{display:block !important;margin-top:1.2mm;}
.source-doc{margin-bottom:1.7mm;}
.source-doc:last-child{margin-bottom:0;}
.source-doc .doc-head{font-size:10.3pt;}
.source-doc p{font-size:9.35pt;}
.doc-source{font-size:7.35pt;}
.page-doc3 .values-grid{margin-top:2mm;margin-bottom:1.6mm;}
.page-doc3 .value-chip{padding:1.8mm;}
.page-doc3 .source-doc{padding:2.5mm 3mm;}
.page-doc3 .source-doc p{font-size:9.6pt;}

/* v6 - document d'illustration DGCCRF */
.dgccrf-intro{padding-bottom:1.8mm;}
.dgccrf-intro .doc-head{font-size:9.75pt;line-height:1.15;margin-bottom:1.2mm;}
.dgccrf-illustration{
  display:grid;
  grid-template-columns:1fr .82fr 1fr 1fr;
  gap:1.2mm;
  align-items:stretch;
  margin:1mm 0 .8mm;
}
.dgccrf-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1.5px solid var(--marine);
  border-radius:1.5mm;
  background:var(--bleu-pale);
  color:var(--marine);
  padding:1mm;
}
.dgccrf-center strong{font-size:12pt;line-height:1;letter-spacing:.2mm;}
.dgccrf-center span{font-size:7.1pt;line-height:1.1;margin-top:.7mm;color:var(--gris);}
.mission-card{
  display:flex;
  align-items:center;
  gap:1mm;
  border:1px solid #d4cbe0;
  border-radius:1.5mm;
  background:#fff;
  color:var(--violet);
  padding:1mm 1.2mm;
  min-height:13.5mm;
}
.mission-card svg{width:8mm;height:8mm;flex:0 0 8mm;}
.mission-card span{font-size:7.35pt;line-height:1.12;color:var(--texte);}
.mission-card strong{color:var(--violet);font-size:7.7pt;}
@media print{
  .dgccrf-center{background:var(--bleu-pale) !important;border-color:var(--marine) !important;color:var(--marine) !important;}
  .mission-card{background:#fff !important;border-color:#d4cbe0 !important;color:var(--violet) !important;}
  .mission-card strong{color:var(--violet) !important;}
}


/* v7 - harmonisation typographique par fonction */
:root{
  --ff-ui: Arial, Helvetica, sans-serif;
}
body,
.page,
.student-box,
.data-table,
.value-chip,
.key-figure,
.question,
.objective-strip,
.doc-source,
.source,
.footer,
.inline-blank,
.mission-card,
.note-box,
.small-card,
li,
p{
  font-family:var(--ff-ui);
}

.brand-title,
.session-title,
.block-title,
.doc-head,
.problem-question,
.page-count,
.key-figure strong,
.qnum{
  font-family:var(--ff-ui);
  font-weight:800;
  letter-spacing:.05mm;
}

.brand-subtitle,
.doc-kicker,
.source-label,
.response-label,
.footer-session,
.footer-id strong,
.small-card-title{
  font-family:var(--ff-ui);
  font-weight:700;
  letter-spacing:.03mm;
}

.doc-kicker,
.source-label{
  text-transform:uppercase;
}

.question,
.objective-strip .objective-text,
.source-doc p,
.small-card,
.note-box,
.data-table td,
.data-table th,
.values-grid,
.compare-strip .small-card,
.decontextualisation .small-card{
  line-height:1.28;
}

.student-box,
.value-chip,
.data-table,
.page-count,
.footer,
.key-figure strong{
  font-variant-numeric:tabular-nums;
}

.doc-source,
.source,
.micro,
.footer-id,
.footer-session{
  font-weight:400;
}

.data-table th,
.value-chip,
.key-figure strong{
  font-weight:700;
}

/* v7 - illustration de préemballage */
.packshot-layout{
  display:grid;
  grid-template-columns:1.2fr .95fr;
  gap:2mm;
  align-items:start;
  margin:.6mm 0 1.2mm;
}
.packshot-card{
  margin:0;
  border:1px solid #d5dce2;
  border-radius:1.8mm;
  background:#fff;
  padding:1.2mm 1.4mm .9mm;
}
.packshot-card svg{
  width:100%;
  height:auto;
  display:block;
}
.packshot-card figcaption{
  margin-top:.8mm;
  text-align:center;
  color:var(--gris);
  font-size:7.25pt;
  line-height:1.15;
}

@media print{
  .packshot-card{background:#fff !important;border-color:#d5dce2 !important;}
}


/* v8 - photo réelle sourcée, lisible en N/B */
.packshot-card.real-photo{
  position:relative;
  overflow:hidden;
}
.packshot-card.real-photo img{
  display:block;
  width:100%;
  max-height:92mm;
  object-fit:contain;
  margin:0 auto;
  filter:grayscale(100%) contrast(1.12) brightness(1.03);
  background:#f7f7f7;
  border-radius:1mm;
}
.photo-badge{
  position:absolute;
  top:1.4mm;
  right:1.6mm;
  z-index:2;
  text-align:center;
  background:rgba(255,255,255,.92);
  color:var(--marine);
  border:1px solid var(--marine);
  border-radius:1.2mm;
  padding:1mm 1.5mm;
  font-size:7.1pt;
  line-height:1.1;
  box-shadow:0 .2mm .6mm rgba(0,0,0,.08);
}
.photo-badge strong{
  font-size:8pt;
  font-weight:800;
}
.packshot-card.real-photo figcaption{
  font-size:7.15pt;
}
@media print{
  .packshot-card.real-photo img{filter:grayscale(100%) contrast(1.12) brightness(1.03) !important;}
  .photo-badge{background:rgba(255,255,255,.95) !important;color:var(--marine) !important;border-color:var(--marine) !important;}
}

/* v9 - pagination explicite du dossier documentaire */
.doc-observe{
  margin-top:2.4mm;
  padding:2.2mm 3mm;
  border-left:5px solid var(--violet);
  background:#fff;
  border-radius:1mm;
  font-size:9.4pt;
  line-height:1.28;
  color:var(--texte);
}
.doc-observe strong{color:var(--violet);}

@media print{
  .page{
    page-break-inside:avoid !important;
    break-inside:avoid-page !important;
  }
  .doc-observe{
    background:#fff !important;
    border-left-color:var(--violet) !important;
  }
}

/* =====================================================================
   v11 - cohérence du dossier documentaire + espaces de réponse renforcés
   ===================================================================== */

/* Document 4 : même hiérarchie visuelle que les documents 1 à 3. */
.documents-note{
  margin-top:2mm;
  padding:2.5mm 3mm;
  border-left:5px solid var(--violet);
  border-top:1px solid #d7cee2;
  border-right:1px solid #d7cee2;
  border-bottom:1px solid #d7cee2;
  border-radius:1.5mm;
  background:var(--violet-pale);
  font-size:9.5pt;
  line-height:1.3;
}
.documents-note strong{color:var(--violet);}
.page-doc3 .source-doc .doc-kicker{
  margin-bottom:1mm;
  font-size:8.4pt;
}

/* Espaces de réponse : priorité à l'écriture manuscrite. */
.answer-lines.roomy{
  min-height:25mm;
}
.reasoning-space{
  min-height:27mm;
  margin-top:2mm;
}
.calculation-space{
  min-height:19mm;
  margin-top:1.8mm;
}
.application-calc-space{
  min-height:18mm;
  margin-top:1.8mm;
}
.homework-workspace{
  min-height:78mm;
  margin-top:3mm;
}
.answer-line-standalone{
  min-height:9mm;
  margin:1mm 0 2mm;
  border-bottom:1px solid #7e8993;
}
.inline-blank.mediumblank{min-width:27mm;}
.inline-blank.xlong{min-width:66mm;}
.inline-blank.traceblank{min-width:28mm;}

/* Les tableaux où l'élève doit écrire sont plus généreux. */
.data-table.student-table-large th,
.data-table.student-table-large td{
  padding:2.4mm 2.2mm;
  height:10.5mm;
}
.data-table.student-table-large td.blank{
  height:11mm;
}

/* Les automatismes restent compacts mais la réponse manuscrite respire. */
.automatismes .small-card{
  min-height:15mm;
  padding-top:3.1mm;
  padding-bottom:3.1mm;
}

/* Page dédiée au travail à la maison : confort d'écriture. */
.homework .compact-list li{
  margin-bottom:1.5mm;
}

/* Trace écrite : blancs suffisamment longs sans alourdir la page. */
.cours .inline-blank{
  height:5.5mm;
}

@media print{
  .documents-note{
    background:var(--violet-pale) !important;
    border-left-color:var(--violet) !important;
  }
}

/* v11.1 - page dédiée au mode et à la conclusion */
.mode-conclusion-space{min-height:50mm !important;}
.mode-line{min-height:12mm;}

/* =====================================================================
   v12 - correction chevauchement page 1 + trace écrite restructurée
   ===================================================================== */

/* La page 1 ne porte plus que les documents 1 et 2 : on garde une vraie
   zone de sécurité au-dessus du pied de page. */
.page:first-of-type .documents{
  margin-bottom:0;
}
.page:first-of-type .source-doc:last-child{
  margin-bottom:0;
}

/* Sur la page 2, les documents 3 et 4 forment réellement la suite du
   même dossier documentaire, sans changement de hiérarchie visuelle. */
.page-doc3 .source-doc{
  margin-bottom:2.1mm;
}
.page-doc3 .source-doc:first-of-type{
  padding:1.8mm 2.4mm;
}
.page-doc3 .source-doc:first-of-type .doc-head{
  font-size:9.8pt;
}
.page-doc3 .source-doc:first-of-type p{
  font-size:8.9pt;
  margin-bottom:.7mm;
}
.page-doc3 .source-doc:first-of-type .doc-source{
  font-size:6.95pt;
  line-height:1.13;
}

/* Trace écrite : structure Savoir / Savoir faire / Valider. */
.cours .block-title{
  margin-bottom:2.3mm;
}
.trace-intro{
  padding:2.2mm 2.7mm;
  margin-bottom:2.3mm;
  background:var(--bleu-pale);
  border-left:5px solid var(--marine);
  font-size:9.9pt;
  line-height:1.28;
}
.trace-sections{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:2.4mm;
  align-items:stretch;
  margin-bottom:2.4mm;
}
.trace-card{
  border:1px solid #c9d5df;
  border-radius:1.8mm;
  background:#fff;
  padding:2.6mm 3mm;
  min-height:67mm;
}
.trace-card p{
  margin:0 0 2.1mm 0;
  font-size:9.5pt;
  line-height:1.28;
}
.trace-card-title{
  color:var(--marine);
  font-size:9pt;
  font-weight:800;
  letter-spacing:.08mm;
  margin-bottom:1.8mm;
}
.trace-formula{
  display:grid;
  grid-template-columns:auto auto 1fr;
  gap:2.2mm;
  align-items:center;
  margin:2.1mm 0;
  padding:2mm 2.4mm;
  border:1px solid #b7c7d4;
  border-radius:1.5mm;
  background:var(--bleu-pale);
  font-size:9.3pt;
}
.trace-formula.simple{
  display:block;
  text-align:center;
}
.fraction{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  min-width:44mm;
  line-height:1.12;
}
.fraction .num{
  display:block;
  width:100%;
  padding:0 1.5mm 1mm;
  text-align:center;
  border-bottom:1px solid var(--texte);
}
.fraction .den{
  display:block;
  width:100%;
  padding:1mm 1.5mm 0;
  text-align:center;
}
.trace-tip{
  margin-top:2.2mm;
  padding:2mm 2.3mm;
  border-left:4px solid var(--turquoise);
  background:var(--turquoise-pale);
  font-size:8.7pt;
  line-height:1.25;
}
.trace-method{
  margin-bottom:2.4mm;
  padding:2.5mm 3mm;
  border:1px solid #c9d5df;
  border-radius:1.8mm;
  background:#fff;
}
.method-steps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.6mm 2mm;
}
.method-steps div{
  display:grid;
  grid-template-columns:7mm 1fr;
  align-items:start;
  gap:1.2mm;
  padding:1.7mm 2mm;
  border:1px solid #d6dde3;
  border-radius:1.3mm;
  font-size:8.9pt;
  line-height:1.22;
}
.method-steps span{
  width:6mm;
  height:6mm;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--turquoise);
  color:#fff;
  font-weight:800;
  font-size:8pt;
}
.trace-validation{
  padding:2.4mm 3mm;
  border:1.5px solid var(--marine);
  border-radius:1.8mm;
  background:var(--bleu-pale);
}
.validation-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6mm;
}
.validation-grid > div{
  background:#fff;
  border:1px solid #cbd6df;
  border-radius:1.2mm;
  padding:1.8mm 2mm;
  text-align:center;
  font-size:8.8pt;
  line-height:1.18;
}
.cours .inline-blank.traceblank{
  min-width:30mm;
  height:5.8mm;
}
.cours .inline-blank.short{
  min-width:18mm;
  height:5.8mm;
}

/* Le bloc d'auto-positionnement reste clairement distinct de la trace. */
.savoir-faire .block-title{
  font-size:11.1pt;
}

@media print{
  .trace-intro,
  .trace-formula,
  .trace-validation{
    background:var(--bleu-pale) !important;
  }
  .trace-card,
  .trace-method,
  .validation-grid > div{
    background:#fff !important;
  }
  .trace-tip{
    background:var(--turquoise-pale) !important;
  }
}

/* =====================================================================
   v14 - séance reprise selon le prompt maître 10/09/2026
   Sobriété, charge cognitive et espaces de réponse
   ===================================================================== */
.page{padding-bottom:24mm;}
.block{break-inside:avoid;}
.answer-lines.student-short{min-height:13mm;}
.answer-lines.student-medium{min-height:24mm;}
.answer-lines.student-large{min-height:36mm;}
.answer-box{
  min-height:14mm;
  margin-top:1.5mm;
  border:1px solid var(--bord);
  border-radius:1.7mm;
  background:#fff;
}
.answer-box.medium{min-height:24mm;}
.answer-box.large{min-height:34mm;}
.doc-sequence-note{
  padding:1.8mm 2.4mm;
  border-left:4px solid var(--violet);
  background:#fff;
  font-size:8.8pt;
  line-height:1.24;
  margin-top:1.4mm;
}
.data-table.student-table th,.data-table.student-table td{padding:2mm 2mm;}
.data-table.student-table td{height:9mm;}
.data-table.student-table td:first-child{font-weight:700;text-align:center;}
.skills-line{display:flex;gap:1.1mm;flex-wrap:wrap;margin-top:1.2mm;}
.skills-line .skill-tag{font-size:7.6pt;padding:.7mm 1.5mm;}
.help-box{
  margin-top:1.8mm;
  border:1px dashed #97a8b6;
  border-radius:1.4mm;
  padding:1.7mm 2mm;
  background:#fff;
  font-size:8.8pt;
  color:#394b5b;
}
.help-box strong{color:var(--marine);}
.final-answer{
  border:2px solid var(--marine);
  background:var(--bleu-pale);
  border-radius:2mm;
  padding:2.4mm 3mm;
  margin-top:2mm;
}
.final-answer .question{margin-top:0;}
.decontext-simple{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6mm;
  margin-top:1.4mm;
}
.decontext-simple .small-card{font-size:8.8pt;line-height:1.22;padding:1.8mm 2mm;}
.trace-clean{
  border:2px solid var(--marine);
  background:#fff;
}
.trace-clean .trace-intro{font-size:9.6pt;margin-bottom:1.8mm;}
.trace-clean .trace-card{min-height:auto;padding:2.3mm 2.7mm;}
.trace-clean .trace-card p{font-size:9.2pt;margin-bottom:1.7mm;}
.trace-clean .trace-sections{gap:2mm;margin-bottom:2mm;}
.trace-clean .trace-method{padding:2.2mm 2.6mm;margin-bottom:2mm;}
.trace-clean .method-steps div{font-size:8.5pt;}
.trace-clean .trace-validation{padding:2mm 2.5mm;}
.model-example{
  margin-top:2mm;
  border:1px solid #b8c6d0;
  border-radius:1.8mm;
  background:var(--gris-pale);
  padding:2.2mm 2.7mm;
  font-size:9pt;
  line-height:1.25;
}
.photo-functional{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:2.5mm;
  align-items:center;
}
.photo-functional img{
  width:100%;
  max-height:74mm;
  object-fit:contain;
  border:1px solid #d7dce1;
  border-radius:1.5mm;
  background:#f4f4f4;
}
.photo-functional figcaption{font-size:7.2pt;color:var(--gris);line-height:1.18;margin-top:.8mm;}
.source-compact{font-size:6.9pt;line-height:1.14;}
.compact-doc p{font-size:9pt;line-height:1.22;}
.compact-doc .doc-head{font-size:9.8pt;}
.compact-doc .doc-source{font-size:6.8pt;}
.reactivation-box{
  border-left:5px solid var(--orange);
  padding:1.8mm 2.4mm;
  background:#fff;
  margin-top:1.2mm;
  font-size:8.8pt;
}
.ticket-one{padding:2.4mm 3mm;}
.homework-short .answer-box{min-height:26mm;}
.page-tight .block{margin-bottom:2mm;}
.page-tight .block-title{margin-bottom:1.1mm;}
@media print{
  .answer-box,.help-box,.doc-sequence-note,.model-example,.photo-functional img{background:#fff !important;}
  .final-answer{background:var(--bleu-pale) !important;}
}

/* =====================================================================
   PROF v3 - préparation pratique + correction
   ===================================================================== */
.prof-banner{display:flex;justify-content:space-between;align-items:center;margin-bottom:3mm;padding:2.2mm 3mm;border:1.6px solid var(--marine);border-radius:2mm;background:var(--bleu-pale);}
.prof-banner strong{color:var(--marine);font-size:12pt;}
.prof-banner span{font-size:8.5pt;color:var(--gris);}
.prof-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2mm;}
.prof-card{border:1px solid var(--bord);border-radius:1.7mm;padding:2mm 2.5mm;background:#fff;font-size:8.8pt;line-height:1.22;}
.prof-card h3{font-size:9.4pt;color:var(--marine);margin:0 0 1mm;font-weight:800;}
.prof-table{width:100%;border-collapse:collapse;font-size:8.2pt;line-height:1.16;}
.prof-table th,.prof-table td{border:1px solid #87939c;padding:1.2mm 1.4mm;vertical-align:top;}
.prof-table th{background:var(--bleu-pale);font-weight:800;text-align:left;}
.corr{color:#315f2b;font-weight:800;}
.corrbox{background:var(--vert-pale) !important;border:1.5px solid var(--vert) !important;padding:1.8mm 2.2mm;font-size:8.8pt;line-height:1.22;}
.corr-table td.answer{color:#315f2b;font-weight:800;background:var(--vert-pale);}
.prof-note{border-left:4px solid var(--orange);background:var(--orange-pale);padding:1.7mm 2.2mm;font-size:8.5pt;line-height:1.22;margin-top:1.3mm;}
.prof-source-list{font-size:7.6pt;line-height:1.2;margin:0;padding-left:4mm;}
.prof-source-list li{margin-bottom:1.1mm;}
.prof-page .block{margin-bottom:2.1mm;padding:2.4mm 3mm;}
.prof-page .block-title{font-size:11.3pt;}
@media print{
 .prof-banner{background:var(--bleu-pale) !important;}
 .corrbox,.corr-table td.answer{background:var(--vert-pale) !important;}
 .prof-note{background:var(--orange-pale) !important;}
}

/* PROF v4 - zone de sécurité basse et page dédiée aux sources */
.prof-page{padding-bottom:27mm;}
.prof-page > .footer{bottom:5mm;}
.prof-sources-page .prof-source-list{font-size:8pt;line-height:1.24;}
.prof-sources-page .block{margin-bottom:4mm;}


/* =====================================================================
   GABARIT UNIFIÉ PIPAC — cours / cours-TP — 2026-2027
   Le socle ci-dessus provient des deux maquettes de référence fournies.
   Seul le contenu varie d'une séance à l'autre ; la structure visuelle reste stable.
   ===================================================================== */
:root{
  --math:#1F5A99;
  --math-pale:#DCEBFA;
  --pc:#2E7D4F;
  --pc-pale:#DFF3E4;
  --cointer:#6C3F91;
  --cointer-pale:#E8DDF5;
}
body.theme-math{--discipline:var(--math);--discipline-pale:var(--math-pale)}
body.theme-pc{--discipline:var(--pc);--discipline-pale:var(--pc-pale)}
body.theme-cointer{--discipline:var(--cointer);--discipline-pale:var(--cointer-pale)}
body.theme-math .brand-icon, body.theme-math .session-number{background:var(--math)}
body.theme-pc .brand-icon, body.theme-pc .session-number{background:var(--pc)}
body.theme-cointer .brand-icon, body.theme-cointer .session-number{background:var(--cointer)}
body.theme-math .brand-subtitle{color:var(--math)}
body.theme-pc .brand-subtitle{color:var(--pc)}
body.theme-cointer .brand-subtitle{color:var(--cointer)}
body.theme-math .session-title{border-color:var(--math);background:var(--math-pale);color:var(--math)}
body.theme-pc .session-title{border-color:var(--pc);background:var(--pc-pale);color:var(--pc)}
body.theme-cointer .session-title{border-color:var(--cointer);background:var(--cointer-pale);color:var(--cointer)}

/* Garde-fous stables des maquettes. */
.template-note{display:none}
.placeholder{color:#697784;font-style:italic}
.teacher-key{font-weight:800;color:#315f2b}
.phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2mm}
.phase-card{border:1px solid var(--bord);border-radius:1.7mm;padding:2.2mm 2.5mm;background:#fff}
.phase-card strong{color:var(--marine)}
.source-card{border:1px solid var(--bord);border-radius:1.8mm;padding:2.4mm;background:#fff;margin:1.5mm 0}
.source-card .source-title{font-weight:800;color:var(--marine);margin-bottom:1mm}
.source-card .source-meta{font-size:8pt;color:var(--gris);border-top:1px dotted #aab3ba;padding-top:1mm;margin-top:1.4mm}
.trace-box{border:2.2px solid var(--marine);border-radius:2mm;padding:3mm;background:#fff}
.trace-box h3{margin:0 0 1.5mm;color:var(--marine);font-size:11.5pt}
.trace-line{display:block;border-bottom:1px solid #65727c;min-height:5.5mm;margin:1.2mm 0}
.correction{color:#315f2b;font-weight:800}
.teacher-only{border-left:4px solid var(--orange);background:var(--orange-pale);padding:1.8mm 2.4mm;margin:1.5mm 0;font-size:9pt}
.teacher-only strong{color:#9f5515}
.block.decontextualisation{border-color:var(--marine);border-left:5px solid var(--turquoise);background:var(--bleu-pale)}
.block.decontextualisation .block-title{color:var(--marine)}
.block.decontextualisation .block-number{background:var(--turquoise)}
.block.homework{border-color:var(--violet);background:var(--violet-pale)}
.block.homework .block-title{color:var(--violet)}
.block.homework .block-number{background:var(--violet)}

/* Le gabarit doit rester lisible et aéré. */
body{font-size:10.45pt;line-height:1.28}
.page{padding-top:8mm;padding-bottom:22mm}
.header{margin-bottom:3mm;padding-bottom:2.4mm}
.brand-title{font-size:17pt}
.student-box{line-height:1.55;padding-top:1.8mm;padding-bottom:1.8mm}
.session-banner{margin-bottom:3mm}
.session-number{font-size:16pt;padding:2.5mm;min-width:20mm}
.session-title{font-size:13.2pt;padding:2.5mm 4mm}
.block{padding:2.5mm 3.5mm;margin-bottom:2.4mm}
.block-title{font-size:11.8pt;margin-bottom:1.4mm}
.block-number{width:7.4mm;height:7.4mm;flex-basis:7.4mm;font-size:8.8pt}
.footer{bottom:4mm;padding-top:1.5mm}
.footer-id,.footer-session{font-size:7.4pt}
.page-count{font-size:8.7pt}
.no-break{break-inside:avoid}

@media print{
  *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}
  body{background:#fff !important}
  body.theme-math .brand-icon, body.theme-math .session-number{background:var(--math) !important}
  body.theme-pc .brand-icon, body.theme-pc .session-number{background:var(--pc) !important}
  body.theme-cointer .brand-icon, body.theme-cointer .session-number{background:var(--cointer) !important}
  body.theme-math .session-title{background:var(--math-pale) !important;color:var(--math) !important;border-color:var(--math) !important}
  body.theme-pc .session-title{background:var(--pc-pale) !important;color:var(--pc) !important;border-color:var(--pc) !important}
  body.theme-cointer .session-title{background:var(--cointer-pale) !important;color:var(--cointer) !important;border-color:var(--cointer) !important}
  .block.decontextualisation{border:2px solid #000 !important;border-left:6px solid #000 !important;background:#fff !important}
  .block.homework{border:3px double #000 !important;background:#fff !important}
}

/* Export PDF couleur : la couleur reste accompagnée d'un style de bordure distinct pour le N&B. */
@media print{
  .automatismes{border:2px dotted var(--orange) !important;background:var(--orange-pale) !important}
  .competences,.exercices{border-color:var(--vert) !important;background:var(--vert-pale) !important}
  .competences{border-style:dashed !important}.exercices{background:#fff !important}
  .problematique,.cours,.resultats{border-color:var(--marine) !important;background:var(--bleu-pale) !important}
  .cours,.resultats{background:#fff !important}
  .documents,.materiel{border:3px double var(--violet) !important;background:var(--violet-pale) !important}
  .recherche,.protocole{border:2px dashed var(--turquoise) !important;background:var(--turquoise-pale) !important}
  .protocole{background:#fff !important}
  .savoir-faire,.securite{border:2px solid var(--orange) !important;border-left:6px solid var(--orange) !important;background:var(--orange-pale) !important}
  .verification{border:2px dotted var(--turquoise) !important;background:var(--turquoise-pale) !important}
  .automatismes .block-title,.savoir-faire .block-title,.securite .block-title{color:#9f5515 !important}
  .competences .block-title,.exercices .block-title{color:#52743a !important}
  .problematique .block-title,.cours .block-title,.resultats .block-title{color:var(--marine) !important}
  .documents .block-title,.materiel .block-title{color:var(--violet) !important}
  .recherche .block-title,.protocole .block-title,.verification .block-title{color:var(--turquoise) !important}
  .automatismes .block-number,.savoir-faire .block-number,.securite .block-number{background:var(--orange) !important}
  .competences .block-number,.exercices .block-number{background:var(--vert) !important}
  .problematique .block-number,.cours .block-number,.resultats .block-number{background:var(--marine) !important}
  .documents .block-number,.materiel .block-number{background:var(--violet) !important}
  .recherche .block-number,.protocole .block-number,.verification .block-number{background:var(--turquoise) !important}
}


/* =====================================================================
   S2 - Résumer et comparer une série de contrôle - 21/09/2026
   Ajustements limités au contenu de la séance ; identité visuelle inchangée.
   ===================================================================== */
.series-grid{display:grid;grid-template-columns:1fr 1fr;gap:2mm;margin-top:1.4mm;}
.series-card{border:1px solid var(--bord);border-radius:1.7mm;background:#fff;padding:2mm 2.4mm;}
.series-card h3{margin:0 0 1mm;color:var(--marine);font-size:9.8pt;}
.series-values{display:grid;grid-template-columns:repeat(4,1fr);gap:1mm;}
.series-values span{border:1px solid #b4bec6;border-radius:1.2mm;text-align:center;padding:1.1mm .6mm;font-weight:700;background:#fff;}
.indicator-table{width:100%;border-collapse:collapse;margin-top:1.4mm;font-size:9.2pt;}
.indicator-table th,.indicator-table td{border:1px solid #7d8891;padding:1.5mm 1.7mm;vertical-align:middle;}
.indicator-table th{background:var(--bleu-pale);text-align:center;font-weight:800;}
.indicator-table td.center{text-align:center;}
.math-box{display:grid;grid-template-columns:1fr 1fr;gap:2mm;margin:1.5mm 0;}
.math-box > div{border:1px solid var(--bord);border-radius:1.6mm;background:#fff;padding:1.7mm 2mm;min-height:14mm;}
.math-box strong{color:var(--marine);}
.rule-strip{border-left:5px solid var(--marine);background:var(--bleu-pale);padding:1.7mm 2.4mm;margin:1.4mm 0;font-size:9.3pt;}
.answer-compact{min-height:10mm;border:1px solid var(--bord);border-radius:1.5mm;background:#fff;margin-top:1mm;}
.answer-medium{min-height:18mm;border:1px solid var(--bord);border-radius:1.5mm;background:#fff;margin-top:1mm;}
.trace-four{display:grid;grid-template-columns:1fr 1fr;gap:1.6mm;margin-top:1.4mm;}
.trace-four .small-card{font-size:8.9pt;line-height:1.22;padding:1.8mm 2mm;}
.trace-four .small-card strong{color:var(--marine);}
.choose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4mm;margin-top:1.4mm;}
.choose-grid .small-card{font-size:8.6pt;line-height:1.18;padding:1.6mm 1.8mm;}
.nominal-note{font-size:8.2pt;color:var(--gris);margin-top:1mm;}
.student-calc{display:inline-block;min-width:22mm;border-bottom:1px solid #5e6972;height:5mm;vertical-align:bottom;}
.prof-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4mm;margin-top:1.3mm;}
.prof-summary .small-card{font-size:8.3pt;line-height:1.18;padding:1.5mm 1.7mm;}
.teacher-path td:nth-child(1){width:8%;}.teacher-path td:nth-child(2){width:14%;}.teacher-path td:nth-child(3){width:19%;}.teacher-path td:nth-child(4){width:22%;}.teacher-path td:nth-child(5){width:17%;}.teacher-path td:nth-child(6){width:20%;}
@media print{
  .series-card,.math-box>div,.answer-compact,.answer-medium{background:#fff !important;}
  .indicator-table th{background:var(--bleu-pale) !important;}
  .rule-strip{background:var(--bleu-pale) !important;}
}


/* S2 v2 - dossier métier + médiane pair/impair */
.median-cases{display:grid;grid-template-columns:1fr 1fr;gap:2mm;margin:1.4mm 0;}
.median-case{border:1px solid var(--bord);border-radius:1.8mm;padding:2mm;background:#fff;break-inside:avoid;}
.median-case h3{margin:0 0 1mm;color:var(--marine);font-size:10.2pt;}
.median-row{display:flex;flex-wrap:wrap;gap:1mm;align-items:center;margin:1.2mm 0;}
.median-chip{min-width:15mm;text-align:center;border:1px solid #aab3ba;border-radius:1.3mm;padding:1.2mm 1.5mm;background:#fff;font-weight:700;font-size:9.2pt;}
.median-chip.central{border:2px solid var(--turquoise);background:var(--turquoise-pale);}
.simple-compare{display:grid;grid-template-columns:1fr 1fr;gap:2mm;margin:1.4mm 0;}
.simple-compare .small-card{padding:2mm 2.4mm;font-size:9.2pt;line-height:1.24;}
.simple-compare .small-card strong{display:block;color:var(--marine);font-size:10.1pt;margin-bottom:.7mm;}
.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3mm;margin:1.3mm 0;}
.method-step{border:1px solid var(--bord);border-radius:1.5mm;background:#fff;padding:1.5mm 1.8mm;font-size:8.9pt;line-height:1.18;}
.method-step b{display:inline-flex;align-items:center;justify-content:center;width:5.5mm;height:5.5mm;border-radius:50%;background:var(--turquoise);color:#fff;margin-right:1mm;font-size:7.5pt;}
.prof-callout{border-left:4px solid var(--violet);background:var(--violet-pale);padding:1.8mm 2.4mm;margin:1.3mm 0;font-size:9.2pt;}
.choice-table td,.choice-table th{font-size:8.9pt!important;padding:1.25mm 1.5mm!important;}
.source-doc.compact-doc p{font-size:8.9pt;line-height:1.2;}
.source-doc.compact-doc .key-figures{margin:.8mm 0;}
.source-doc.compact-doc .key-figure strong{font-size:12pt;}
@media print{
  .median-case,.method-step{background:#fff!important;}
  .median-chip.central{background:var(--turquoise-pale)!important;border:2px solid var(--turquoise)!important;}
}

/* S2 v4 - espaces de rédaction pour l'application immédiate */
.application-writing .answer-lines.tiny{min-height:8.5mm;margin-top:.8mm;margin-bottom:1mm;}
.application-writing .answer-lines.small{min-height:12mm;margin-top:.8mm;margin-bottom:1mm;}
.application-writing .question{margin:1.55mm 0;}
.application-writing .application-inline{margin-top:.7mm;}
.application-writing .application-transition{margin:2mm 0 1mm;}
/* Ajustement final v4 : garder de vraies zones d'écriture sans empiéter sur le pied de page */
.application-writing .answer-lines.tiny{min-height:6.5mm;}
.application-writing .answer-lines.small{min-height:9mm;}
.application-writing .question{margin:1.1mm 0;}
.application-writing .application-transition{margin:1.3mm 0 .7mm;}
.application-writing .source-meta{margin-top:.7mm;}

/* =====================================================================
   EXTENSIONS GABARITS MAÎTRES — VvvebJs / édition visuelle
   Ces classes complètent la charte sans changer son identité.
   ===================================================================== */

.master-placeholder{
  color:#62707c;
  font-style:italic;
}
.master-note{
  margin:1.5mm 0;
  padding:1.8mm 2.3mm;
  border-left:4px solid var(--turquoise);
  background:var(--turquoise-pale);
  font-size:8.8pt;
}
.master-note strong{color:var(--marine)}

.teacher-answer{
  color:#315f2b;
  font-weight:700;
}
.teacher-answer-box{
  border:1.5px solid var(--vert);
  border-radius:1.6mm;
  background:var(--vert-pale);
  padding:2mm 2.5mm;
  margin-top:1.3mm;
  color:#315f2b;
}
.teacher-vigilance{
  border-left:5px solid var(--orange);
  background:var(--orange-pale);
  padding:1.8mm 2.4mm;
  margin:1.4mm 0;
  font-size:8.8pt;
}
.teacher-vigilance strong{color:#9f5515}

.teacher-plan{
  width:100%;
  border-collapse:collapse;
  font-size:8.2pt;
  line-height:1.18;
  margin-top:1.4mm;
}
.teacher-plan th,.teacher-plan td{
  border:1px solid #85919b;
  padding:1.3mm 1.5mm;
  vertical-align:top;
}
.teacher-plan th{
  background:var(--bleu-pale);
  color:var(--marine);
  font-weight:800;
}

.eval-header{
  display:grid;
  grid-template-columns:1fr 46mm;
  gap:3mm;
  align-items:stretch;
  margin-bottom:3mm;
}
.eval-meta{
  border:1.5px solid var(--marine);
  border-radius:2mm;
  padding:2.2mm 3mm;
  background:var(--bleu-pale);
}
.eval-grade{
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--marine);
  border-radius:2mm;
  background:#fff;
  color:var(--marine);
  font-size:15pt;
  font-weight:800;
}
.eval-instructions{
  border:1.5px solid var(--marine);
  border-left:6px solid var(--marine);
  border-radius:1.8mm;
  padding:2.3mm 3mm;
  background:var(--bleu-pale);
  margin-bottom:2.5mm;
}
.eval-exercise{
  border:1.5px solid var(--marine);
  border-radius:2mm;
  background:#fff;
  padding:2.5mm 3.5mm;
  margin-bottom:2.5mm;
  break-inside:avoid;
}
.eval-exercise-title{
  display:flex;
  align-items:center;
  gap:2mm;
  color:var(--marine);
  font-size:11.4pt;
  font-weight:800;
  margin-bottom:1.4mm;
}
.eval-points{
  margin-left:auto;
  min-width:18mm;
  padding:1mm 2mm;
  border:1.2px solid var(--marine);
  border-radius:4mm;
  background:#fff;
  text-align:center;
  font-size:8.8pt;
  font-weight:800;
}
.eval-skill{
  display:inline-block;
  margin:0 .7mm .8mm 0;
  padding:.8mm 1.6mm;
  border:1px solid var(--vert);
  border-radius:3mm;
  color:#486833;
  background:#fff;
  font-size:7.8pt;
  font-weight:700;
}
.eval-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2mm;
}
.eval-rubric{
  width:100%;
  border-collapse:collapse;
  font-size:8.1pt;
  line-height:1.18;
}
.eval-rubric th,.eval-rubric td{
  border:1px solid #7e8993;
  padding:1.4mm;
  vertical-align:top;
}
.eval-rubric th{
  background:var(--bleu-pale);
  color:var(--marine);
  font-weight:800;
}
.eval-rubric .level{
  text-align:center;
  width:13%;
}

.tp-mission{
  border:2px solid var(--marine);
  border-radius:2mm;
  padding:2.5mm 3mm;
  background:var(--bleu-pale);
  margin-bottom:2.5mm;
}
.tp-mission strong{color:var(--marine)}

.observation-zone{
  min-height:34mm;
  border:1px solid var(--bord);
  border-radius:1.7mm;
  background:#fff;
  margin-top:1.5mm;
}
.observation-zone.large{min-height:55mm}

.asset-box{
  min-height:38mm;
  border:1px dashed #95a2ad;
  border-radius:1.7mm;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#6a7680;
  background:#fafbfc;
  padding:3mm;
  margin:1.5mm 0;
}

/* Repères pour VvvebJs : les sections restent de vrais blocs HTML. */
[data-pipac-component]{
  position:relative;
}
@media screen{
  body.vvveb-preview [data-pipac-component]:hover{
    outline:1px dashed rgba(22,151,157,.35);
    outline-offset:1px;
  }
}

@media print{
  .teacher-answer-box{background:var(--vert-pale) !important}
  .teacher-vigilance{background:var(--orange-pale) !important}
  .eval-meta,.eval-instructions,.tp-mission{background:var(--bleu-pale) !important}
}


/* =====================================================================
   COINTERVENTION — compléments maître
   ===================================================================== */
.co-objective{
  border:1.6px solid var(--cointer);
  border-radius:2mm;
  background:var(--cointer-pale);
  padding:2.3mm 3mm;
  margin-bottom:2.5mm;
}
.co-objective strong{color:var(--cointer)}
.co-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2mm;
}
.co-role{
  border:1px solid #d8cde5;
  border-radius:1.7mm;
  background:#fff;
  padding:2mm 2.5mm;
  font-size:8.9pt;
  line-height:1.22;
}
.co-role h3{
  margin:0 0 1mm;
  color:var(--cointer);
  font-size:9.5pt;
  font-weight:800;
}
.co-link{
  border-left:5px solid var(--cointer);
  background:var(--cointer-pale);
  padding:1.8mm 2.4mm;
  margin:1.4mm 0;
  font-size:9pt;
}
.co-link strong{color:var(--cointer)}
.co-table{
  width:100%;
  border-collapse:collapse;
  font-size:8.3pt;
  line-height:1.18;
}
.co-table th,.co-table td{
  border:1px solid #89789c;
  padding:1.3mm 1.5mm;
  vertical-align:top;
}
.co-table th{
  background:var(--cointer-pale);
  color:var(--cointer);
  font-weight:800;
}
@media print{
  .co-objective,.co-link,.co-table th{background:var(--cointer-pale) !important;}
  .co-role{background:#fff !important;}
}
