/* RC13.11 — Refactor hero primaire commun
   Les 6 pages primaires partagent désormais :
   .mairie-hero.mairie-hero-primary > .mairie-hero-inner
*/

body.mairie-primary-page .entry-hero,
body.mairie-primary-page .entry-header,
body.mairie-primary-page .page-header,
body.mairie-primary-page .entry-title,
body.mairie-primary-page h1.entry-title,
body.mairie-primary-page .kadence-title-bar,
body.mairie-primary-page .kt-title-bar-wrap,
body.mairie-primary-page .wp-block-post-title{
  display:none !important;
}

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

body.mairie-primary-page .entry-content > *:first-child,
body.mairie-primary-page .mairie-primary-page-content,
body.mairie-primary-page .m12e5-home,
body.mairie-primary-page .m12e2-page,
body.mairie-primary-page .mairie-page-portal,
body.mairie-primary-page .mairie-demarches-page{
  margin-top:0 !important;
  padding-top:0 !important;
}

.mairie-hero.mairie-hero-primary,
.mairie-primary-hero,
.mlfug-hero{
  box-sizing:border-box !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-top:0 !important;
  margin-bottom:0 !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;
  position:relative !important;
  overflow:hidden !important;
}

.mairie-hero.mairie-hero-primary > .mairie-hero-inner,
.mairie-primary-hero > .mairie-primary-hero-inner,
.mlfug-hero > div{
  box-sizing:border-box !important;
  width:min(1120px,92vw) !important;
  margin:0 auto !important;
  padding:3.5rem 0 !important;
  text-align:left !important;
  text-shadow:none !important;
}

.mairie-hero-primary .mairie-hero-kicker{
  color:#fff !important;
  margin:0 0 .7rem !important;
  font-size:.92rem !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  opacity:.9 !important;
}

.mairie-hero.mairie-hero-primary h1,
.mairie-primary-hero h1,
.mlfug-hero 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;
}

.mairie-hero.mairie-hero-primary p,
.mairie-primary-hero p,
.mlfug-hero 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;
}

/* Neutralisation des anciens heroes primaires si un shortcode historique passe encore. */
.m12e5-hero,
.m12e3-hero,
.m12e2-hero,
.m12e1-hero,
.mairie-vie-hero-full,
.mairie-vie-municipale-hero,
.mairie-vie-hero,
.vie-municipale-hero,
.mairie-demarches-hero,
.mairie-page-hero:not(.mairie-hero-secondary){
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-top:0 !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;
}

.m12e5-hero > div,
.m12e3-hero > div,
.m12e2-hero > div,
.m12e1-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:not(.mairie-hero-secondary) > div{
  width:min(1120px,92vw) !important;
  margin:0 auto !important;
  padding:3.5rem 0 !important;
  text-align:left !important;
}

.m12e5-hero h1,
.m12e3-hero h1,
.m12e2-hero h1,
.m12e1-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: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;
}

.m12e5-hero p,
.m12e3-hero p,
.m12e2-hero p,
.m12e1-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: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;
}

.m12e5-hero .mairie-breadcrumb,
.m12e3-hero .mairie-breadcrumb,
.m12e2-hero .mairie-breadcrumb,
.m12e1-hero .mairie-breadcrumb,
.mairie-vie-hero-full .mairie-breadcrumb,
.mairie-demarches-hero .mairie-breadcrumb,
.mairie-hero-primary .mairie-breadcrumb,
.mlfug-hero .mairie-breadcrumb{
  display:none !important;
}

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


/* RC13.14 — correction offset Vie municipale
   1) Vie municipale : le shortcode reste dans un wrapper WP plus bas que les 5 autres pages.
      On recale uniquement le premier hero de la page sur l'offset commun.
   2) Surface des pages primaires : on supprime les bandes latérales beige/gris pour éviter
      l'effet "couloir" autour du contenu. Les pages primaires passent en blanc plein. */
body.mairie-primary-page,
body.mairie-primary-page .site,
body.mairie-primary-page .site-main,
body.mairie-primary-page .content-area,
body.mairie-primary-page .content-container,
body.mairie-primary-page .site-container,
body.mairie-primary-page .content-wrap,
body.mairie-primary-page article.page,
body.mairie-primary-page .entry-content{
  background:#fff !important;
}

body.mairie-primary-page-vie-municipale .mairie-primary-page-content-vie-municipale > .mairie-hero-primary:first-child,
body.mairie-page-immersive-mairie_vie_municipale .mairie-primary-page-content-vie-municipale > .mairie-hero-primary:first-child,
body.mairie-vie-page .mairie-primary-page-content-vie-municipale > .mairie-hero-primary:first-child{
  margin-top:0 !important;
}

/* Si Kadence injecte une surface beige autour du contenu, on la neutralise aussi
   seulement sur les pages primaires. */
body.mairie-primary-page #primary,
body.mairie-primary-page #main,
body.mairie-primary-page .site-content,
body.mairie-primary-page .content-bg,
body.mairie-primary-page .entry,
body.mairie-primary-page .page{
  background:#fff !important;
}

@media(max-width:900px){
  body.mairie-primary-page-vie-municipale .mairie-primary-page-content-vie-municipale > .mairie-hero-primary:first-child,
  body.mairie-page-immersive-mairie_vie_municipale .mairie-primary-page-content-vie-municipale > .mairie-hero-primary:first-child,
  body.mairie-vie-page .mairie-primary-page-content-vie-municipale > .mairie-hero-primary:first-child{
    margin-top:0 !important;
  }
}

/* RC13.15 — officialisation pages finales */
body.mairie-primary-page,
body.mairie-primary-page .site,
body.mairie-primary-page .site-main,
body.mairie-primary-page .content-area{
  background:#fff !important;
}
.mairie-rc13-page .mairie-rc13-panel{
  max-width:1120px;
  margin:2rem auto 3rem;
}
.mairie-rc13-panel-inner{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:1.25rem;
  align-items:start;
  background:#fff;
  border:1px solid rgba(15,77,47,.14);
  border-radius:24px;
  padding:1.5rem;
  box-shadow:0 18px 40px rgba(15,77,47,.06);
}
.mairie-rc13-icon{
  width:56px;height:56px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:#eef7f1;font-size:1.6rem;
}
.mairie-rc13-panel h2{margin-top:0;color:#0f2b46;}
.mairie-rc13-panel ul{margin-left:1.25rem;}
.mairie-muted{color:#5f6b7a;}
.mairie-rc13-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.mairie-rc13-sitemap{columns:2;list-style:none;margin:0;padding:0;}
.mairie-rc13-sitemap li{break-inside:avoid;margin:.35rem 0;}
@media(max-width:760px){
  .mairie-rc13-panel-inner{grid-template-columns:1fr;}
  .mairie-rc13-contact-grid{grid-template-columns:1fr;}
  .mairie-rc13-sitemap{columns:1;}
}


/* RC13.16 — finitions recette
   - pages fonctionnelles : un seul hero (celui du shortcode)
   - pages secondaires : fond blanc uniforme
   - titres/sous-titres redondants masqués dans le contenu lorsque le hero les porte déjà
*/
body.mairie-core-page,
body.mairie-core-page .site,
body.mairie-core-page #page,
body.mairie-core-page #primary,
body.mairie-core-page #main,
body.mairie-core-page .site-main,
body.mairie-core-page .site-content,
body.mairie-core-page .content-area,
body.mairie-core-page .content-container,
body.mairie-core-page .site-container,
body.mairie-core-page .content-wrap,
body.mairie-core-page article.page,
body.mairie-core-page .entry,
body.mairie-core-page .entry-content,
body.mairie-core-page .m12e4-detail-content{
  background:#fff !important;
}

/* Les pages créées par RC13.16 gardent uniquement le hero primaire du shortcode. */
body.mairie-rc13-functional-page .entry-hero,
body.mairie-rc13-functional-page .entry-header,
body.mairie-rc13-functional-page .page-header,
body.mairie-rc13-functional-page .entry-title,
body.mairie-rc13-functional-page h1.entry-title,
body.mairie-rc13-functional-page .kadence-title-bar,
body.mairie-rc13-functional-page .kt-title-bar-wrap,
body.mairie-rc13-functional-page .wp-block-post-title{
  display:none !important;
}

body.mairie-rc13-functional-page .m12e4-hero,
body.mairie-rc13-functional-page .mairie-hero-secondary{
  display:none !important;
}

/* Anti-doublon : si un titre de contenu répète le titre du hero secondaire, on le masque. */
body.mairie-core-page .m12e4-detail-content > h1:first-child,
body.mairie-core-page .m12e4-detail-content > h2:first-child,
body.mairie-core-page .m12e4-detail-content > h3:first-child{
  display:none !important;
}
body.mairie-core-page .m12e4-detail-content > h1:first-child + p,
body.mairie-core-page .m12e4-detail-content > h2:first-child + p,
body.mairie-core-page .m12e4-detail-content > h3:first-child + p{
  display:none !important;
}

/* Les panneaux des pages fonctionnelles s'alignent sur le socle blanc. */
.mairie-rc13-page .mairie-rc13-panel{
  background:#fff !important;
}

/* RC13.17 — Aération des heroes secondaires
   On conserve la structure validée, mais on augmente la respiration verticale. */
.m12e4-hero,
.m12e41-hero,
.mlfug-detail-hero,
.mairie-hero-secondary{
  min-height:260px !important;
  align-items:center !important;
}

.m12e4-hero > div,
.m12e41-hero > div,
.mlfug-detail-hero > div,
.mairie-hero-secondary > div{
  padding:3.4rem 0 3.5rem !important;
}

.m12e4-breadcrumb,
.m12e41-breadcrumb,
.mlfug-detail-hero .mairie-breadcrumb,
.mairie-hero-secondary .mairie-breadcrumb{
  margin-bottom:.95rem !important;
}

.m12e4-hero h1,
.m12e41-hero h1,
.mlfug-detail-hero h1,
.mairie-hero-secondary h1{
  margin-bottom:.75rem !important;
}

@media(max-width:900px){
  .m12e4-hero,
  .m12e41-hero,
  .mlfug-detail-hero,
  .mairie-hero-secondary{
    min-height:220px !important;
  }
  .m12e4-hero > div,
  .m12e41-hero > div,
  .mlfug-detail-hero > div,
  .mairie-hero-secondary > div{
    padding:2.6rem 0 2.7rem !important;
  }
}

/* RC13.18 — Heroes secondaires : respiration verticale renforcée
   Objectif : fil d’Ariane plus haut, titre dans la zone centrale, sous-titre plus bas. */
.m12e4-hero,
.m12e41-hero,
.mlfug-detail-hero,
.mairie-hero-secondary{
  min-height:310px !important;
  align-items:stretch !important;
}

.m12e4-hero > div,
.m12e41-hero > div,
.mlfug-detail-hero > div,
.mairie-hero-secondary > div{
  min-height:310px !important;
  padding:2.15rem 0 2rem !important;
  display:grid !important;
  grid-template-rows:auto 1fr auto !important;
  align-items:center !important;
  text-align:left !important;
}

.m12e4-breadcrumb,
.m12e41-breadcrumb,
.mlfug-detail-hero .mairie-breadcrumb,
.mairie-hero-secondary .mairie-breadcrumb{
  align-self:start !important;
  margin:0 !important;
}

.m12e4-hero h1,
.m12e41-hero h1,
.mlfug-detail-hero h1,
.mairie-hero-secondary h1{
  align-self:center !important;
  margin:0 !important;
}

.m12e4-hero p,
.m12e41-hero p,
.mlfug-detail-hero p,
.mairie-hero-secondary p{
  align-self:end !important;
  margin:0 !important;
}

@media(max-width:900px){
  .m12e4-hero,
  .m12e41-hero,
  .mlfug-detail-hero,
  .mairie-hero-secondary{
    min-height:255px !important;
  }
  .m12e4-hero > div,
  .m12e41-hero > div,
  .mlfug-detail-hero > div,
  .mairie-hero-secondary > div{
    min-height:255px !important;
    padding:1.8rem 0 1.75rem !important;
  }
}
