/* Final homepage regression authority: uniform overlays, transparent text, consistent constat boxes. */
:root{
  --mdp-section-overlay-light:rgba(255,255,255,.68);
  --mdp-section-overlay-dark:rgba(17,19,21,.68);
}

.mdp-hero{
  position:relative;
  isolation:isolate;
  background-image:var(--mdp-scene-hero,linear-gradient(135deg,var(--mdp-surface),var(--mdp-bg)))!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:var(--mdp-scene-hero-position,center center)!important;
}
.mdp-hero-duplicate,.mdp-hero-art{display:none!important}

/* Exactly one full-cover overlay on every photographic homepage section. */
.mdp-landing .mdp-parallax-section>.mdp-overlay,
.mdp-hero>.mdp-overlay,
#actualites>.mdp-overlay{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
  background:var(--mdp-section-overlay-light)!important;
  opacity:1!important;
  visibility:visible!important;
}
html[data-theme='dark'] .mdp-landing .mdp-parallax-section>.mdp-overlay,
html[data-theme='dark'] .mdp-hero>.mdp-overlay,
html[data-theme='dark'] #actualites>.mdp-overlay,
body.mdp-dark .mdp-landing .mdp-parallax-section>.mdp-overlay,
body.mdp-dark .mdp-hero>.mdp-overlay,
body.mdp-dark #actualites>.mdp-overlay{
  background:var(--mdp-section-overlay-dark)!important;
}
.mdp-landing .mdp-parallax-section>.container,
.mdp-hero>.container,
#actualites>.container{
  position:relative!important;
  z-index:2!important;
}
#actualites{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
#actualites::before,#actualites::after{display:none!important;content:none!important}

/* Zero background on all homepage headings and body text. */
.mdp-landing h1,
.mdp-landing h2,
.mdp-landing h3,
.mdp-landing h4,
.mdp-landing h5,
.mdp-landing h6,
.mdp-landing p,
.mdp-landing .lead,
.mdp-landing .mdp-eyebrow,
.mdp-landing .mdp-kicker,
.mdp-landing .mdp-heading-word,
.mdp-landing .mdp-hero-word,
.mdp-landing .mdp-featured-meta,
.mdp-landing .mdp-featured-meta span,
#constat .mdp-question-grid button strong,
#constat .mdp-question-grid button span,
#constat .mdp-reveal-panel h3,
#constat .mdp-reveal-panel p{
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
  -webkit-box-decoration-break:slice!important;
  box-decoration-break:slice!important;
}

/* Hero title: two lines, no chip or band background in either theme. */
.mdp-hero h1.mdp-hero-title-normalized{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
  width:min(100%,950px)!important;
  max-width:950px!important;
  margin:.7rem 0 1.4rem!important;
  padding:0!important;
  color:var(--mdp-text)!important;
  background:none!important;
  box-shadow:none!important;
}
.mdp-hero-title-normalized .mdp-hero-line{
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:.86!important;
  color:inherit!important;
  background:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.mdp-hero-title-normalized .mdp-hero-line-second{
  display:flex!important;
  align-items:baseline!important;
  gap:.18em!important;
}
.mdp-hero-title-normalized .mdp-hero-line-second>span{
  background:none!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
.mdp-hero-title-normalized .mdp-accent{color:var(--mdp-red)!important}
html[data-theme='dark'] .mdp-hero h1.mdp-hero-title-normalized,
body.mdp-dark .mdp-hero h1.mdp-hero-title-normalized{color:var(--mdp-dark-text)!important}
html:not([data-theme='dark']) .mdp-hero h1.mdp-hero-title-normalized{color:var(--mdp-text)!important}

/* Le constat: one visual rule for every question box. */
#constat .mdp-question-grid,
#constat .mdp-constat-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1rem!important;
}
#constat .mdp-question-grid button,
#constat .mdp-constat-grid button{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:158px!important;
  margin:0!important;
  padding:1.35rem 4.25rem 1.35rem 1.35rem!important;
  border:1px solid var(--mdp-border)!important;
  border-top:4px solid var(--mdp-red)!important;
  border-radius:0!important;
  background:var(--mdp-surface)!important;
  color:var(--mdp-text)!important;
  box-shadow:var(--mdp-shadow-sm)!important;
  text-align:left!important;
}
#constat .mdp-question-grid button strong,
#constat .mdp-question-grid button span,
#constat .mdp-constat-grid button strong,
#constat .mdp-constat-grid button span{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#constat .mdp-question-grid button strong,
#constat .mdp-constat-grid button strong{
  margin-bottom:.75rem!important;
  padding-bottom:.75rem!important;
  border-bottom:1px solid var(--mdp-border)!important;
  font-size:1rem!important;
  line-height:1.25!important;
}
#constat .mdp-question-grid button span,
#constat .mdp-constat-grid button span{
  font-size:.98rem!important;
  line-height:1.55!important;
}

/* Le constat reveal panels: same box model, no text backgrounds. */
#constat .mdp-constat-panels{margin-top:1rem!important}
#constat .mdp-reveal-panel,
#constat .mdp-constat-panel{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:1rem 0 0!important;
  padding:clamp(1.4rem,3vw,2.25rem)!important;
  border:1px solid var(--mdp-border)!important;
  border-top:4px solid var(--mdp-red)!important;
  border-radius:0!important;
  background:var(--mdp-surface)!important;
  color:var(--mdp-text)!important;
  box-shadow:var(--mdp-shadow-sm)!important;
}
#constat .mdp-reveal-panel h3,
#constat .mdp-constat-panel h3{
  display:block!important;
  max-width:72ch!important;
  margin:0 3rem 1rem 0!important;
  padding:0 0 1rem!important;
  border-bottom:1px solid var(--mdp-border)!important;
  font-size:clamp(1.65rem,3vw,2.8rem)!important;
  line-height:1!important;
}
#constat .mdp-reveal-panel p,
#constat .mdp-constat-panel p{
  display:block!important;
  max-width:72ch!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  font-size:1.05rem!important;
  line-height:1.75!important;
}

html[data-theme='dark'] #constat .mdp-question-grid button,
html[data-theme='dark'] #constat .mdp-constat-grid button,
html[data-theme='dark'] #constat .mdp-reveal-panel,
html[data-theme='dark'] #constat .mdp-constat-panel,
body.mdp-dark #constat .mdp-question-grid button,
body.mdp-dark #constat .mdp-constat-grid button,
body.mdp-dark #constat .mdp-reveal-panel,
body.mdp-dark #constat .mdp-constat-panel{
  background:var(--mdp-dark-surface)!important;
  color:var(--mdp-dark-text)!important;
  border-color:var(--mdp-dark-border)!important;
  border-top-color:var(--mdp-red)!important;
}
html[data-theme='dark'] #constat .mdp-question-grid button strong,
html[data-theme='dark'] #constat .mdp-constat-grid button strong,
html[data-theme='dark'] #constat .mdp-reveal-panel h3,
html[data-theme='dark'] #constat .mdp-constat-panel h3,
body.mdp-dark #constat .mdp-question-grid button strong,
body.mdp-dark #constat .mdp-constat-grid button strong,
body.mdp-dark #constat .mdp-reveal-panel h3,
body.mdp-dark #constat .mdp-constat-panel h3{
  border-bottom-color:var(--mdp-dark-border)!important;
}

/* Hero parity: dark mode keeps the exact light-mode structure. */
.mdp-hero .mdp-eyebrow,
.mdp-hero .mdp-eyebrow::before,
.mdp-hero .mdp-eyebrow::after,
.mdp-hero h1,
.mdp-hero h1::before,
.mdp-hero h1::after,
.mdp-hero h1 span{
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
html[data-theme='dark'] .mdp-hero .mdp-hero-line-first,
html[data-theme='dark'] .mdp-hero .mdp-hero-line-second>span:first-child,
body.mdp-dark .mdp-hero .mdp-hero-line-first,
body.mdp-dark .mdp-hero .mdp-hero-line-second>span:first-child{
  color:#fff!important;
}
html[data-theme='dark'] .mdp-hero .mdp-hero-line-second .mdp-accent,
body.mdp-dark .mdp-hero .mdp-hero-line-second .mdp-accent{
  color:var(--mdp-red)!important;
}
html[data-theme='dark'] .mdp-hero .mdp-btn-outline,
body.mdp-dark .mdp-hero .mdp-btn-outline{
  background:rgba(17,19,21,.38)!important;
  border:1px solid #fff!important;
  color:#fff!important;
}
html[data-theme='dark'] .mdp-hero .mdp-btn-outline:hover,
html[data-theme='dark'] .mdp-hero .mdp-btn-outline:focus-visible,
body.mdp-dark .mdp-hero .mdp-btn-outline:hover,
body.mdp-dark .mdp-hero .mdp-btn-outline:focus-visible{
  background:#fff!important;
  border-color:#fff!important;
  color:var(--mdp-dark-bg)!important;
}

@media(max-width:991.98px){
  .mdp-hero{background-position:var(--mdp-scene-hero-position-mobile,var(--mdp-scene-hero-position,center center))!important}
  #constat .mdp-question-grid,#constat .mdp-constat-grid{grid-template-columns:1fr!important}
}
@media(max-width:575.98px){
  .mdp-hero-title-normalized .mdp-hero-line{white-space:normal!important}
  #constat .mdp-question-grid button,#constat .mdp-constat-grid button{min-height:0!important}
}
