/*
 * Système visuel commun — UA1 · Modélisation Revit
 * Couche de convergence pour l’Atelier de la séance 1 et le projet de l’UA1.
 */

body.ua1-converged {
  --ua1-deep: #022f23;
  --ua1-forest: #064b36;
  --ua1-green: #268249;
  --ua1-gold: #f6c64e;
  --ua1-amber: #8a5f00;
  --ua1-coral: #bd513b;
  --ua1-paper: #f7f9f6;
  --ua1-cream: #f6f2e8;
  --ua1-ink: #12241c;
  --ua1-muted: #5f6f67;
  --ua1-line: #dce5df;
  --ua1-card: rgba(255, 255, 255, .94);
  --ua1-shadow: 0 12px 34px rgba(2, 47, 35, .09);
  --ua1-shadow-soft: 0 5px 18px rgba(2, 47, 35, .07);
  --ua1-radius: 14px;
  --ua1-sidebar: 288px;

  /* Ponts avec les variables historiques des deux pages. */
  --deep: var(--ua1-deep);
  --forest: var(--ua1-forest);
  --lacite: var(--ua1-green);
  --gold: var(--ua1-gold);
  --paper: var(--ua1-paper);
  --v20-deep: var(--ua1-deep);
  --v20-green: var(--ua1-forest);
  --v20-gold: var(--ua1-gold);
  --v20-paper: var(--ua1-paper);
  --v20-line: var(--ua1-line);

  color: var(--ua1-ink) !important;
  background: var(--ua1-paper) !important;
  font: 400 16px/1.55 Aptos, "Segoe UI", Arial, sans-serif !important;
  accent-color: var(--ua1-green);
}

body.ua1-converged :where(button, input, textarea, select) {
  font-family: Aptos, "Segoe UI", Arial, sans-serif;
}

body.ua1-converged :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ua1-gold) !important;
  outline-offset: 3px !important;
}

/* ── Enveloppe commune ─────────────────────────────────────────── */
body.ua1-converged .side {
  color: #eef6f0 !important;
  background:
    radial-gradient(circle at 100% 0, rgba(38, 130, 73, .26), transparent 18rem),
    linear-gradient(180deg, #053f30 0%, var(--ua1-deep) 100%) !important;
  border-right: 1px solid rgba(255, 255, 255, .12) !important;
  box-shadow: 12px 0 34px rgba(2, 47, 35, .12) !important;
}

@media (min-width: 961px) {
  body.ua1-converged .side {
    width: var(--ua1-sidebar) !important;
    min-width: var(--ua1-sidebar) !important;
    max-width: var(--ua1-sidebar) !important;
    flex: 0 0 var(--ua1-sidebar) !important;
  }

  body.ua1-converged .main {
    width: calc(100vw - var(--ua1-sidebar)) !important;
    max-width: calc(100vw - var(--ua1-sidebar)) !important;
    flex: 1 1 auto !important;
  }
}

body.ua1-converged .main {
  color: var(--ua1-ink) !important;
  background:
    radial-gradient(circle at 84% -8%, rgba(38, 130, 73, .08), transparent 24rem),
    linear-gradient(180deg, #fbfcfa 0%, var(--ua1-paper) 100%) !important;
}

body.ua1-converged .side-head {
  padding: 16px 18px 15px !important;
  border-bottom: 1px solid rgba(246, 198, 78, .65) !important;
}

body.ua1-converged .side-head::before {
  display: none !important;
}

body.ua1-converged .ua1-studio-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 9px;
  color: var(--ua1-gold);
  border: 1px solid rgba(246, 198, 78, .5);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.ua1-converged .ua1-lacite-logo,
body.ua1-converged .side-head > img[alt="La Cité"] {
  display: block;
  width: 112px !important;
  max-width: 52% !important;
  height: auto !important;
  margin: 2px 0 11px !important;
  object-fit: contain;
}

body.ua1-converged .side-head > :where(b, h2) {
  margin: 0 !important;
  color: #fff1bd !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -.015em;
}

body.ua1-converged .side-head > :where(small, p) {
  display: block;
  margin: 7px 0 0 !important;
  color: rgba(238, 246, 240, .72) !important;
  font-size: 10px !important;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* ── Passage entre portail, séance et projet ───────────────────── */
body.ua1-converged .course-bridge {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 7px !important;
  margin: 0 0 13px !important;
  padding: 0 0 13px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .13) !important;
}

body.ua1-converged .course-bridge a {
  min-height: 38px !important;
  padding: 8px 9px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .055) !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .015em;
  text-decoration: none !important;
}

body.ua1-converged .course-bridge a:hover {
  color: var(--ua1-deep) !important;
  background: var(--ua1-gold) !important;
  border-color: var(--ua1-gold) !important;
  transform: translateY(-1px);
}

/* ── Navigation latérale ───────────────────────────────────────── */
body.ua1-converged .side .nav {
  padding-inline: 12px !important;
}

body.ua1-converged .side :where(.nav-cat, .nav-label) {
  margin: 14px 8px 7px !important;
  color: var(--ua1-gold) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

body.ua1-converged .side :where(.nav-d, .nav-e, .nav-plans) {
  width: 100% !important;
  min-height: 44px;
  color: #eef6f0 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

body.ua1-converged .side :where(.nav-d, .nav-e, .nav-plans):hover {
  background: rgba(255, 255, 255, .08) !important;
  border-color: rgba(255, 255, 255, .16) !important;
  transform: translateX(2px);
}

body.ua1-converged .side :where(.nav-d.on, .nav-e.on, .nav-plans.on, .nav-d.v5-expanded) {
  color: var(--ua1-deep) !important;
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .15) !important;
}

body.ua1-converged .side :where(.nav-d.on, .nav-e.on, .nav-plans.on, .nav-d.v5-expanded) :where(b, span, small, i) {
  color: inherit !important;
}

body.ua1-converged .side :where(.nav-e.on, .nav-d.on, .nav-d.v5-expanded)::after {
  background: var(--ua1-gold) !important;
}

body.ua1-converged .side .na {
  min-height: 29px;
  margin-block: 2px;
  color: rgba(238, 246, 240, .77) !important;
  border-radius: 8px !important;
}

body.ua1-converged .side .na:hover,
body.ua1-converged .side .na.v5-current {
  color: #fff1bd !important;
  background: rgba(246, 198, 78, .11) !important;
}

/* Contraste renforcé demandé pour la barre latérale de l’atelier. */
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na:not(.v5-current):not(.cur) > span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na:not(.v5-current):not(.cur) > i,
html body.ua1-converged.ua1-atelier.v5-ready .side .na-billet .nb-txt,
html body.ua1-converged.ua1-atelier.v5-ready .side .na-billet .nb-ico {
  color: #fff !important;
  opacity: 1 !important;
}

html body.ua1-converged.ua1-atelier.v5-ready .side .side-foot :where(small, .prof, .sign, .v5-side-meter-copy) {
  color: #fff !important;
  opacity: 1 !important;
}

/* ── V2.3 : une même barre latérale pour l’Atelier et le Projet ───────── */
html body.ua1-converged .side .side-head {
  padding: 16px 18px 14px !important;
}

html body.ua1-converged .side .nav {
  padding: 10px 12px 16px !important;
}

html body.ua1-converged .side .ua1-studio-chip {
  margin-bottom: 10px !important;
}

html body.ua1-converged .side .course-bridge {
  margin-bottom: 13px !important;
}

html body.ua1-converged.ua1-project .side .cat {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  margin: 14px 0 5px !important;
  padding: 8px 10px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #0a5a40 0%, var(--ua1-forest) 100%) !important;
  border: 1px solid rgba(246, 198, 78, .34) !important;
  border-radius: 10px !important;
  box-shadow: inset 3px 0 0 rgba(246, 198, 78, .78) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

html body.ua1-converged.ua1-project .side .nav-plans {
  min-height: 48px !important;
  margin: 0 0 7px !important;
  padding: 7px 10px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #0a5a40 0%, var(--ua1-forest) 100%) !important;
  border: 1px solid rgba(246, 198, 78, .34) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

html body.ua1-converged.ua1-project .side .nav-plans .ic {
  color: var(--ua1-gold) !important;
}

html body.ua1-converged.ua1-project .side .nav-plans:hover {
  background: linear-gradient(180deg, #116d4d 0%, #07553d 100%) !important;
  border-color: rgba(246, 198, 78, .66) !important;
}

html body.ua1-converged.ua1-project .side .nav-plans.on {
  color: var(--ua1-deep) !important;
  background: linear-gradient(180deg, #fbeec9 0%, #f6e0ae 100%) !important;
  border-color: var(--ua1-gold) !important;
}

html body.ua1-converged.ua1-project .side .nav-plans.on .ic {
  color: var(--ua1-amber) !important;
}

html body.ua1-converged.ua1-project .side .nav-e {
  min-height: 32px !important;
  margin: 0 0 2px !important;
  padding: 5px 8px !important;
  gap: 8px !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

html body.ua1-converged.ua1-project .side .nav-e::after {
  display: none !important;
}

html body.ua1-converged.ua1-project .side .nav-e .n {
  width: 32px !important;
  min-width: 32px !important;
  height: auto !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .055em !important;
}

html body.ua1-converged.ua1-project .side .nav-e:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .08) !important;
}

html body.ua1-converged.ua1-project .side .nav-e.on {
  color: var(--ua1-deep) !important;
  background: linear-gradient(90deg, #f6d77f 0%, #f4e7c2 100%) !important;
}

html body.ua1-converged.ua1-project .side .nav-e.on .n,
html body.ua1-converged.ua1-project .side .nav-e.on .section-quiz-status {
  color: var(--ua1-amber) !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section {
  min-height: 44px !important;
  margin: 3px 0 7px !important;
  background: rgba(246, 198, 78, .07) !important;
  border: 1px dashed rgba(246, 198, 78, .42) !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section.on {
  background: linear-gradient(90deg, #f6d77f 0%, #f4e7c2 100%) !important;
  border-style: solid !important;
  border-color: var(--ua1-gold) !important;
}

html body.ua1-converged.ua1-project .side .side-foot :where(small, .sign) {
  color: #fff !important;
  opacity: 1 !important;
}

body.ua1-converged .side-foot {
  color: rgba(238, 246, 240, .78) !important;
  background: linear-gradient(180deg, rgba(2, 47, 35, .05), rgba(2, 47, 35, .72)) !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
}

body.ua1-converged .side-foot :where(.prof, .sign) {
  color: rgba(238, 246, 240, .72) !important;
  font-size: 10px !important;
}

/* ── En-têtes et commandes ─────────────────────────────────────── */
body.ua1-converged :where(.v5-page-head, .v20-command) {
  min-height: 62px !important;
  color: var(--ua1-ink) !important;
  background: rgba(255, 255, 255, .9) !important;
  border-bottom: 1px solid var(--ua1-line) !important;
  box-shadow: 0 5px 20px rgba(2, 47, 35, .06) !important;
  backdrop-filter: blur(18px);
}

body.ua1-converged :where(.btn-h, .btn-done, .v20-command button, .v20-command a) {
  min-height: 38px;
  padding: 8px 13px !important;
  color: var(--ua1-forest) !important;
  background: rgba(255, 255, 255, .9) !important;
  border: 1px solid rgba(6, 75, 54, .42) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.ua1-converged :where(.btn-h, .btn-done, .v20-command button, .v20-command a):hover {
  color: #fff !important;
  background: var(--ua1-forest) !important;
  border-color: var(--ua1-forest) !important;
  transform: translateY(-1px);
}

body.ua1-converged .eyebrow {
  color: var(--ua1-green) !important;
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.ua1-converged h1 {
  color: var(--ua1-deep) !important;
  letter-spacing: -.025em;
}

body.ua1-atelier h1 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(34px, 3.6vw, 52px) !important;
  line-height: 1.02 !important;
}

body.ua1-project .etape-head h1,
body.ua1-project #eTitle {
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-weight: 900 !important;
}

/* ── Cartes et modules communs ─────────────────────────────────── */
body.ua1-converged :where(.ocard, .ipre, .noteprof, .lab-stage, .launch-card, .v5-brief-grid > *, .et-situ, .v5-pro-question) {
  border-radius: var(--ua1-radius) !important;
}

body.ua1-converged :where(.ocard, .ipre, .lab-stage, .launch-card) {
  border-color: var(--ua1-line) !important;
  box-shadow: var(--ua1-shadow-soft) !important;
}

body.ua1-converged .ocard {
  background: var(--ua1-card) !important;
}

body.ua1-converged .ocard.obj {
  border-left: 4px solid var(--ua1-green) !important;
}

body.ua1-converged .ocard.ctrl {
  border-left: 4px solid var(--ua1-gold) !important;
}

body.ua1-converged .mode-row {
  gap: 8px !important;
}

body.ua1-converged .mode-btn {
  min-height: 48px !important;
  color: var(--ua1-forest) !important;
  background: rgba(255, 255, 255, .88) !important;
  border: 1px solid var(--ua1-line) !important;
  border-radius: 11px !important;
  font-weight: 800 !important;
}

body.ua1-converged .mode-btn.on {
  color: #fff !important;
  background: var(--ua1-forest) !important;
  border-color: var(--ua1-forest) !important;
  box-shadow: 0 9px 22px rgba(6, 75, 54, .18) !important;
}

/* Séance 1 : conserver la narration, alléger le chrome. */
body.ua1-atelier .v5-brief-grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(330px, .96fr) !important;
  gap: 16px !important;
}

body.ua1-atelier .et-situ {
  background: linear-gradient(135deg, #fff8df 0%, #f8ecc6 100%) !important;
  border: 1px solid rgba(138, 95, 0, .28) !important;
  box-shadow: var(--ua1-shadow) !important;
}

body.ua1-atelier .v5-pro-question {
  background: #fff !important;
  border: 1px solid rgba(6, 75, 54, .34) !important;
  box-shadow: var(--ua1-shadow-soft) !important;
}

body.ua1-atelier .v5-brief-grid :where(p, li) {
  line-height: 1.62 !important;
}

body.ua1-atelier .v5-brief-grid .et-situ p {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 18px !important;
}

body.ua1-atelier .wrap {
  max-width: 1180px !important;
  padding-inline: clamp(22px, 3vw, 42px) !important;
}

body.ua1-atelier .main {
  padding-bottom: 76px !important;
}

/* Projet : donner un peu plus d’air sans perdre son efficacité. */
body.ua1-project .corps,
body.ua1-project .etape-body {
  max-width: 1240px;
}

body.ua1-project .obj-row {
  gap: 12px !important;
}

body.ua1-project .ipre {
  background: rgba(255, 255, 255, .88) !important;
  border-left: 4px solid var(--ua1-green) !important;
}

/* ── Écrans larges : occuper l’espace sans étirer la lecture ──────────── */
@media (min-width: 1700px) {
  body.ua1-atelier .wrap {
    width: min(100%, 1460px) !important;
    max-width: 1460px !important;
  }

  body.ua1-atelier .v5-brief-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
    gap: 22px !important;
  }

  body.ua1-atelier .v5-brief-grid .et-situ .et-sc > p {
    max-width: 76ch;
  }

  body.ua1-project #viewProjet .etape-head,
  body.ua1-project #viewProjet > div[style*="max-width:1460px"],
  body.ua1-project .instr {
    width: min(100%, 1560px) !important;
    max-width: 1560px !important;
  }
}

@media (min-width: 2200px) {
  body.ua1-converged {
    --ua1-sidebar: 304px;
  }

  body.ua1-atelier .wrap {
    width: min(100%, 1720px) !important;
    max-width: 1720px !important;
  }

  body.ua1-project #viewProjet .etape-head,
  body.ua1-project #viewProjet > div[style*="max-width:1460px"],
  body.ua1-project .instr {
    width: min(100%, 1720px) !important;
    max-width: 1720px !important;
  }
}

/* ── Barre commune de la séance 1 ─────────────────────────────── */
body.ua1-converged .ua1-atelier-dock {
  position: fixed;
  z-index: 820;
  right: 0;
  bottom: 0;
  left: var(--ua1-sidebar);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 64px;
  padding: 9px 18px;
  background: rgba(255, 255, 255, .93);
  border-top: 1px solid var(--ua1-line);
  box-shadow: 0 -10px 30px rgba(2, 47, 35, .09);
  backdrop-filter: blur(18px);
}

body.ua1-converged .ua1-atelier-dock :where(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  color: var(--ua1-forest);
  background: #fff;
  border: 1px solid rgba(6, 75, 54, .46);
  border-radius: 11px;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

body.ua1-converged .ua1-atelier-dock :where(a, button):hover {
  color: #fff;
  background: var(--ua1-forest);
  border-color: var(--ua1-forest);
}

body.ua1-converged .ua1-atelier-dock .ua1-dock-primary {
  color: #fff;
  background: var(--ua1-forest);
  border-color: var(--ua1-forest);
}

body.ua1-atelier .am-dock {
  bottom: 76px !important;
}

/* ── Mouvement et écrans étroits ──────────────────────────────── */
@media (max-width: 1100px) {
  body.ua1-atelier .v5-brief-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 960px) {
  body.ua1-converged {
    --ua1-sidebar: 304px;
    font-size: 15px !important;
  }

  body.ua1-converged .side {
    width: min(86vw, 304px) !important;
    min-width: min(86vw, 304px) !important;
    max-width: min(86vw, 304px) !important;
  }

  body.ua1-converged .main {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.ua1-converged {
    max-width: 100vw;
    overflow-x: hidden !important;
  }

  body.ua1-converged :where(.v5-page-head, .v20-command) {
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  body.ua1-converged .ua1-atelier-dock {
    left: 0;
    gap: 6px;
    padding-inline: 10px;
  }

  body.ua1-converged .ua1-atelier-dock :where(a, button) {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 8px;
    font-size: 11px;
  }

  body.ua1-project .obj-row {
    grid-template-columns: 1fr !important;
  }

  body.ua1-project .mode-row {
    overflow-x: auto;
    padding-bottom: 5px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.ua1-project .mode-row::-webkit-scrollbar {
    display: none;
  }

  body.ua1-project .mode-btn {
    min-width: 132px;
    scroll-snap-align: start;
  }
}

@media (max-width: 620px) {
  body.ua1-converged .side-head > :where(b, h2) {
    font-size: 19px !important;
  }

  body.ua1-atelier h1 {
    font-size: 32px !important;
  }

  body.ua1-atelier .trow {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: center !important;
  }

  body.ua1-atelier .trow .titre-ligne {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.ua1-atelier .trow h1 {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 0 5px !important;
    flex: 1 1 auto !important;
  }

  body.ua1-atelier .trow .btn-h {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 5px !important;
    overflow: hidden;
    white-space: nowrap;
  }

  html body.ua1-converged.ua1-atelier.v5-ready #eBody .v5-brief-grid .et-situ .et-situ-bande {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 28px 12px !important;
    line-height: 1.25 !important;
  }

  html body.ua1-converged.ua1-atelier.v5-ready #eBody .v5-brief-grid .et-situ .et-situ-corps .et-sc > p {
    text-align: left !important;
    text-align-last: auto !important;
    font-size: 17px !important;
    line-height: 1.58 !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
  }

  body.ua1-atelier .wrap {
    padding-inline: 16px !important;
  }

  body.ua1-converged .ua1-atelier-dock :where(a, button):nth-child(3) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on .n::after,
  html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > i::after,
  html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > i::after,
  html body.ua1-converged.ua1-project .ua1-project-orbit::after {
    animation: none !important;
  }
}

/* ── V2.4 : convergence structurelle des deux palettes ───────────────── */
@keyframes ua1MissionArcSpin {
  to { transform: rotate(360deg); }
}

/* Les cartes de phase du projet reprennent désormais exactement la
   composition Étape / titre / compteur de l'Atelier. */
html body.ua1-converged.ua1-project .side .cat {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 58px !important;
  margin: 16px 0 7px !important;
  padding: 8px 10px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #0a5a40 0%, #064b36 100%) !important;
  border: 1px solid rgba(246, 198, 78, .42) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.ua1-converged.ua1-project .side .cat:first-of-type {
  margin-top: 14px !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current {
  color: var(--ua1-deep) !important;
  background: linear-gradient(180deg, #fbeec9 0%, #f6e0ae 100%) !important;
  border-color: var(--ua1-gold) !important;
  box-shadow: inset 4px 0 0 #d47c2f !important;
}

html body.ua1-converged.ua1-project .side .ua1-phase-copy {
  display: flex !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 2px !important;
}

html body.ua1-converged.ua1-project .side .ua1-phase-copy small {
  color: var(--ua1-gold) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
}

html body.ua1-converged.ua1-project .side .ua1-phase-copy b {
  overflow: hidden !important;
  max-width: 100% !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-copy small {
  color: #8a5f00 !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-copy b {
  color: #04301f !important;
}

html body.ua1-converged.ua1-project .side .ua1-phase-count {
  display: inline-grid !important;
  min-width: 38px !important;
  height: 24px !important;
  flex: 0 0 auto !important;
  place-items: center !important;
  padding: 0 7px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .13) !important;
  border: 1px solid rgba(255, 255, 255, .32) !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-count {
  color: #04301f !important;
  background: rgba(4, 48, 31, .10) !important;
  border-color: rgba(4, 48, 31, .30) !important;
}

/* Une seule grammaire pour toutes les missions : indentation, médaillon,
   libellé blanc et sélection crème. */
html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 42px !important;
  margin: 0 0 2px !important;
  padding: 4px 8px !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission {
  width: calc(100% - 12px) !important;
  margin-left: 12px !important;
}

html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts {
  padding: 3px 0 11px 12px !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission .n,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na > i {
  position: relative !important;
  display: grid !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #f6c64e !important;
  background: rgba(1, 47, 35, .34) !important;
  border: 1.5px solid rgba(246, 198, 78, .72) !important;
  border-radius: 50% !important;
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .025em !important;
  text-align: center !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission > .n + span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na > span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  opacity: 1 !important;
  text-overflow: ellipsis !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission:hover,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na:hover {
  background: rgba(255, 255, 255, .09) !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur {
  color: #4f3510 !important;
  background: linear-gradient(90deg, #f6d77f 0%, #f4e7c2 100%) !important;
  box-shadow: inset 4px 0 0 #d47c2f !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on > .n + span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > span {
  color: #4f3510 !important;
  font-weight: 850 !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on .n,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > i,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > i {
  color: #04301f !important;
  background: #f6c64e !important;
  border-color: #04301f !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on .n::after,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > i::after,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > i::after,
html body.ua1-converged.ua1-project .ua1-project-orbit::after {
  content: "" !important;
  position: absolute !important;
  inset: -5px !important;
  border: 2px solid transparent !important;
  border-top-color: #d47c2f !important;
  border-right-color: #f6c64e !important;
  border-radius: 50% !important;
  animation: ua1MissionArcSpin 2.1s linear infinite !important;
  pointer-events: none !important;
}

/* Le médaillon de la mission rejoint aussi l'en-tête du projet, comme dans
   l'Atelier. */
html body.ua1-converged.ua1-project .e-title-row {
  align-items: center !important;
}

html body.ua1-converged.ua1-project .ua1-project-orbit {
  position: relative !important;
  display: grid !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  place-items: center !important;
  margin: 0 5px 0 0 !important;
  color: #8a5f00 !important;
  background: #fff8e6 !important;
  border: 2px solid #f6c64e !important;
  border-radius: 50% !important;
  font-family: Georgia, serif !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

html body.ua1-converged.ua1-project .ua1-project-orbit[hidden] {
  display: none !important;
}

/* Le bilan reste un objet particulier, mais adopte la même indentation et
   la même densité que le Billet de sortie de l'Atelier. */
html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section {
  width: calc(100% - 12px) !important;
  margin: 5px 0 10px 12px !important;
  border-radius: 10px !important;
}

@media (max-width: 620px) {
  html body.ua1-converged.ua1-project .ua1-project-orbit {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    flex-basis: 46px !important;
    font-size: 11px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on .n::after,
  html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > i::after,
  html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > i::after,
  html body.ua1-converged.ua1-project .ua1-project-orbit::after {
    animation: none !important;
  }
}

/* ── V2.5 : palette latérale commune, plus calme et plus dense ───────── */
html body.ua1-converged .side {
  background: #053d2f !important;
  box-shadow: 8px 0 24px rgba(2, 47, 35, .10) !important;
}

html body.ua1-converged .side .side-head {
  padding: 15px 16px 13px !important;
  border-bottom-color: rgba(246, 198, 78, .38) !important;
}

html body.ua1-converged .side .ua1-studio-chip {
  margin-bottom: 9px !important;
  padding: 4px 8px !important;
  font-size: 8px !important;
}

html body.ua1-converged .side .ua1-lacite-logo,
html body.ua1-converged .side .side-head > img[alt="La Cité"] {
  width: 106px !important;
  margin-bottom: 10px !important;
}

html body.ua1-converged .side .course-bridge {
  gap: 6px !important;
  margin-bottom: 11px !important;
  padding-bottom: 11px !important;
}

html body.ua1-converged .side .course-bridge a {
  min-height: 34px !important;
  padding: 6px 7px !important;
  border-color: rgba(255, 255, 255, .17) !important;
  background: rgba(255, 255, 255, .045) !important;
  font-size: 9px !important;
}

html body.ua1-converged .side .side-head > :where(b, h2) {
  color: #fff0bd !important;
  font-size: 19px !important;
  line-height: 1.12 !important;
}

html body.ua1-converged .side .side-head > :where(small, p) {
  margin-top: 5px !important;
  color: rgba(238, 246, 240, .62) !important;
  font-size: 9px !important;
}

html body.ua1-converged .side .nav {
  padding: 8px 10px 14px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(246, 198, 78, .42) transparent !important;
}

html body.ua1-converged .side :where(.nav-cat, .nav-label) {
  display: none !important;
}

/* Les trois accès propres au projet restent disponibles, mais ne dominent
   plus le parcours. */
html body.ua1-converged.ua1-project .side .ua1-project-tools {
  display: grid !important;
  gap: 2px !important;
  margin: 0 0 10px !important;
  padding: 7px !important;
  background: rgba(255, 255, 255, .035) !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  border-radius: 11px !important;
}

html body.ua1-converged.ua1-project .side .ua1-project-tools-title {
  display: block !important;
  margin: 0 5px 3px !important;
  color: rgba(246, 198, 78, .78) !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

html body.ua1-converged.ua1-project .side .ua1-project-tools .nav-plans {
  min-height: 36px !important;
  margin: 0 !important;
  padding: 5px 7px !important;
  color: rgba(255, 255, 255, .91) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html body.ua1-converged.ua1-project .side .ua1-project-tools .nav-plans .ic {
  width: 15px !important;
  height: 15px !important;
  color: rgba(246, 198, 78, .88) !important;
}

html body.ua1-converged.ua1-project .side .ua1-project-tools .nav-plans:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .07) !important;
  transform: none !important;
}

html body.ua1-converged.ua1-project .side .ua1-project-tools .nav-plans.on {
  color: #04301f !important;
  background: #f8e9bd !important;
}

/* Une seule carte d'étape dans les deux portails. */
html body.ua1-converged.ua1-project .side .cat,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp {
  display: flex !important;
  min-height: 52px !important;
  align-items: center !important;
  margin: 12px 0 5px !important;
  padding: 7px 9px !important;
  color: #fff !important;
  background: #07543d !important;
  border: 1px solid rgba(246, 198, 78, .30) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

html body.ua1-converged.ua1-project .side .cat::before,
html body.ua1-converged.ua1-project .side .cat::after,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp::before,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp::after {
  display: none !important;
  content: none !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded {
  color: #04301f !important;
  background: #f8e9bd !important;
  border-color: rgba(246, 198, 78, .82) !important;
  box-shadow: inset 3px 0 0 #d47c2f !important;
}

html body.ua1-converged.ua1-project .side .ua1-phase-copy small,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp .step-copy small.etp-sur {
  display: block !important;
  margin: 0 0 1px !important;
  color: rgba(246, 198, 78, .88) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .06em !important;
}

html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp .step-copy small:not(.etp-sur) {
  display: none !important;
}

html body.ua1-converged.ua1-project .side .ua1-phase-copy b,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp .step-copy b {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-copy small,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on .step-copy small.etp-sur,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded .step-copy small.etp-sur {
  color: #8a5f00 !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-copy b,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on .step-copy b,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded .step-copy b {
  color: #04301f !important;
}

html body.ua1-converged.ua1-project .side .ua1-phase-count,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp .v5-stage-count {
  display: grid !important;
  min-width: 35px !important;
  height: 22px !important;
  place-items: center !important;
  margin-left: auto !important;
  padding: 0 6px !important;
  color: rgba(255, 255, 255, .92) !important;
  background: rgba(255, 255, 255, .10) !important;
  border: 1px solid rgba(255, 255, 255, .25) !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 900 !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-count,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on .v5-stage-count,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded .v5-stage-count {
  color: #04301f !important;
  background: rgba(4, 48, 31, .08) !important;
  border-color: rgba(4, 48, 31, .24) !important;
}

/* Mission : trois colonnes fixes. La coche reste à droite et ne crée plus
   jamais une seconde ligne. */
html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) 16px !important;
  align-items: center !important;
  gap: 7px !important;
  width: calc(100% - 8px) !important;
  min-height: 36px !important;
  margin: 0 0 1px 8px !important;
  padding: 3px 6px !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts {
  padding: 2px 0 7px !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission::before,
html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission::after,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na::before,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na::after {
  display: none !important;
  content: none !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission .n,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na > i {
  position: relative !important;
  display: grid !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 28px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: rgba(246, 198, 78, .88) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission > .n + span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na > span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  opacity: 1 !important;
  text-overflow: ellipsis !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission .ck,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na > em {
  position: static !important;
  display: none !important;
  width: 16px !important;
  margin: 0 !important;
  color: #70d69b !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  transform: none !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.done .ck,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-done > em,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.fait > em {
  display: grid !important;
  place-items: center !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission:hover,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .06) !important;
  border: 0 !important;
  transform: none !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur {
  min-height: 38px !important;
  color: #4f3510 !important;
  background: #f8e9bd !important;
  border: 0 !important;
  box-shadow: inset 3px 0 0 #d47c2f !important;
  outline: 0 !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on > .n + span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > span {
  color: #4f3510 !important;
  font-weight: 800 !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on .n,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > i,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > i {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  color: #04301f !important;
  background: #f6c64e !important;
  border-color: #04301f !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on .n::after,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > i::after,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > i::after {
  inset: -4px !important;
  border-width: 1.5px !important;
}

/* Les bilans restent identifiables sans devenir de grandes cartes. */
html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
  width: calc(100% - 8px) !important;
  min-height: 40px !important;
  margin: 3px 0 8px 8px !important;
  padding: 5px 7px !important;
  color: rgba(255, 255, 255, .90) !important;
  background: rgba(255, 255, 255, .035) !important;
  border: 1px dashed rgba(246, 198, 78, .32) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  outline: 0 !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section::before,
html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section::after {
  display: none !important;
  content: none !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section .n {
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  color: rgba(246, 198, 78, .88) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 9px !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section .section-quiz-label b {
  color: rgba(255, 255, 255, .94) !important;
  font-size: 10px !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section .section-quiz-label small {
  color: rgba(255, 255, 255, .58) !important;
  font-size: 8px !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section .section-quiz-status {
  color: rgba(246, 198, 78, .88) !important;
  font-size: 9px !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section.on {
  color: #04301f !important;
  background: #f8e9bd !important;
  border-color: rgba(246, 198, 78, .76) !important;
}

html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section.on :where(.n, .section-quiz-label b, .section-quiz-label small, .section-quiz-status) {
  color: #4f3510 !important;
}

html body.ua1-converged .side .side-foot {
  padding: 9px 14px 12px !important;
}

@media (max-width: 960px) {
  html body.ua1-converged .side {
    width: min(304px, 88vw) !important;
    min-width: min(304px, 88vw) !important;
    max-width: min(304px, 88vw) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ua1-converged *,
  body.ua1-converged *::before,
  body.ua1-converged *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ── V2.7 : en-tête Projet général aligné sur l'Atelier ────────────── */
html body.ua1-converged.ua1-project .ua1-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* La grande carte « Mission M01 » faisait doublon avec le médaillon. */
html body.ua1-converged.ua1-project .studio-mission {
  display: none !important;
}

/* Les mêmes commandes que dans l'Atelier vivent désormais dans le titre. */
html body.ua1-converged.ua1-project .v20-command {
  display: none !important;
}

html body.ua1-converged.ua1-project #viewEtape .e-head {
  width: 100% !important;
  padding: 18px clamp(22px, 3.2vw, 48px) 16px !important;
  color: #183d32 !important;
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid #dce9e1 !important;
  box-shadow: 0 8px 28px rgba(2, 47, 35, .045) !important;
}

html body.ua1-converged.ua1-project .ua1-project-breadcrumb {
  margin: 0 0 5px !important;
  color: #627a71 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  letter-spacing: .015em !important;
}

html body.ua1-converged.ua1-project #eEyebrow {
  display: block !important;
  margin: 0 0 7px !important;
  color: #13734f !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}

html body.ua1-converged.ua1-project .e-title-row {
  display: grid !important;
  grid-template-columns: 62px minmax(280px, 1fr) auto !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 0 !important;
}

html body.ua1-converged.ua1-project #eTitle {
  min-width: 0 !important;
  margin: 0 !important;
  color: #073f2f !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(32px, 3.6vw, 56px) !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
}

html body.ua1-converged.ua1-project .ua1-project-orbit {
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  flex-basis: 58px !important;
  margin: 0 !important;
  font-size: 15px !important;
}

html body.ua1-converged.ua1-project .ua1-project-title-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  min-width: max-content !important;
}

html body.ua1-converged.ua1-project .ua1-project-title-actions .ua1-head-tool {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  width: auto !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 11px !important;
  color: #07533d !important;
  background: #fff !important;
  border: 1px solid #bfd6cc !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html body.ua1-converged.ua1-project .ua1-project-title-actions .ua1-head-tool:hover,
html body.ua1-converged.ua1-project .ua1-project-title-actions .ua1-head-tool:focus-visible {
  color: #04301f !important;
  background: #f4faf7 !important;
  border-color: #79ac94 !important;
  transform: none !important;
}

/* Deux cartes de contexte, comme « Mise en situation / Question » à l'Atelier. */
html body.ua1-converged.ua1-project .obj-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin: 15px 0 0 !important;
}

html body.ua1-converged.ua1-project .obj-row .ocard {
  display: block !important;
  min-height: 74px !important;
  margin: 0 !important;
  padding: 13px 15px !important;
  color: #28473e !important;
  background: #fff !important;
  border: 1px solid #7faf9c !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 15px rgba(2, 47, 35, .05) !important;
}

html body.ua1-converged.ua1-project .obj-row .ocard.obj {
  background: linear-gradient(135deg, #fff7dc 0%, #f9e8ad 100%) !important;
  border-color: #d2ad51 !important;
}

html body.ua1-converged.ua1-project .obj-row .ocard small {
  display: block !important;
  margin: 0 0 6px !important;
  color: #076044 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

html body.ua1-converged.ua1-project .obj-row .ocard b {
  color: #25443a !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* La méthode tient en quatre repères compacts, toujours sous les yeux. */
html body.ua1-converged.ua1-project .ua1-learning-path {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 9px 0 0 !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path article {
  display: grid !important;
  grid-template-columns: 27px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 8px !important;
  min-height: 66px !important;
  padding: 10px !important;
  background: #f7faf8 !important;
  border: 1px solid #d8e6df !important;
  border-radius: 11px !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path article:nth-child(2) {
  background: #fbf8ff !important;
  border-color: #e2d9f3 !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path article:nth-child(3) {
  background: #fffaf0 !important;
  border-color: #eadbb7 !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path article:nth-child(4) {
  background: #f5f9fc !important;
  border-color: #d7e4eb !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path article > span {
  display: grid !important;
  width: 27px !important;
  height: 27px !important;
  place-items: center !important;
  color: #fff !important;
  background: #086248 !important;
  border-radius: 50% !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path b,
html body.ua1-converged.ua1-project .ua1-learning-path small {
  display: block !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path b {
  margin-bottom: 2px !important;
  color: #084936 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

html body.ua1-converged.ua1-project .ua1-learning-path small {
  color: #64766f !important;
  font-size: 9px !important;
  line-height: 1.32 !important;
}

html body.ua1-converged.ua1-project .ua1-completion-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  min-height: 37px !important;
  margin-top: 8px !important;
  padding-top: 7px !important;
  border-top: 1px solid #e1ebe6 !important;
  color: #6c7c76 !important;
  font-size: 10px !important;
  font-weight: 750 !important;
}

html body.ua1-converged.ua1-project .ua1-completion-button {
  min-height: 31px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
}

/* Les accès suivent l'ordre d'apprentissage demandé. */
html body.ua1-converged.ua1-project .mode-row {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

html body.ua1-converged.ua1-project .mode-row::after {
  display: none !important;
  content: none !important;
}

html body.ua1-converged.ua1-project .mode-row .mode-btn {
  justify-content: center !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  background: #fff !important;
  border: 1px solid #c8dcd3 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: #31594d !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}

html body.ua1-converged.ua1-project .mode-row .mode-btn.on {
  color: #fff !important;
  background: #07533d !important;
  border-color: #07533d !important;
}

html body.ua1-converged.ua1-project .mode-row .mode-btn.done::after {
  display: none !important;
  content: none !important;
}

html body.ua1-converged.ua1-project .mode-row .mode-btn.off {
  display: none !important;
}

@media (max-width: 1220px) {
  html body.ua1-converged.ua1-project .e-title-row {
    grid-template-columns: 58px minmax(250px, 1fr) !important;
  }

  html body.ua1-converged.ua1-project .ua1-project-title-actions {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
  }

  html body.ua1-converged.ua1-project .ua1-learning-path {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 960px) {
  html body.ua1-converged.ua1-project .v20-command {
    display: flex !important;
    position: sticky !important;
    top: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 6px 12px !important;
    background: rgba(255, 255, 255, .96) !important;
  }

  html body.ua1-converged.ua1-project .v20-command > :not(#v20Menu) {
    display: none !important;
  }

  html body.ua1-converged.ua1-project .v20-command #v20Menu {
    display: inline-flex !important;
  }
}

@media (max-width: 700px) {
  html body.ua1-converged.ua1-project #viewEtape .e-head {
    padding: 14px 14px 12px !important;
  }

  html body.ua1-converged.ua1-project .ua1-project-breadcrumb {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.ua1-converged.ua1-project .e-title-row {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html body.ua1-converged.ua1-project #eTitle {
    font-size: clamp(27px, 9vw, 38px) !important;
  }

  html body.ua1-converged.ua1-project .ua1-project-orbit {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    flex-basis: 46px !important;
    font-size: 11px !important;
  }

  html body.ua1-converged.ua1-project .ua1-project-title-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  html body.ua1-converged.ua1-project .ua1-project-title-actions .ua1-head-tool {
    width: 100% !important;
    padding-inline: 7px !important;
  }

  html body.ua1-converged.ua1-project .obj-row,
  html body.ua1-converged.ua1-project .ua1-learning-path {
    grid-template-columns: 1fr !important;
  }

  html body.ua1-converged.ua1-project .obj-row .ocard {
    min-height: 0 !important;
  }

  html body.ua1-converged.ua1-project .ua1-learning-path article {
    min-height: 0 !important;
  }

  html body.ua1-converged.ua1-project .mode-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }

  html body.ua1-converged.ua1-project .mode-row .mode-btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.ua1-converged.ua1-project .ua1-completion-row {
    justify-content: space-between !important;
  }
}

/* ── V3.2 : bilan compact et comparatif 2D/BIM rééquilibré ─────────── */
html body.ua1-converged.ua1-project.section-quiz-view #customInstr > .section-quiz-intro {
  display: none !important;
}

html body.ua1-converged.ua1-project.section-quiz-view #viewEtape .e-head {
  padding-bottom: 18px !important;
}

html body.ua1-converged.ua1-project.section-quiz-view .e-title-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
}

html body.ua1-converged.ua1-project.section-quiz-view #eTitle {
  max-width: none !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.06 !important;
}

html body.ua1-converged.ua1-project.section-quiz-view #customInstr {
  padding-top: 24px !important;
}

html body.ua1-converged.ua1-project #viewProjet .studio-hero h2 {
  max-width: 18ch !important;
  font-size: clamp(2.15rem, 2.8vw, 3.55rem) !important;
  line-height: 1.04 !important;
}

@media (min-width: 1000px) {
  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare {
    grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare .v20-compare-mid {
    display: grid !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare figure:first-of-type {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare figure:nth-of-type(2) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare .lk {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 700px) {
  html body.ua1-converged.ua1-project.section-quiz-view .e-title-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body.ua1-converged.ua1-project.section-quiz-view #eTitle {
    font-size: clamp(27px, 8vw, 36px) !important;
  }

  html body.ua1-converged.ua1-project.section-quiz-view .ua1-project-title-actions {
    grid-column: 1 !important;
  }
}

/* ── V3.1 : structure plus calme, médias utiles et repères visuels ── */
html body.ua1-converged.ua1-project #viewProjet > div:nth-child(2),
html body.ua1-converged.ua1-project #customInstr {
  width: min(100%, 1660px) !important;
  margin-inline: auto !important;
}

html body.ua1-converged.ua1-project #customInstr .irow {
  gap: clamp(18px, 2vw, 34px) !important;
  margin-block: 14px !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border: 1px solid #e0e9e4 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 7px 22px rgba(2, 47, 35, .045) !important;
}

html body.ua1-converged.ua1-project #customInstr .irow + .irow {
  margin-top: 18px !important;
}

html body.ua1-converged.ua1-project #customInstr .ifig,
html body.ua1-converged.ua1-project #customInstr figure.fx {
  min-width: 0 !important;
}

html body.ua1-converged.ua1-project #customInstr figure.fx {
  overflow: hidden !important;
  border: 1px solid #dfe8e3 !important;
  border-radius: 14px !important;
  background: #f8faf9 !important;
  box-shadow: 0 5px 15px rgba(2, 47, 35, .04) !important;
}

html body.ua1-converged.ua1-project #customInstr figure.fx > img,
html body.ua1-converged.ua1-project #customInstr .ua1-mission-capture {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 540px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f3f6f4 !important;
}

html body.ua1-converged.ua1-project #customInstr figure.fx figcaption {
  margin: 0 !important;
  padding: 11px 13px !important;
  border-top: 1px solid #e3ebe6 !important;
  background: #fff !important;
}

html body.ua1-converged.ua1-project .ua1-capture-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  min-height: 220px !important;
  overflow: hidden !important;
  color: #173d32 !important;
  background: #eef4f1 !important;
}

html body.ua1-converged.ua1-project .ua1-capture-image {
  align-content: stretch !important;
}

html body.ua1-converged.ua1-project .ua1-capture-image .ua1-context-capture {
  display: block !important;
  width: 100% !important;
  height: 250px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #e9efec !important;
}

html body.ua1-converged.ua1-project .ua1-capture-label,
html body.ua1-converged.ua1-project .ua1-guide-copy {
  display: grid !important;
  gap: 3px !important;
  padding: 11px 14px !important;
  color: #405d54 !important;
  background: #fff !important;
  font-size: 12px !important;
  line-height: 1.42 !important;
}

html body.ua1-converged.ua1-project .ua1-capture-label small,
html body.ua1-converged.ua1-project .ua1-guide-copy small {
  color: #087052 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body.ua1-converged.ua1-project .ua1-guide-window {
  display: grid !important;
  grid-template-rows: 30px minmax(170px, 1fr) !important;
  margin: 14px 14px 0 !important;
  overflow: hidden !important;
  border: 1px solid #b8c8c1 !important;
  border-radius: 9px !important;
  background: #eef2f0 !important;
  box-shadow: 0 9px 20px rgba(2, 47, 35, .1) !important;
}

html body.ua1-converged.ua1-project .ua1-guide-top {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 9px !important;
  color: #eef9f5 !important;
  background: #163f34 !important;
  font-size: 9px !important;
  letter-spacing: .03em !important;
}

html body.ua1-converged.ua1-project .ua1-guide-top i {
  display: grid !important;
  place-items: center !important;
  width: 17px !important;
  height: 17px !important;
  color: #143e33 !important;
  background: #f6c64e !important;
  border-radius: 3px !important;
  font-style: normal !important;
  font-weight: 900 !important;
}

html body.ua1-converged.ua1-project .ua1-guide-top span {
  width: 28px !important;
  height: 7px !important;
  margin-left: auto !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .28) !important;
}

html body.ua1-converged.ua1-project .ua1-guide-canvas {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, #f8faf9 0 23%, #dce6e1 23% 23.5%, #fff 23.5% 100%) !important;
}

html body.ua1-converged.ua1-project .ua1-guide-canvas i {
  position: absolute !important;
  display: block !important;
  border: 2px solid #8ea69b !important;
  background: rgba(8, 112, 82, .08) !important;
}

html body.ua1-converged.ua1-project .ua1-guide-canvas i:nth-child(1) { left: 4%; top: 13%; width: 14%; height: 8%; }
html body.ua1-converged.ua1-project .ua1-guide-canvas i:nth-child(2) { left: 4%; top: 29%; width: 14%; height: 45%; }
html body.ua1-converged.ua1-project .ua1-guide-canvas i:nth-child(3) { left: 31%; top: 18%; width: 54%; height: 62%; }
html body.ua1-converged.ua1-project .ua1-guide-canvas i:nth-child(4) { left: 39%; top: 29%; width: 23%; height: 34%; border-color: #d6a72b !important; }
html body.ua1-converged.ua1-project .ua1-guide-canvas i:nth-child(5) { left: 67%; top: 28%; width: 10%; height: 36%; border-radius: 50% 50% 3px 3px; }

html body.ua1-converged.ua1-project .ua1-visual-dialog .ua1-guide-canvas i:nth-child(3) {
  left: 34%; top: 13%; width: 48%; height: 72%; background: #fff !important;
  box-shadow: 0 7px 15px rgba(2, 47, 35, .12) !important;
}

html body.ua1-converged.ua1-project .ua1-visual-sheet .ua1-guide-canvas i:nth-child(3) {
  left: 39%; top: 7%; width: 40%; height: 82%; background: #fff !important;
}

html body.ua1-converged.ua1-project .ua1-visual-plan .ua1-guide-canvas i:nth-child(3),
html body.ua1-converged.ua1-project .ua1-visual-section .ua1-guide-canvas i:nth-child(3) {
  background:
    linear-gradient(90deg, transparent 31%, #9db3a8 31% 32%, transparent 32% 67%, #9db3a8 67% 68%, transparent 68%),
    linear-gradient(transparent 36%, #9db3a8 36% 37%, transparent 37% 70%, #9db3a8 70% 71%, transparent 71%) !important;
}

html body.ua1-converged.ua1-project #viewProjet .studio-house {
  overflow: hidden !important;
}

html body.ua1-converged.ua1-project #viewProjet .ua1-project-preview {
  display: block !important;
  width: 100% !important;
  height: 250px !important;
  margin: 8px 0 12px !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .13) !important;
}

html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-collapsible {
  position: relative !important;
  max-height: 275px !important;
  overflow: hidden !important;
  padding-bottom: 62px !important;
  transition: max-height .25s ease !important;
}

html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-collapsible::after {
  content: '' !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 84px !important;
  background: linear-gradient(transparent, #fffaf5 48%) !important;
  pointer-events: none !important;
}

html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-collapsible.expanded {
  max-height: 900px !important;
}

html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-collapsible.expanded::after {
  height: 58px !important;
  background: linear-gradient(transparent, #fffaf5 75%) !important;
}

html body.ua1-converged.ua1-project #viewProjet .ua1-note-toggle {
  position: absolute !important;
  z-index: 2 !important;
  right: 22px !important;
  bottom: 14px !important;
  min-height: 36px !important;
  padding: 7px 14px !important;
  color: #07533d !important;
  background: #fff !important;
  border: 1px solid #8bb0a2 !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

@media (min-width: 1000px) {
  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 22px !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare figure {
    display: grid !important;
    grid-template-rows: minmax(330px, 1fr) auto !important;
    margin: 0 !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare img {
    width: 100% !important;
    height: 430px !important;
    object-fit: contain !important;
    background: #f2f5f3 !important;
  }
}

@media (max-width: 900px) {
  html body.ua1-converged.ua1-project #customInstr .irow {
    grid-template-columns: 1fr !important;
  }

  html body.ua1-converged.ua1-project .ua1-capture-image .ua1-context-capture {
    height: auto !important;
    max-height: 430px !important;
  }
}

@media (max-width: 700px) {
  html body.ua1-converged.ua1-project #customInstr .irow {
    padding: 14px !important;
    border-radius: 12px !important;
  }

  html body.ua1-converged.ua1-project .ua1-guide-window {
    grid-template-rows: 28px 150px !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .ua1-project-preview {
    height: 190px !important;
  }
}

/* ── V2.8 : une seule mise en situation, sans répétition des onglets ── */
html body.ua1-converged.ua1-project .ua1-learning-path {
  display: none !important;
}

html body.ua1-converged.ua1-project .ua1-professional-context {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 9px 0 0 !important;
  padding: 11px 14px !important;
  color: #29483f !important;
  background: linear-gradient(105deg, #fff8e8 0%, #fffdf8 45%, #f6faf8 100%) !important;
  border: 1px solid #d8e4dc !important;
  border-left: 4px solid #d47c2f !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 14px rgba(2, 47, 35, .04) !important;
}

html body.ua1-converged.ua1-project .ua1-professional-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 27px !important;
  padding: 4px 9px !important;
  color: #6d430e !important;
  background: #f8e3ad !important;
  border: 1px solid #e0bd63 !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

html body.ua1-converged.ua1-project .ua1-professional-context b {
  display: block !important;
  margin: 0 0 3px !important;
  color: #07533d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

html body.ua1-converged.ua1-project .ua1-professional-context p {
  margin: 0 !important;
  color: #526960 !important;
  font-size: 12px !important;
  line-height: 1.48 !important;
}

html body.ua1-converged.ua1-project.section-quiz-view .ua1-professional-context {
  display: none !important;
}

@media (max-width: 700px) {
  html body.ua1-converged.ua1-project .ua1-professional-context {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 11px 12px !important;
  }

  html body.ua1-converged.ua1-project .ua1-professional-tag {
    width: max-content !important;
  }
}

/* ── V3.0 : grille de mission stable sur écrans larges et ultra-larges ── */
html body.ua1-converged.ua1-project #viewEtape .e-head {
  width: min(100%, 1820px) !important;
  max-width: 1820px !important;
  margin-inline: auto !important;
}

html body.ua1-converged.ua1-project .obj-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

html body.ua1-converged.ua1-project .obj-row .ocard {
  width: 100% !important;
  border-width: 1px !important;
  outline: 0 !important;
}

html body.ua1-converged.ua1-project .ua1-professional-context {
  width: 100% !important;
}

html body.ua1-converged.ua1-project .ua1-professional-context p {
  max-width: 112ch !important;
}

html body.ua1-converged.ua1-project .ua1-completion-row {
  justify-content: space-between !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid #e1ebe5 !important;
}

html body.ua1-converged.ua1-project .mode-row {
  position: relative !important;
  z-index: 30 !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, .85fr) minmax(0, .85fr) !important;
  width: 100% !important;
  pointer-events: auto !important;
}

html body.ua1-converged.ua1-project .ua1-mode-guide {
  display: grid !important;
  grid-template-columns: minmax(0, 2.3fr) minmax(0, 1.7fr) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 10px 0 -3px !important;
  color: #6b7e76 !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
}

html body.ua1-converged.ua1-project .ua1-mode-guide span {
  display: flex !important;
  align-items: baseline !important;
  gap: 7px !important;
  padding-left: 3px !important;
  border-bottom: 1px solid #dce8e2 !important;
}

html body.ua1-converged.ua1-project .ua1-mode-guide {
  pointer-events: none !important;
}

html body.ua1-converged.ua1-project #viewEtape .e-head,
html body.ua1-converged.ua1-project .mode-row .mode-btn {
  position: relative !important;
  pointer-events: auto !important;
}

html body.ua1-converged.ua1-project .ua1-mode-guide b {
  color: #07533d !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body.ua1-converged.ua1-project .mode-row #mPlan {
  margin-left: 7px !important;
}

/* ONGLETS-25-08 : plus de pastille « APPUI » sur Plans et Capsules — le
   sur-titre « Ressources d'appui » le dit deja, une fois suffit. */
html body.ua1-converged.ua1-project .mode-row #mPlan::before,
html body.ua1-converged.ua1-project .mode-row #mVideo::before {
  display: none !important;
  content: none !important;
}

@media (min-width: 701px) {
  html body.ua1-converged.ua1-project .mode-row #mInstr { grid-column: 1 !important; }
  html body.ua1-converged.ua1-project .mode-row #mSim { grid-column: 2 !important; }
  html body.ua1-converged.ua1-project .mode-row #mPlan { grid-column: 3 !important; }
  html body.ua1-converged.ua1-project .mode-row #mVideo { grid-column: 4 !important; }
}

@media (max-width: 700px) {
  html body.ua1-converged.ua1-project #viewEtape .e-head {
    width: 100% !important;
    max-width: none !important;
  }

  html body.ua1-converged.ua1-project .obj-row {
    grid-template-columns: 1fr !important;
  }

  html body.ua1-converged.ua1-project .mode-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.ua1-converged.ua1-project .ua1-mode-guide {
    display: none !important;
  }

  html body.ua1-converged.ua1-project .mode-row #mPlan {
    margin-left: 0 !important;
  }

  html body.ua1-converged.ua1-project .ua1-completion-row {
    gap: 8px !important;
  }
}

/* La règle finale garde les deux visuels sur une seule rangée après les
   ajustements V3.1. */
@media (min-width: 1000px) {
  html body.ua1-converged.ua1-project #viewProjet .pj2up.v20-compare {
    grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr) !important;
  }
}

/* ── V3.3 : accueil allégé, bâtiment détouré et conseil flottant ── */
html body.ua1-converged.ua1-project #viewProjet .studio-hero {
  display: none !important;
}

html body.ua1-converged.ua1-project #viewProjet .studio-stats {
  display: none !important;
}

html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-professional {
  width: 100% !important;
  max-width: none !important;
  margin: 16px 0 18px !important;
  padding: 17px 22px 58px 22px !important;
}

html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-professional .np-head {
  display: grid !important;
  grid-template-columns: minmax(118px, 15%) minmax(0, 1fr) !important;
  gap: 18px !important;
  min-height: 104px !important;
  margin-bottom: 11px !important;
  padding-bottom: 11px !important;
  cursor: default !important;
  pointer-events: none !important;
}

html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-professional .np-head::after {
  display: none !important;
  content: none !important;
}

html body.ua1-converged.ua1-project #viewProjet .ua1-bim-note-visual,
html body.ua1-converged.ua1-project #viewProjet .np-head img.ua1-bim-note-visual,
html body.ua1-converged.ua1-project #viewProjet .np-head img.ua1-bim-note-visual[style] {
  display: block !important;
  width: 100% !important;
  height: 104px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.ua1-converged.ua1-project .conseil-foot.ua1-advice-dock,
html body.ua1-converged.ua1-project[data-theme="blanc"] .conseil-foot.ua1-advice-dock,
html body.ua1-converged.ua1-project[data-theme="sombre"] .conseil-foot.ua1-advice-dock {
  position: fixed !important;
  z-index: 230 !important;
  right: 22px !important;
  bottom: 76px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  width: min(390px, calc(100vw - 32px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-mission-advice {
  position: relative !important;
  display: none !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 96px !important;
  margin: 0 0 10px !important;
  padding: 12px 42px 12px 14px !important;
  background: linear-gradient(145deg, #fffdf8, #fff7ea) !important;
  border: 1px solid #e1c98e !important;
  border-left: 5px solid #d87c5f !important;
  border-radius: 18px 18px 8px 18px !important;
  box-shadow: 0 18px 42px rgba(9, 32, 22, .2) !important;
  pointer-events: auto !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock.open .ua1-mission-advice {
  display: grid !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-bim-advice-visual,
html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-bim-advice-visual[style] {
  display: block !important;
  width: 76px !important;
  height: 68px !important;
  min-width: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-professor-advice-portrait,
html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-professor-advice-portrait[style] {
  display: block !important;
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  justify-self: center !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #fff !important;
  border: 3px solid #f4c95d !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 3px #fff, 0 5px 14px rgba(67, 42, 32, .18) !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-mission-advice small {
  color: #a84f3b !important;
  font-family: Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-mission-advice small::before {
  display: none !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-mission-advice p {
  color: #41362c !important;
  font-size: 13px !important;
  line-height: 1.52 !important;
}

html body.ua1-converged.ua1-project .ua1-advice-close {
  position: absolute !important;
  top: 8px !important;
  right: 9px !important;
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  color: #7c6658 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  font-size: 21px !important;
  cursor: pointer !important;
}

html body.ua1-converged.ua1-project .ua1-advice-trigger {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 120px !important;
  height: 50px !important;
  padding: 5px 7px 5px 15px !important;
  color: #fff !important;
  background: #064b36 !important;
  border: 2px solid #f4c95d !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(9, 32, 22, .2) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

html body.ua1-converged.ua1-project .ua1-advice-trigger img {
  width: 46px !important;
  height: 38px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.ua1-converged.ua1-project .ua1-advice-trigger img {
  width: 39px !important;
  height: 39px !important;
  object-fit: cover !important;
  background: #fff !important;
  border: 2px solid #f4c95d !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock.open .ua1-advice-trigger {
  min-width: 50px !important;
  width: 50px !important;
  padding: 4px !important;
}

html body.ua1-converged.ua1-project .ua1-advice-dock.open .ua1-advice-trigger span {
  display: none !important;
}

/* Une seule photo à la fois, comme dans l'Atelier de la séance 1. */
html body.ua1-converged.ua1-project .ua1-advice-dock.open .ua1-advice-trigger {
  display: none !important;
}

html body.ua1-converged.ua1-project[data-theme="sombre"] .ua1-advice-dock .ua1-mission-advice {
  background: linear-gradient(145deg, #14253a, #1d2a3d) !important;
  border-color: #4f5e74 !important;
  border-left-color: #d3765d !important;
}

html body.ua1-converged.ua1-project[data-theme="sombre"] .ua1-advice-dock .ua1-mission-advice p {
  color: #e1e8ef !important;
}

@media (max-width: 700px) {
  html body.ua1-converged.ua1-project #viewProjet .noteprof.ua1-note-professional .np-head {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    min-height: 82px !important;
  }

  html body.ua1-converged.ua1-project #viewProjet .ua1-bim-note-visual,
  html body.ua1-converged.ua1-project #viewProjet .np-head img.ua1-bim-note-visual[style] {
    height: 82px !important;
  }

  html body.ua1-converged.ua1-project .conseil-foot.ua1-advice-dock {
    right: 10px !important;
    bottom: 68px !important;
    width: min(340px, calc(100vw - 20px)) !important;
  }

  html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-mission-advice {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    padding: 11px 38px 11px 11px !important;
  }

  html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-bim-advice-visual,
  html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-bim-advice-visual[style] {
    width: 58px !important;
    height: 54px !important;
  }

  html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-professor-advice-portrait,
  html body.ua1-converged.ua1-project .ua1-advice-dock .ua1-professor-advice-portrait[style] {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }
}

@media print {
  html body.ua1-converged.ua1-project .conseil-foot.ua1-advice-dock {
    display: none !important;
  }
}

/* ── V2.8 : navigation latérale commune, sélection sauge ───────────────
   Le doré reste un repère fin. Il ne sert plus de grand fond sélectionné. */
html body.ua1-converged .side {
  background:
    radial-gradient(circle at 108% -5%, rgba(68, 145, 108, .30), transparent 230px),
    linear-gradient(180deg, #053d2f 0%, #043428 100%) !important;
  border-right-color: rgba(199, 224, 212, .24) !important;
}

html body.ua1-converged .side .course-bridge a:hover,
html body.ua1-converged .side .course-bridge a:focus-visible {
  color: #063b2d !important;
  background: #e4f1eb !important;
  border-color: #9fc8b6 !important;
}

html body.ua1-converged.ua1-project .side .cat,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp {
  background: rgba(255, 255, 255, .055) !important;
  border-color: rgba(207, 230, 219, .16) !important;
  box-shadow: inset 1px 0 0 rgba(246, 198, 78, .48) !important;
}

html body.ua1-converged.ua1-project .side .cat:hover,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp:hover {
  background: rgba(255, 255, 255, .09) !important;
  border-color: rgba(207, 230, 219, .27) !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded,
html body.ua1-converged .side :where(.nav-d.on, .nav-e.on, .nav-plans.on) {
  color: #063b2d !important;
  background: linear-gradient(135deg, #d7ebe1 0%, #eef6f2 100%) !important;
  border-color: #93bfa9 !important;
  box-shadow: inset 3px 0 0 #f6c64e, 0 7px 18px rgba(1, 31, 23, .18) !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-copy small,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on .step-copy small.etp-sur,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded .step-copy small.etp-sur {
  color: #17694f !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-copy b,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on .step-copy b,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded .step-copy b,
html body.ua1-converged .side :where(.nav-d.on, .nav-e.on, .nav-plans.on) :where(b, span, small) {
  color: #063b2d !important;
}

html body.ua1-converged.ua1-project .side .cat.ua1-phase-current .ua1-phase-count,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on .v5-stage-count,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded .v5-stage-count {
  color: #07513d !important;
  background: rgba(7, 81, 61, .08) !important;
  border-color: rgba(7, 81, 61, .24) !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur,
html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section.on,
html body.ua1-converged.ua1-project .side .ua1-project-tools .nav-plans.on {
  color: #063b2d !important;
  background: linear-gradient(135deg, #d7ebe1 0%, #eef6f2 100%) !important;
  border-color: #93bfa9 !important;
  box-shadow: inset 3px 0 0 #f6c64e !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on > .n + span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > span,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > span,
html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section.on :where(.section-quiz-label b, .section-quiz-label small, .section-quiz-status) {
  color: #063b2d !important;
}

html body.ua1-converged.ua1-project .side .nav-e.ua1-project-mission.on .n,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.v5-current > i,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-acts .na.cur > i,
html body.ua1-converged.ua1-project .side .nav-e.nav-quiz-section.on .n,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.on > .n,
html body.ua1-converged.ua1-atelier.v5-ready .side .nav-d.etp.v5-expanded > .n {
  color: #f6c64e !important;
  background: #07513d !important;
  border-color: #07513d !important;
}

/* ═══ FLUX-25-08 — Simulation s'ouvre ailleurs : la fleche le dit ═══ */
/* FIABLE-25-08 : la simulation s'ouvre dans la page — plus de fleche d'envoi. */
html body.ua1-converged.ua1-project .mode-row #mSim::after {
  content: none !important;
  display: none !important;
}
