/*
 * LMPLW Core V1.0
 * Permanent production CSS.
 *
 * Sources consolidated:
 * - validated Page Header Conception V0.3 -> V0.3.4
 * - validated composition Conception V0.4.2 + V0.4.3
 *
 * Existing persistent layers intentionally NOT duplicated:
 * - LMPLW Pattern library in WordPress Additional CSS
 * - Gutenberg patterns stored as wp_block posts
 * - Blocksy/global theme settings
 */

/* ==========================================================
   PAGE 12 — CONCEPTION — VALIDATED PILOT
   ========================================================== */

body.page-id-12 main.site-main > .ct-container-full[data-vertical-spacing*="top"] {
  padding-top: 0 !important;
}

body.page-id-12 main.site-main > .ct-container-full[data-vertical-spacing*="bottom"] {
  padding-bottom: 0 !important;
}

/* ---------- Page Header ---------- */

body.page-id-12
.entry-content.is-layout-constrained
> .lmplw-page-header--v031.alignfull {
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;

  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding-top: 26px !important;
  padding-bottom: 48px !important;
  padding-left: max(52px, calc((100vw - 1180px) / 2 + 52px)) !important;
  padding-right: max(24px, calc((100vw - 1180px) / 2 + 24px)) !important;

  background: transparent !important;
  border: 0 !important;
}

body.page-id-12 .lmplw-page-header--v031::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  /* Important: neutralise les propriétés héritées du plugin V0.3
     (width:100vw + transform:translateX(-50%)) qui décalent le fond
     d'une demi-largeur d'écran quand LMPLW Core reprend la main. */
  width: auto !important;
  transform: none !important;

  background: #F4F6F5;
  border-bottom: 1px solid rgba(18, 63, 58, .10);
}

body.page-id-12 .lmplw-page-header--v031::after {
  content: "";
  position: absolute;
  top: 26px !important;
  bottom: 48px !important;
  left: max(24px, calc((100vw - 1180px) / 2 + 24px)) !important;
  width: 3px;
  background: #BD6B51;
}

body.page-id-12 .lmplw-page-header--v031 h1 {
  width: 100% !important;
  max-width: 940px !important;
  color: #123F3A !important;
  font-size: clamp(2.45rem, 3.8vw, 3.55rem) !important;
  line-height: 1.045 !important;
  letter-spacing: -0.032em !important;
  margin-bottom: 22px !important;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-reading,
body.page-id-12 .lmplw-page-header--v031 .lmplw-intro {
  width: 100% !important;
  max-width: 820px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-eyebrow {
  color: #8C4A26 !important;
  margin-bottom: 14px !important;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb {
  width: 100% !important;
  max-width: 940px !important;
  margin: 0 0 20px !important;
  font-size: .8125rem !important;
  line-height: 1.45 !important;
  color: #244A45 !important;
  opacity: .78;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb li {
  margin: 0;
  padding: 0;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb li:not(:last-child)::after {
  content: "/";
  margin-left: .42rem;
  color: #BD6B51;
  opacity: .9;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb a:hover {
  color: #123F3A;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb a:focus-visible {
  outline: 3px solid rgba(189,107,81,.35);
  outline-offset: 3px;
}

body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb [aria-current="page"] {
  font-weight: 600;
}

/* ---------- Page units / rhythm ---------- */

body.page-id-12 .entry-content > .lmplw-pattern {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* U2 / U3 / U4 = sister sections */
body.page-id-12 .entry-content > .lmplw-pattern:nth-child(2),
body.page-id-12 .entry-content > .lmplw-pattern:nth-child(3),
body.page-id-12 .entry-content > .lmplw-pattern:nth-child(4) {
  position: relative !important;
  padding-top: 62px !important;
  padding-bottom: 62px !important;
  background: #FFFFFF !important;
}

/* Reading-column alignment rule:
 * all text blocks using the same 760px reading measure share the same left edge
 * inside the 1180px composition. Width differences may create different axes;
 * equal-width blocks should not.
 *
 * The Page Header has no .lmplw-container wrapper and is handled separately.
 */
body.page-id-12
.entry-content > .lmplw-pattern
.lmplw-container > .lmplw-reading {
  width: 100% !important;
  max-width: 880px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* full-width weak separators between sister sections */
body.page-id-12 .entry-content > .lmplw-pattern:nth-child(3)::before,
body.page-id-12 .entry-content > .lmplw-pattern:nth-child(4)::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: rgba(18, 63, 58, .14) !important;
}

/* Périmètre remains an anchored section, never a floating card */
body.page-id-12 .entry-content > .lmplw-pattern:nth-child(3) .lmplw-accent-box {
  background: transparent !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* strong functional rupture: deliverable */
body.page-id-12 .entry-content > .lmplw-document-stage {
  margin-block: 0 !important;
}

/* return to clear surface: Avant / Après */
body.page-id-12 .entry-content > .lmplw-pattern:nth-child(6) {
  padding-top: 72px !important;
  padding-bottom: 64px !important;
  background: #FFFFFF !important;
}

/* strong functional rupture: CTA */
body.page-id-12 .entry-content > .lmplw-cta-band {
  margin-block: 0 !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1180px) {
  body.page-id-12
  .entry-content.is-layout-constrained
  > .lmplw-page-header--v031.alignfull {
    padding-left: 52px !important;
    padding-right: 24px !important;
  }

  body.page-id-12 .lmplw-page-header--v031::after {
    left: 24px !important;
  }
}

@media (max-width: 781px) {
  body.page-id-12
  .entry-content.is-layout-constrained
  > .lmplw-page-header--v031.alignfull {
    padding-top: 24px !important;
    padding-bottom: 42px !important;
    padding-left: 44px !important;
    padding-right: 20px !important;
    margin-bottom: 0 !important;
  }

  body.page-id-12 .lmplw-page-header--v031::after {
    top: 24px !important;
    bottom: 42px !important;
    left: 20px !important;
  }

  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(2),
  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(3),
  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(4) {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(6) {
    padding-top: 56px !important;
    padding-bottom: 52px !important;
  }
}

@media (max-width: 600px) {
  body.page-id-12
  .entry-content.is-layout-constrained
  > .lmplw-page-header--v031.alignfull {
    padding-top: 22px !important;
    padding-bottom: 36px !important;
    padding-left: 40px !important;
    padding-right: 16px !important;
    margin-bottom: 0 !important;
  }

  body.page-id-12 .lmplw-page-header--v031::after {
    top: 22px !important;
    bottom: 36px !important;
    left: 16px !important;
    width: 2px;
  }

  body.page-id-12 .lmplw-page-header--v031 h1 {
    max-width: none !important;
    font-size: clamp(2.1rem, 9vw, 2.8rem) !important;
    line-height: 1.08 !important;
  }

  body.page-id-12 .lmplw-page-header--v031 .lmplw-breadcrumb {
    font-size: .76rem !important;
  }

  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(2),
  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(3),
  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(4) {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  body.page-id-12 .entry-content > .lmplw-pattern:nth-child(6) {
    padding-top: 48px !important;
    padding-bottom: 46px !important;
  }
}


/* =========================================================
   LMPLW Core 1.1.0 — système mutualisé 7 pages cœur
   ========================================================= */

:root {
  --lmplw-green: #123F3A;
  --lmplw-green-2: #244A45;
  --lmplw-dark: #172624;
  --lmplw-sage: #D9E1DF;
  --lmplw-sage-light: #F4F6F5;
  --lmplw-paper: #FAFBFA;
  --lmplw-terra: #BD6B51;
  --lmplw-terra-dark: #8C4A26;
  --lmplw-line: rgba(18,63,58,.14);
  --lmplw-max: 1180px;
  --lmplw-reading: 880px;
  --lmplw-pad: 24px;
  --lmplw-vspace: 64px;
}

body.page-id-10 main.site-main > .ct-container-full[data-vertical-spacing*="top"],
body.page-id-11 main.site-main > .ct-container-full[data-vertical-spacing*="top"],
body.page-id-13 main.site-main > .ct-container-full[data-vertical-spacing*="top"],
body.page-id-14 main.site-main > .ct-container-full[data-vertical-spacing*="top"],
body.page-id-17 main.site-main > .ct-container-full[data-vertical-spacing*="top"],
body.page-id-18 main.site-main > .ct-container-full[data-vertical-spacing*="top"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.lmplw-page-header,
.lmplw-section,
.lmplw-cta-band {
  margin-block: 0 !important;
}

.lmplw-page-header > .wp-block-group__inner-container,
.lmplw-section > .wp-block-group__inner-container,
.lmplw-cta-band > .wp-block-group__inner-container,
.lmplw-page-header,
.lmplw-section,
.lmplw-cta-band {
  box-sizing: border-box;
}

.lmplw-page-header {
  position: relative;
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 62px max(var(--lmplw-pad), calc((100vw - var(--lmplw-max))/2 + var(--lmplw-pad))) !important;
  background: var(--lmplw-sage-light);
  border-bottom: 1px solid rgba(18,63,58,.10);
}

.lmplw-breadcrumb {
  margin: 0 0 28px !important;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(18,63,58,.62);
}

.lmplw-page-header h1 {
  max-width: 980px;
  margin: 0 0 20px !important;
}

.lmplw-lead {
  max-width: var(--lmplw-reading);
  margin: 0 0 18px !important;
  font-size: clamp(20px,2.2vw,28px);
  line-height: 1.32;
  font-weight: 650;
  color: var(--lmplw-green-2);
}

.lmplw-intro {
  max-width: var(--lmplw-reading);
  margin: 0 !important;
}

.lmplw-section {
  padding: var(--lmplw-vspace) max(var(--lmplw-pad), calc((100vw - var(--lmplw-max))/2 + var(--lmplw-pad))) !important;
  border-bottom: 1px solid var(--lmplw-line);
  background: #fff;
}

.lmplw-section--reading .lmplw-reading {
  width: 100%;
  max-width: var(--lmplw-reading) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.lmplw-eyebrow {
  margin: 0 0 14px !important;
  color: var(--lmplw-terra);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.lmplw-section h2 {
  max-width: 900px;
  margin-top: 0 !important;
}

.lmplw-grid {
  display: grid !important;
  gap: 0 !important;
  border-top: 1px solid var(--lmplw-line);
  border-left: 1px solid var(--lmplw-line);
}

.lmplw-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.lmplw-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }

.lmplw-grid__cell {
  margin: 0 !important;
  padding: 28px !important;
  min-height: 150px;
  border-right: 1px solid var(--lmplw-line);
  border-bottom: 1px solid var(--lmplw-line);
  background: transparent;
}

.lmplw-grid__cell h3 {
  margin-top: 0 !important;
  color: var(--lmplw-green);
}

.lmplw-steps,
.lmplw-loop {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0 !important;
  border-top: 1px solid var(--lmplw-line);
  border-bottom: 1px solid var(--lmplw-line);
}

.lmplw-loop { grid-template-columns: repeat(6,minmax(0,1fr)); }

.lmplw-step {
  margin: 0 !important;
  padding: 22px 18px !important;
  border-right: 1px solid var(--lmplw-line);
  font-weight: 750;
}
.lmplw-step:last-child {
  border-right: 0;
  background: var(--lmplw-terra);
  color: #fff;
}

.lmplw-section--signature {
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: var(--lmplw-sage-light);
}

.lmplw-section--signature > * {
  max-width: var(--lmplw-reading);
}

.lmplw-section--narrative {
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: var(--lmplw-terra);
  color: #fff;
}

.lmplw-section--narrative .lmplw-eyebrow,
.lmplw-section--narrative h2,
.lmplw-section--narrative p {
  color: #fff;
}

.lmplw-artifact {
  max-width: 980px;
  padding: 34px !important;
  border: 1px solid var(--lmplw-line);
  background: var(--lmplw-paper);
}

.lmplw-artifact__item {
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--lmplw-line);
}
.lmplw-artifact__item:last-child { border-bottom: 0; }

.lmplw-cta-band {
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 58px max(var(--lmplw-pad), calc((100vw - var(--lmplw-max))/2 + var(--lmplw-pad))) !important;
  background: var(--lmplw-dark);
  color: #fff;
}
.lmplw-cta-band .lmplw-eyebrow,
.lmplw-cta-band h2 { color: #fff; }

.lmplw-button .wp-block-button__link {
  background: var(--lmplw-terra) !important;
  color: #fff !important;
  border-radius: 2px !important;
  font-weight: 800;
}

@media (max-width: 980px) {
  :root { --lmplw-pad: 20px; --lmplw-vspace: 52px; }
  .lmplw-grid--3 { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
  :root { --lmplw-pad: 16px; --lmplw-vspace: 46px; }

  .lmplw-page-header {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  .lmplw-grid--2,
  .lmplw-grid--3,
  .lmplw-steps,
  .lmplw-loop {
    grid-template-columns: 1fr !important;
  }

  .lmplw-step {
    border-right: 0;
    border-bottom: 1px solid var(--lmplw-line);
  }

  .lmplw-grid__cell {
    min-height: 0;
  }
}


/* =========================================================
   LMPLW Core 1.1.1 — correctif runtime largeur desktop
   Observation QA 2026-09-14:
   les groupes Gutenberg "constrained" réappliquaient la largeur
   globale de contenu aux sections du batch, ce qui comprimait
   grilles, loops, artefacts et blocs de lecture.
   Home (10) et pilote Conception (12) volontairement exclus.
   ========================================================= */

:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.entry-content > .lmplw-section:not(.lmplw-section--signature):not(.lmplw-section--narrative) {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Neutraliser la contrainte "contentSize" Gutenberg à l'intérieur
   de nos sections : la section porte déjà sa propre composition 1180. */
:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-section > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  width: 100% !important;
  max-width: calc(var(--lmplw-max) - (2 * var(--lmplw-pad))) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Les blocs de lecture gardent leur mesure éditoriale mais partent
   du même fer gauche que la composition. */
:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-section--reading > .lmplw-reading {
  width: 100% !important;
  max-width: var(--lmplw-reading) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Les géométries fonctionnelles doivent occuper la largeur disponible. */
:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
:is(.lmplw-grid, .lmplw-steps, .lmplw-loop, .lmplw-artifact) {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Eviter les césures artificielles qui apparaissaient dans la boucle TLP
   quand elle héritait d'une colonne beaucoup trop étroite. */
body.page-id-13 .lmplw-loop .lmplw-step,
body.page-id-13 .lmplw-loop .lmplw-step p {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* Au besoin, 6 étapes restent sur une ligne seulement lorsque la place
   existe réellement. */
@media (min-width: 768px) and (max-width: 1050px) {
  body.page-id-13 .lmplw-loop {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.page-id-13 .lmplw-loop .lmplw-step:nth-child(3n) {
    border-right: 0;
  }
}


/* =========================================================
   LMPLW Core 1.1.2 — finition QA desktop batch
   ========================================================= */

/* Le design validé n'utilise pas de cartes arrondies. */
:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
:is(.lmplw-grid__cell, .lmplw-artifact) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Neutraliser les marges Gutenberg internes qui étiraient
   artificiellement les objets de décision. */
:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-artifact__item {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 0 !important;
}

:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-artifact__item > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-artifact__item > * + * {
  margin-top: 8px !important;
}

:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-grid__cell > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-grid__cell > * + * {
  margin-top: 10px !important;
}

/* Réduire l'impression de "boîtes" trop hautes tout en gardant
   une cible confortable. */
:is(body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-grid__cell {
  min-height: 0 !important;
  padding: 26px !important;
}

/* Les artefacts de sortie utilisent toute la largeur utile sans
   devenir des pavés trop massifs. */
body.page-id-11 .lmplw-artifact,
body.page-id-14 .lmplw-artifact {
  max-width: 980px !important;
}

/* Boucle TLP : alignement vertical plus net. */
body.page-id-13 .lmplw-loop .lmplw-step {
  display: flex !important;
  align-items: center !important;
  min-height: 72px;
}
body.page-id-13 .lmplw-loop .lmplw-step p {
  margin: 0 !important;
}


/* =========================================================
   LMPLW Core 1.1.3 — QA Home + géométrie des bordures
   ========================================================= */

/* 1. Accueil : même correction de largeur que les autres pages du batch.
   La V1.1.1 l'avait exclu pour préserver l'ancien rendu, mais le batch
   Gutenberg a maintenant remplacé sa structure. */
body.page-id-10 .entry-content > .lmplw-section:not(.lmplw-section--signature):not(.lmplw-section--narrative) {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body.page-id-10 .lmplw-section > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  width: 100% !important;
  max-width: calc(var(--lmplw-max) - (2 * var(--lmplw-pad))) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.page-id-10 .lmplw-section--reading > .lmplw-reading {
  width: 100% !important;
  max-width: var(--lmplw-reading) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.page-id-10 :is(.lmplw-grid, .lmplw-steps, .lmplw-loop, .lmplw-artifact) {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* 2. Bordures des modules encadrés :
   une seule trame de 1px portée par le conteneur, jamais une bordure
   extérieure + des bordures de cellules qui se superposent. */
:is(body.page-id-10, body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-grid {
  border: 0 !important;
  padding: 1px !important;
  gap: 1px !important;
  background: var(--lmplw-line) !important;
}

:is(body.page-id-10, body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
.lmplw-grid__cell {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

/* Même principe sur les séquences : supprime la ligne horizontale
   supplémentaire et les doubles bordures. */
:is(body.page-id-10, body.page-id-13)
:is(.lmplw-steps, .lmplw-loop) {
  border: 0 !important;
  padding: 1px !important;
  gap: 1px !important;
  background: var(--lmplw-line) !important;
}

:is(body.page-id-10, body.page-id-13)
:is(.lmplw-steps, .lmplw-loop) .lmplw-step {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.page-id-10 .lmplw-steps .lmplw-step:last-child,
body.page-id-13 .lmplw-loop .lmplw-step:last-child {
  background: var(--lmplw-terra) !important;
  color: #fff !important;
}

/* 3. Pilote Conception : le trait inférieur visible venait de la bordure
   du conteneur .lmplw-method et du fait que les étapes ne prenaient pas
   toute la hauteur de leur colonne. */
body.page-id-12 .lmplw-method {
  border: 0 !important;
  align-items: stretch !important;
}

body.page-id-12 .lmplw-method > .wp-block-column {
  display: flex !important;
  align-self: stretch !important;
}

body.page-id-12 .lmplw-method > .wp-block-column > .lmplw-step {
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Ne laisser que les séparateurs verticaux internes. */
body.page-id-12 .lmplw-method > .wp-block-column .lmplw-step {
  border-bottom: 0 !important;
}

/* Mobile : pas de faux cadre latéral après empilement. */
@media (max-width: 767px) {
  :is(body.page-id-10, body.page-id-11, body.page-id-13, body.page-id-14, body.page-id-17, body.page-id-18)
  .lmplw-grid {
    grid-template-columns: 1fr !important;
  }
}
