/* Diapositives des séances (lot « En classe »), reprises de Séances : cadre 1920 × 1080 mis à l'échelle,
   textes nettement plus grands que dans l'interface, lisibles depuis le fond d'une salle. Thème clair imposé :
   la projection se lit sur un fond blanc. */
:root { --diapo-titre: "Inter", "Helvetica Neue", Arial, sans-serif; --diapo-texte: "Atkinson Hyperlegible", system-ui, sans-serif; }
.cadre-diapo { position: relative; overflow: hidden; }
.scene { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.diapo {
  --accent: #1D6871; --ink: #141A1E; --muted-ink: #56646A; --chalk: #F2F4F1; --paper: #FFFFFF;
  position: relative; width: 1920px; height: 1080px; overflow: hidden; background: var(--paper); color: var(--ink);
  font-family: var(--diapo-texte); font-size: 56px; line-height: 1.32; padding: 96px 128px 120px; display: flex; flex-direction: column; gap: 48px;
  color-scheme: light;
}
.diapo a { color: inherit; text-decoration-color: color-mix(in srgb, var(--accent) 60%, transparent); text-underline-offset: .15em; }
.diapo mark { background: #FBE39A; color: inherit; padding: 0 .12em; border-radius: .12em; }
.diapo strong { font-weight: 700; color: var(--ink); }
.diapo .d-titre { font-family: var(--diapo-titre); font-weight: 600; font-size: 88px; line-height: 1.08; letter-spacing: -.01em; flex: none; max-height: 300px; overflow: hidden; position: relative; padding-top: 34px; }
.diapo .d-titre::before { content: ""; position: absolute; left: 0; top: 0; width: 120px; height: 12px; background: var(--accent); border-radius: 6px; }
.diapo .d-corps { flex: 1; min-height: 0; overflow: hidden; }
.diapo .d-corps p + p, .diapo .d-corps p + .puces, .diapo .d-corps .puces + p { margin-top: .55em; }
.diapo .puces { margin: 0; padding: 0; list-style: none; display: grid; gap: .42em; }
.diapo ul.puces li { position: relative; padding-left: 1.05em; }
.diapo ul.puces li::before { content: ""; position: absolute; left: 0; top: .5em; width: .42em; height: .42em; background: var(--accent); border-radius: 2px; }
.diapo ol.puces { counter-reset: n; }
.diapo ol.puces li { position: relative; padding-left: 1.5em; counter-increment: n; }
.diapo ol.puces li.n0::before { content: counter(n); position: absolute; left: 0; top: .12em; width: 1.75em; height: 1.75em; border-radius: 50%; background: var(--accent); color: #fff; font-family: var(--diapo-titre); font-weight: 700; font-size: .6em; line-height: 1.75em; text-align: center; }
.diapo .puces li.n1 { margin-left: 1.3em; font-size: .86em; }
.diapo .puces li.n1::before { background: transparent; border: 3px solid var(--accent); }
.diapo .puces li.n2 { margin-left: 2.5em; font-size: .78em; }
.diapo .d-surtitre { font-family: var(--diapo-titre); font-size: 34px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.diapo .d-pied { position: absolute; left: 128px; right: 128px; bottom: 40px; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; font-size: 26px; line-height: 1.3; color: var(--muted-ink); }
.diapo .d-sources { max-width: 1480px; }
.diapo .d-sources a { text-decoration: underline; }
.diapo .d-num { font-family: var(--diapo-titre); font-weight: 600; white-space: nowrap; }
.diapo .d-vide { flex: 1; display: grid; place-items: center; border: 4px dashed #CCD6D2; border-radius: 24px; color: #7E8B90; font-size: 40px; }
.diapo figure { margin: 0; }
.diapo .d-image { flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
.diapo .d-image img { max-width: 100%; max-height: 100%; min-height: 0; object-fit: contain; border-radius: 12px; }
.diapo .d-image.couvrir img { width: 100%; height: 100%; object-fit: cover; }
.diapo .d-image figcaption { font-size: 28px; color: var(--muted-ink); }

/* titre */
.mise-titre { justify-content: center; padding-left: 200px; background: var(--chalk); }
.mise-titre .d-bande { position: absolute; left: 0; top: 0; bottom: 0; width: 64px; background: var(--accent); }
.mise-titre .d-titre-bloc { display: grid; gap: 40px; max-width: 1180px; }
.mise-titre .d-titre { font-size: 120px; padding-top: 0; max-height: 520px; }
.mise-titre .d-titre::before { display: none; }
.mise-titre .d-sous { font-size: 50px; color: var(--muted-ink); max-height: 240px; overflow: hidden; }
.mise-titre .d-rejoindre { position: absolute; right: 96px; bottom: 96px; display: grid; justify-items: center; gap: 14px; padding: 28px; background: #fff; border-radius: 24px; box-shadow: 0 4px 30px rgb(0 0 0 / .08); }
.mise-titre .d-rejoindre .qr { width: 300px; height: 300px; display: block; }
.mise-titre .d-rej-t { font: 700 32px/1.2 var(--diapo-titre); text-align: center; }
.mise-titre .d-rej-u { font-size: 24px; color: var(--muted-ink); text-align: center; }

/* intertitre */
.mise-section { background: var(--accent); color: #fff; justify-content: center; }
.mise-section .d-section { display: grid; gap: 40px; max-width: 1500px; }
.mise-section .d-surtitre { color: rgb(255 255 255 / .8); }
.mise-section .d-titre { font-size: 116px; max-height: 560px; padding-top: 0; }
.mise-section .d-titre::before { display: none; }
.mise-section .d-corps { font-size: 50px; color: rgb(255 255 255 / .9); }
.mise-section .puces li::before { background: #fff !important; }
.mise-section .d-pied { color: rgb(255 255 255 / .75); }
.mise-section a, .mise-section strong { color: #fff; }

/* message central */
.mise-grand { justify-content: center; align-items: center; text-align: center; background: var(--chalk); }
.mise-grand .d-grand { font: 600 92px/1.18 var(--diapo-titre); max-width: 1560px; max-height: 760px; overflow: hidden; }
.mise-grand .d-grand .puces { text-align: left; font-size: .7em; }
.mise-grand .d-petit-titre { position: absolute; top: 72px; left: 128px; font: 600 34px/1 var(--diapo-titre); color: var(--accent); letter-spacing: .06em; text-transform: uppercase; }

/* citation */
.mise-citation { justify-content: center; }
.mise-citation .d-citation { position: relative; padding-left: 72px; border-left: 18px solid var(--accent); display: grid; gap: 40px; max-width: 1560px; }
.mise-citation .d-guillemet { display: none; }
.mise-citation blockquote { margin: 0; font: 400 70px/1.3 var(--diapo-titre); max-height: 640px; overflow: hidden; }
.mise-citation .d-auteur { font-size: 40px; color: var(--muted-ink); }

/* diapositive d'origine */
.mise-original { padding: 0; background: #fff; }
.mise-original .d-original, .mise-pptx .d-original { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; }
.mise-pptx { background: #000; }
.mise-pptx .d-pptx svg { width: 100%; height: 100%; display: block; }
.mise-pptx .d-chargement { color: #9BA6AB; font-size: 40px; }
.mise-original .d-original img { width: 100%; height: 100%; object-fit: contain; }
.mise-original .d-pied { bottom: 18px; }
.mise-original .d-pied .d-sources { background: rgb(255 255 255 / .9); padding: 6px 14px; border-radius: 8px; }

/* texte et image */
.diapo .d-colonnes { flex: 1; min-height: 0; display: grid; grid-template-columns: 1.15fr 1fr; gap: 72px; align-items: center; }
.diapo .d-colonnes.inverse { grid-template-columns: 1fr 1.15fr; }
.diapo .d-colonnes.inverse > :first-child { order: 2; }
.diapo .d-colonnes .d-corps { height: 100%; display: flex; flex-direction: column; justify-content: center; }
.diapo .d-colonnes .d-image { height: 100%; }
.mise-image .d-legende { flex: none; font-size: 36px; color: var(--muted-ink); max-height: 150px; overflow: hidden; text-align: center; }


/* activité */
.mise-activite .d-activite { flex: 1; display: grid; grid-template-columns: 1fr 480px; gap: 80px; min-height: 0; }
.mise-activite .d-a-texte { display: flex; flex-direction: column; gap: 40px; min-height: 0; }
.mise-activite .d-a-cadre { align-self: center; display: grid; gap: 30px; justify-items: center; padding: 48px 36px; background: var(--chalk); border-radius: 32px; text-align: center; }
.mise-activite .d-a-duree { display: grid; justify-items: center; }
.mise-activite .d-minuteur { font: 700 150px/1 var(--diapo-titre); color: var(--accent); font-variant-numeric: tabular-nums; }
.mise-activite .d-minuteur.fini { color: #BF3328; }
.mise-activite .d-a-duree small { font-size: 32px; color: var(--muted-ink); }
.mise-activite .d-a-modalite { font: 600 42px/1.25 var(--diapo-titre); }

/* Question projetée à la place de la diapositive : tout tient dans le cadre, même avec quatre longs choix et l'explication. */
.mise-question { gap: 30px; padding: 60px 112px 56px; }
.mise-question .dq-surtitre { margin: 0; font: 600 38px/1 var(--diapo-titre); color: var(--accent); text-transform: uppercase; letter-spacing: .08em; flex: none; }
.mise-question .dq-enonce { font-size: 66px; max-height: 290px; padding-top: 0; }
.mise-question .dq-enonce::before { display: none; }
.dq-choix { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; flex: none; }
.dq-choix li { display: flex; gap: 24px; align-items: center; padding: 20px 26px; border-radius: 20px; background: var(--chalk); border: 4px solid transparent; font-size: 44px; line-height: 1.2; transition: opacity .3s, background .3s; }
.dq-choix.nombreux li, .avec-reponse .dq-choix li { font-size: 38px; padding: 16px 24px; }
.dq-lettre { flex: none; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--accent); color: #fff; font: 700 42px/1 var(--diapo-titre); }
.dq-choix li.juste { background: #E3F4E8; border-color: #2E9A4F; }
.dq-choix li.juste .dq-lettre { background: #2E9A4F; }
.dq-choix li.faux { opacity: .38; }
.dq-libre, .dq-attendue { font-size: 44px; color: var(--muted-ink); flex: none; }
.dq-attendue { background: #E3F4E8; border-radius: 20px; padding: 24px 30px; color: var(--ink); }
.dq-attendue p { margin: 0; } .dq-etiquette { font-size: 30px; color: #2E9A4F; font-weight: 700; }
.dq-explication { margin: 0; font-size: 34px; line-height: 1.35; color: var(--muted-ink); flex: 1; min-height: 0; overflow: hidden; }
