/*
Theme Name: Saint Clément mon village FSE
Template: twentytwentyfive
Author: Kimi pour Saint Clément mon village
Description: Thème enfant full FSE de Twenty Twenty-Five pour la refonte de saint-clement-mon-village. Design : maquette/maquette-accueil-reference.png. Préfixe historique : scmva.
Version: 0.17.5
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: scmva-fse
*/

/* ============================================================
   TOKENS SCMVA (source : style.css du thème saint-clement-a)
   Définis sur :root => valables front ET éditeur (règle 31).
   ============================================================ */
:root {
  --scmva-blue-900: #14365f;
  --scmva-blue-700: #255493;
  --scmva-blue-500: #3f76bb;
  --scmva-green-700: #6d9224;
  --scmva-green-500: #97bf3f;
  --scmva-green-300: #d7ebaa;
  --scmva-ink: #17212c;
  --scmva-ink-soft: #566273;
  --scmva-paper: #f6f8fb;
  --scmva-band: #f5f9fe; /* bande bleu clair des sections (maquette : RGB 245,249,254) */
  --scmva-white: #ffffff;
  --scmva-line: rgba(20, 54, 95, 0.1);
  --scmva-shadow-lg: 0 28px 70px rgba(20, 54, 95, 0.12);
  --scmva-shadow-md: 0 18px 40px rgba(20, 54, 95, 0.1);
  --scmva-shadow-sm: 0 12px 26px rgba(20, 54, 95, 0.08);
  --scmva-radius-lg: 12px;
  --scmva-radius-md: 8px;
  --scmva-radius-sm: 4px;
  --scmva-content: 760px;
  --scmva-wide: 1240px;
}

/* base +1 pt (16 px → 17 px) : tous les rem du site grossissent
   proportionnellement, pas de disparité entre éléments */
html {
  font-size: 106.25%;
}

/* Les styles des composants FSE (classes .scmva-fse-*) seront ajoutés
   lot par lot, avec double écriture front + .editor-styles-wrapper
   (règle 28) et bump de Version à chaque changement CSS. */

/* ============================================================
   LOT 2 — PARTS HEADER / FOOTER (maquette accueil de référence)
   Règles scopées .scmva-fse-* — inertes hors des parts FSE.
   Doublons éditeur en fin de bloc (règle 28, jamais nus).
   ============================================================ */

/* ---------- header (LOT 10 — maquette : barre pleine largeur fond
   blanc, logo couleur extrait de la maquette, nav sobre avec actif
   souligné vert, 2 CTA bleu #015090 / vert #88B12A mesurés) ---------- */
.scmva-fse-header {
  position: sticky;
  top: 0;
  z-index: 110;
  background: #fff;
  border-bottom: 0;
  margin-top: 0;
  padding: 0;
}

body.admin-bar .scmva-fse-header {
  top: 32px;
}

.scmva-fse-header-bar {
  padding: 0;
}

.scmva-fse-header-inner {
  min-height: 76px;
  gap: 1.5rem;
}

.scmva-fse-header-logo {
  margin: 0;
  flex-shrink: 0;
}
.scmva-fse-header-logo img {
  display: block;
  width: 168px;
  height: auto;
}

/* nav : distinction desktop/overlay par MEDIA QUERY (règle 31) */
@media (min-width: 601px) {
  .scmva-fse-nav .wp-block-navigation__container {
    gap: 1.6rem;
  }

  .scmva-fse-nav .wp-block-navigation-item__content {
    padding: 0.3rem 0;
    color: var(--scmva-ink);
    font-size: 0.88rem;
    font-weight: 500;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
  }

  .scmva-fse-nav .wp-block-navigation-item__content:hover,
  .scmva-fse-nav .wp-block-navigation-item__content:focus {
    color: var(--scmva-blue-700);
  }

  /* lien actif : souligné vert (maquette). Les navigation-link en URL
     libre ne reçoivent pas current-menu-item : on s'appuie sur les
     classes du body (home / page-id-*) et l'ordre des liens. */
  body.home .scmva-fse-nav .wp-block-navigation-item:nth-child(1) > .wp-block-navigation-item__content,
  body.page-id-26083 .scmva-fse-nav .wp-block-navigation-item:nth-child(2) > .wp-block-navigation-item__content,
  body.page-id-26584 .scmva-fse-nav .wp-block-navigation-item:nth-child(3) > .wp-block-navigation-item__content,
  body.blog .scmva-fse-nav .wp-block-navigation-item:nth-child(3) > .wp-block-navigation-item__content,
  body.single-post .scmva-fse-nav .wp-block-navigation-item:nth-child(3) > .wp-block-navigation-item__content,
  body.page-id-26092 .scmva-fse-nav .wp-block-navigation-item:nth-child(4) > .wp-block-navigation-item__content,
  body.page-id-26126 .scmva-fse-nav .wp-block-navigation-item:nth-child(5) > .wp-block-navigation-item__content {
    border-bottom-color: var(--scmva-green-500);
  }
}

/* groupe de boutons : ne jamais laisser flex les compresser (règle 31) */
.scmva-fse-header-actions {
  flex-shrink: 0;
}

.scmva-fse-header-actions .wp-block-button {
  flex-shrink: 0;
}

.scmva-fse-header-actions .wp-block-button__link {
  white-space: nowrap;
}

.scmva-fse-header-actions .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.7rem 1.35rem;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 700;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.scmva-fse-header-actions .wp-block-button__link:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(20, 54, 95, 0.12);
}

.scmva-fse-btn-nuit .wp-block-button__link {
  background: #015090;
  color: #fff;
}
.scmva-fse-btn-nuit .wp-block-button__link:hover {
  background: var(--scmva-blue-700);
}

.scmva-fse-btn-vert .wp-block-button__link {
  background: #88b12a;
  color: #fff;
}
.scmva-fse-btn-vert .wp-block-button__link:hover {
  background: var(--scmva-green-700);
}

/* ---------- footer (LOT 9 — maquette : bande pleine largeur bleu
   #015090 mesuré, 4 colonnes + barre basse, logo blanc extrait de la
   maquette en asset du thème) ---------- */
.scmva-fse-footer {
  background: #015090;
  margin-top: 0;
  padding: 0;
}

.scmva-fse-footer,
.scmva-fse-footer p,
.scmva-fse-footer li,
.scmva-fse-footer a,
.scmva-fse-footer h4 {
  color: rgba(255, 255, 255, 0.85);
}

.scmva-fse-footer-main {
  padding: 3.2rem 0 2.6rem;
}

.scmva-fse-footer-grid {
  gap: 2.5rem;
  margin: 0;
  align-items: flex-start;
}

.scmva-fse-footer-logo {
  margin: 0;
}
.scmva-fse-footer-logo img {
  display: block;
  width: 196px;
  height: auto;
}

.scmva-fse-footer-heading {
  margin: 0 0 0.9rem;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
}

.scmva-fse-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.scmva-fse-footer-list--cols {
  columns: 2;
  column-gap: 1.6rem;
}
.scmva-fse-footer-list li {
  margin: 0 0 0.55rem;
  break-inside: avoid;
}
.scmva-fse-footer-list a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.88rem;
  font-weight: 500;
  text-decoration: none;
}
.scmva-fse-footer-list a:hover,
.scmva-fse-footer-list a:focus {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.scmva-fse-footer-contact {
  margin: 0;
}
.scmva-fse-footer-contact a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.85rem;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.scmva-fse-footer-contact a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.scmva-fse-footer-social {
  margin: 1rem 0 0;
}
.scmva-fse-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: #fff;
  border-radius: 50%;
  color: #015090;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
}
.scmva-fse-footer-social a:hover {
  background: var(--scmva-green-300);
}

.scmva-fse-footer-asso {
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.88rem;
  line-height: 1.65;
}

/* barre basse */
.scmva-fse-footer-bottom {
  padding: 0 0 1.3rem;
}
.scmva-fse-footer-bottom-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  padding-top: 1.1rem;
}
.scmva-fse-footer-copy,
.scmva-fse-footer-legal {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.8rem;
}
.scmva-fse-footer-legal a {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.8rem;
  text-decoration: none;
}
.scmva-fse-footer-legal a + a {
  margin-left: 2rem;
}
.scmva-fse-footer-legal a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* jonctions de template : neutraliser le block gap core (leçon phase-49) */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part {
  margin-block-start: 0;
}

/* ---------- responsive ---------- */
/* Entre 600 et 980 px : forcer le burger (le wrap empilait la nav —
   leçon lot 5b). Sous 600 px, le core gère déjà l'overlay. */
@media (min-width: 600px) and (max-width: 980px) {
  .scmva-fse-nav .wp-block-navigation__responsive-container-open {
    display: flex;
  }
  .scmva-fse-nav .wp-block-navigation__responsive-container:not(.has-modal-open) {
    display: none;
  }
}

@media (max-width: 780px) {
  body.admin-bar .scmva-fse-header {
    top: 46px;
  }

  .scmva-fse-header-inner {
    min-height: 64px;
    gap: 0.8rem;
  }

  .scmva-fse-header-logo img {
    width: 132px;
  }

  .scmva-fse-footer-grid {
    flex-wrap: wrap !important;
  }

  .scmva-fse-footer-grid > .wp-block-column {
    flex-basis: 100% !important;
  }
}

/* ============================================================
   DOUBLONS ÉDITEUR (règle 28 — sélecteurs explicites, jamais nus)
   ============================================================ */
.editor-styles-wrapper .scmva-fse-header {
  position: relative; /* l'éditeur force le relatif : on l'assume en admin */
  background: #fff;
  border-bottom: 0;
}

.editor-styles-wrapper .scmva-fse-header-logo img {
  width: 168px;
  height: auto;
}

.editor-styles-wrapper .scmva-fse-nav .wp-block-navigation-item__content {
  color: var(--scmva-ink);
  font-size: 0.88rem;
  font-weight: 500;
}

.editor-styles-wrapper .scmva-fse-btn-nuit .wp-block-button__link {
  background: #015090;
  color: #fff;
}

.editor-styles-wrapper .scmva-fse-btn-vert .wp-block-button__link {
  background: #88b12a;
  color: #fff;
}

.editor-styles-wrapper .scmva-fse-footer {
  background: #015090;
}
.editor-styles-wrapper .scmva-fse-footer,
.editor-styles-wrapper .scmva-fse-footer p,
.editor-styles-wrapper .scmva-fse-footer li,
.editor-styles-wrapper .scmva-fse-footer a {
  color: rgba(255, 255, 255, 0.85);
}
.editor-styles-wrapper .scmva-fse-footer-heading {
  color: #fff;
}
.editor-styles-wrapper .scmva-fse-footer-logo img {
  width: 196px;
  height: auto;
}
.editor-styles-wrapper .scmva-fse-footer-social a {
  background: #fff;
  border-radius: 50%;
  color: #015090;
}
.editor-styles-wrapper .scmva-fse-footer-bottom-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

/* ============================================================
   LOT 3 — HERO HOME (maquette accueil de référence)
   Bande pleine largeur : cover + photo du Pic Saint-Loup,
   fondu blanc gauche → transparent, colonne texte à gauche.
   Doublons .editor-styles-wrapper en fin de bloc (règle 28).
   ============================================================ */

/* ---------- bande cover + fondu ---------- */
.scmva-fse-hero {
  margin-top: 0;
}

/* Supprime le gap natif entre header sticky et hero */
.scmva-fse-header + main.wp-block-group,
.scmva-fse-header + .wp-block-group {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Doublon éditeur (r.28) */
.editor-styles-wrapper .scmva-fse-header + main.wp-block-group,
.editor-styles-wrapper .scmva-fse-header + .wp-block-group {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.scmva-fse-hero .wp-block-cover__background {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1.0) 0%,
    rgba(255, 255, 255, 0.98) 35%,
    rgba(255, 255, 255, 0.90) 52%,
    rgba(255, 255, 255, 0.50) 70%,
    rgba(255, 255, 255, 0) 88%
  );
}
.scmva-fse-hero .wp-block-cover__inner-container {
  width: min(calc(100% - 2rem), var(--scmva-wide));
  margin-left: auto;
  margin-right: auto;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* ---------- colonne texte ---------- */
.scmva-fse-hero-copy {
  max-width: 560px;
  margin-left: 0;
  margin-right: auto;
}
.scmva-fse-hero-copy > * + * {
  margin-top: 1.1rem;
}

/* label surmonté */
.scmva-fse-section-label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--scmva-blue-700);
}

/* titre */
.scmva-fse-hero-title {
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-size: clamp(2.6rem, 5.2vw, 4.4rem);
  line-height: 1.04;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-hero-title .scmva-fse-hero-accent {
  color: var(--scmva-blue-700);
}
.scmva-fse-hero-title em {
  font-style: italic;
  font-weight: 600;
}

/* lead */
.scmva-fse-hero-lead {
  font-size: 1.12rem;
  line-height: 1.6;
  color: var(--scmva-ink-soft);
}

/* note à liseré vert */
.scmva-fse-hero-note {
  border-left: 4px solid var(--scmva-green-500);
  padding-left: 1rem;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--scmva-ink-soft);
}

/* ---------- boutons ---------- */
.scmva-fse-hero-actions {
  margin-top: 1.6rem;
  gap: 0.8rem;
  flex-wrap: wrap;
}
.scmva-fse-btn-bleu .wp-block-button__link {
  background: var(--scmva-blue-700);
  color: #fff;
  border-radius: var(--scmva-radius-md);
  padding: 0.85rem 1.6rem;
  font-weight: 600;
  box-shadow: var(--scmva-shadow-sm);
  transition: background 0.2s ease, transform 0.2s ease;
}
.scmva-fse-btn-bleu .wp-block-button__link:hover {
  background: var(--scmva-blue-900);
  color: #fff;
  transform: translateY(-1px);
}
.scmva-fse-btn-ghost .wp-block-button__link {
  background: rgba(255, 255, 255, 0.82);
  color: var(--scmva-blue-900);
  border: 1px solid var(--scmva-line);
  border-radius: var(--scmva-radius-md);
  padding: 0.85rem 1.6rem;
  font-weight: 600;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.scmva-fse-btn-ghost .wp-block-button__link:hover {
  background: #fff;
  border-color: var(--scmva-blue-500);
  color: var(--scmva-blue-900);
}

/* ---------- responsive ---------- */
@media (max-width: 780px) {
  .scmva-fse-hero .wp-block-cover__background {
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(255, 255, 255, 0.90) 65%,
      rgba(255, 255, 255, 0.60) 100%
    );
  }
  .scmva-fse-hero-copy {
    max-width: 100%;
  }
}

/* ---------- doublons éditeur (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-hero .wp-block-cover__background {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1.0) 0%,
    rgba(255, 255, 255, 0.98) 35%,
    rgba(255, 255, 255, 0.90) 52%,
    rgba(255, 255, 255, 0.50) 70%,
    rgba(255, 255, 255, 0) 88%
  );
}
.editor-styles-wrapper .scmva-fse-section-label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--scmva-blue-700);
}
.editor-styles-wrapper .scmva-fse-hero-title {
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-size: clamp(2.6rem, 5.2vw, 4.4rem);
  line-height: 1.04;
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-hero-title .scmva-fse-hero-accent {
  color: var(--scmva-blue-700);
}
.editor-styles-wrapper .scmva-fse-hero-lead {
  font-size: 1.12rem;
  color: var(--scmva-ink-soft);
}
.editor-styles-wrapper .scmva-fse-hero-note {
  border-left: 4px solid var(--scmva-green-500);
  padding-left: 1rem;
  color: var(--scmva-ink-soft);
}
.editor-styles-wrapper .scmva-fse-btn-bleu .wp-block-button__link {
  background: var(--scmva-blue-700);
  color: #fff;
}
.editor-styles-wrapper .scmva-fse-btn-ghost .wp-block-button__link {
  background: rgba(255, 255, 255, 0.82);
  color: var(--scmva-blue-900);
  border: 1px solid var(--scmva-line);
}

/* ============================================================
   LOT 4 — SECTION STORY / PARTICIPATION (maquette accueil)
   Fond papier, carte blanche arrondie : image à gauche (42 %),
   texte à droite (58 %). Porte l'ancre #participation (nav).
   Doublons .editor-styles-wrapper en fin de bloc (règle 28).
   ============================================================ */

.scmva-fse-story {
  background: var(--scmva-band);
  padding: 4.5rem 0;
  margin-top: 0;
}

/* carte — CORRECTION lot 6b : PAS de carte. Sur la maquette, photo et
   texte flottent directement dans la bande bleutée (pas de fond blanc,
   pas de bordure, pas d'ombre portée). Le conteneur ne sert plus qu'à
   caler la largeur de coque. */
.scmva-fse-story-card {
  width: min(calc(100% - 2rem), var(--scmva-wide));
  margin-left: auto;
  margin-right: auto;
}

/* colonnes */
.scmva-fse-story-cols {
  align-items: stretch;
  gap: 2.5rem;
}
.scmva-fse-story-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.scmva-fse-story-text > * + * {
  margin-top: 1.1rem;
}

/* image — CORRECTION lot 6c : sur la maquette la photo est quasi
   carrée (~11/10), pas en bandeau ; coins arrondis conservés */
.scmva-fse-story-img {
  margin: 0;
}
.scmva-fse-story-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 11/10;
  object-fit: cover;
  border-radius: var(--scmva-radius-lg);
  display: block;
}

/* label vert (variante du label de section) */
.scmva-fse-section-label--vert {
  color: var(--scmva-green-700);
}

/* titre */
.scmva-fse-story-title {
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.15;
  font-weight: 700;
  color: var(--scmva-ink);
}

/* corps */
.scmva-fse-story-body {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--scmva-ink-soft);
}
.scmva-fse-story-em {
  font-weight: 600;
  color: var(--scmva-ink);
}

/* bouton vert */
.scmva-fse-story-actions {
  margin-top: 1.6rem;
}
.scmva-fse-btn-vert .wp-block-button__link {
  background: var(--scmva-green-700);
  color: #fff;
  border-radius: var(--scmva-radius-md);
  padding: 0.8rem 1.5rem;
  font-weight: 600;
  box-shadow: var(--scmva-shadow-sm);
  transition: background 0.2s ease, transform 0.2s ease;
}
.scmva-fse-btn-vert .wp-block-button__link:hover {
  background: var(--scmva-green-500);
  color: var(--scmva-ink);
  transform: translateY(-1px);
}

/* responsive */
@media (max-width: 780px) {
  .scmva-fse-story {
    padding: 3rem 0;
  }
}

/* ---------- doublons éditeur (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-story {
  background: var(--scmva-band);
}
.editor-styles-wrapper .scmva-fse-section-label--vert {
  color: var(--scmva-green-700);
}
.editor-styles-wrapper .scmva-fse-story-title {
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.15;
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-story-em {
  font-weight: 600;
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-btn-vert .wp-block-button__link {
  background: var(--scmva-green-700);
  color: #fff;
}

/* ============================================================
   LOT 5B — CORRECTIFS DE RENDU POST-BASCULE
   1. dimRatio 0 => le voile cover a opacity: 0 (classe
      has-background-dim-0) : le dégradé était invisible → forcer
      opacity: 1 (leçon kit règle 36).
   2. Le layout contraint WP impose margin-left/right: auto !important
      aux enfants : la colonne hero était centrée → garde-fou
      !important (le bloc cover a aussi justifyContent: left).
   3. La carte story était plafonnée à 760 px (contentSize hérité) :
      le groupe section porte désormais contentSize: 1240px (bloc) +
      garde-fou de spécificité (0,2,0) ici.
   Doublons éditeur en fin de bloc (règle 28).
   ============================================================ */

/* 1. voile du hero visible — le core a (0,4,0) :
   `.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0 { opacity: 0 }`
   + `background-color: #000` en (0,3,0) : il faut égaler (0,4,0)
   et charger APRÈS (notre feuille est après wp-block-cover, vérifié
   dans le head) — leçon kit règle 36 complétée au lot 5c */
.scmva-fse-hero .wp-block-cover__background.has-background-dim.has-background-dim-0 {
  opacity: 1;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1.0) 0%,
    rgba(255, 255, 255, 0.98) 35%,
    rgba(255, 255, 255, 0.90) 52%,
    rgba(255, 255, 255, 0.50) 70%,
    rgba(255, 255, 255, 0) 88%
  );
}

/* 1b. hauteur du hero (maquette : bande plus haute que les 560 px
   initiaux ; le style inline du bloc exige !important) */
.scmva-fse-hero {
  min-height: 640px !important;
}

/* 2. colonne hero calée à gauche malgré les marges auto !important de WP */
.scmva-fse-hero .scmva-fse-hero-copy {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* 3. carte story à la largeur de coque */
.scmva-fse-story .scmva-fse-story-card {
  max-width: var(--scmva-wide);
}

/* ---------- doublons éditeur (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-hero .wp-block-cover__background.has-background-dim.has-background-dim-0 {
  opacity: 1;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1.0) 0%,
    rgba(255, 255, 255, 0.98) 35%,
    rgba(255, 255, 255, 0.90) 52%,
    rgba(255, 255, 255, 0.50) 70%,
    rgba(255, 255, 255, 0) 88%
  );
}
.editor-styles-wrapper .scmva-fse-hero .scmva-fse-hero-copy {
  margin-left: 0 !important;
  margin-right: auto !important;
}
.editor-styles-wrapper .scmva-fse-story .scmva-fse-story-card {
  max-width: var(--scmva-wide);
}

/* ============================================================
   LOT 6 — SECTION ACTUALITÉS (maquette accueil)
   Bande papier en continuité avec la section story ; tête
   (label + titre / lien « Explorer le site ») + 3 cartes
   dynamiques (core/query, 3 derniers articles). Doublons
   éditeur en fin de bloc (règle 28).
   ============================================================ */

.scmva-fse-news {
  background: #fdfdfd; /* maquette : zone actualités quasi blanche
     (RGB 253,253,253), seule la bande story est bleutée */
  padding: 4.5rem 0;
  margin-top: 0;
}

/* ---------- tête de section ---------- */
.scmva-fse-news-head {
  align-items: flex-end;
  gap: 1.5rem;
  margin-bottom: 2.2rem;
}
.scmva-fse-news-head-copy > * + * {
  margin-top: 0.8rem;
}
.scmva-fse-news-heading {
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  line-height: 1.15;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-news-more {
  margin: 0;
  padding-bottom: 0.4rem;
}
.scmva-fse-news-more a {
  color: var(--scmva-blue-700);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.scmva-fse-news-more a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- grille + cartes ---------- */
.scmva-fse-news-grid {
  gap: 1.5rem;
}
.scmva-fse-news-card {
  background: var(--scmva-white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--scmva-shadow-sm);
  height: 100%;

  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.scmva-fse-news-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--scmva-shadow-md);
}
.scmva-fse-news-img {
  margin: 0;
}
.scmva-fse-news-img img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* méta : badge rubrique + date */
.scmva-fse-news-meta {
  gap: 0.55rem;
  align-items: baseline;
  margin: 1.1rem 1.25rem 0;
}
.scmva-fse-news-badge {
  margin: 0;
}
.scmva-fse-news-badge a {
  color: var(--scmva-blue-700);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
}
.scmva-fse-news-badge::after {
  content: "·";
  margin-left: 0.55rem;
  color: var(--scmva-ink-soft);
}
.scmva-fse-news-date {
  margin: 0;
  color: var(--scmva-ink-soft);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* titre + extrait */
.scmva-fse-news-title {
  margin: 0.55rem 1.25rem 0;
  font-size: 1.12rem;
  line-height: 1.32;
  font-weight: 700;
}
.scmva-fse-news-title a {
  color: var(--scmva-ink);
  text-decoration: none;
}
.scmva-fse-news-title a:hover {
  color: var(--scmva-blue-700);
}
.scmva-fse-news-excerpt {
  margin: 0.6rem 1.25rem 1.9rem;
}
.scmva-fse-news-excerpt p {
  margin: 0;
  color: var(--scmva-ink-soft);
  font-size: 0.92rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.scmva-fse-news-excerpt .wp-block-post-excerpt__more-text {
  margin-top: 0.55rem;
  margin-bottom: 0.6rem;
}
.scmva-fse-news-excerpt .wp-block-post-excerpt__more-link {
  color: var(--scmva-blue-700);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.scmva-fse-news-excerpt .wp-block-post-excerpt__more-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- responsive ---------- */
@media (max-width: 780px) {
  .scmva-fse-news {
    padding-bottom: 3rem;
  }
  .scmva-fse-news-query .wp-block-post-template,
  .scmva-fse-news-query ul {
    grid-template-columns: 1fr !important;
  }
}

/* ---------- doublons éditeur (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-news {
  background: #fdfdfd;
}
.editor-styles-wrapper .scmva-fse-news-heading {
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-news-card {
  background: var(--scmva-white);
  border-radius: 16px;
  box-shadow: var(--scmva-shadow-sm);

}
.editor-styles-wrapper .scmva-fse-news-badge a {
  color: var(--scmva-blue-700);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.editor-styles-wrapper .scmva-fse-news-title a {
  color: var(--scmva-ink);
}

/* ============================================================
   LOT 7 — SECTION THÉMATIQUES (maquette accueil)
   Zone quasi blanche (continuité actualités) ; 4 cartes blanches
   bordées, pastille icône colorée + titre + 2 lignes + lien.
   Icônes = SVG inline en data-URI CSS (zéro dépendance, pas de
   SVG dans le post_content — KSES-safe). Doublons éditeur en
   fin de bloc (règle 28).
   ============================================================ */

.scmva-fse-topics {
  background: #fdfdfd;
  padding: 0 0 4.5rem;
  margin-top: 0;
}

.scmva-fse-topics-head {
  margin-bottom: 2.2rem;
}
.scmva-fse-topics-head > * + * {
  margin-top: 0.8rem;
}
.scmva-fse-topics-heading {
  max-width: 840px;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  line-height: 1.15;
  font-weight: 700;
  color: var(--scmva-ink);
}

/* ---------- grille + cartes ---------- */
.scmva-fse-topics-grid {
  gap: 1.5rem;
}
.scmva-fse-topic-card {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 14px;
  padding: 1.6rem 1.4rem 1.4rem;
  height: 100%;
  text-align: left;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.scmva-fse-topic-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--scmva-shadow-sm);
}
.scmva-fse-topic-card > * + * {
  margin-top: 0.7rem;
}

/* tête de carte : pastille + titre en ligne */
.scmva-fse-topic-head {
  gap: 0.85rem;
}
.scmva-fse-topic-head .scmva-fse-topic-title {
  margin: 0;
}

/* pastille icône (cercle coloré + SVG blanc) */
.scmva-fse-topic-ico {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  margin: 0;
  border-radius: 50%;
  background-color: var(--scmva-blue-700);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
}
.scmva-fse-topic-ico--securite {
  background-color: var(--scmva-blue-700);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}
.scmva-fse-topic-ico--cadre {
  background-color: var(--scmva-green-700);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z'/%3E%3Cpath d='M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12'/%3E%3C/svg%3E");
}
.scmva-fse-topic-ico--energie {
  background-color: var(--scmva-blue-700);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
}
.scmva-fse-topic-ico--initiatives {
  background-color: var(--scmva-green-700);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

/* textes */
.scmva-fse-topic-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-topic-desc {
  color: var(--scmva-ink-soft);
  font-size: 0.88rem;
  line-height: 1.5;
}
.scmva-fse-topic-link {
  margin-top: 1rem;
}
.scmva-fse-topic-link a {
  color: var(--scmva-blue-700);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.scmva-fse-topic-link a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- responsive ---------- */
@media (max-width: 780px) {
  .scmva-fse-topics {
    padding-bottom: 3rem;
  }
}

/* ---------- doublons éditeur (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-topics {
  background: #fdfdfd;
}
.editor-styles-wrapper .scmva-fse-topics-heading {
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-topic-card {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 14px;
}
.editor-styles-wrapper .scmva-fse-topic-ico {
  width: 46px;
  height: 46px;
  border-radius: 50%;
}


/* ============================================================
   LOT 8 — AJUSTEMENTS MAQUETTE + SECTIONS ÉQUIPE / NEWSLETTER
   / SOUTIEN (bas de page d'accueil, maquette y≈1180-1620)
   - ajustements : photos actualités en 16/9, titre thématiques
     sur 2 lignes (<br> côté contenu), cartes thématiques
     alignées à gauche (pastille + titre en ligne) ;
   - équipe : panneau bleuté arrondi, 2 portraits ronds réels
     (médias 26033 / 26031) ;
   - newsletter : panneau bleu nuit, îlot MC4WP 27038
     (règle 33 : plugin conservé, formulaire stylé en CSS) ;
   - soutien : carte blanche bordée + bouton HelloAsso.
   Doublons éditeur en fin de bloc (règle 28).
   ============================================================ */

/* ---------- section ÉQUIPE ---------- */
.scmva-fse-team {
  background: var(--scmva-white);
  padding: 1.5rem 0 0;
  margin-top: 0;
}
.scmva-fse-team-panel {
  background: #eaf2fb;
  border-radius: 22px;
  padding: 3rem 3rem 2.6rem;
}
.scmva-fse-team-cols {
  gap: 2.5rem;
  margin: 0;
}
.scmva-fse-team-heading {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  line-height: 1.18;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-team-desc {
  color: var(--scmva-ink-soft);
  font-size: 0.95rem;
  line-height: 1.6;
}
.scmva-fse-team-cta {
  margin-top: 1.4rem;
}
.scmva-fse-team-cta a {
  display: inline-block;
  background: var(--scmva-white);
  color: var(--scmva-blue-700);
  border: 1px solid rgba(37, 84, 147, 0.35);
  border-radius: 10px;
  padding: 0.72rem 1.15rem;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}
.scmva-fse-team-cta a:hover {
  border-color: var(--scmva-blue-700);
  box-shadow: var(--scmva-shadow-sm);
}

/* portraits */
.scmva-fse-team-members {
  gap: 2.2rem;
  margin: 0;
}
.scmva-fse-member {
  gap: 1.2rem;
  align-items: center;
  background: var(--scmva-white);
  border-radius: 14px;
  padding: 1.3rem 1.2rem;
}
.scmva-fse-member-photo {
  margin: 0;
  flex: 0 0 104px;
}
.scmva-fse-member-photo img {
  display: block;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  object-fit: cover;
}
.scmva-fse-member-copy > * + * {
  margin-top: 0.45rem;
}
.scmva-fse-member-name {
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-member-desc {
  color: var(--scmva-ink-soft);
  font-size: 0.84rem;
  line-height: 1.5;
}
.scmva-fse-member-link {
  margin-top: 0.7rem;
}
.scmva-fse-member-link a {
  color: var(--scmva-blue-700);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.scmva-fse-member-link a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- section NEWSLETTER ---------- */
.scmva-fse-newsletter {
  background: var(--scmva-white);
  padding: 1.5rem 0 0;
  margin-top: 0;
}
.scmva-fse-newsletter-panel {
  background: #01569d; /* bleu mesuré sur la maquette (était blue-900) */
  border-radius: 22px;
  padding: 3rem 3rem 2.8rem;
}
.scmva-fse-newsletter-cols {
  gap: 3rem;
  margin: 0;
}
.scmva-fse-section-label--light {
  color: rgba(255, 255, 255, 0.62);
}
.scmva-fse-newsletter-heading {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  line-height: 1.2;
  font-weight: 700;
  color: var(--scmva-white);
}
.scmva-fse-newsletter-desc {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
  line-height: 1.6;
}

/* îlot MC4WP 27038 (règle 33) — champ + bouton accolés */
.scmva-fse-newsletter .wpforms-container {
  margin: 0;
}
.scmva-fse-newsletter .wpforms-container .wpforms-form {
  display: flex;
  align-items: stretch;
}
.scmva-fse-newsletter .wpforms-container .wpforms-field-container {
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0 !important;
}
.scmva-fse-newsletter .wpforms-container .wpforms-field {
  padding: 0 !important;
  margin: 0 !important;
}
.scmva-fse-newsletter .wpforms-container .wpforms-field-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.scmva-fse-newsletter .wpforms-container input[type="email"] {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 12px 0 0 12px !important;
  padding: 0.95rem 1.15rem;
  font-size: 0.95rem;
  background: var(--scmva-white);
  color: var(--scmva-ink);
}
.scmva-fse-newsletter .wpforms-container input[type="email"]:focus {
  outline: 2px solid var(--scmva-green-500);
  outline-offset: -2px;
}
.scmva-fse-newsletter .wpforms-container .wpforms-submit-container {
  margin: 0 !important;
  padding: 0 !important;
}
.scmva-fse-newsletter .wpforms-container button.wpforms-submit {
  height: 100%;
  min-height: 52px;
  margin: 0 !important;
  border: 0;
  border-radius: 0 12px 12px 0 !important;
  padding: 0.95rem 1.6rem;
  background: var(--scmva-green-500) !important;
  color: var(--scmva-white) !important;
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.scmva-fse-newsletter .wpforms-container button.wpforms-submit:hover {
  background: var(--scmva-green-700) !important;
}
.scmva-fse-newsletter .wpforms-container .wpforms-error-container,
.scmva-fse-newsletter .wpforms-container .wpforms-confirmation-container {
  color: var(--scmva-white);
  font-size: 0.85rem;
}

/* ------- Styles parallèles pour MC4WP (remplace WPForms) ------- */
.scmva-fse-newsletter .mc4wp-form {
  margin: 0;
}
.scmva-fse-newsletter .mc4wp-form .mc-form-container {
  display: flex;
  align-items: stretch;
}
.scmva-fse-newsletter .mc4wp-form .mc-form-container p {
  margin: 0 !important;
  padding: 0 !important;
}
.scmva-fse-newsletter .mc4wp-form label[for="mc-email"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.scmva-fse-newsletter .mc4wp-form input[type="email"] {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 12px 0 0 12px !important;
  padding: 0.95rem 1.15rem;
  font-size: 0.95rem;
  background: var(--scmva-white);
  color: var(--scmva-ink);
}
.scmva-fse-newsletter .mc4wp-form input[type="email"]:focus {
  outline: 2px solid var(--scmva-green-500);
  outline-offset: -2px;
}
.scmva-fse-newsletter .mc4wp-form input[type="submit"] {
  height: 100%;
  min-height: 52px;
  margin: 0 !important;
  border: 0;
  border-radius: 0 12px 12px 0 !important;
  padding: 0.95rem 1.6rem;
  background: var(--scmva-green-500) !important;
  color: var(--scmva-white) !important;
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.scmva-fse-newsletter .mc4wp-form input[type="submit"]:hover {
  background: var(--scmva-green-700) !important;
}
.scmva-fse-newsletter .mc4wp-form .mc4wp-alert,
.scmva-fse-newsletter .mc4wp-form .mc4wp-success {
  color: var(--scmva-white);
  font-size: 0.85rem;
}

/* mention vie privée (cadenas data-URI) */
.scmva-fse-newsletter-privacy {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.78rem;
}
.scmva-fse-newsletter-privacy::before {
  content: "";
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- section SOUTIEN ---------- */
.scmva-fse-donate {
  background: var(--scmva-white);
  padding: 1.5rem 0 4.5rem;
  margin-top: 0;
}
.scmva-fse-donate-panel {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 22px;
  box-shadow: var(--scmva-shadow-sm);
  padding: 2.1rem 3rem;
}
.scmva-fse-donate-cols {
  gap: 2rem;
  margin: 0;
}
.scmva-fse-donate-head {
  gap: 1.4rem;
}
.scmva-fse-donate-ico {
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  margin: 0;
  border-radius: 50%;
  background-color: var(--scmva-blue-900);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2397bf3f'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px 32px;
}
.scmva-fse-donate-copy > * + * {
  margin-top: 0.4rem;
}
.scmva-fse-donate-heading {
  font-size: clamp(1.2rem, 1.9vw, 1.55rem);
  line-height: 1.22;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-donate-cta {
  text-align: center;
}
.scmva-fse-donate-cta a {
  display: inline-block;
  background: var(--scmva-green-500);
  color: var(--scmva-white);
  border-radius: 12px;
  padding: 0.95rem 1.5rem;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.scmva-fse-donate-cta a:hover {
  background: var(--scmva-green-700);
}
.scmva-fse-donate-note {
  margin-top: 0.7rem;
  text-align: center;
  color: var(--scmva-ink-soft);
  font-size: 0.82rem;
}

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .scmva-fse-team-panel,
  .scmva-fse-newsletter-panel {
    padding: 2.2rem 1.8rem;
  }
  .scmva-fse-donate-panel {
    padding: 1.8rem;
  }
}
@media (max-width: 782px) {
  .scmva-fse-newsletter .wpforms-container .wpforms-form {
    flex-direction: column;
    gap: 0.7rem;
  }
  .scmva-fse-newsletter .wpforms-container input[type="email"] {
    border-radius: 12px;
  }
  .scmva-fse-newsletter .wpforms-container button.wpforms-submit {
    border-radius: 12px;
    width: 100%;
  }
  .scmva-fse-donate-cta,
  .scmva-fse-donate-note {
    text-align: left;
  }
}

/* ---------- doublons éditeur (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-team-panel {
  background: #eaf2fb;
  border-radius: 22px;
}
.editor-styles-wrapper .scmva-fse-team-heading,
.editor-styles-wrapper .scmva-fse-member-name,
.editor-styles-wrapper .scmva-fse-donate-heading {
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-member-photo img {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  object-fit: cover;
}
.editor-styles-wrapper .scmva-fse-member {
  background: var(--scmva-white);
  border-radius: 14px;
}
.editor-styles-wrapper .scmva-fse-newsletter-panel {
  background: #01569d;
  border-radius: 22px;
}
.editor-styles-wrapper .scmva-fse-newsletter-heading {
  color: var(--scmva-white);
}
.editor-styles-wrapper .scmva-fse-newsletter-desc,
.editor-styles-wrapper .scmva-fse-newsletter-privacy {
  color: rgba(255, 255, 255, 0.72);
}
.editor-styles-wrapper .scmva-fse-section-label--light {
  color: rgba(255, 255, 255, 0.62);
}
.editor-styles-wrapper .scmva-fse-donate-panel {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 22px;
}
.editor-styles-wrapper .scmva-fse-donate-ico {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background-color: var(--scmva-blue-900);
}


/* ============================================================
   LOT 11 — PAGES INTERNES (template page.html + sidebar FSE,
   arbitrage validé : sidebar conservée en colonne) + sections
   profil de « Qui sommes-nous ? » (reconversion UAGB → core).
   Doublons éditeur en fin de bloc (règle 28).
   ============================================================ */

.scmva-fse-page {
  background: #fdfdfd;
  padding: 3rem 0 4.5rem;
  margin-top: 0;
}

.scmva-fse-page-title {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1.15;
  font-weight: 700;
  color: var(--scmva-ink);
  margin-bottom: 2.2rem;
}

.scmva-fse-page-grid {
  gap: 3rem;
  margin-top: 0;
  align-items: flex-start;
}

/* ---------- sidebar ---------- */
.scmva-fse-sidebar > * + * {
  margin-top: 1.2rem;
}
.scmva-fse-sidebar-card {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 14px;
  padding: 1.5rem 1.4rem;
}
.scmva-fse-sidebar-card > * + * {
  margin-top: 0.8rem;
}
.scmva-fse-sidebar-heading {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-sidebar-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.scmva-fse-sidebar-links li {
  margin: 0 0 0.55rem;
}
.scmva-fse-sidebar-links li:last-child {
  margin-bottom: 0;
}
.scmva-fse-sidebar-links a {
  color: var(--scmva-blue-700);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}
.scmva-fse-sidebar-links a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.scmva-fse-sidebar-text {
  margin: 0;
  color: var(--scmva-ink-soft);
  font-size: 0.9rem;
  line-height: 1.55;
}
.scmva-fse-sidebar-actions .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.65rem 1.3rem;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 700;
}

/* ---------- sections profil (qui-sommes-nous, ex-UAGB) ---------- */
.scmva-fse-profile + .scmva-fse-profile {
  margin-top: 3.5rem;
  padding-top: 3rem;
  border-top: 1px solid var(--scmva-line);
}
.scmva-fse-profile-cols {
  gap: 2.5rem;
  margin-top: 0;
}
.scmva-fse-profile-name {
  margin: 0 0 1.1rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-profile p {
  color: var(--scmva-ink-soft);
  line-height: 1.65;
}
.scmva-fse-profile-img {
  margin: 0;
}
.scmva-fse-profile-img img {
  border-radius: 14px;
}

/* ---------- responsive ---------- */
@media (max-width: 782px) {
  .scmva-fse-page {
    padding: 2rem 0 3rem;
  }
  .scmva-fse-profile + .scmva-fse-profile {
    margin-top: 2.5rem;
    padding-top: 2rem;
  }
}

/* ---------- typographie contenu interne (alignement home) ---------- */
.scmva-fse-page .wp-block-post-content p,
.scmva-fse-page .wp-block-post-content ul,
.scmva-fse-page .wp-block-post-content ol,
.scmva-fse-page .wp-block-post-content li {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--scmva-ink-soft);
}
.scmva-fse-page .wp-block-post-content h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-page .wp-block-post-content h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--scmva-ink);
}
.scmva-fse-page .wp-block-post-content a {
  color: var(--scmva-blue-700);
}
.scmva-fse-page .wp-block-post-content a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* doublons éditeur lot 11b */
.editor-styles-wrapper .scmva-fse-page .wp-block-post-content p,
.editor-styles-wrapper .scmva-fse-page .wp-block-post-content ul,
.editor-styles-wrapper .scmva-fse-page .wp-block-post-content ol,
.editor-styles-wrapper .scmva-fse-page .wp-block-post-content li {
  color: var(--scmva-ink-soft);
}
.editor-styles-wrapper .scmva-fse-page .wp-block-post-content h2,
.editor-styles-wrapper .scmva-fse-page .wp-block-post-content h3 {
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-page .wp-block-post-content a {
  color: var(--scmva-blue-700);
}

/* ---------- doublons éditeur (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-page {
  background: #fdfdfd;
}
.editor-styles-wrapper .scmva-fse-sidebar-card {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 14px;
}
.editor-styles-wrapper .scmva-fse-sidebar-heading,
.editor-styles-wrapper .scmva-fse-profile-name {
  color: var(--scmva-ink);
}
.editor-styles-wrapper .scmva-fse-sidebar-links a {
  color: var(--scmva-blue-700);
}
.editor-styles-wrapper .scmva-fse-profile-img img {
  border-radius: 14px;
}

/* ============================================================
   LOT 12 — /actualites/ (templates/home.html, page_for_posts)
   Grille archive 2 colonnes dans les 66 %, pagination, intro.
   ============================================================ */
.scmva-fse-page-intro {
  margin: 0 0 2.25rem;
  max-width: 46rem;
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--scmva-ink-soft);
}
.scmva-fse-news-query--archive .scmva-fse-news-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}
.scmva-fse-news-query--archive .scmva-fse-news-card {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 16px;
  overflow: hidden;

}
.scmva-fse-news-pagination {
  margin-top: 2.5rem;
  gap: .5rem;
}
.scmva-fse-news-pagination a,
.scmva-fse-news-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 .85rem;
  border: 1px solid var(--scmva-line);
  border-radius: 999px;
  background: var(--scmva-white);
  color: var(--scmva-blue-700);
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
}
.scmva-fse-news-pagination .page-numbers.current {
  background: var(--scmva-blue-700);
  border-color: var(--scmva-blue-700);
  color: var(--scmva-white);
}
.scmva-fse-news-pagination a:hover {
  background: var(--scmva-blue-700);
  border-color: var(--scmva-blue-700);
  color: var(--scmva-white);
}
.scmva-fse-news-empty {
  padding: 2rem;
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 14px;
  color: var(--scmva-ink-soft);
}

/* ---------- doublons éditeur lot 12 (règle 28) ---------- */
.editor-styles-wrapper .scmva-fse-page-intro {
  color: var(--scmva-ink-soft);
}
.editor-styles-wrapper .scmva-fse-news-query--archive .scmva-fse-news-card {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);

}

/* ============================================================
   LOT 13 — /contact/ : îlot WPForms 25703 (règle 33)
   Carte blanche bordée + champs WPForms aux tokens SCMVA.
   ============================================================ */
.scmva-fse-form-island {
  margin-top: 1.75rem;
  padding: 2rem 2.25rem;
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 16px;
}

/* note admin : invisible sur le front, visible uniquement dans
   l'éditeur via le doublon .editor-styles-wrapper (règle 33) */
.scmva-fse-admin-note {
  display: none;
}
.editor-styles-wrapper .scmva-fse-admin-note {
  display: block;
  margin: 0 0 1rem;
  padding: .6rem .9rem;
  background: #fff8e1;
  border: 1px dashed #d8b23a;
  border-radius: 8px;
  font-size: .82rem;
  color: #6b5d1f;
}

/* champs WPForms calés sur les tokens (front) */
.scmva-fse-form-island .wpforms-container {
  margin: 0;
}
.scmva-fse-form-island .wpforms-field-label {
  font-weight: 600;
  color: var(--scmva-ink);
}
.scmva-fse-form-island .wpforms-field input[type="text"],
.scmva-fse-form-island .wpforms-field input[type="email"],
.scmva-fse-form-island .wpforms-field input[type="tel"],
.scmva-fse-form-island .wpforms-field textarea {
  border: 1px solid var(--scmva-line);
  border-radius: 10px;
  padding: .7rem .9rem;
  font-size: 1rem;
  color: var(--scmva-ink);
  background: var(--scmva-white);
}
.scmva-fse-form-island .wpforms-field input:focus,
.scmva-fse-form-island .wpforms-field textarea:focus {
  border-color: var(--scmva-blue-700);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1, 80, 144, .12);
}
.scmva-fse-form-island .wpforms-submit {
  background: var(--scmva-blue-700);
  color: var(--scmva-white);
  border: none;
  border-radius: 999px;
  padding: .8rem 2rem;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
}
.scmva-fse-form-island .wpforms-submit:hover {
  background: var(--scmva-blue-900, #013a68);
}

/* doublons éditeur lot 13 (règle 28) */
.editor-styles-wrapper .scmva-fse-form-island {
  background: var(--scmva-white);
  border: 1px solid var(--scmva-line);
  border-radius: 16px;
}

/* ============================================================
   LOT 17 — single article (templates/single.html)
   Méta sous le titre + sidebar 2 cartes ; pas d'image mise en
   avant dans le détail (demande propriétaire).
   ============================================================ */
.scmva-fse-single-meta {
  margin: 0 0 2rem;
}
.scmva-fse-single-meta .scmva-fse-news-badge,
.scmva-fse-single-meta .scmva-fse-news-date {
  margin: 0;
}

/* doublons éditeur lot 17 (règle 28) */
.editor-styles-wrapper .scmva-fse-single-meta .scmva-fse-news-badge a {
  color: var(--scmva-blue-700);
}

/* ============================================================
   LOT 18 — nav resserrée + module « Autres articles » (single)
   ============================================================ */
.scmva-fse-related-title {
  margin: 0 0 .9rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}
.scmva-fse-related-title a {
  color: var(--scmva-blue-700);
  text-decoration: none;
}
.scmva-fse-related-title a:hover {
  text-decoration: underline;
}

/* doublons éditeur lot 18 (règle 28) */
.editor-styles-wrapper .scmva-fse-related-title a {
  color: var(--scmva-blue-700);
}

/* ============================================================
   LOT 19 — modale newsletter (demande propriétaire)
   Ouverte par « Nous suivre » (href="#newsletter-modal").
   Modale 100 % CSS via :target — aucun JavaScript (règle 33,
   îlot MC4WP 27038 identique à la section newsletter home).
   ============================================================ */
.scmva-fse-nl-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.scmva-fse-nl-modal:target {
  display: flex;
}
.scmva-fse-nl-modal-overlay {
  position: absolute;
  inset: 0;
  margin: 0;
  background: rgba(4, 32, 56, .55);
}
.scmva-fse-nl-modal-overlay a {
  display: block;
  width: 100%;
  height: 100%;
  color: transparent;
  text-decoration: none;
  cursor: default;
}
.scmva-fse-nl-modal-card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  max-height: 85vh;
  overflow-y: auto;
  padding: 2.5rem 2.5rem 2rem;
  background: #01569d; /* même bleu que le panneau newsletter home */
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(4, 32, 56, .35);
}
/* neutralise les styles de SECTION .scmva-fse-newsletter (fond
   blanc + padding home) à l'intérieur de la carte bleue : seuls
   les styles du FORMULAIRE sont réutilisés */
.scmva-fse-nl-modal-card .scmva-fse-newsletter {
  background: transparent;
  padding: 0;
}
.scmva-fse-nl-modal-close {
  position: absolute;
  top: .9rem;
  right: 1.1rem;
  margin: 0;
}
.scmva-fse-nl-modal-close a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  color: var(--scmva-white);
  font-size: 1rem;
  text-decoration: none;
}
.scmva-fse-nl-modal-close a:hover {
  background: var(--scmva-green-500, #88B12A);
  color: var(--scmva-white);
}
.scmva-fse-nl-modal-heading {
  margin: .35rem 0 .8rem;
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--scmva-white);
}
.scmva-fse-nl-modal-desc {
  margin: 0 0 1.4rem;
  font-size: .9rem;
  color: rgba(255, 255, 255, .72);
  line-height: 1.6;
}
.scmva-fse-nl-modal-privacy {
  margin: 1rem 0 0;
  font-size: .85rem;
  color: rgba(255, 255, 255, .62);
}

/* doublons éditeur lot 19 (règles 28 + 33) : la modale est rendue
   visible et statique dans l'éditeur pour rester éditable */
.editor-styles-wrapper .scmva-fse-nl-modal {
  position: static;
  display: block;
  padding: 1rem;
  border: 2px dashed var(--scmva-line);
  border-radius: 12px;
}
.editor-styles-wrapper .scmva-fse-nl-modal-overlay {
  display: none;
}
.editor-styles-wrapper .scmva-fse-nl-modal-card {
  max-width: none;
  box-shadow: none;
  border: 1px solid var(--scmva-line);
}
