/* =========================================================
   DÉMARCHECO — THÈME PRO ÉNERGIE 2026-2027
   Surcouche visuelle commune, pensée B2B / installateurs.
   Chargée APRÈS les CSS historiques pour protéger les contenus.
   ========================================================= */
:root{
  --pro-navy:#08243d;
  --pro-navy-2:#0e3454;
  --pro-navy-3:#153f62;
  --pro-green:#66b91a;
  --pro-green-dark:#4f9810;
  --pro-green-soft:#eef8e6;
  --pro-blue-soft:#eef5fa;
  --pro-bg:#f5f8fa;
  --pro-white:#fff;
  --pro-text:#102a43;
  --pro-muted:#607286;
  --pro-border:#dbe4eb;
  --pro-orange:#f5a623;
  --pro-radius:20px;
  --pro-radius-sm:12px;
  --pro-shadow:0 18px 48px rgba(8,36,61,.10);
  --pro-shadow-lg:0 30px 80px rgba(8,36,61,.14);
  --pro-max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0!important;
  color:var(--pro-text)!important;
  background:#fff!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body,button,input,textarea,select{font-family:inherit!important}
a{text-underline-offset:3px}
img{max-width:100%;height:auto}
main{display:block;overflow:hidden;background:#fff}

/* Aucune image/logo ne peut devenir un watermark géant */
main img{object-fit:cover}
main img[src*="logo-demarcheco"]{position:static!important;transform:none!important;opacity:1!important;width:auto!important;max-width:320px!important;height:auto!important}
main::before,main::after{pointer-events:none}

/* Conteneurs historiques harmonisés */
.home-container,.mairie-container,.pv-container,.pro-container,.part-container,.inc-container,.dpw-container,.dpl-container,.pac-container,.ssc-container,.ppv-container,.cerfa-container,.ite-container,.toit-container,.raccord-container,.consuel-container,.cacsi-container,.gph-container,.contact-container,
.container,.app-shell{
  width:min(var(--pro-max),calc(100% - 48px))!important;
  max-width:var(--pro-max)!important;
  margin-left:auto!important;margin-right:auto!important;
}

/* Typographie métier */
/* Typographie globale = valeur par défaut uniquement.
   IMPORTANT : ne pas forcer ces propriétés avec !important.
   Les CSS propres aux pages doivent pouvoir définir les couleurs et tailles
   de leurs titres, notamment sur les blocs à fond sombre. */
main h1,main h2,main h3{
  color:var(--pro-navy);
  font-weight:850;
  letter-spacing:-.035em;
  text-wrap:balance;
}
main h1{font-size:clamp(2.8rem,5vw,4.9rem);line-height:1.00}
main h2{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.06}
main h3{line-height:1.18}
main p{color:var(--pro-muted);line-height:1.68}

/* Labels / sourcils */
.home-label,.mairie-label,.pv-label,.pro-label,.part-label,.inc-label,.dpw-label,.dpl-label,.pac-label,.ssc-label,.ppv-label,.cerfa-label,.ite-label,.toit-label,.raccord-label,.consuel-label,.cacsi-label,.gph-label,.eyebrow{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  width:max-content!important;max-width:100%;
  padding:8px 12px!important;margin-bottom:18px!important;
  border:1px solid rgba(102,185,26,.20)!important;border-radius:999px!important;
  background:var(--pro-green-soft)!important;color:var(--pro-green-dark)!important;
  font-size:.72rem!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;
}

/* Breadcrumbs discrets */
[class*="breadcrumb"]{font-size:.77rem!important;color:#8190a0!important;margin-bottom:22px!important}
[class*="breadcrumb"] a{color:#64788a!important}

/* Sections */
.home-section,.mairie-section,.pv-section,.pro-section,.part-section,.inc-section,.dpw-section,.dpl-section,.pac-section,.ssc-section,.ppv-section,.cerfa-section,.ite-section,.toit-section,.raccord-section,.consuel-section,.cacsi-section,.gph-section,.section{
  padding-top:92px!important;padding-bottom:92px!important;
}
/* IMPORTANT : ne pas imposer un fond alterné à toutes les sections.
   Plusieurs pages historiques possèdent des sections sombres avec texte clair
   (ex. .pv-pro). Forcer ici --pro-bg détruisait le contraste.
   Le fond reste donc piloté par le CSS propre à chaque page. */
main > section:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 720px}

/* Hero partagé : sobre, technique, sans décor hors contrôle */
.home-hero,.mairie-hero,.pv-hero,.pro-hero,.part-hero,.inc-hero,.dpw-hero,.dpl-hero,.pac-hero,.ssc-hero,.ppv-hero,.cerfa-hero,.ite-hero,.toit-hero,.raccord-hero,.consuel-hero,.cacsi-hero,.gph-hero,.contact-hero{
  position:relative!important;overflow:hidden!important;
  padding-top:62px!important;padding-bottom:76px!important;
  background:linear-gradient(135deg,#fff 0%,#f7fafc 58%,#eef7ea 100%)!important;
  border-bottom:1px solid var(--pro-border)!important;
}
.home-hero::before,.mairie-hero::before,.pv-hero::before,.pro-hero::before,.part-hero::before,.inc-hero::before,.dpw-hero::before,.dpl-hero::before,.pac-hero::before,.ssc-hero::before,.ppv-hero::before,.cerfa-hero::before,.ite-hero::before,.toit-hero::before,.raccord-hero::before,.consuel-hero::before,.cacsi-hero::before,.gph-hero::before,.contact-hero::before{
  content:"";position:absolute;inset:auto -10% -45% 52%;height:72%;
  background:radial-gradient(circle,rgba(102,185,26,.10),transparent 66%);z-index:0;pointer-events:none;
}
.home-hero > *,.mairie-hero > *,.pv-hero > *,.pro-hero > *,.part-hero > *,.inc-hero > *,.dpw-hero > *,.dpl-hero > *,.pac-hero > *,.ssc-hero > *,.ppv-hero > *,.cerfa-hero > *,.ite-hero > *,.toit-hero > *,.raccord-hero > *,.consuel-hero > *,.cacsi-hero > *,.gph-hero > *,.contact-hero > *{position:relative;z-index:1}

/* Grilles hero */
.home-hero-grid,.mairie-hero-grid,.pv-hero-grid,.pro-hero-grid,.part-hero-grid,.inc-hero-grid,.dpw-hero-grid,.dpl-hero-grid,.pac-hero-grid,.ssc-hero-grid,.ppv-hero-grid,.cerfa-hero-grid,.ite-hero-grid,.toit-hero-grid,.raccord-hero-grid,.consuel-hero-grid,.cacsi-hero-grid,.gph-hero-grid,.contact-hero-grid{
  display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(340px,.78fr)!important;gap:64px!important;align-items:center!important;
}
[class$="-hero-content"]{max-width:760px}
[class$="-hero-content"] h1{margin:0 0 24px!important}
[class*="-lead"]{font-size:1.12rem;max-width:760px}

/* Boutons */
.home-btn,.mairie-btn,.pv-btn,.pro-btn,.part-btn,.inc-btn,.dpw-btn,.dpl-btn,.pac-btn,.ssc-btn,.ppv-btn,.cerfa-btn,.ite-btn,.toit-btn,.raccord-btn,.consuel-btn,.cacsi-btn,.gph-btn,.contact-btn,.btn,
[class*="btn-main"],[class*="btn-primary"]{
  min-height:50px!important;padding:0 19px!important;border-radius:11px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  font-size:.86rem!important;font-weight:850!important;text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease!important;
}
[class*="btn-main"],[class*="btn-primary"],.btn-primary{
  color:#fff!important;background:linear-gradient(135deg,var(--pro-green),#57a90f)!important;border:1px solid transparent!important;
  box-shadow:0 10px 24px rgba(102,185,26,.22)!important;
}
[class*="btn-light"],[class*="btn-secondary"],.btn-secondary{
  color:var(--pro-navy)!important;background:#fff!important;border:1px solid var(--pro-border)!important;box-shadow:none!important;
}
[class*="btn"]:hover{transform:translateY(-2px);box-shadow:var(--pro-shadow-sm)}

/* Actions */
[class$="-actions"],.home-actions,.mairie-actions,.pv-actions,.pro-actions,.part-actions,.ite-actions,.raccord-actions{
  display:flex!important;flex-wrap:wrap!important;gap:11px!important;margin-top:28px!important;
}

/* Cartes générales — beaucoup plus bureau d'études que vitrine */
.home-control-card,.home-need,.home-project,.home-hub-card,.home-review,.home-pro-panel,
.mairie-card,.info-card,.split-box,.pv-card,.pro-card,.part-card,.inc-card,.dpw-card,.dpl-card,.pac-card,.ssc-card,.ppv-card,.cerfa-card,.ite-card,.toit-card,.raccord-card,.consuel-card,.cacsi-card,.gph-card,
[class*="choice-card"],[class*="service-card"],[class*="process-card"],[class*="step-card"]{
  border:1px solid var(--pro-border);border-radius:var(--pro-radius);
  background:#fff;box-shadow:none;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.home-need:hover,.home-project:hover,.home-hub-card:hover,.mairie-card:hover,.info-card:hover,.pv-card:hover,.pro-card:hover,.part-card:hover,.pac-card:hover,.ite-card:hover,.raccord-card:hover,.consuel-card:hover{
  transform:translateY(-4px)!important;border-color:rgba(102,185,26,.42)!important;box-shadow:var(--pro-shadow)!important;
}

/* Hero dashboard / encarts techniques */
.home-control-card,[class*="hero-card"],[class*="summary-card"],[class*="control-card"]{
  padding:26px;border-radius:24px;box-shadow:var(--pro-shadow-lg);
  background:rgba(255,255,255,.96);border:1px solid #d6e1e8;
}
.home-control-card h2{font-size:clamp(1.6rem,2.6vw,2.25rem)!important;margin:5px 0 20px!important}
.home-control-line{
  min-height:62px!important;padding:12px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  border-top:1px solid #e7edf1!important;color:var(--pro-navy)!important;text-decoration:none!important;
}
.home-control-line span{display:flex!important;align-items:center!important;gap:10px!important;font-weight:800!important}
.home-control-line i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--pro-green-soft);color:var(--pro-green-dark);font-style:normal;font-size:.68rem;font-weight:900}
.home-control-line strong{color:#278260!important;font-size:.72rem!important;text-align:right!important}
.home-control-note{margin-top:14px!important;padding:14px 16px!important;border:1px solid #f3cb86!important;border-radius:12px!important;background:#fff8ec!important}
.home-control-note p{margin:.3rem 0 0!important;font-size:.82rem!important}

/* Proof strip = barre KPI professionnelle */
.home-proof-strip{background:var(--pro-navy)!important;border:0!important;padding:0!important}
.home-proof-grid{min-height:72px!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;align-items:center!important}
.home-proof-grid > *{min-width:0;padding:16px 22px!important;border-right:1px solid rgba(255,255,255,.13)!important;color:#fff!important}
.home-proof-grid > *:last-child{border-right:0!important}
.home-proof-grid strong,.home-proof-grid b{color:#fff!important}
.home-proof-grid span,.home-proof-grid small{color:#b8c9d6!important}

/* Grilles principales */
.home-needs-grid,.home-project-grid,.home-hub-grid,.home-reviews-grid,
[class*="cards-grid"],[class*="card-grid"],[class*="services-grid"],[class*="project-grid"],[class*="steps-grid"]{
  gap:18px!important;
}
.home-needs-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.home-project-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.home-hub-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.home-need,.home-project,.home-hub-card{padding:25px!important}
.home-need-code{font-size:.68rem!important;font-weight:900!important;color:var(--pro-green-dark)!important;letter-spacing:.06em!important}
.home-card-links a{color:var(--pro-green-dark)!important;font-weight:800!important}

/* Sections foncées métier */
.home-pro,.pro-process,.pv-path,.raccord-dark,.consuel-dark,[class*="section-dark"],.dark{
  background:var(--pro-navy)!important;color:#fff!important;
}
.home-pro h2,.home-pro h3,.pro-process h2,.pv-path h2,.raccord-dark h2,.consuel-dark h2,[class*="section-dark"] h2,.dark h2{color:#fff!important}
.home-pro p,.pro-process p,.pv-path p,.raccord-dark p,.consuel-dark p,[class*="section-dark"] p,.dark p{color:#c7d5df!important}

/* Docs / codes : effet dossier technique */
.part-doc,.inc-doc,.dpw-doc,.dpl-doc,.pac-doc,.ssc-doc,.ppv-doc,.cerfa-doc,.toit-doc,.raccord-doc,[class$="-doc"]{
  border:1px solid var(--pro-border)!important;border-radius:14px!important;background:#fff!important;
}
.part-doc-code,.inc-doc-code,.dpw-doc-code,.dpl-doc-code,.pac-doc-code,.ssc-doc-code,.ppv-doc-code,.cerfa-doc-code,.toit-doc-code,.raccord-doc-code,[class$="-doc-code"]{
  color:var(--pro-green-dark)!important;background:var(--pro-green-soft)!important;border-radius:8px!important;font-weight:900!important;
}

/* FAQ */
.home-faq,.cerfa-faq-item,.raccord-faq-item,[class*="faq-item"],details{
  border:1px solid var(--pro-border)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;
}
details summary{cursor:pointer;color:var(--pro-navy)!important;font-weight:800!important}

/* Formulaires : outil métier */
form{accent-color:var(--pro-green)}
input,select,textarea{
  min-height:46px;border:1px solid #cfdbe4!important;border-radius:10px!important;background:#fff!important;color:var(--pro-text)!important;
  font-size:.94rem!important;box-shadow:none!important;outline:none!important;
}
textarea{min-height:120px}
input:focus,select:focus,textarea:focus{border-color:var(--pro-green)!important;box-shadow:0 0 0 3px rgba(102,185,26,.12)!important}
[class*="form-row"]{gap:14px!important}
label{color:var(--pro-navy)!important;font-weight:750!important}

/* Tableaux */
table{width:100%;border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--pro-border)!important;border-radius:14px!important;overflow:hidden;background:#fff!important}
th{background:var(--pro-navy)!important;color:#fff!important;font-size:.8rem!important;text-align:left!important}
th,td{padding:13px 15px!important;border-bottom:1px solid #e7edf1!important}
tr:last-child td{border-bottom:0!important}

/* FAQ/Questions énergie : on conserve le volume SEO mais on modernise */
.qe-card{border:1px solid var(--pro-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
.qe-card-header{background:#f9fbfc!important;border-bottom:1px solid var(--pro-border)!important}
.qe-card-title,.qe-card-heading{color:var(--pro-navy)!important}
.qe-links a{color:var(--pro-green-dark)!important}

/* CTA fin de page */
.home-final{background:#fff}
.home-final-card,[class*="final-card"]{
  border:0!important;border-radius:28px!important;padding:44px!important;
  background:linear-gradient(135deg,var(--pro-navy),var(--pro-navy-2))!important;color:#fff!important;box-shadow:var(--pro-shadow-lg)!important;
}
.home-final-card h2,[class*="final-card"] h2{color:#fff!important}
.home-final-card p,[class*="final-card"] p{color:#c7d7e2!important}

/* =============================================
   HEADER 2027 — sobre, B2B, pas de bug de mega menu
   ============================================= */
#site-header{min-height:0!important}
.dc-topbar{background:var(--pro-navy)!important;color:#fff!important;border:0!important}
.dc-topbar-inner{width:min(var(--pro-max),calc(100% - 48px));min-height:32px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.69rem;font-weight:750}
.dc-topbar-note{display:flex;align-items:center;gap:8px;color:#dce7ee}
.dc-topbar-note b{color:#fff}.dc-topbar-dot{width:7px;height:7px;border-radius:50%;background:var(--pro-green)}
.dc-topbar-link{color:#bde589!important;font-weight:850!important;text-decoration:none}
.dc-header{position:sticky!important;top:0!important;z-index:9999!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px);border-bottom:1px solid #e3e9ee!important;font-family:inherit!important}
.dc-nav-wrap{width:min(var(--pro-max),calc(100% - 48px));max-width:var(--pro-max)!important;min-height:76px;margin:auto!important;padding:0!important;display:flex!important;align-items:center!important;gap:22px!important}
.dc-logo{flex:0 0 auto!important;display:flex!important;align-items:center!important}
.dc-logo img{display:block!important;width:auto!important;height:49px!important;max-width:190px!important;object-fit:contain!important;position:static!important;transform:none!important}
.dc-menu{flex:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}
.dc-menu > a,.dc-menu-item > a{min-height:44px!important;padding:0 11px!important;display:inline-flex!important;align-items:center!important;color:var(--pro-navy)!important;font-size:.78rem!important;font-weight:800!important;letter-spacing:0!important;border-radius:9px!important;white-space:nowrap!important;text-decoration:none!important;transition:.18s ease!important}
.dc-menu > a:hover,.dc-menu-item > a:hover,.dc-menu a.active{background:#f2f7fa!important;color:var(--pro-green-dark)!important}
.dc-menu-badge{margin-left:6px;padding:4px 6px;border-radius:999px;background:var(--pro-green);color:#fff;font-size:.52rem;font-weight:900;letter-spacing:.04em}
.dc-menu-item{position:relative!important;padding:16px 0!important}
.dc-menu-item > a::after{content:""!important;width:6px;height:6px;margin-left:7px;border-right:1.7px solid var(--pro-green-dark);border-bottom:1.7px solid var(--pro-green-dark);transform:rotate(45deg) translateY(-2px)}
.dc-dropdown{position:absolute!important;top:calc(100% - 6px)!important;left:50%!important;transform:translate(-50%,10px)!important;width:390px!important;min-width:390px!important;padding:10px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;background:#fff!important;border:1px solid #dce5eb!important;border-radius:16px!important;box-shadow:0 22px 60px rgba(8,36,61,.17)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.18s ease!important;z-index:99999!important}
.dc-menu-item:hover .dc-dropdown,.dc-menu-item:focus-within .dc-dropdown{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important}
.dc-dropdown a{min-height:48px!important;padding:10px 11px!important;display:flex!important;align-items:center!important;border-radius:9px!important;color:#2b4256!important;font-size:.74rem!important;font-weight:750!important;line-height:1.2!important;letter-spacing:0!important;text-decoration:none!important}
.dc-dropdown a:hover{background:var(--pro-green-soft)!important;color:var(--pro-green-dark)!important}
.dc-header-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.dc-phone{min-height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border:1px solid #dce5eb;border-radius:10px;color:var(--pro-navy)!important;font-size:.74rem;font-weight:850;text-decoration:none;background:#fff}
.dc-create{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border-radius:10px;color:#fff!important;background:var(--pro-green);font-size:.75rem;font-weight:900;text-decoration:none;box-shadow:0 9px 20px rgba(102,185,26,.20)}
.dc-burger{display:none!important;margin-left:auto!important;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:10px!important;background:var(--pro-navy)!important;color:#fff!important;font-size:1.25rem!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}
#dc-menu-toggle{display:none!important}.dc-menu-mobile-call{display:none!important}

/* =============================================
   FOOTER 2027 — maillage SEO conservé, présentation plus pro
   ============================================= */
#site-footer{min-height:0!important}
.dc-footer-pro{margin:0!important;background:var(--pro-navy)!important;color:#fff!important;font-family:inherit!important}
.dc-footer-wrap{width:min(var(--pro-max),calc(100% - 48px))!important;max-width:var(--pro-max)!important;margin:auto!important;padding:0!important}
.dc-footer-top{padding:52px 0 34px!important;border-bottom:1px solid rgba(255,255,255,.11)!important}
.dc-footer-cta{padding:34px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:30px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:22px!important;background:linear-gradient(135deg,#0d3150,#123d61)!important;box-shadow:none!important}
.dc-footer-cta h2{margin:0 0 8px!important;color:#fff!important;font-size:clamp(1.65rem,2.6vw,2.35rem)!important;letter-spacing:-.025em!important}
.dc-footer-cta p{margin:0!important;max-width:760px!important;color:#c6d6e1!important;font-size:.92rem!important;line-height:1.65!important}
.dc-footer-cta-actions{display:flex!important;gap:9px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.dc-footer-btn-main,.dc-footer-btn-light{min-height:46px!important;padding:0 16px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:.76rem!important;font-weight:900!important;text-decoration:none!important}
.dc-footer-btn-main{background:var(--pro-green)!important;color:#fff!important}.dc-footer-btn-light{background:#fff!important;color:var(--pro-navy)!important}
.dc-footer-main{padding:40px 0 30px!important}
.dc-footer-grid,.dc-footer-grid-5{display:grid!important;grid-template-columns:1.35fr 1fr 1fr 1fr 1.05fr!important;gap:30px!important;align-items:start!important}
.dc-footer-brand img{width:auto!important;height:58px!important;max-width:220px!important;object-fit:contain!important;filter:brightness(0) invert(1);opacity:.98}
.dc-footer-intro{margin:14px 0 18px!important;max-width:390px!important;color:#b9cad7!important;font-size:.83rem!important;line-height:1.7!important}
.dc-footer-col h3,.dc-footer-contact-card h3{margin:0 0 14px!important;color:#fff!important;font-size:.73rem!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.dc-footer-col a{min-height:30px!important;margin:0 0 5px!important;display:flex!important;align-items:center!important;color:#b9cad7!important;font-size:.78rem!important;line-height:1.35!important;text-decoration:none!important;transition:.18s ease!important}
.dc-footer-col a:hover{color:#fff!important;transform:translateX(3px)!important}
.dc-footer-contact-card{padding:17px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important}
.dc-footer-contact-card p{color:#b9cad7!important;font-size:.78rem!important}.dc-footer-contact-card a{color:#fff!important}
.dc-footer-mini-btn{margin-top:9px!important;min-height:42px!important;padding:0 13px!important;display:flex!important;justify-content:center!important;border-radius:9px!important;background:var(--pro-green)!important;color:#fff!important;font-weight:900!important}
.dc-footer-seo{padding:24px 0!important;border-top:1px solid rgba(255,255,255,.10)!important}
.dc-footer-seo-title{margin-bottom:12px;color:#fff;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.dc-footer-seo-links{display:flex;flex-wrap:wrap;gap:7px}
.dc-footer-seo-links a{padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#b9cad7!important;font-size:.67rem;text-decoration:none}.dc-footer-seo-links a:hover{border-color:rgba(102,185,26,.5);color:#fff!important;background:rgba(102,185,26,.08)}
.dc-footer-bottom{min-height:58px;padding:14px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex-wrap:wrap!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#91a8b9!important;font-size:.69rem!important}
.dc-footer-bottom-links{display:flex!important;gap:14px!important;flex-wrap:wrap!important}.dc-footer-bottom-links a{color:#9fb3c2!important;text-decoration:none!important}.dc-footer-bottom-links a:hover{color:#fff!important}

/* Responsive */
@media (max-width:1120px){
  .dc-menu{gap:1px!important}.dc-menu > a,.dc-menu-item > a{padding:0 7px!important;font-size:.72rem!important}.dc-phone span{display:none}.dc-phone{width:44px;padding:0;justify-content:center}.dc-logo img{height:44px!important;max-width:165px!important}
  .home-needs-grid{grid-template-columns:repeat(2,1fr)!important}.home-project-grid,.home-hub-grid{grid-template-columns:repeat(2,1fr)!important}
  .dc-footer-grid,.dc-footer-grid-5{grid-template-columns:1.35fr 1fr 1fr!important}
}
@media (max-width:920px){
  .home-container,.mairie-container,.pv-container,.pro-container,.part-container,.inc-container,.dpw-container,.dpl-container,.pac-container,.ssc-container,.ppv-container,.cerfa-container,.ite-container,.toit-container,.raccord-container,.consuel-container,.cacsi-container,.gph-container,.contact-container,.container,.app-shell{width:min(100% - 30px,var(--pro-max))!important}
  .dc-topbar-inner,.dc-nav-wrap,.dc-footer-wrap{width:min(100% - 30px,var(--pro-max))!important}
  .dc-topbar-inner{justify-content:center;text-align:center}.dc-topbar-link{display:none}
  .dc-nav-wrap{min-height:68px!important;flex-wrap:wrap!important}.dc-burger{display:inline-flex!important}.dc-header-actions{margin-left:auto}.dc-phone{display:none}.dc-create{display:none}
  .dc-menu{display:none!important;width:100%!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;padding:8px 0 14px!important;border-top:1px solid #e5ebef!important;order:10!important}
  #dc-menu-toggle:checked ~ .dc-menu{display:flex!important}
  .dc-menu > a,.dc-menu-item > a{width:100%!important;justify-content:space-between!important;min-height:46px!important;padding:0 10px!important;font-size:.82rem!important}
  .dc-menu-item{padding:0!important}.dc-menu-item > a::after{display:none!important}
  .dc-dropdown{position:static!important;display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:1fr 1fr!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;box-shadow:none!important;border:0!important;border-radius:12px!important;padding:5px!important;background:#f6f9fb!important}
  .dc-dropdown a{min-height:42px!important;font-size:.73rem!important}
  .dc-menu-mobile-call{display:flex!important;justify-content:center!important;background:var(--pro-green)!important;color:#fff!important}
  .home-hero-grid,.mairie-hero-grid,.pv-hero-grid,.pro-hero-grid,.part-hero-grid,.inc-hero-grid,.dpw-hero-grid,.dpl-hero-grid,.pac-hero-grid,.ssc-hero-grid,.ppv-hero-grid,.cerfa-hero-grid,.ite-hero-grid,.toit-hero-grid,.raccord-hero-grid,.consuel-hero-grid,.cacsi-hero-grid,.gph-hero-grid,.contact-hero-grid{grid-template-columns:1fr!important;gap:38px!important}
  .home-proof-grid{grid-template-columns:repeat(2,1fr)!important}.home-proof-grid > *:nth-child(2){border-right:0!important}.home-proof-grid > *:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)!important}
  .dc-footer-cta{grid-template-columns:1fr!important}.dc-footer-cta-actions{justify-content:flex-start!important}.dc-footer-grid,.dc-footer-grid-5{grid-template-columns:1fr 1fr!important}
}
@media (max-width:620px){
  main h1{font-size:clamp(2.45rem,12vw,3.4rem)}main h2{font-size:clamp(1.85rem,9vw,2.55rem)}
  .home-hero,.mairie-hero,.pv-hero,.pro-hero,.part-hero,.inc-hero,.dpw-hero,.dpl-hero,.pac-hero,.ssc-hero,.ppv-hero,.cerfa-hero,.ite-hero,.toit-hero,.raccord-hero,.consuel-hero,.cacsi-hero,.gph-hero,.contact-hero{padding-top:38px!important;padding-bottom:54px!important}
  .home-section,.mairie-section,.pv-section,.pro-section,.part-section,.inc-section,.dpw-section,.dpl-section,.pac-section,.ssc-section,.ppv-section,.cerfa-section,.ite-section,.toit-section,.raccord-section,.consuel-section,.cacsi-section,.gph-section,.section{padding-top:64px!important;padding-bottom:64px!important}
  [class$="-actions"],.home-actions{flex-direction:column!important}.home-btn,.mairie-btn,.pv-btn,.pro-btn,.part-btn,.inc-btn,.dpw-btn,.dpl-btn,.pac-btn,.ssc-btn,.ppv-btn,.cerfa-btn,.ite-btn,.toit-btn,.raccord-btn,.consuel-btn,.cacsi-btn,.gph-btn,.contact-btn,.btn{width:100%!important}
  .home-needs-grid,.home-project-grid,.home-hub-grid{grid-template-columns:1fr!important}.home-proof-grid{grid-template-columns:1fr!important}.home-proof-grid > *{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important}.home-proof-grid > *:last-child{border-bottom:0!important}
  .dc-topbar{display:none}.dc-logo img{height:42px!important;max-width:155px!important}.dc-nav-wrap{width:min(100% - 22px,var(--pro-max))!important}.dc-dropdown{grid-template-columns:1fr!important}
  .dc-footer-wrap{width:min(100% - 28px,var(--pro-max))!important}.dc-footer-top{padding-top:36px!important}.dc-footer-cta{padding:24px!important}.dc-footer-cta-actions{flex-direction:column!important}.dc-footer-btn-main,.dc-footer-btn-light{width:100%!important}.dc-footer-grid,.dc-footer-grid-5{grid-template-columns:1fr!important;gap:28px!important}.dc-footer-bottom{align-items:flex-start!important;flex-direction:column!important}.dc-footer-bottom-links{gap:9px!important}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* =========================================================
   CORRECTIF NON-DESTRUCTIF GLOBAL — 01/09/2026 V3
   Ne jamais forcer un fond clair à partir d'un simple fragment de nom
   de classe (ex. *final*). Les CSS locaux gardent la main sur leurs
   variantes sombres, actives, sélectionnées et validées.
   ========================================================= */
.app-new-flow-final{background:var(--app-green)!important;color:#fff!important}
.app-new-flow-final small,.app-new-flow-final h3{color:#fff!important}

/* =========================================================
   CORRECTIF CONTRASTE — 01/09/2026
   Garde-fou uniquement visuel : aucun contenu n'est modifié.
   Les blocs explicitement sombres conservent une typographie claire.
   ========================================================= */
main :is(.accent-card,.final-cta,.home-final-card,[class*="final-card"],.home-pro,.pro-process,.pv-path,.pv-pro,.raccord-dark,.consuel-dark,[class*="section-dark"],.dark) :is(h1,h2,h3){
  color:#fff!important;
}
main :is(.accent-card,.final-cta,.home-final-card,[class*="final-card"],.home-pro,.pro-process,.pv-path,.pv-pro,.raccord-dark,.consuel-dark,[class*="section-dark"],.dark) p{
  color:rgba(255,255,255,.86);
}
