/* QUALITE24 — design commun à toutes les pages publiques (même rendu que l'accueil, surtout sur iPhone) */
:root{--q24-rouge:#9e1022;--q24-texte:#1d1d1f;--q24-gris:#6e6e73;--q24-trait:#e4e0d6;--q24-fond:#f5f3ee}
/* en-tête : mêmes liens, « Mon devis » en rouge, « Espace client » en pastille */
.site-header>.q24-pill,.site-nav__actions .q24-pill{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;background:rgba(29,29,31,.06);color:var(--q24-texte);font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none}
.site-header>.q24-pill:hover,.site-nav__actions .q24-pill:hover{background:rgba(29,29,31,.11)}
.site-nav__liens a.q24-devis,.main-nav a.q24-devis{color:var(--q24-rouge)!important;font-weight:600}
.q24-compte,.q24-tabbar{display:none}
/* pied de page clair, comme l'accueil */
body .site-footer{background:var(--q24-fond)!important;color:#424245!important;border-top:1px solid var(--q24-trait)!important}
body .site-footer h3,body .site-footer .footer-marque{color:var(--q24-texte)!important}
body .site-footer p,body .site-footer span{color:#424245}
body .site-footer a{color:#424245!important}
body .site-footer a:hover{color:var(--q24-rouge)!important}
body .site-footer .footer-bas{border-top:1px solid var(--q24-trait)!important;color:#5f5a54!important}
body .site-footer .footer-bas a,body .site-footer .footer-bas span{color:#5f5a54!important}
/* iPhone et petits écrans : même barre d'onglets et même en-tête que l'accueil */
@media (max-width:820px){
  .menu-button,.site-nav,.main-nav,.menu-toggle,.barre-mobile,.site-header>.q24-pill{display:none!important}
  .site-header{display:flex;align-items:center;justify-content:space-between}
  .site-header__in{display:flex!important;align-items:center;justify-content:space-between}
  .q24-compte{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;background:rgba(29,29,31,.06);color:var(--q24-texte);font:500 13px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;text-decoration:none;white-space:nowrap}
  .q24-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:55;height:72px;padding:0 8px calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--q24-trait)}
  .q24-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:600 11px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--q24-gris)!important;text-decoration:none}
  .q24-tabbar a::before{content:"";width:6px;height:6px;border-radius:50%;background:transparent}
  .q24-tabbar a[aria-current="page"]{color:var(--q24-rouge)!important}
  .q24-tabbar a[aria-current="page"]::before{background:var(--q24-rouge)}
  body{padding-bottom:84px}
}
@media print{.q24-tabbar,.q24-compte{display:none!important}}

/* ===== Style « Apple » commun (même rendu que l'accueil : titres larges, étiquettes simples, boutons pastille, cartes blanches arrondies) ===== */
:root{--q24-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--q24-font)!important;background:#f7f5f0!important;color:var(--q24-texte)!important;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:var(--q24-font)}
h1,h2,h3,h4{font-family:var(--q24-font)!important;color:var(--q24-texte);font-weight:700!important;text-wrap:balance}
h1{font-size:clamp(38px,5.4vw,68px)!important;line-height:1.03!important;letter-spacing:-.04em!important}
h2,.titre-section,.titre-section--moyen{font-size:clamp(30px,4.2vw,54px)!important;line-height:1.05!important;letter-spacing:-.035em!important}
h3{letter-spacing:-.02em!important;line-height:1.2!important}
p,li{color:#424245}
/* étiquettes au-dessus des titres : simples, sans majuscules espacées */
.surtitre,.eyebrow,.m-kicker,.t-kicker,.kicker,[class$="-kicker"],[class$="__surtitre"]{font-size:15px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--q24-rouge)!important}
/* boutons : pastille, comme l'accueil */
.button,.btn,button.button,a.button,.gold-button,.outline-dark,.button--grand{border-radius:999px!important;min-height:50px!important;padding:0 24px!important;font:600 15px/1 var(--q24-font)!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important}
.button--rouge,.btn-red,.gold-button{background:var(--q24-rouge)!important;border:1px solid var(--q24-rouge)!important;color:#fff!important}
.button--rouge:hover,.btn-red:hover,.gold-button:hover{background:#7f0c1b!important;border-color:#7f0c1b!important}
.button--contour,.btn-outline,.outline-dark{background:#fff!important;border:1px solid var(--q24-trait)!important;color:var(--q24-texte)!important}
.button--contour:hover,.btn-outline:hover,.outline-dark:hover{border-color:var(--q24-texte)!important;background:#fff!important}
/* cartes : blanches, très arrondies, sans cadre */
.m-card,.t-card,.etape,.garantie,.service,.block,.dossier,.form-box,.q-photo,.t-inc,.carte,.card,.faq details,.visuel,.illustration,.article-aside__carte{border-radius:24px!important;overflow:hidden}
.m-card,.t-card,.etape,.garantie,.service,.block,.dossier,.form-box,.t-inc,.carte,.card,.faq details,.article-aside__carte{background:#fff!important;border:0!important;box-shadow:none!important;color:var(--q24-texte)}
.m-card *,.t-card *,.etape *,.garantie *,.service *,.block *,.dossier *,.form-box *{border-color:var(--q24-trait)}
.m-card h3,.t-card h3,.etape h3,.garantie h3,.service h3,.block h3{color:var(--q24-texte)!important}
.m-card p,.t-card p,.etape p,.garantie p,.service p,.block p{color:#424245!important}
/* pastilles de filtre */
.m-chip,.m-seg button,.t-chip,.chip{border-radius:999px!important}
/* images : angles arrondis */
.m-card img,.service__img,.q-photo img,.visuel img,main figure img,.prose img{border-radius:24px}
/* bandeaux sombres : cartes arrondies, texte lisible */
.cta-band,.appel{border-radius:28px!important}
.page-intro,.m-hero{background:transparent!important;border:0!important}
.page-intro .surtitre+h1,.m-hero .eyebrow+h1{margin-top:12px!important}
@media (max-width:820px){h1{font-size:clamp(34px,10.5vw,48px)!important}.button,.btn{min-height:48px!important}}
.rule,.m-hero .rule{display:none!important}
.chapo,.m-lead,.page-intro p,.m-hero-text p,.section-head p{font-size:clamp(16px,1.5vw,19px)!important;line-height:1.55!important;color:#424245!important;text-wrap:pretty}
.breadcrumb,.fil{font-size:13px;color:var(--q24-gris)}
main img.hero-img,.m-hero-img,.m-hero img{border-radius:28px!important}
.m-card,.t-card{box-shadow:none!important}
.m-head h2,.section-head h2{margin-bottom:8px}
/* listes de projets / étapes / garanties : cartes blanches comme sur l'accueil */
.programme{border:0!important;gap:12px!important}
.programme>li{background:#fff!important;border:0!important;border-radius:24px!important;padding:22px 26px!important}
.programme>li:hover{background:#fff!important}
.etapes>li,.garanties>*,.communes-liste>li{background:#fff;border-radius:24px}
.section--bord{border-color:transparent!important}
.section{background:transparent!important}
.section--beton{background:#1d1d1f!important;border-radius:28px;margin:0 clamp(12px,3vw,40px)}
.site-header{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:rgba(247,245,240,.82)!important;border-bottom:1px solid var(--q24-trait)!important}

/* ===== v5 : MÊME en-tête, MÊME largeur de contenu, MÊME pied de page, MÊME police de base sur toutes les pages (référence : l'accueil) ===== */
:root{--q24-marge:clamp(16px,4vw,48px);--header-h:68px;--entete:68px}
html{scroll-padding-top:84px}
body{font-size:17px!important;line-height:1.6!important}
/* en-tête : 68 px, logo 46 px, marges de l'accueil */
.site-header{height:68px!important;min-height:68px!important;padding:0 var(--q24-marge)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;box-sizing:border-box!important}
.site-header .brand,.site-header .site-logo{flex:none;display:flex!important;align-items:center;height:46px;min-height:0!important;padding:0!important;background:none!important;border:0!important}
.site-header .brand-logo,.site-header .site-logo img{height:46px!important;width:auto!important;max-width:none!important}
@media (min-width:821px){
  /* les trois blocs (logo, liens, Espace client) se placent comme sur l'accueil : logo à gauche, liens au milieu, pastille à droite */
  .site-header__in,.site-nav{display:contents!important}
  .menu-button,.menu-toggle{display:none!important}
  .main-nav{margin:0!important}
  .main-nav ul,.site-nav__liens{display:flex!important;align-items:center;gap:clamp(16px,2vw,28px)!important;margin:0!important;padding:0!important;list-style:none}
  .main-nav a,.site-nav__liens a{display:inline-block;font-size:14px!important;font-weight:400!important;line-height:1.5!important;color:var(--q24-texte)!important;padding:8px 0!important;min-height:0!important;text-decoration:none!important;white-space:nowrap}
  .main-nav a:hover,.site-nav__liens a:hover,.main-nav a[aria-current="page"],.site-nav__liens a[aria-current="page"]{color:var(--q24-rouge)!important;text-decoration:none!important}
  .main-nav a.q24-devis,.site-nav__liens a.q24-devis{color:var(--q24-rouge)!important;font-weight:600!important}
  .site-nav__actions{display:flex;align-items:center;gap:10px;margin:0!important;padding:0!important;background:none!important}
  .site-header .q24-pill{margin:0!important}
}
/* largeur du contenu : celle de l'accueil (marges de 4 % entre 16 et 48 px) */
.wrap,.container{width:calc(100% - 2 * var(--q24-marge))!important;max-width:none!important;margin-inline:auto!important}
.wrap.narrow{width:min(760px,calc(100% - 2 * var(--q24-marge)))!important}
.wrap .wrap,.wrap .container,.container .wrap,.container .container{width:100%!important}
/* textes d'introduction : même taille et même couleur partout */
.page-hero p:not(.eyebrow):not(.breadcrumb):not(.surtitre),.q-hero p:not(.eyebrow):not(.breadcrumb):not(.surtitre){font-size:clamp(16px,1.5vw,19px)!important;line-height:1.55!important;color:#424245!important}
.page-hero .breadcrumb,.q-hero .breadcrumb,.m-hero .breadcrumb{font-size:13px!important;line-height:1.4!important;color:var(--q24-gris)!important;margin:0 0 14px!important}
.page-hero .eyebrow,.q-hero .eyebrow,.m-hero .eyebrow{color:var(--q24-rouge)!important;font-size:15px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
/* pied de page : même grille, mêmes tailles partout */
body .site-footer{padding:clamp(40px,5vw,64px) 0 28px!important;font-size:14px!important;line-height:1.55!important}
body .site-footer .footer-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:28px 32px!important;padding-bottom:24px}
body .site-footer .footer-grid>div:first-child{grid-column:auto!important}
body .site-footer p,body .site-footer a,body .site-footer span,body .site-footer li{font-size:14px!important;line-height:1.55!important}
body .site-footer .footer-grid p{margin:0 0 8px!important}
body .site-footer h3{font:600 13px/1.4 var(--q24-font)!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 10px!important;color:var(--q24-texte)!important}
body .site-footer .footer-liens{display:flex!important;flex-direction:column;align-items:flex-start;gap:6px}
body .site-footer .footer-liens a,body .site-footer .footer-bas a{text-decoration:none!important}
body .site-footer .footer-liens a:hover,body .site-footer .footer-bas a:hover{text-decoration:underline!important}
body .site-footer .footer-bas,body .site-footer .footer-bas a,body .site-footer .footer-bas span{font-size:13px!important}
body .site-footer .footer-bas{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:16px}
/* respiration du haut de page : même écart entre étiquette, titre et texte sur toutes les pages */
.page-hero h1,.q-hero h1,.m-hero h1,.page-intro h1{margin:12px 0 20px!important}
.page-hero .eyebrow,.q-hero .eyebrow,.page-hero .surtitre,.page-intro .surtitre{margin:0!important}
/* étiquette au-dessus du titre : rouge, 15 px, sur toutes les pages (y compris sous .page-intro) ; plus de petit trait rouge sous le titre */
.page-intro p.surtitre,.page-intro .surtitre,.m-hero-text .eyebrow,.section-head .surtitre{color:var(--q24-rouge)!important;font-size:15px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important}
h1::after{content:none!important;display:none!important}
/* l'en-tête n'a qu'une seule marge (celle de l'accueil), même sur les pages qui enveloppaient le contenu dans un conteneur */
.site-header .site-header__in{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
