/* ============================================================
   rs1/gnv-split — section texte | image des pages solution
   Suréligne, coches, lien : mp-tokens.css
   Grille : 1 colonne (texte puis image) → 2 colonnes dès 961px
   ============================================================ */

.mp-gnvs{
  padding-block: var(--mp-section-sm);
  background: var(--mp-blanc);
  color: var(--mp-texte);
}
.mp-gnvs--sombre{
  background: var(--mp-bleu-fonce);
  color: var(--mp-texte-sombre);
}

.mp-gnvs__grille{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.mp-gnvs__contenu > :last-child{ margin-bottom: 0 }

/* ── Titres ───────────────────────────────────────────────── */
.mp-gnvs__titre{
  margin: 0 0 .75rem;
  font-size: var(--mp-t-h2);
  font-weight: 800;
  color: var(--mp-encre);
}
.mp-sombre .mp-gnvs__titre{ color: var(--mp-blanc) }

.mp-gnvs__sous-titre{
  margin: 0 0 1rem;
  font-size: var(--mp-t-h3);
  font-weight: 700;
  color: var(--mp-bleu);
}
.mp-sombre .mp-gnvs__sous-titre{ color: var(--mp-bleu-voile) }

/* ── Texte ────────────────────────────────────────────────── */
.mp-gnvs__texte{
  margin: 0 0 1rem;
  font-size: var(--mp-t-base);
  line-height: var(--mp-lh-texte);
}
.mp-gnvs__lead{
  margin: 0 0 1rem;
  font-size: var(--mp-t-lg);
  line-height: var(--mp-lh-texte);
}

/* ── Liste de points (.mp-check) ──────────────────────────── */
.mp-gnvs__liste{
  display: grid;
  gap: .8rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  font-size: var(--mp-t-base);
  line-height: 1.5;
}
.mp-gnvs__liste li{ margin: 0 }
.mp-gnvs__liste .mp-check svg{ margin-top: .1rem }

.mp-gnvs__coche{ color: var(--mp-turquoise) }
.mp-gnvs__coche circle{ fill: var(--mp-turquoise-voile) }
.mp-sombre .mp-gnvs__coche{ color: var(--mp-turquoise-vif) }
.mp-sombre .mp-gnvs__coche circle{ fill: var(--mp-voile-sombre) }

/* ── Accordéon « Voir le détail » ─────────────────────────── */
.mp-gnvs__plus{ margin-top: 1.25rem }
.mp-gnvs__plus-label{
  padding-block: .4rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.mp-gnvs__plus-label::-webkit-details-marker{ display: none }
.mp-gnvs__plus-label::marker{ content: "" }
.mp-sombre .mp-gnvs__plus-label{ color: var(--mp-turquoise-vif) }
.mp-sombre .mp-gnvs__plus-label:hover{ color: var(--mp-blanc) }

/* Chevron : bascule sans animation (pas de glissement au survol) */
.mp-gnvs__plus-label .mp-gnvs__chevron{ transition: none }
.mp-gnvs__plus-label:hover .mp-gnvs__chevron{ transform: none }
.mp-gnvs__plus[open] .mp-gnvs__chevron{ transform: rotate(180deg) }

.mp-gnvs__liste--plus{ margin-top: .75rem }

/* ── Image ────────────────────────────────────────────────── */
.mp-gnvs__media{ min-width: 0 }
.mp-gnvs__img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--mp-r);
  box-shadow: var(--mp-sh-1);
}

@media (min-width: 961px){
  .mp-gnvs__grille{ grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .mp-gnvs--image-avant .mp-gnvs__media{ order: -1 }

  .mp-gnvs--sans-image .mp-gnvs__grille{
    grid-template-columns: minmax(0, 1fr);
    max-width: 52rem;
  }
}

/* ── Bouton et section masquée (refonte IRVE) ─────────────── */
.mp-gnvs__action{ margin: 1.75rem 0 0 }
.mp-gnvs__masque{
  margin: 0 0 1rem;
  padding: .6rem .9rem;
  border: 1px dashed var(--mp-trait);
  border-radius: var(--mp-r-sm);
  background: var(--mp-blanc);
  font-size: var(--mp-t-xs);
  color: var(--mp-gris);
}

/* ── Présentation « manifeste » (raison d'être, mission) ─────
   Accroche h2 centrée soulignée du trait turquoise partagé
   (.mp-titre-centre), texte en grand corps, respiration de section. */
.mp-gnvs--manifeste{ padding-block: var(--mp-section) }
.mp-gnvs--manifeste .mp-gnvs__grille{
  grid-template-columns: minmax(0, 1fr);
  max-width: 54rem;
  text-align: center;
}
.mp-gnvs--manifeste .mp-gnvs__titre{
  margin-bottom: 0;
  font-size: var(--mp-t-h2);
  text-wrap: balance;
}
.mp-gnvs--manifeste .mp-titre-centre h2::after{ margin-bottom: 1.75rem }
.mp-gnvs--manifeste .mp-gnvs__texte{
  max-width: 62ch;
  margin-inline: auto;
  font-size: var(--mp-t-lg);
  line-height: var(--mp-lh-texte);
  color: var(--mp-texte);
}
