.mairie-scrollspy{display:flex;gap:.75rem;flex-wrap:wrap;position:sticky;top:160px;z-index:1000;background:#fff;padding:.75rem 0;border-bottom:1px solid #e8eee8;margin-bottom:2rem;box-shadow:0 8px 22px rgba(20,54,32,.08)}
.mairie-scrollspy a,.mairie-archives-menu summary{text-decoration:none;padding:.45rem .75rem;border-radius:999px;background:#f3f7f3;color:#1f3d2b;font-weight:600;cursor:pointer}
.mairie-scrollspy a.active{background:#1f6b43;color:#fff}.mairie-archives-menu{position:relative}.mairie-archives-menu div{position:absolute;background:#fff;border:1px solid #e5ece5;border-radius:12px;padding:.5rem;box-shadow:0 8px 24px rgba(20,54,32,.08);display:grid;gap:.35rem;min-width:120px}
.mairie-section{margin:2.5rem 0;scroll-margin-top:300px}.mairie-subsection{margin:1.5rem 0}.mairie-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.mairie-list{display:grid;gap:1rem}
.mairie-card{border:1px solid #e5ece5;border-radius:18px;padding:1.25rem;background:#fff;box-shadow:0 8px 24px rgba(20,54,32,.06);overflow:hidden}.mairie-featured-card{grid-column:1/-1}.mairie-card h3{margin-top:.65rem}.mairie-card-image{margin:-1.25rem -1.25rem 1rem}.mairie-card-image img{width:100%;height:190px;object-fit:cover;display:block}.mairie-featured-card .mairie-card-image img{height:260px}
.mairie-badge{display:inline-block;border-radius:999px;padding:.25rem .65rem;background:#edf4ee;color:#1f4d32;font-size:.85rem;font-weight:700;margin:.25rem .35rem .25rem 0}.badge-info{background:#eaf3ff;color:#17456f}
.mairie-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:1rem 0}.mairie-meta-grid div{background:#f8faf8;border:1px solid #edf2ed;border-radius:12px;padding:.75rem}.mairie-meta-grid strong{display:block;font-size:.82rem;color:#4b5563}.mairie-meta-grid span{display:block;margin-top:.2rem}
.mairie-docs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.mairie-doc-link,.mairie-button,.mairie-back-link{display:inline-block;text-decoration:none;padding:.55rem .85rem;border-radius:10px;background:#2F5E3B;color:#fff!important;border:1px solid #2F5E3B}.mairie-live-search{width:100%;max-width:520px;padding:.75rem 1rem;border-radius:12px;border:1px solid #d8e5d8}
@media(max-width:768px){.mairie-scrollspy{overflow-x:auto;flex-wrap:nowrap}.mairie-grid{grid-template-columns:1fr}.mairie-featured-card{grid-column:auto}}

.mairie-scrollspy::before{content:"";position:absolute;left:-100vw;right:-100vw;top:0;bottom:0;background:#fff;z-index:0;border-bottom:1px solid #e8eee8;box-shadow:0 8px 22px rgba(20,54,32,.08)}
.mairie-scrollspy{isolation:isolate}


/* RC5.3 — correction scrollspy : retour dans le flux de la page, sans bande sticky couvrante */
.mairie-scrollspy {
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid #e5ece5 !important;
  padding: .85rem !important;
  margin: 1.25rem 0 2rem 0 !important;
  box-shadow: 0 8px 24px rgba(20,54,32,.04) !important;
}

.mairie-section {
  scroll-margin-top: 140px !important;
}


/* RC5.4 — scrollspy sans bande pleine largeur : simples pastilles dans le contenu */
.mairie-scrollspy {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 1.25rem 0 2rem 0 !important;
  box-shadow: none !important;
}

.mairie-scrollspy::before,
.mairie-scrollspy::after {
  content: none !important;
  display: none !important;
}

.mairie-scrollspy a,
.mairie-archives-menu summary {
  background: #f3f7f3 !important;
  color: #1f3d2b !important;
  border: 0 !important;
  box-shadow: none !important;
}

.mairie-scrollspy a.active {
  background: #1f6b43 !important;
  color: #ffffff !important;
}

.mairie-section {
  scroll-margin-top: 130px !important;
}


/* RC5.5 — sticky propre : pastilles seules, fond opaque limité, sans bande pleine largeur */
.mairie-scrollspy {
  position: sticky !important;
  top: 96px !important;
  z-index: 30 !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: calc(100vw - 32px) !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: wrap !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid #e5ece5 !important;
  border-radius: 999px !important;
  padding: .55rem .65rem !important;
  margin: 1.25rem 0 2rem 0 !important;
  box-shadow: 0 8px 24px rgba(20,54,32,.08) !important;
  backdrop-filter: blur(6px);
}

.mairie-scrollspy a,
.mairie-archives-menu summary {
  background: #f3f7f3 !important;
  color: #1f3d2b !important;
  border: 0 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

.mairie-scrollspy a.active {
  background: #1f6b43 !important;
  color: #ffffff !important;
}

.mairie-section {
  scroll-margin-top: 190px !important;
}

@media(max-width:768px){
  .mairie-scrollspy {
    top: 72px !important;
    max-width: calc(100vw - 24px) !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    border-radius: 18px !important;
  }
}


/* RC5.6 — onglets sticky plus haut sous l’en-tête */
.mairie-scrollspy {
  top: 16px !important;
}

body.admin-bar .mairie-scrollspy {
  top: 48px !important;
}

.mairie-section {
  scroll-margin-top: 120px !important;
}

@media(max-width:768px){
  .mairie-scrollspy {
    top: 12px !important;
  }
  body.admin-bar .mairie-scrollspy {
    top: 58px !important;
  }
}


/* RC6 UX — aperçu condensé des délibérations dans la liste des séances */
.mairie-delibs-preview{
  margin:1rem 0 0;
  padding:1rem 1.1rem;
  border:1px solid rgba(31,77,47,.10);
  border-radius:16px;
  background:#fbfdfb;
}
.mairie-delibs-count{
  margin:0 0 .55rem;
  font-weight:700;
  color:#173b27;
}
.mairie-delibs-preview-list{
  margin:.25rem 0 0 1.3rem;
  padding:0;
}
.mairie-delibs-preview-list li{
  margin:.2rem 0;
  padding-left:.15rem;
}
.mairie-delibs-preview-list a{
  color:#102033;
  text-decoration:none;
}
.mairie-delibs-preview-list a:hover,
.mairie-delibs-preview-list a:focus{
  text-decoration:underline;
}
.mairie-delibs-more{
  margin:.55rem 0 0;
  font-weight:700;
  color:#2b6b43;
}


/* RC7 UX — statuts des séances + ordre du jour */
.mairie-card-a-venir{
  background:#f3f7fa;
  border-color:#d7e3ec;
}
.mairie-card-tenue{
  background:#fbf8f1;
  border-color:#e8dfc8;
}
.mairie-card-archivee{
  background:#fff;
}
.mairie-status-kicker{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin:.75rem 0 .25rem;
  padding:.3rem .65rem;
  border-radius:999px;
  font-weight:700;
  font-size:.92rem;
  background:rgba(31,77,47,.08);
  color:#173b27;
}
.mairie-card-a-venir .mairie-status-kicker{
  background:#e6f0f7;
  color:#23465f;
}
.mairie-card-tenue .mairie-status-kicker{
  background:#f1e7cb;
  color:#604719;
}
.mairie-odj-preview{
  margin:1rem 0 0;
  padding:1rem 1.1rem;
  border:1px solid rgba(31,77,47,.10);
  border-radius:16px;
  background:rgba(255,255,255,.62);
}
.mairie-odj-title{
  margin:0 0 .55rem;
  font-weight:700;
  color:#173b27;
}
.mairie-odj-preview-list,
.mairie-odj-detail-list{
  margin:.25rem 0 0 1.3rem;
  padding:0;
}
.mairie-odj-preview-list li,
.mairie-odj-detail-list li,
.mairie-delibs-preview-list li{
  margin:.22rem 0;
  padding-left:.15rem;
}
.mairie-status-note{
  margin:.75rem 0 0;
  padding:.75rem .9rem;
  border-radius:12px;
  background:rgba(255,255,255,.72);
  font-weight:600;
  color:#604719;
}
.mairie-odj-detail{
  background:#fbf8f1;
  border:1px solid #e8dfc8;
  border-radius:18px;
  padding:1.2rem;
}


/* RC8 — Équipe municipale */
.equipe-scrollspy{gap:.45rem;}
.mairie-grid-single{grid-template-columns:minmax(0,1fr);}
.mairie-elu-card h3,.mairie-commission-card h3{margin-bottom:.45rem;}
.mairie-elu-head{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.35rem;}
.mairie-elu-head h3{margin:0;}
.mairie-elu-block{margin-top:1rem;padding:.85rem 1rem;border:1px solid rgba(31,77,47,.10);border-radius:14px;background:#fbfdfb;}
.mairie-elu-block h4,.mairie-commission-members h4{margin:.05rem 0 .45rem;font-size:1rem;color:#173b27;}
.mairie-elu-block ul,.mairie-commission-members ul{margin:.25rem 0 0 1.15rem;padding:0;}
.mairie-elu-block li,.mairie-commission-members li{margin:.24rem 0;}
.mairie-commission-family{margin-top:1.3rem;}
.mairie-commission-family > h3{margin:1.1rem 0 .7rem;padding-left:.7rem;border-left:4px solid #2b6b43;}
.mairie-commissions-grid{align-items:start;}
.mairie-commission-members{margin-top:.85rem;padding:.8rem .9rem;border-radius:14px;background:#f7faf7;border:1px solid rgba(31,77,47,.09);}

/* RC9 — Vie municipale + Documents officiels */
.mairie-page-portal .mairie-feature-card{display:grid;grid-template-columns:1fr;gap:1rem;padding:1.35rem;border:1px solid rgba(31,77,47,.12);border-radius:22px;background:#fbfdfb;box-shadow:0 12px 26px rgba(16,32,51,.06);}
.mairie-kicker{margin:0 0 .35rem;color:#2b6b43;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;}
.mairie-portal-card .mairie-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#f1f6f1;font-size:1.45rem;margin-bottom:.7rem;}
.mairie-doc-officiel-head{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-bottom:.55rem;}
.mairie-doc-date{color:#51605a;font-weight:700;}
.mairie-doc-officiel-card h3{margin-top:.25rem;}

/* RC9-1 — Vie municipale immersive */
.mairie-vie-hero{padding-top:0}
.mairie-vie-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:1.4rem;align-items:stretch;padding:1.3rem;border-radius:26px;background:#f5faf5;border:1px solid rgba(31,77,47,.12);overflow:hidden}
.mairie-vie-hero-text{padding:1.4rem;display:flex;flex-direction:column;justify-content:center}
.mairie-vie-hero-text h1{margin:.1rem 0 .25rem;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}
.mairie-vie-hero-text h2{margin:.1rem 0 .75rem;color:#2b6b43;font-size:clamp(1.15rem,2vw,1.55rem)}
.mairie-vie-hero-image{min-height:280px;border-radius:22px;overflow:hidden;background:#e9f0e8}
.mairie-vie-hero-image img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}
.mairie-placeholder-hero{height:100%;min-height:280px;display:flex;align-items:center;justify-content:center;color:#2b6b43;font-weight:800;background:linear-gradient(135deg,#e5efe4,#f6f1e5)}
.mairie-vie-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.25rem}
.mairie-vie-shortcuts a{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.85rem .75rem;border-radius:999px;background:#fff;border:1px solid rgba(31,77,47,.15);text-decoration:none;font-weight:800;color:#173b27}
.mairie-vie-shortcuts a:hover,.mairie-vie-shortcuts a:focus{background:#f1f6f1;text-decoration:none}
.mairie-contact-block{background:#fbfdfb;border:1px solid rgba(31,77,47,.12);border-radius:22px;padding:1.2rem}
@media (max-width:820px){.mairie-vie-hero-inner{grid-template-columns:1fr}.mairie-vie-shortcuts{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.mairie-vie-shortcuts{grid-template-columns:1fr}}


/* RC9-2 — Vie municipale : titre thème masqué + hero image pleine largeur */
body.mairie-vie-page .entry-hero,
body.mairie-vie-page .entry-header,
body.mairie-vie-page .page-header,
body.mairie-vie-page .entry-title,
body.mairie-vie-page h1.entry-title{display:none !important;}
body.mairie-vie-page .content-area,
body.mairie-vie-page .site-main,
body.mairie-vie-page .entry-content{margin-top:0 !important;}
.mairie-vie-hero-full{width:100vw;margin-left:calc(50% - 50vw);min-height:420px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-color:#e9f0e8;color:#fff;text-align:center;position:relative;overflow:hidden;}
.mairie-vie-hero-full:not([style]){background:linear-gradient(135deg,#2b6b43,#173b27);}
.mairie-vie-hero-full-inner{width:min(1120px,92vw);padding:4rem 1rem;text-shadow:0 2px 18px rgba(0,0,0,.35);}
.mairie-vie-hero-full h1{margin:0 0 .35rem;color:#fff;font-size:clamp(2.6rem,6vw,5.2rem);line-height:1;font-weight:900;}
.mairie-vie-hero-full h2{margin:.2rem 0 .6rem;color:#fff;font-size:clamp(1.25rem,2.6vw,2rem);}
.mairie-vie-hero-full p{margin:0 auto;max-width:760px;color:#fff;font-size:clamp(1rem,1.7vw,1.25rem);}
body.mairie-vie-page .mairie-vie-shortcuts{margin-top:1.25rem;}


/* RC10 — Éditos du maire */
.mairie-carnet-card{
  display:grid;
  grid-template-columns:minmax(220px,32%) minmax(0,1fr);
  gap:1.15rem;
  align-items:stretch;
}
.mairie-carnet-thumb{
  border-radius:18px;
  overflow:hidden;
  min-height:220px;
  background:#eef4ee;
}
.mairie-carnet-thumb img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  display:block;
}
.mairie-carnet-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mairie-carnet-body h3 a{
  color:inherit;
  text-decoration:none;
}
.mairie-carnet-body h3 a:hover,
.mairie-carnet-body h3 a:focus{
  text-decoration:underline;
}
.mairie-carnet-intro{
  background:#fbf8f1;
  border:1px solid #e8dfc8;
  border-radius:18px;
  padding:1.1rem 1.2rem;
  font-size:1.05rem;
}
@media (max-width:760px){
  .mairie-carnet-card{
    grid-template-columns:1fr;
  }
}


/* RC11 — Démarches */
.mairie-demarches-hero{
  width:100vw;
  margin-left:calc(50% - 50vw);
  min-height:300px;
  display:flex;
  align-items:center;
  background:linear-gradient(90deg,rgba(7,57,32,.92),rgba(7,57,32,.35)),linear-gradient(135deg,#2b6b43,#173b27);
  color:#fff;
}
.mairie-demarches-hero > div{width:min(1120px,92vw);margin:0 auto;padding:3.5rem 0;}
.mairie-demarches-hero h1{color:#fff;font-size:clamp(2.5rem,5vw,4.6rem);margin:.3rem 0;}
.mairie-demarches-hero p{color:#fff;font-size:1.15rem;max-width:520px;}
.mairie-breadcrumb{font-size:.9rem;font-weight:700;opacity:.9;}
.mairie-demarches-list{width:min(1120px,92vw);margin:2rem auto;}
.mairie-demarche-category{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;margin:1.6rem 0;}
.mairie-demarche-cat-icon{width:54px;height:54px;border-radius:999px;background:#f1f6f1;display:flex;align-items:center;justify-content:center;font-size:1.5rem;position:sticky;top:120px;}
.mairie-demarche-cat-content h2{margin:.25rem 0 1rem;}
.mairie-demarche-table{border:1px solid rgba(31,77,47,.12);border-radius:16px;overflow:hidden;background:#fff;}
.mairie-demarche-row{display:grid;grid-template-columns:1.1fr 2fr auto;gap:1rem;align-items:center;padding:.9rem 1rem;border-bottom:1px solid rgba(31,77,47,.08);}
.mairie-demarche-row:last-child{border-bottom:0;}
.mairie-demarche-row p{margin:0;color:#435148;font-size:.95rem;}
.mairie-demarche-row a{font-weight:800;color:#173b27;text-decoration:none;white-space:nowrap;}
.mairie-demarche-row-title{display:flex;align-items:center;gap:.55rem;}
.mairie-ext-icon{font-size:.85rem;opacity:.8;}
.mairie-demarches-signalement{width:min(1120px,92vw);margin:2rem auto;display:grid;grid-template-columns:320px 1fr;gap:1.2rem;align-items:center;background:#f5f3ea;border-radius:18px;padding:1.3rem;border:1px solid rgba(31,77,47,.10);}
.mairie-demarches-phone{min-height:150px;border-radius:14px;background:linear-gradient(135deg,#dfeee0,#fff);display:flex;align-items:center;justify-content:center;color:#2b6b43;font-weight:900;font-size:1.6rem;}
.mairie-admin-services,.mairie-demarches-help{width:min(1120px,92vw);margin-left:auto;margin-right:auto;}
.mairie-admin-service-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
.mairie-admin-service-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.35rem;position:relative;}
.mairie-admin-service-card span{font-size:.9rem;color:#435148;}
.mairie-admin-service-card em{position:absolute;right:1rem;bottom:.8rem;color:#2b6b43;font-style:normal;}
.mairie-demarches-help{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border-radius:16px;background:#f7faf7;border:1px solid rgba(31,77,47,.10);margin-bottom:2rem;}
.mairie-demarches-help p{margin:.2rem 0 0;}
@media(max-width:850px){
 .mairie-demarche-category{grid-template-columns:1fr;}
 .mairie-demarche-cat-icon{position:static;}
 .mairie-demarche-row{grid-template-columns:1fr;}
 .mairie-demarches-signalement{grid-template-columns:1fr;}
 .mairie-admin-service-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:540px){.mairie-admin-service-grid{grid-template-columns:1fr;}.mairie-demarches-help{flex-direction:column;align-items:flex-start;}}


/* RC11-1 — Pages immersives : suppression du titre natif WordPress/Kadence */
body.mairie-page-immersive .entry-hero,
body.mairie-page-immersive .entry-header,
body.mairie-page-immersive .page-header,
body.mairie-page-immersive .entry-title,
body.mairie-page-immersive h1.entry-title,
body.mairie-page-immersive .kadence-title-bar,
body.mairie-page-immersive .kt-title-bar-wrap,
body.mairie-page-immersive .wp-block-post-title{
  display:none !important;
}

body.mairie-page-immersive .content-area,
body.mairie-page-immersive .site-main,
body.mairie-page-immersive .entry-content,
body.mairie-page-immersive article.page,
body.mairie-page-immersive .content-container{
  margin-top:0 !important;
  padding-top:0 !important;
}

body.mairie-page-immersive .entry-content > *:first-child{
  margin-top:0 !important;
}

/* RC13.2 — Normalisation finale des heroes primaires / secondaires
   Objectif : neutraliser les anciennes variantes RC12 sans patch page par page. */

/* Socle hero primaire : grandes portes d'entrée */
.m12e3-hero,
.m12e2-hero,
.m12e1-hero,
.mlfug-hero,
.mairie-vie-hero-full,
.mairie-vie-municipale-hero,
.mairie-vie-hero,
.vie-municipale-hero,
.mairie-demarches-hero,
.mairie-page-hero,
.mairie-hero:not(.mairie-hero-secondary){
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  min-height:300px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#0f4d2f !important;
  background-image:none !important;
  color:#fff !important;
  text-align:left !important;
  text-shadow:none !important;
}

.m12e3-hero > div,
.m12e2-hero > div,
.m12e1-hero > div,
.mlfug-hero > div,
.mairie-vie-hero-full > div,
.mairie-vie-municipale-hero > div,
.mairie-vie-hero > div,
.vie-municipale-hero > div,
.mairie-demarches-hero > div,
.mairie-page-hero > div,
.mairie-hero:not(.mairie-hero-secondary) > div{
  width:min(1120px,92vw) !important;
  margin:0 auto !important;
  padding:3.5rem 0 !important;
  text-align:left !important;
  text-shadow:none !important;
}

.m12e3-hero h1,
.m12e2-hero h1,
.m12e1-hero h1,
.mlfug-hero h1,
.mairie-vie-hero-full h1,
.mairie-vie-municipale-hero h1,
.mairie-vie-hero h1,
.vie-municipale-hero h1,
.mairie-demarches-hero h1,
.mairie-page-hero h1,
.mairie-hero:not(.mairie-hero-secondary) h1{
  color:#fff !important;
  font-size:clamp(3rem,7vw,6rem) !important;
  line-height:1 !important;
  margin:0 0 1rem !important;
  font-weight:900 !important;
  text-align:left !important;
  text-shadow:none !important;
}

.m12e3-hero p,
.m12e2-hero p,
.m12e1-hero p,
.mlfug-hero p,
.mairie-vie-hero-full p,
.mairie-vie-municipale-hero p,
.mairie-vie-hero p,
.vie-municipale-hero p,
.mairie-demarches-hero p,
.mairie-page-hero p,
.mairie-hero:not(.mairie-hero-secondary) p{
  color:#fff !important;
  font-size:1.2rem !important;
  line-height:1.5 !important;
  max-width:760px !important;
  margin:0 !important;
  text-align:left !important;
  text-shadow:none !important;
}

/* Vie municipale avait un h2 intermédiaire hérité : on le conserve comme sous-titre fort,
   mais on le remet dans la même logique visuelle que les autres heroes. */
.mairie-vie-hero-full h2,
.vie-municipale-hero h2,
.mairie-vie-municipale-hero h2{
  color:#fff !important;
  font-size:clamp(1.15rem,2.2vw,1.65rem) !important;
  line-height:1.25 !important;
  margin:0 0 1rem !important;
  font-weight:800 !important;
  text-align:left !important;
  text-shadow:none !important;
}

/* Socle hero secondaire : pages internes, listes et détails. */
.m12e4-hero,
.m12e41-hero,
.mlfug-detail-hero,
.mairie-hero-secondary{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  min-height:205px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#0f4d2f !important;
  background-image:none !important;
  color:#fff !important;
  text-align:left !important;
}

.m12e4-hero > div,
.m12e41-hero > div,
.mlfug-detail-hero > div,
.mairie-hero-secondary > div{
  width:min(1120px,92vw) !important;
  margin:0 auto !important;
  padding:2rem 0 !important;
  text-align:left !important;
}

.m12e4-hero h1,
.m12e41-hero h1,
.mlfug-detail-hero h1,
.mairie-hero-secondary h1{
  color:#fff !important;
  font-size:clamp(2.05rem,4vw,3.4rem) !important;
  line-height:1.05 !important;
  margin:0 0 .55rem !important;
  font-weight:900 !important;
  text-align:left !important;
}

.m12e4-hero p,
.m12e41-hero p,
.mlfug-detail-hero p,
.mairie-hero-secondary p{
  color:#fff !important;
  max-width:760px !important;
  font-size:clamp(1rem,1.45vw,1.18rem) !important;
  line-height:1.55 !important;
  margin:0 !important;
  opacity:.96 !important;
  text-align:left !important;
}

.m12e4-breadcrumb,
.m12e41-breadcrumb,
.mlfug-detail-hero .mairie-breadcrumb,
.mairie-hero-secondary .mairie-breadcrumb{
  display:block !important;
  color:#fff !important;
  font-weight:800 !important;
  opacity:.92 !important;
  font-size:.92rem !important;
  line-height:1.35 !important;
  margin:0 0 .75rem !important;
}

/* Les breadcrumbs restent absents des heroes primaires. */
.m12e3-hero .mairie-breadcrumb,
.m12e2-hero .mairie-breadcrumb,
.m12e1-hero .mairie-breadcrumb,
.mlfug-hero .mairie-breadcrumb,
.mairie-vie-hero-full .mairie-breadcrumb,
.mairie-vie-municipale-hero .mairie-breadcrumb,
.mairie-vie-hero .mairie-breadcrumb,
.vie-municipale-hero .mairie-breadcrumb,
.mairie-demarches-hero .mairie-breadcrumb,
.mairie-page-hero .mairie-breadcrumb,
.mairie-hero:not(.mairie-hero-secondary) .mairie-breadcrumb{
  display:none !important;
}

@media(max-width:900px){
  .m12e3-hero,
  .m12e2-hero,
  .m12e1-hero,
  .mlfug-hero,
  .mairie-vie-hero-full,
  .mairie-vie-municipale-hero,
  .mairie-vie-hero,
  .vie-municipale-hero,
  .mairie-demarches-hero,
  .mairie-page-hero,
  .mairie-hero:not(.mairie-hero-secondary){
    min-height:250px !important;
  }

  .m12e4-hero,
  .m12e41-hero,
  .mlfug-detail-hero,
  .mairie-hero-secondary{
    min-height:175px !important;
  }
}


/* RC13.20 — ScrollSpy marqueurs + mobile Archives */
.mairie-scrollspy-marker{
  display:block !important;
  position:relative !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
  visibility:hidden !important;
}
.mairie-section{
  scroll-margin-top:0 !important;
}
.mairie-scrollspy a[aria-current="true"]{
  background:#1f6b43 !important;
  color:#fff !important;
}
.mairie-archives-menu summary::-webkit-details-marker{display:none;}
.mairie-archives-menu summary{list-style:none;}
.mairie-archives-menu[open] summary{
  background:#1f6b43 !important;
  color:#fff !important;
}
.mairie-archives-list a{
  display:block !important;
}
@media(max-width:768px){
  .mairie-scrollspy{
    overflow:visible !important;
    align-items:center !important;
  }
  .mairie-scrollspy a,
  .mairie-archives-menu summary{
    flex:0 0 auto !important;
  }
  .mairie-archives-menu{
    position:relative !important;
    flex:0 0 auto !important;
  }
  .mairie-archives-menu .mairie-archives-list,
  .mairie-archives-menu div{
    position:absolute !important;
    z-index:2000 !important;
    right:0 !important;
    left:auto !important;
    top:calc(100% + .45rem) !important;
    max-height:55vh !important;
    overflow:auto !important;
  }
}


/* RC13.22 — ScrollSpy UX compacte */
.mairie-scrollspy-years{
  gap:.55rem !important;
}
.mairie-archives-menu.is-active > summary{
  background:#1f6b43 !important;
  color:#fff !important;
}
.mairie-archives-list{
  grid-template-columns:1fr !important;
}
.mairie-archives-list a{
  white-space:nowrap !important;
}
@media(max-width:768px){
  .equipe-scrollspy{
    justify-content:flex-start !important;
    gap:.5rem !important;
  }
  .equipe-scrollspy a{
    min-width:44px !important;
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:.45rem .6rem !important;
  }
  .equipe-scrollspy a .mairie-scrollspy-label{
    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;
  }
  .equipe-scrollspy a::before{
    content:attr(data-mobile-icon);
    font-size:.95rem;
    line-height:1;
    letter-spacing:-.08em;
  }

  .equipe-scrollspy a.mairie-mobile-icon-table{
    position:relative !important;
  }
  .equipe-scrollspy a.mairie-mobile-icon-table::before{
    content:"" !important;
    width:24px !important;
    height:13px !important;
    border:2px solid currentColor !important;
    border-radius:999px !important;
    box-sizing:border-box !important;
    display:block !important;
    background:transparent !important;
    letter-spacing:0 !important;
  }
  .equipe-scrollspy a.mairie-mobile-icon-table::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:26px !important;
    height:10px !important;
    transform:translate(-50%,3px) !important;
    background:
      linear-gradient(currentColor,currentColor) 4px 0/2px 8px no-repeat,
      linear-gradient(currentColor,currentColor) 10px 1px/2px 8px no-repeat,
      linear-gradient(currentColor,currentColor) 16px 1px/2px 8px no-repeat,
      linear-gradient(currentColor,currentColor) 22px 0/2px 8px no-repeat !important;
    opacity:.95 !important;
    pointer-events:none !important;
  }
  .mairie-scrollspy-years{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
  }
  .mairie-scrollspy-years > a,
  .mairie-scrollspy-years .mairie-archives-menu > summary{
    white-space:nowrap !important;
  }
}


/* RC13.25 — bouton retour en haut dans les ScrollSpy */
.mairie-scrollspy-top{
  border:1px solid #dfe9df;
  background:#fff;
  color:#1f3d2b;
  border-radius:999px;
  width:2.35rem;
  min-width:2.35rem;
  height:2.35rem;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(20,54,32,.08);
}
.mairie-scrollspy-top:hover,
.mairie-scrollspy-top:focus{
  background:#1f6b43;
  color:#fff;
  outline:none;
}
@media(max-width:768px){
  .mairie-scrollspy-top{width:2.1rem;min-width:2.1rem;height:2.1rem;}
}


/* RC13.26 — micro-ajustements bouton retour haut ScrollSpy */
.mairie-scrollspy-top{
  display:inline-grid !important;
  place-items:center !important;
  align-self:center !important;
  vertical-align:middle !important;
  line-height:1 !important;
  padding:0 0 2px 0 !important;
  margin:0 !important;
}
.mairie-scrollspy-top.active,
.mairie-scrollspy-top[aria-current="true"]{
  background:#fff !important;
  color:#1f3d2b !important;
}
.mairie-scrollspy-top:focus:not(:focus-visible){
  background:#fff !important;
  color:#1f3d2b !important;
  outline:none !important;
}
.mairie-scrollspy-top:focus-visible,
.mairie-scrollspy-top:hover{
  background:#1f6b43 !important;
  color:#fff !important;
}


/* Recette v1.0 — détails Conseil, documents officiels et éditos */
.mairie-conseil-scrollspy{margin-top:1rem}
.mairie-edito-detail .mairie-edito-html{font-size:1.08rem;line-height:1.75}
.mairie-edito-detail .mairie-edito-html p:first-of-type::first-letter{font-size:2.2rem;font-weight:700;color:#1f6b43;float:left;line-height:.9;margin:.12rem .35rem 0 0}
.mairie-cem-box pre{white-space:pre-wrap;background:#f6f1e7;border:1px solid #e5d7bd;border-radius:14px;padding:1rem;font-family:inherit}
.mairie-doc-officiel-card h3 a,.mairie-conseil-deliberations h3 a{text-decoration:none;color:inherit}
.mairie-doc-officiel-card h3 a:hover,.mairie-conseil-deliberations h3 a:hover{text-decoration:underline}
.mairie-scrollspy-top{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;text-align:center!important;font-size:1rem!important}
.mairie-scrollspy-top:focus:not(:focus-visible),.mairie-scrollspy-top.active,.mairie-scrollspy-top[aria-current="true"]{background:#fff!important;color:#1f3d2b!important;outline:none!important}

/* Bêta 1.1 — polissage recette globale */
.mairie-scrollspy-top{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
  transform:none !important;
}
.mairie-scrollspy-top::before{line-height:1;display:block;transform:translateY(-.02em)}
@media(max-width:768px){
  .mairie-conseil-scrollspy a[data-icon]{font-size:0 !important;width:2.15rem;min-width:2.15rem;height:2.15rem;padding:0 !important;display:inline-flex;align-items:center;justify-content:center;}
  .mairie-conseil-scrollspy a[data-icon]::before{content:attr(data-icon);font-size:1rem;line-height:1;}
  .mairie-conseil-scrollspy .mairie-scrollspy-top{width:2.15rem;min-width:2.15rem;height:2.15rem;}
}
.mairie-edito-magazine{display:block;}
.mairie-edito-magazine .mairie-carnet-intro{background:#fbf8f1;border:1px solid #e8d9b9;border-radius:18px;padding:1.15rem 1.3rem;}
.mairie-edito-takeaways{background:#f7f5ed;border:1px solid rgba(31,77,47,.10);border-radius:20px;padding:1.25rem 1.35rem;margin:1.4rem 0;box-shadow:0 12px 26px rgba(16,32,51,.05);}
.mairie-edito-takeaways h2{margin-top:0;color:#0f4d2f;}
.mairie-edito-takeaways ul{margin:.6rem 0 0;padding-left:1.1rem;display:grid;gap:.55rem;}
.mairie-edito-html .edito-maire-html > p{margin:.85rem 0;}
.mairie-edito-html .edito-maire-html > p:first-of-type::first-letter{font-size:2.35rem;font-weight:800;color:#1f6b43;float:left;line-height:.9;margin:.12rem .4rem 0 0;}
.mairie-edito-html .edito-maire-html p{max-width:72ch;}
.mairie-carnet-card{min-height:0 !important;}
.mairie-carnet-card .mairie-carnet-body{display:block;}
.mairie-carnet-card .mairie-button{margin-top:.25rem;}
.mairie-delib-resume{font-weight:600;color:#193524;}
.mairie-delib-detail{background:#fbf8f1;border:1px solid #eadfc7;border-radius:14px;padding:.9rem 1rem;margin:.8rem 0;}
.mairie-delib-detail p{margin:0;}

/* RC montrable maire — orfèvrerie éditoriale */
.single-mc_carnet_maire .entry-hero,
.single-mc_carnet_maire .entry-hero-container,
.single-mc_carnet_maire .mairie-hero,
.single-mc_carnet_maire .mairie-primary-hero{
  display:none !important;
}
.mairie-publication-detail{
  max-width:1040px;
  margin:0 auto;
}
.mairie-edito-magazine-wrap{
  background:#fff;
  border-radius:18px;
  padding:0 0 2rem;
}
.mc-edito-magazine{
  display:block;
  max-width:980px;
  margin:0 auto;
  color:#10243a;
}
.mc-edito-hero{
  background:linear-gradient(135deg,#0f4d2f,#155d39);
  color:#fff;
  border-radius:0 0 22px 22px;
  padding:3.2rem 3.5rem 2.8rem;
  margin:0 -1rem 2.2rem;
  box-shadow:0 18px 36px rgba(11,58,35,.18);
}
.mc-edito-hero .mc-kicker{
  margin:0 0 1.1rem;
  font-weight:800;
  letter-spacing:.02em;
  opacity:.95;
}
.mc-edito-hero .mc-kicker::first-letter{
  font-size:2.4rem;
  color:#d8b75a;
  line-height:.8;
  margin-right:.08rem;
}
.mc-edito-hero h1{
  color:#fff;
  font-size:clamp(2.2rem,5vw,4rem);
  line-height:1.04;
  margin:0 0 1rem;
  max-width:12ch;
}
.mc-edito-hero .mc-chapeau{
  max-width:68ch;
  font-size:1.15rem;
  line-height:1.75;
  margin:0;
  color:#f4f7f1;
}
.mairie-publication-meta{
  max-width:980px;
  margin:1.4rem auto 0;
}
.mairie-publication-meta .mairie-meta-grid{
  margin-top:0;
}
.mc-edito-retain,
.mc-highlight-card,
.mairie-conseil-publication .mc-highlight-card{
  background:#f7f5ed;
  border:1px solid #e4dac2;
  border-radius:20px;
  padding:1.35rem 1.55rem;
  margin:1.6rem 0;
  box-shadow:0 12px 28px rgba(17,43,29,.05);
}
.mc-edito-retain h2,
.mc-highlight-card h3,
.mc-highlight-card h2{
  margin-top:0;
  color:#0f4d2f;
}
.mc-edito-retain ul,
.mc-highlight-card ul{
  margin:.75rem 0 0;
  padding-left:1.2rem;
  display:grid;
  gap:.55rem;
}
.mc-mag-section,
.mc-regard,
.mairie-publication-body .mc-mag-section,
.mairie-publication-body .mc-regard{
  margin:1.9rem 0;
}
.mc-mag-section h2,
.mc-regard h2,
.mairie-publication-body h2,
.mairie-publication-body h3{
  color:#10243a;
  margin:1.3rem 0 .65rem;
  line-height:1.2;
}
.mc-mag-section p,
.mc-regard p,
.mairie-publication-body p{
  font-size:1.06rem;
  line-height:1.75;
  margin:.55rem 0;
}
.mc-edito-magazine > .mc-mag-section,
.mc-edito-magazine > .mc-regard,
.mc-edito-magazine > .mc-edito-retain,
.mc-edito-magazine > .mc-edito-signature{
  margin-left:1.4rem;
  margin-right:1.4rem;
}
.mc-edito-magazine > .mc-mag-section:first-of-type p:first-of-type::first-letter{
  float:left;
  font-size:2.35rem;
  font-weight:800;
  line-height:.9;
  color:#1f6b43;
  margin:.18rem .42rem 0 0;
}
.mc-regard{
  border-left:5px solid #1f6b43;
  background:#fbf8f1;
  border-radius:0 16px 16px 0;
  padding:1rem 1.25rem;
}
.mc-edito-signature{
  font-weight:700;
  color:#173321;
  margin-top:2rem;
  padding-top:1rem;
  border-top:1px solid #eadfc7;
}
.mairie-official-download .mairie-docs{
  margin-top:.7rem;
}
.mairie-conseil-resume .mairie-publication-body{
  display:block;
}
.mairie-conseil-resume .mc-publication{
  margin:0;
}
.mairie-conseil-resume .mc-chapeau{
  background:#fbf8f1;
  border:1px solid #eadfc7;
  border-radius:18px;
  padding:1.15rem 1.25rem;
  margin:0 0 1.35rem;
}
.mairie-conseil-resume .mc-chapeau p{
  margin:0;
  line-height:1.75;
}
.mairie-delib-detail.mairie-publication-body{
  background:#fbf8f1;
  border:1px solid #eadfc7;
  border-radius:18px;
  padding:1.15rem 1.25rem;
  margin:1rem 0;
}
.mc-fiche-deliberation h3{
  margin:1.15rem 0 .45rem;
  color:#0f4d2f;
  font-size:1.12rem;
}
.mc-fiche-deliberation h3:first-child{margin-top:0;}
.mc-fiche-deliberation p{line-height:1.7;margin:.3rem 0 .85rem;}
.mc-fiche-deliberation .mc-highlight-card{
  margin:.9rem 0 0;
  padding:1rem 1.1rem;
  border-radius:16px;
}
.mairie-doc-detail .mairie-section{
  margin-top:1.5rem;
  margin-bottom:1.5rem;
}
.mairie-doc-publication .mairie-publication-body{
  max-width:76ch;
}
.mairie-doc-publication .mairie-publication-body h2{
  margin-top:1.45rem;
}
.mairie-doc-publication .mairie-publication-body ul{
  display:grid;
  gap:.45rem;
}
.mairie-carnet-card{
  width:100%;
}
.mairie-carnet-card .mairie-carnet-body{
  width:100%;
}
.mairie-carnet-card p{
  max-width:86ch;
}
@media(max-width:768px){
  .mc-edito-hero{padding:2.2rem 1.35rem;margin:0 0 1.5rem;border-radius:0 0 18px 18px;}
  .mc-edito-hero h1{font-size:2.15rem;max-width:none;}
  .mc-edito-magazine > .mc-mag-section,
  .mc-edito-magazine > .mc-regard,
  .mc-edito-magazine > .mc-edito-retain,
  .mc-edito-magazine > .mc-edito-signature{margin-left:0;margin-right:0;}
}

/* RC Maire FINAL — corrections présentation avant démo maire */
/* 1) Empêche le hero thème/Kadence de se réinjecter au milieu des pages Conseil. */
.single-mc_conseil .entry-hero,
.single-mc_conseil .entry-hero-container,
.single-mc_conseil .mairie-hero,
.single-mc_conseil .mairie-primary-hero,
.single-mc_conseil .mairie-hero-secondary,
.single-mc_conseil .mlfug-detail-hero,
.single-mc_conseil .m12e4-hero,
.single-mc_conseil .m12e41-hero{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.single-mc_conseil .content-area,
.single-mc_conseil .site-main,
.single-mc_conseil main{
  background:transparent !important;
}
.single-mc_conseil .mairie-section{
  position:relative !important;
  z-index:1 !important;
}
.single-mc_conseil .mairie-conseil-scrollspy{
  position:sticky !important;
  z-index:30 !important;
}

/* 2) Rythme éditorial commun : les chapitres respirent, surtout Documents extérieurs / ARS. */
.mairie-publication-body h2,
.mairie-publication-body h3,
.mairie-doc-publication .mairie-publication-body h2,
.mairie-doc-publication .mairie-publication-body h3{
  margin-top:2.35rem !important;
  margin-bottom:.75rem !important;
}
.mairie-publication-body h2:first-child,
.mairie-publication-body h3:first-child,
.mairie-doc-publication .mairie-publication-body h2:first-child,
.mairie-doc-publication .mairie-publication-body h3:first-child{
  margin-top:0 !important;
}
.mairie-doc-publication .mairie-publication-body p + h2,
.mairie-doc-publication .mairie-publication-body ul + h2,
.mairie-doc-publication .mairie-publication-body p + h3,
.mairie-doc-publication .mairie-publication-body ul + h3{
  margin-top:2.6rem !important;
}
.mairie-doc-publication .mairie-publication-body p{
  margin:.55rem 0 1rem !important;
  line-height:1.75 !important;
}

/* 3) Harmonisation visuelle du bloc "Ce qu'il faut retenir" et des fiches de délibérations. */
.mairie-conseil-resume .mc-highlight-card,
.mairie-doc-publication .mc-highlight-card,
.mc-highlight-card{
  background:#f7f5ed !important;
  border:1px solid #e4dac2 !important;
  border-radius:20px !important;
  padding:1.35rem 1.55rem !important;
  margin:1.65rem 0 !important;
  box-shadow:0 12px 28px rgba(17,43,29,.05) !important;
}
.mc-fiche-deliberation h3,
.mairie-delib-detail.mairie-publication-body h3{
  display:block !important;
  margin:1.35rem 0 .55rem !important;
  color:#0f4d2f !important;
  font-size:1.08rem !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}
.mc-fiche-deliberation h3:first-child,
.mairie-delib-detail.mairie-publication-body h3:first-child{
  margin-top:0 !important;
}
.mc-fiche-deliberation p,
.mairie-delib-detail.mairie-publication-body p{
  margin:.35rem 0 1rem !important;
  line-height:1.75 !important;
}

/* 4) Sécurité : les éléments full-width des autres gabarits ne doivent pas traverser les publications singulières. */
.single-mc_conseil .mairie-publication-detail,
.single-mairie_doc_ext .mairie-publication-detail,
.single-mc_carnet_maire .mairie-publication-detail{
  position:relative !important;
  z-index:2 !important;
}


/* RC Maire v7 — sécurité définitive Vie municipale */
body.mairie-vie-page #inner-wrap,
body.mairie-vie-page #wrapper,
body.mairie-vie-page #primary,
body.mairie-vie-page #main,
body.mairie-vie-page .content-area,
body.mairie-vie-page .site-main,
body.mairie-vie-page .site-container,
body.mairie-vie-page .content-container,
body.m12e52-vie-municipale #inner-wrap,
body.m12e52-vie-municipale #wrapper,
body.m12e52-vie-municipale #primary,
body.m12e52-vie-municipale #main,
body.m12e52-vie-municipale .content-area,
body.m12e52-vie-municipale .site-main,
body.m12e52-vie-municipale .site-container,
body.m12e52-vie-municipale .content-container{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  min-height:0 !important;
}
body.mairie-vie-page .mairie-vie-shortcuts,
body.mairie-vie-page .mairie-vie-section,
body.mairie-vie-page .mairie-vie-portal,
body.mairie-vie-page .mairie-vie-municipale{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* RC Maire v8 — Dernier édito sur Vie municipale */
.mairie-carnet-feature .mairie-feature-card-latest-edito{min-height:auto;}
.mairie-carnet-feature .mairie-feature-card-latest-edito h3{font-size:clamp(1.6rem,2.5vw,2.2rem);margin:.5rem 0 .75rem;}
.mairie-carnet-feature .mairie-feature-card-latest-edito .mairie-doc-date{margin:.35rem 0;color:#2f6b43;font-weight:700;}
.mairie-carnet-feature .mairie-feature-card-latest-edito p:last-child{margin-bottom:0;}


/* Publications du maire — ajustements sprint v1.0 */
.mairie-carnet-card--no-thumb{
  grid-template-columns:minmax(0,1fr) !important;
}
.mairie-carnet-card--no-thumb .mairie-carnet-body{
  width:100%;
  max-width:none;
}
.mairie-carnet-card--no-thumb .mairie-carnet-body > p:not(.mairie-doc-date){
  max-width:72ch;
}
.mc-prose-section .mc-edito-paragraph{
  text-indent:1.65em;
}
.mc-prose-section .mc-edito-paragraph::first-letter{
  float:left;
  margin:.12rem .42rem 0 0;
  color:#2f7250;
  font-family:Georgia,serif;
  font-size:2.35rem;
  font-weight:700;
  line-height:.82;
}
@media (max-width:760px){
  .mc-edito-magazine{
    width:100%;
    max-width:none;
  }
  .mc-edito-magazine > .mc-edito-retain,
  .mc-edito-magazine > .mc-mag-section,
  .mc-edito-magazine > .mc-edito-signature{
    margin-left:.45rem !important;
    margin-right:.45rem !important;
  }
  .mc-edito-magazine > .mc-mag-section{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .mc-edito-magazine > .mc-edito-retain{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .mc-prose-section .mc-edito-paragraph{
    max-width:none !important;
    font-size:1rem !important;
    line-height:1.72 !important;
    text-indent:1.25em;
  }
}


/* ========================================================================== 
   RC14.0a — Vie municipale rurale et immersive
   Périmètre volontairement limité :
   - nouveau hero photographique sur la page portail Vie municipale ;
   - portraits des élus au ratio 4:5 ;
   - disposition, contenu et fonctionnement des cartes inchangés.
   ========================================================================== */

/* Hero collectif : la photo remplace le grand titre visible. */
.mairie-primary-hero-vie-municipale.mairie-vie-collective-hero{
  position:relative;
  width:100vw;
  max-width:none;
  min-height:clamp(340px,48vw,620px);
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0;
  overflow:hidden;
  background-image:var(--mairie-vie-hero-image);
  background-size:cover;
  background-position:center 44%;
  background-repeat:no-repeat;
  border-radius:0;
  isolation:isolate;
}
.mairie-vie-collective-hero-overlay{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(10,34,22,.06) 0%,rgba(10,34,22,.02) 48%,rgba(10,34,22,.34) 100%),
    linear-gradient(90deg,rgba(15,46,30,.14) 0%,transparent 28%,transparent 72%,rgba(15,46,30,.10) 100%);
  pointer-events:none;
}
.mairie-vie-collective-hero-inner{
  position:relative;
  z-index:1;
  width:min(1120px,92vw);
  min-height:inherit;
  margin:0 auto;
}

/* Portraits : seule la fenêtre photographique évolue, pas les cartes. */
.mairie-elu-card .mairie-card-image.mairie-elu-portrait{
  position:relative;
  aspect-ratio:4 / 5;
  height:auto;
  overflow:hidden;
  background:#edf2ec;
}
.mairie-elu-card .mairie-card-image.mairie-elu-portrait img{
  width:100%;
  height:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:50% 50%;
  display:block;
}

/* La carte du maire garde sa largeur et son agencement existants. */
.mairie-featured-card .mairie-card-image.mairie-elu-portrait img{
  height:100%;
}

/* Ajustements de cadrage dédiés aux photos actuellement disponibles.
   Les classes proviennent automatiquement du slug de chaque fiche élu. */
.mairie-elu-card-henri-dozol .mairie-elu-portrait img{object-position:50% 43%;}
.mairie-elu-card-pierre-reynaud .mairie-elu-portrait img{object-position:50% 46%;}
.mairie-elu-card-sebastien-jacomet .mairie-elu-portrait img{object-position:50% 42%;}
.mairie-elu-card-denise-honnoraty .mairie-elu-portrait img{object-position:50% 45%;}
.mairie-elu-card-jean-pellegrin .mairie-elu-portrait img{object-position:50% 44%;}
.mairie-elu-card-jennyfer-balthazard .mairie-elu-portrait img{object-position:50% 42%;}
.mairie-elu-card-nathalie-rigault .mairie-elu-portrait img{object-position:50% 46%;}
.mairie-elu-card-celine-di-popolo .mairie-elu-portrait img{object-position:50% 43%;}
.mairie-elu-card-olivier-masse .mairie-elu-portrait img{object-position:50% 45%;}

@media (max-width:820px){
  .mairie-primary-hero-vie-municipale.mairie-vie-collective-hero{
    min-height:clamp(300px,70vw,470px);
    background-position:center 42%;
  }
}
@media (max-width:520px){
  .mairie-primary-hero-vie-municipale.mairie-vie-collective-hero{
    min-height:clamp(270px,76vw,390px);
    /* Sur écran étroit, on garde le groupe au centre sans zoom excessif. */
    background-size:cover;
    background-position:center 43%;
  }
}


/* ========================================================================== 
   RC14.0b — Hero collectif de la page Équipe + maire éditorial sur ordinateur
   ========================================================================== */

/* Le hero concerné est celui de la page secondaire /equipe-municipale/. */
.mairie-hero-secondary.mairie-equipe-collective-hero{
  position:relative;
  width:100vw;
  max-width:none;
  min-height:clamp(330px,42vw,560px);
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0 !important;
  overflow:hidden;
  background-image:var(--mairie-equipe-hero-image) !important;
  background-size:cover !important;
  background-position:center 45% !important;
  background-repeat:no-repeat !important;
  border-radius:0;
  isolation:isolate;
}
.mairie-equipe-collective-overlay{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(8,31,20,.10) 0%,rgba(8,31,20,.02) 55%,rgba(8,31,20,.35) 100%),
    linear-gradient(90deg,rgba(8,31,20,.18) 0%,transparent 32%,transparent 78%,rgba(8,31,20,.08) 100%);
  pointer-events:none;
}
.mairie-hero-secondary.mairie-equipe-collective-hero > .mairie-equipe-collective-inner{
  position:relative;
  z-index:1;
  width:min(1120px,92vw);
  min-height:inherit;
  margin:0 auto;
  padding:1.1rem 0 !important;
  display:flex;
  align-items:flex-start;
}
.mairie-equipe-collective-hero .m12e4-breadcrumb{
  color:#fff !important;
  text-shadow:0 1px 5px rgba(0,0,0,.55);
  background:rgba(14,54,35,.42);
  padding:.38rem .65rem;
  border-radius:999px;
  backdrop-filter:blur(2px);
}

/* Sur ordinateur, la carte du maire devient horizontale sans changer son contenu. */
@media (min-width:821px){
  .mairie-grid-single .mairie-featured-card.mairie-elu-card{
    display:grid;
    grid-template-columns:minmax(280px,38%) minmax(0,1fr);
    column-gap:1.4rem;
    align-items:start;
  }
  .mairie-grid-single .mairie-featured-card.mairie-elu-card > .mairie-card-image{
    grid-column:1;
    grid-row:1 / span 20;
    margin:-1.25rem 0 -1.25rem -1.25rem;
    height:100%;
    min-height:520px;
    aspect-ratio:auto;
  }
  .mairie-grid-single .mairie-featured-card.mairie-elu-card > .mairie-card-image img{
    width:100%;
    height:100%;
    min-height:520px;
    aspect-ratio:auto;
    object-fit:cover;
  }
  .mairie-grid-single .mairie-featured-card.mairie-elu-card > :not(.mairie-card-image){
    grid-column:2;
  }
  .mairie-grid-single .mairie-featured-card.mairie-elu-card .mairie-elu-head{
    margin-top:.1rem;
  }
}

@media (max-width:820px){
  .mairie-hero-secondary.mairie-equipe-collective-hero{
    min-height:clamp(290px,68vw,440px);
    background-position:center 44% !important;
  }
}
@media (max-width:520px){
  .mairie-hero-secondary.mairie-equipe-collective-hero{
    min-height:clamp(250px,76vw,360px);
    background-position:center 43% !important;
  }
  .mairie-equipe-collective-hero .m12e4-breadcrumb{
    font-size:.78rem !important;
  }
}

/* ========================================================================== 
   RC14.0c — Plus Le Fugeret
   - ordinateur : la photo collective est montrée dans toute sa hauteur,
     sans recadrage destructif ; les marges latérales sont assumées ;
   - mobile : comportement RC14.0b conservé, déjà validé ;
   - maire : retour à la carte verticale immersive de RC14.0a.
   ========================================================================== */

@media (min-width:821px){
  .mairie-hero-secondary.mairie-equipe-collective-hero{
    min-height:clamp(560px,52vw,790px);
    background-color:#173f2b !important;
    background-size:contain !important;
    background-position:center center !important;
  }

  /* Le voile reste discret : la photo et le bâtiment doivent dominer. */
  .mairie-equipe-collective-overlay{
    background:
      linear-gradient(180deg,rgba(8,31,20,.04) 0%,rgba(8,31,20,.01) 58%,rgba(8,31,20,.20) 100%),
      linear-gradient(90deg,rgba(8,31,20,.20) 0%,transparent 18%,transparent 82%,rgba(8,31,20,.20) 100%);
  }

  /* Annulation de la disposition horizontale introduite en RC14.0b. */
  .mairie-grid-single .mairie-featured-card.mairie-elu-card{
    display:block;
  }
  .mairie-grid-single .mairie-featured-card.mairie-elu-card > .mairie-card-image{
    margin:0;
    height:auto;
    min-height:0;
    aspect-ratio:4 / 5;
  }
  .mairie-grid-single .mairie-featured-card.mairie-elu-card > .mairie-card-image img{
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:4 / 5;
    object-fit:cover;
  }
  .mairie-grid-single .mairie-featured-card.mairie-elu-card > :not(.mairie-card-image){
    grid-column:auto;
  }
}


/* ========================================================================== 
   RC14.0d — Retouches finales de recette
   - image des heroes sécurisée par une balise <img> ;
   - suppression des halos/voiles sur ordinateur et mobile ;
   - fil d’Ariane centré dans sa cartouche sur ordinateur ;
   - cadrage Henri Dozol légèrement déplacé vers la gauche.
   ========================================================================== */

.mairie-vie-collective-hero-image,
.mairie-equipe-collective-image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 44%;
}

/* Le héros de Vie municipale ne dépend plus exclusivement du background CSS. */
.mairie-primary-hero-vie-municipale.mairie-vie-collective-hero{
  background-image:none !important;
  background-color:#173f2b;
}

/* Suppression complète du halo et des voiles sur les deux heroes collectifs. */
.mairie-vie-collective-hero-overlay,
.mairie-equipe-collective-overlay{
  display:none !important;
  background:none !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
}

/* Henri doit apparaître légèrement plus à gauche dans sa fenêtre. */
.mairie-elu-card-henri-dozol .mairie-elu-portrait img{
  object-position:58% 43% !important;
}

@media (min-width:821px){
  .mairie-equipe-collective-image{
    object-fit:contain;
    object-position:center center;
  }
  .mairie-equipe-collective-hero .m12e4-breadcrumb{
    display:block;
    width:max-content;
    max-width:calc(100% - 2rem);
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center;
  }
}

@media (max-width:820px){
  .mairie-vie-collective-hero-image,
  .mairie-equipe-collective-image{
    object-position:center 43%;
  }
}

/* RC14.0d — le contenu reste au-dessus de la photographie sécurisée. */
.mairie-vie-collective-hero-inner,
.mairie-equipe-collective-inner{position:relative;z-index:1;}


/* RC14.0f — Publications du maire : lettrine et signature institutionnelle */
.mc-edito-magazine .mc-edito-dropcap::first-letter{
  float:left;
  margin:.12rem .38rem 0 0;
  color:#1f6b43;
  font-family:Georgia, "Times New Roman", serif;
  font-size:3.15rem;
  font-weight:800;
  line-height:.78;
}
.mc-edito-signature-institutionnelle{
  margin-top:2.4rem;
  padding-top:1.4rem;
  border-top:1px solid #dfe7e1;
  text-align:right;
  font-weight:400;
}
.mc-edito-signature-institutionnelle p{
  margin:0;
}
.mc-edito-signature-institutionnelle .mc-edito-signature-place{
  color:#59665e;
  font-size:.96rem;
  font-style:italic;
}
.mc-edito-signature-institutionnelle .mc-edito-signature-name{
  margin-top:.75rem;
  color:#2f7250;
  font-size:1.16rem;
  font-weight:800;
}
.mc-edito-signature-institutionnelle .mc-edito-signature-role{
  margin-top:.08rem;
  color:#6a756e;
  font-size:.95rem;
}
@media (max-width:760px){
  .mc-edito-magazine .mc-edito-dropcap::first-letter{
    font-size:2.7rem;
    margin-right:.3rem;
  }
}


/* RC14.0f.1 — Le résumé chevauche à nouveau le héros des publications du maire. */
.single-mc_carnet_maire .mc-edito-magazine > .mc-edito-retain{
  position:relative;
  z-index:5;
  margin-top:-2.8rem !important;
}
@media (max-width:760px){
  .single-mc_carnet_maire .mc-edito-magazine > .mc-edito-retain{
    margin-top:-2rem !important;
  }
}
