/* savadou.fr, gabarit lot 2 v3 (maquette v3 d'Invisible Woman, style de l'accueil chantier-pro.fr), Thanos 23/10/2026.
   Chargé APRÈS le <style> propre à chaque page intérieure : les variables et les règles ci-dessous priment.
   1re partie : charte v3 (polices locales, en-tête blanc, pied marine, hero photo, formulaire, tuiles, tarifs, FAQ, villes).
   2e partie : harmonisation du contenu des anciennes pages (boutons, encadrés, cartes, tableaux, accordéons, mobile),
   dont les retouches de Wasp (lot 2). Aucune ressource externe. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/inter.woff2) format("woff2")}
@font-face{font-family:"Jakarta";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/pjs-700.woff2) format("woff2")}
@font-face{font-family:"Jakarta";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/pjs-800.woff2) format("woff2")}

:root{
  --navy:#0B1F33;--navy-2:#122C45;--navy-3:#1B3A5A;
  --text:#334155;--muted:#53637A;--line:#D6E0EA;--line-2:#E6EDF4;--soft:#F3F7FB;
  --blue:#0EA5E9;--blue-hover:#38BDF8;--blue-ink:#0369A1;--blue-on-dark:#7DD3FC;--blue-soft:#E6F6FE;
  --ok:#15803D;--err:#B42318;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-t:"Jakarta","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --container:1160px;--gutter:20px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --r-sm:8px;--r:12px;--r-lg:18px;--r-btn:10px;
  --shadow-1:0 1px 2px rgba(11,31,51,.06),0 0 0 1px var(--line-2);
  --shadow-2:0 30px 60px -30px rgba(11,31,51,.45),0 0 0 1px rgba(11,31,51,.06);
  --tap:44px;--header-h:60px;
  /* anciens noms (maquette D et pages du lot 1), remappés sur la charte v3 */
  --aqua:#0EA5E9;--aqua-2:#0284C7;--aqua-ink:#0369A1;--aqua-on-dark:#7DD3FC;--aqua-50:#E6F6FE;--wrap:1160px;
  --sh-1:var(--shadow-1);--sh-2:0 18px 40px -22px rgba(11,31,51,.30),0 0 0 1px var(--line-2);--sh-3:var(--shadow-2);
  --primary-color:#0369A1;--secondary-color:#0EA5E9;--dark-color:#122C45;--light-color:#ffffff;
  --grey-bg:#F3F7FB;--light-grey-text:#53637A;--accent-color:#0EA5E9;--success-color:#15803D;
}
@media (min-width:760px){:root{--gutter:32px}}
@media (min-width:1024px){:root{--header-h:72px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;font-family:var(--font);font-size:1rem;line-height:1.65;color:var(--text);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
@supports (overflow:clip){body{overflow-x:clip}}
@media (min-width:760px){body{font-size:1.0625rem}}
img,video,iframe{max-width:100%}
img{height:auto}
a{color:var(--blue-ink);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--font-t);color:var(--navy);line-height:1.15;letter-spacing:-.02em;font-weight:800;overflow-wrap:break-word}
h1{font-size:clamp(1.85rem,1.3rem + 2vw,2.9rem)}
h2{font-size:clamp(1.5rem,1.15rem + 1.4vw,2.25rem)}
h3{font-size:1.1875rem;font-weight:700;letter-spacing:-.01em}
h4{font-size:1.05rem;font-weight:700}
/* niveaux de titres remontés d'un cran par le gabarit (audit SpyX) : même rendu que le niveau d'origine */
h3.hl2,p.hl2{font-family:var(--font-t);color:var(--navy);line-height:1.15;font-size:clamp(1.5rem,1.15rem + 1.4vw,2.25rem);font-weight:800;letter-spacing:-.02em;margin:1.4em 0 .6em}
.article h3.hl2,.article p.hl2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.signature{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:var(--s4);margin:var(--s6) auto 0;max-width:760px}
.auteur .lead{font-size:1.125rem;color:var(--navy)}
.auteur-card{display:flex;gap:var(--s4);align-items:center;margin:var(--s5) 0;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r);background:var(--soft)}
.auteur-avatar{width:64px;height:64px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--font-t);font-weight:800;font-size:1.4rem;flex:none}
.auteur .cta-bloc{margin-top:var(--s6);padding:var(--s4) var(--s5);background:var(--blue-soft);border-left:4px solid var(--blue);border-radius:var(--r-sm);font-weight:600}
.auteur .maj{font-size:.875rem;color:var(--muted)}
.generic-bloc{margin-top:30px}
.durete-title{font-weight:800;color:var(--navy);font-size:1.25rem;margin:0 0 .6em}
h2.hl3,h3.hl4,h4.hl5,p.hl3,p.hl4,p.hl5{font-family:var(--font-t);color:var(--navy);line-height:1.15;font-size:1.1875rem;font-weight:700;letter-spacing:-.01em;margin:1.2em 0 .6em}
p.h2-like{font-family:var(--font-t);color:var(--navy);line-height:1.15;letter-spacing:-.02em;font-weight:800;font-size:clamp(1.5rem,1.15rem + 1.4vw,2.25rem);margin:0 0 var(--s3)}
.ed-note{font-size:.8125rem;color:var(--muted);font-weight:400;display:inline-block;margin-left:4px}
.cta-box .ed-note,.urgent-cta .ed-note,.cta-band .ed-note{color:inherit;opacity:.85}
h3.hl4,h4.hl5{font-size:1.05rem}
b,strong{font-weight:700}
.container{max-width:1140px;margin-inline:auto;padding-inline:var(--gutter)}
.wrap{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--navy);color:#fff;padding:12px 16px;border-radius:var(--r-sm)}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
table{border-collapse:collapse}
pre,code{overflow-wrap:anywhere}
.table-responsive,.table-wrapper,.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}
.lead{font-size:1.0625rem}
@media (min-width:760px){.lead{font-size:1.1875rem}}

/* Sur-titre et surlignage */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-ink);margin:0 0 var(--s3)}
.eyebrow::before{content:"";width:24px;height:3px;border-radius:2px;background:var(--blue)}
.eyebrow.on-dark{color:var(--blue-on-dark)}
.mark{background:linear-gradient(transparent 64%,rgba(14,165,233,.28) 64%);padding-inline:3px;margin-inline:-3px;border-radius:2px;color:inherit!important}
.on-photo .mark{background:linear-gradient(transparent 62%,rgba(14,165,233,.92) 62%)}

/* Boutons (v3 + anciens sélecteurs des pages) */
.btn,.cta-button-main,.cta-button,.cta-btn-main,.cta-btn,.btn-primary,.cta-primary,.content-guide .cta-box .btn,.cta-box .btn,.cta-band .btn,
form button[type="submit"],.hero-form-container form button,.form-container form button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:12px 22px;border-radius:var(--r-btn);border:0;
  background:var(--blue)!important;color:var(--navy)!important;font:inherit;font-size:1rem;font-weight:700;line-height:1.2;text-decoration:none!important;
  text-align:center;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}
.btn:hover,.cta-button-main:hover,.cta-button:hover,.cta-btn:hover,.cta-primary:hover,.cta-box .btn:hover,form button[type="submit"]:hover{background:var(--blue-hover)!important;color:var(--navy)!important}
.btn:active{transform:translateY(1px)}
.btn svg{width:20px;height:20px;flex:none}
.btn i,.cta-button-main i{font-size:1em}
.btn-lg{min-height:54px;padding:14px 28px;font-size:1.0625rem;box-shadow:0 12px 26px -12px rgba(14,165,233,.85)}
.btn-block{display:flex;width:100%}
.btn-ghost,.cta-secondary{background:transparent!important;color:var(--navy)!important;box-shadow:inset 0 0 0 2px var(--navy)}
.btn-ghost:hover,.cta-secondary:hover{background:var(--navy)!important;color:#fff!important}
.btn-navy{background:var(--navy)!important;color:#fff!important}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);font-weight:700;color:var(--blue-ink);text-decoration:none}
.link-arrow::after{content:"\2192";transition:transform .15s}
.link-arrow:hover::after{transform:translateX(3px)}

/* En-tête blanc */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line-2)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);height:var(--header-h);position:relative}
.logo{display:inline-flex;align-items:center;gap:10px;min-height:var(--tap);text-decoration:none;color:var(--navy);font-family:var(--font-t);font-weight:800;font-size:1.25rem;letter-spacing:-.03em;white-space:nowrap;flex:none}
.logo:hover{color:var(--navy)}
.logo svg{width:34px;height:34px;flex:none}
.logo-tld{color:var(--blue-ink)}
@media (min-width:1024px){.logo{font-size:1.4375rem}.logo svg{width:38px;height:38px}}
.hamburger-menu{display:inline-grid;place-items:center;gap:0;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:var(--r-sm);background:var(--soft);cursor:pointer;flex:none}
.hamburger-menu .bar{display:block;width:20px;height:2px;border-radius:2px;background:var(--navy);transition:transform .2s,opacity .2s;margin:2px 0}
.hamburger-menu.is-open .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger-menu.is-open .bar:nth-child(2){opacity:0}
.hamburger-menu.is-open .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.head-cta{margin-left:auto;flex:none;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 14px;border-radius:999px;background:var(--blue);color:var(--navy);font-weight:700;font-size:.875rem;text-decoration:none;white-space:nowrap}
.head-cta:hover{background:var(--blue-hover);color:var(--navy)}
.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 30px -20px rgba(11,31,51,.3);padding:var(--s3) var(--gutter) var(--s5);z-index:60}
.site-header nav.is-open{display:block}
.site-header nav ul{list-style:none;margin:0;padding:0}
.site-header nav li{margin:0}
.site-header nav li a{display:flex;align-items:center;min-height:48px;color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line-2);padding:0}
.site-header nav li a:hover,.site-header nav li a.active{color:var(--blue-ink)}
.site-header nav .nav-cta-li a,.site-header nav .nav-cta-li a:hover{font-weight:700;background:none!important;color:var(--navy)!important;padding:0;border-radius:0;box-shadow:none;min-height:48px;display:flex;justify-content:flex-start;transition:none}
.site-header nav .nav-cta-li a:hover,.site-header nav .nav-cta-li a.active{color:var(--blue-ink)!important}
.site-header nav .nav-btn{margin-top:var(--s4);width:100%}
@media (min-width:1024px){
  .hamburger-menu,.head-cta{display:none}
  .site-header nav{display:flex;align-items:center;gap:var(--s5);position:static;background:none;border:0;box-shadow:none;padding:0;margin-left:auto}
  .site-header nav ul{display:flex;gap:var(--s4)}
  .site-header nav li a{min-height:var(--tap);min-width:var(--tap);justify-content:center;border:0;font-size:.9375rem;border-bottom:2px solid transparent}
  .site-header nav li a:hover,.site-header nav li a.active{border-bottom-color:var(--blue)}
  .site-header nav .nav-cta-li a{min-height:var(--tap);border-bottom:2px solid transparent}
  .site-header nav .nav-cta-li a:hover,.site-header nav .nav-cta-li a.active{border-bottom-color:var(--blue)}
  .site-header nav .nav-btn{margin:0;width:auto}
}
@media (max-width:379px){.logo{font-size:1.1rem;gap:7px}.logo svg{width:30px;height:30px}.head-cta{padding:0 10px;font-size:.8125rem}}

/* ============ HERO ACCUEIL ============ */
.hero{position:relative;isolation:isolate;padding-bottom:var(--s7)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);position:relative}
.hero-bg{grid-column:1/-1;grid-row:1;position:relative;z-index:-1;margin-inline:calc(-1 * var(--gutter));overflow:hidden;background:var(--navy)}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 50%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,51,.70) 0%,rgba(11,31,51,.80) 55%,rgba(11,31,51,.92) 100%)}
.hero-txt{grid-column:1;grid-row:1;padding:var(--s6) 0 calc(var(--s9) + var(--s2));color:#fff;text-align:left}
.hero-txt h1{color:#fff;font-size:clamp(2rem,1.25rem + 3vw,3.25rem);line-height:1.08;letter-spacing:-.035em;max-width:13em;margin:0 0 var(--s4)}
.hero-txt .lead{color:#E3EAF2;max-width:34rem;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;padding:0;margin:var(--s5) 0 0}
.chips li{display:inline-flex;align-items:center;gap:8px;margin:0;min-height:32px;padding:4px 13px 4px 9px;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);color:#fff;font-size:.875rem;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.chips li::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-5' fill='none' stroke='%230B1F33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.chips li i{display:none}
.chips--light li{background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--navy)}

/* Carte formulaire (accueil, villes, contact, contrats) */
.form-card,.hero-form-container,.form-container{position:relative;z-index:3;background:#fff;color:var(--text);border-radius:var(--r-lg)!important;box-shadow:var(--shadow-2)!important;padding:var(--s5) var(--s4) var(--s4)!important;scroll-margin-top:calc(var(--header-h) + 12px);overflow:hidden;text-align:left}
.form-card::before,.hero-form-container::before,.form-container::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 4px 4px;background:var(--blue)}
.hero-grid .form-card,.hero-grid .hero-form-container{grid-column:1;grid-row:2;margin-top:calc(-1 * var(--s9))}
.form-head .form-title,.hero-form-container .form-title,.form-header h2{font-family:var(--font-t);font-size:1.375rem;font-weight:800;color:var(--navy)!important;letter-spacing:-.02em;line-height:1.2;margin:0 0 4px;text-align:left}
.form-head p:not(.form-title),.hero-form-subtitle,.form-header p{font-size:.9375rem;color:var(--muted);margin:0 0 var(--s4);text-align:left;line-height:1.5}
.hero-form-container .form-grid,.form-container .form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
@media (max-width:339px){.hero-form-container .form-grid,.form-container .form-grid{grid-template-columns:minmax(0,1fr)}}
.hero-form-container .form-group,.form-container .form-group,.field{margin-bottom:10px;min-width:0}
.form-group.full-width{grid-column:1/-1}
form label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:5px;color:var(--navy);text-align:left}
form input[type="text"],form input[type="email"],form input[type="tel"],form input[type="number"],form select,form textarea,.f-in{
  width:100%;min-height:44px;padding:9px 12px;border:1.5px solid var(--line)!important;border-radius:var(--r-sm)!important;background:#FAFCFE;font:inherit;font-size:1rem;color:var(--navy);transition:border-color .15s,box-shadow .15s,background .15s}
form input::placeholder,form textarea::placeholder{color:#8593A6}
form input:hover,form select:hover,form textarea:hover{border-color:#9FB2C8!important}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--blue)!important;background:#fff;box-shadow:0 0 0 4px rgba(14,165,233,.18)!important}
form select{-webkit-appearance:none;appearance:none;padding-right:38px;background:#FAFCFE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%230B1F33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/18px no-repeat}
form textarea{resize:vertical;min-height:56px}
form input[type="checkbox"],form input[type="radio"]{width:20px;height:20px;min-height:0;padding:0;accent-color:var(--blue-ink);flex:none}
.gdpr-check{display:flex;gap:10px;align-items:flex-start;font-size:.8125rem;line-height:1.45;margin:8px 0;padding:8px 10px;border-radius:var(--r-sm)}
.gdpr-check label,.consent-tel label{font-weight:500!important;color:var(--text)!important;font-size:.8125rem!important;line-height:1.45}
.consent-tel{background:var(--soft)!important;border-radius:var(--r-sm)!important;border:1px solid var(--line-2);color:var(--text)!important;font-size:.8125rem!important}
.consent-tel p{font-size:.6875rem!important;color:var(--muted)!important}
form button[type="submit"],.hero-form-container form button{display:flex;width:100%;min-height:54px;margin-top:var(--s3);font-size:1.0625rem;box-shadow:0 12px 26px -12px rgba(14,165,233,.85)}
.form-trust-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}
.form-trust-badge{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--muted)}
.form-trust-badge i{color:var(--ok)!important}

/* Carte « Quel est votre besoin ? » */
.b-picker{grid-column:1;grid-row:3;position:relative;z-index:2;margin-top:var(--s5);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s4) var(--s3)}
.b-picker-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 var(--s4);margin:0 4px var(--s3)}
.b-picker-t{margin:4px 0;font-family:var(--font-t);font-size:1.1875rem;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.ptiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0}
.ptiles li{margin:0;min-width:0}
.ptiles a{display:flex;flex-direction:column;height:100%;border-radius:var(--r);overflow:hidden;background:var(--soft);color:var(--navy);text-decoration:none;font-weight:700;font-size:.875rem;line-height:1.25;box-shadow:0 0 0 1px var(--line-2);transition:box-shadow .15s,transform .15s}
.ptiles img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.ptiles .lbl{display:flex;align-items:center;gap:6px;flex:1;min-height:46px;padding:8px 10px}
.ptiles .lbl::after{content:"\2192";margin-left:auto;padding-left:4px;color:var(--blue-ink)}
.ptiles a:hover{box-shadow:0 0 0 2px var(--blue),0 14px 28px -18px rgba(11,31,51,.5);transform:translateY(-2px);color:var(--navy)}
.ptiles .all{grid-column:1/-1}
.ptiles .all a{background:var(--navy);color:#fff;flex-direction:row;justify-content:center;align-items:center;text-align:center;gap:10px;padding:10px;min-height:56px;box-shadow:none}
.ptiles .all svg{width:28px;height:28px;fill:none;stroke:var(--blue-on-dark);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ptiles .all a:hover{background:var(--navy-3);color:#fff}
@media (min-width:600px){.ptiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ptiles .all{grid-column:auto}.ptiles .all a{flex-direction:column;min-height:120px}}
@media (min-width:760px){
  .hero-bg{margin-inline:calc(50% - 50vw)}
  .b-picker{padding:var(--s5)}
  .ptiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .ptiles a{font-size:.9375rem}
  .ptiles .lbl{padding:10px 12px;min-height:50px}
  .form-card,.hero-form-container,.form-container{padding:var(--s6) var(--s6) var(--s5)!important}
}
@media (min-width:760px) and (max-width:1099px){.ptiles{grid-template-columns:repeat(5,minmax(0,1fr))}.ptiles .all{grid-column:auto}}
@media (min-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 440px;column-gap:var(--s7)}
  .hero-bg{grid-row:1}
  .hero-bg::after{background:linear-gradient(90deg,rgba(11,31,51,.92) 0%,rgba(11,31,51,.80) 34%,rgba(11,31,51,.30) 58%,rgba(11,31,51,.12) 74%,rgba(11,31,51,.45) 100%)}
  .hero-bg img{object-position:center 45%}
  .hero-txt{padding:var(--s7) 0 calc(var(--s9) + var(--s6))}
  .hero-txt h1{font-size:3rem;max-width:none;letter-spacing:-.04em}
  .ptiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ptiles .all{grid-column:1/-1}
  .ptiles .all a{flex-direction:row;min-height:56px}
  .ptiles .lbl{font-size:.875rem;padding:8px 10px}
  .hero-grid .form-card,.hero-grid .hero-form-container{grid-column:2;grid-row:1/span 2;align-self:start;margin-top:var(--s5);padding:28px 30px 22px!important}
  .b-picker{grid-column:1;grid-row:2;margin-top:calc(-1 * (var(--s9) + var(--s2)));padding:var(--s5)}
  .b-picker-t{font-size:1.3125rem}
}
@media (max-width:599px){
  .hero-txt{padding:var(--s5) 0 calc(var(--s9) + var(--s4))}
  .chips{margin-top:var(--s4);gap:6px}
  .chips li{font-size:.8125rem;min-height:30px;padding:3px 11px 3px 7px}
  .hero-grid .form-card,.hero-grid .hero-form-container{margin-top:calc(-1 * (var(--s9) - var(--s2)))}
  .b-picker-head .link-arrow{font-size:.9375rem}
}

/* ============ SECTIONS ============ */
.section{padding-block:var(--s8)}
.section-soft{background:var(--soft)}
@media (min-width:760px){.section{padding-block:var(--s9)}}
.section-head{max-width:46rem;margin-bottom:var(--s6)}
.section-head h2{margin:0 0 var(--s3)}
.section-head p:not(.eyebrow){color:var(--muted);font-size:1.0625rem;margin:0}
.section-head--center{margin-inline:auto;text-align:center}
.section-head--center .eyebrow{justify-content:center}
.section-head--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4);max-width:none}
section{scroll-margin-top:calc(var(--header-h) + 8px)}

/* Tarifs */
.prices{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.prices{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}}
.price{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}
.price-img{aspect-ratio:16/8;width:100%;object-fit:cover;display:block}
.price-body{display:flex;flex-direction:column;flex:1;padding:var(--s5)}
.price h3{font-size:1.1875rem;margin:0 0 var(--s2)}
.price-val{font-family:var(--font-t);font-size:2.5rem;font-weight:800;line-height:1;color:var(--navy);letter-spacing:-.03em;margin:0 0 6px}
.price-val small{font-family:var(--font);font-size:.9375rem;font-weight:600;color:var(--muted);letter-spacing:0}
.price-sub{font-size:.875rem;color:var(--muted);margin:0 0 var(--s4)}
.price ul{list-style:none;margin:0 0 var(--s5);padding:0;font-size:.9375rem}
.price li{display:flex;gap:10px;align-items:flex-start;padding:5px 0}
.price li svg{width:18px;height:18px;flex:none;margin-top:4px;color:var(--blue-ink);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.price .btn{margin-top:auto}
.price--main{box-shadow:0 0 0 2px var(--blue),0 30px 60px -34px rgba(11,31,51,.5)}
.price-tag{position:absolute;top:12px;left:12px;z-index:1;background:var(--blue);color:var(--navy);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.price-note{margin:var(--s5) 0 0;font-size:.875rem;color:var(--muted);text-align:center}
.price-note b{color:var(--navy)}
@media (max-width:599px){.price:not(.price--main) .price-img{display:none}}

/* Comment ça marche, confiance */
.b-how{display:grid;gap:var(--s7);align-items:center}
@media (min-width:1024px){.b-how{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s8)}}
.b-how h2{margin-top:0}
.hsteps{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;gap:var(--s4)}
.hsteps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px var(--s4);margin:0;align-items:start}
.hsteps-ico{grid-row:1/span 2;position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--blue-soft);color:var(--blue-ink)}
.hsteps-ico svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hsteps-n{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:.75rem;font-weight:800;display:grid;place-items:center}
.hsteps .t{font-family:var(--font-t);font-weight:700;font-size:1.125rem;color:var(--navy);margin:4px 0 0;line-height:1.3}
.hsteps p{margin:0;color:var(--text)}
.b-how .btn-lg{margin-top:var(--s6)}
.how-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-2)}
.how-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.how-badge{position:absolute;left:16px;bottom:16px;right:16px;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.96);border-radius:var(--r);padding:12px 14px;box-shadow:0 10px 30px -10px rgba(11,31,51,.35);font-size:.875rem;line-height:1.4;color:var(--text)}
.how-badge b{display:block;color:var(--navy);font-size:.9375rem}
.how-badge svg{width:36px;height:36px;flex:none;padding:7px;border-radius:10px;background:var(--blue-soft);color:var(--blue-ink);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:600px){.how-badge{right:auto;max-width:360px}}
.trust{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);list-style:none;margin:0;padding:var(--s5);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
@media (min-width:600px){.trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.trust{grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--s5) var(--s6)}}
.trust li{display:flex;gap:12px;margin:0;align-items:flex-start;font-size:.9375rem;line-height:1.45;text-align:left}
.trust .ico{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:var(--blue-soft);color:var(--blue-ink)}
.trust .ico i{font-size:1.1rem;color:var(--blue-ink)!important}
.trust h3{font-size:1rem;margin:4px 0 2px}
.trust p{margin:0}

/* Cartes services (accueil, villes) */
.cards3{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.cards3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}}
.scard{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);transition:box-shadow .15s,transform .15s}
.scard:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}
.scard img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.scard-b{display:flex;flex-direction:column;flex:1;padding:var(--s5);text-align:left}
.scard-b h3{margin:0 0 var(--s2);display:flex;gap:8px;align-items:center}
.scard-b h3 i{color:var(--blue-ink);font-size:1rem}
.scard-b p{font-size:.9375rem;margin:0}
.scard-b p a{font-weight:700}

/* Dureté de l'eau (accueil) */
.durete{display:grid;overflow:hidden;border-radius:var(--r-lg);background:var(--blue-soft);box-shadow:0 0 0 1px #CDEBFB}
@media (min-width:900px){.durete{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.durete-bg{order:2;min-height:220px}
.durete-bg img{width:100%;height:100%;object-fit:cover;display:block}
.durete-in{padding:var(--s6) var(--s5);text-align:left;position:relative;z-index:1}
@media (min-width:760px){.durete-in{padding:var(--s8) var(--s7)}}
.durete p,.durete-in p{color:var(--text)}
.ville-search-header h2{margin:0 0 var(--s3)}
.search-box{position:relative;margin-top:var(--s5)}
.search-t{font-family:var(--font);font-size:.875rem;font-weight:700;margin:0 0 8px;color:var(--navy)}
.search-t i{color:var(--blue-ink);margin-right:4px}
.search-container{position:relative;margin-bottom:12px}
.search-input-container{position:relative;display:flex;align-items:center}
#searchInput{width:100%;min-height:58px;padding:14px 48px 14px 18px;border:0;border-radius:var(--r);font:inherit;font-size:1.0625rem;color:var(--navy);background:#fff;box-shadow:0 0 0 1.5px #A5D8F3,0 14px 30px -18px rgba(11,31,51,.4);box-sizing:border-box}
#searchInput:focus{outline:none;box-shadow:0 0 0 3px var(--blue),0 14px 30px -18px rgba(11,31,51,.4)}
#clearButton{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:transparent;font-size:1.5rem;color:var(--muted);cursor:pointer;display:none;padding:0}
#autocompleteDropdown{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-2);max-height:320px;overflow-y:auto}
.autocomplete-item{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;cursor:pointer;color:var(--navy);border-bottom:1px solid var(--line-2)}
.autocomplete-item:hover,.autocomplete-item.highlighted{background:var(--blue-soft)}
.autocomplete-item .department{color:var(--muted);font-size:.875rem}
#message{display:none;margin-top:8px;font-size:.875rem}
.seo-block{margin-top:var(--s5);font-size:.9375rem}
.seo-block h3{font-size:1.0625rem;margin:0 0 8px}
.seo-block h3 i{color:var(--blue-ink);margin-right:6px}
.seo-block p{margin:0 0 10px}
.durete-examples{background:#fff;border-radius:var(--r);padding:12px 14px;font-size:.875rem;line-height:1.7;box-shadow:0 0 0 1px #CDEBFB;color:var(--navy)}
.durete-examples small{color:var(--muted)}

/* FAQ (accordéons v3 et anciens) */
.faq-grid{display:grid;gap:var(--s6)}
@media (min-width:1024px){.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s8);align-items:start}.faq-grid .section-head{position:sticky;top:calc(var(--header-h) + 24px)}}
.faq-grid .section-head .btn{margin-top:var(--s4)}
.faqs{display:grid;gap:12px}
.faq-item,details.qa,main details{border-radius:var(--r)!important;background:#fff!important;box-shadow:var(--shadow-1)!important;margin:0 0 12px;border:0!important;overflow:hidden;padding:0!important}
.faqs .faq-item,.faqs details{margin:0}
.faq-item[open],main details[open]{box-shadow:0 0 0 2px var(--blue),0 20px 40px -30px rgba(11,31,51,.4)!important}
.faq-item summary,main details summary{position:relative;display:block;padding:16px 56px 16px 18px!important;cursor:pointer;list-style:none;font-weight:700;color:var(--navy)!important;font-size:1rem;line-height:1.4;background:none!important;margin:0}
.faq-item summary::-webkit-details-marker,main details summary::-webkit-details-marker{display:none}
.faq-item summary::after,main details summary::after{content:""!important;position:absolute;right:16px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5v9M3.5 8h9' fill='none' stroke='%230369A1' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s;font-size:0;color:transparent;transform:none}
.faq-item[open] summary::after,main details[open] summary::after{transform:rotate(45deg)}
.faq-item .answer,main details>p,main details>div{padding:0 18px 16px!important;border-top:0!important;margin:0}
.faq-item .answer p:last-child{margin-bottom:0}

/* Bandeaux d'appel */
.cta-end{padding-block:0 var(--s8)}
.cta-box{display:grid;gap:var(--s5);align-items:center;border-radius:var(--r-lg);padding:var(--s6) var(--s5);background:linear-gradient(120deg,#0284C7 0%,#0EA5E9 55%,#38BDF8 100%);color:var(--navy);text-align:left}
.cta-box h2,.cta-box .h2-like{color:var(--navy)!important;margin:0 0 6px;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem)}
.cta-box p{margin:0 0 var(--s4);color:#082F49;font-weight:500;max-width:none}
.cta-box a:not(.btn),.cta-box .cta-button-main{background:var(--navy)!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border-radius:var(--r-btn);font-weight:700;text-decoration:none!important}
.cta-box a:not(.btn):hover,.cta-box .cta-button-main:hover{background:var(--navy-3)!important;color:#fff!important}
@media (min-width:900px){.cta-box{padding:var(--s7) var(--s8)}}
.cta-box--row{text-align:center}
.cta-box--row p{margin-inline:auto;max-width:44rem}

/* Besoin de conseils (accueil) */
.guides-grid{display:grid;gap:var(--s6);align-items:center}
@media (min-width:760px){.guides-grid{grid-template-columns:260px minmax(0,1fr);gap:var(--s7)}}
.guides-image img{width:240px;height:240px;border-radius:50%!important;object-fit:cover;margin-inline:auto;display:block}
.guides-text h2{margin:0 0 var(--s3)}
.guides-text p{color:var(--muted);margin:0 0 var(--s4)}

/* Pied de page marine */
.site-footer{background:var(--navy);color:#C6D2DF;padding:var(--s8) 0 var(--s5);font-size:.9375rem;margin-top:0;text-align:left}
.foot-grid{display:grid;gap:var(--s6)}
@media (min-width:760px){.foot-grid{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}}
.site-footer .logo{color:#fff}
.site-footer .logo-tld{color:var(--blue-on-dark)}
.site-footer .footer-tagline{margin:var(--s3) 0 0;max-width:26rem;line-height:1.6;color:#C6D2DF;font-size:.9375rem;font-weight:500}
.foot-t{color:#fff;font-size:.9375rem;margin:0 0 var(--s3);font-weight:700}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0}
.site-footer nav a{display:inline-flex;align-items:center;min-height:var(--tap);color:#C6D2DF;text-decoration:none;padding:2px 0}
.site-footer a:hover{color:#fff}
.foot-bottom{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.12);font-size:.8125rem;color:#9FB0C3;line-height:1.6;text-align:center;margin-inline:auto}
.foot-bottom p{text-align:center;margin-inline:auto}
.foot-bottom p{margin:0 0 8px;color:#9FB0C3}
.foot-bottom a{color:#C6D2DF;display:inline;min-height:0}
.foot-bottom .footer-badge a{display:inline-flex;min-height:44px!important;background:#fff!important;color:#0a0c10!important}
.foot-bottom .footer-badge{margin-top:12px!important;display:flex;justify-content:center;text-align:center}

/* Barre d'appel mobile */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:12px;align-items:center;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -10px 30px -16px rgba(11,31,51,.35);transform:translateY(110%);transition:transform .25s}
.sticky-cta.show{transform:none}
.sticky-cta p{margin:0;font-size:.8125rem;line-height:1.3;color:var(--muted);flex:1;min-width:0}
.sticky-cta p b{display:block;color:var(--navy);font-size:.9375rem}
.sticky-cta .btn{flex:none;padding:0 18px}
@media (min-width:1024px){.sticky-cta{display:none}}
@media (max-width:359px){.sticky-cta p{display:none}.sticky-cta .btn{flex:1}}

/* ============ HERO PHOTO DES PAGES INTÉRIEURES ET VILLES ============ */
.v-hero{position:relative;isolation:isolate;color:#fff;background:var(--navy);overflow:hidden;text-align:left}
.v-hero-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.v-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,31,51,.74),rgba(11,31,51,.9))}
@media (min-width:1024px){.v-hero::after{background:linear-gradient(90deg,rgba(11,31,51,.94) 0%,rgba(11,31,51,.84) 40%,rgba(11,31,51,.35) 75%,rgba(11,31,51,.15) 100%)}}
.v-hero-in{padding-block:var(--s4) calc(var(--s9) + var(--s5))}
@media (min-width:1024px){.v-hero-in{padding-block:var(--s5) calc(var(--s9) + var(--s7))}}
.v-hero--page .v-hero-in{padding-block:var(--s4) var(--s7)}
@media (min-width:1024px){.v-hero--page .v-hero-in{padding-block:var(--s5) var(--s8)}}
.crumb{font-size:.875rem;color:#B9C6D4;margin:0 0 var(--s5)}
.crumb ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0;padding:0}
.crumb li{margin:0;display:flex;gap:8px;align-items:center;min-width:0}
.crumb li+li::before{content:"\203A";color:#7F93A8}
.crumb li[aria-current]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;max-width:min(60vw,36rem)}
.crumb li[aria-current]::before{display:inline;margin-right:8px}
.crumb a{color:#E3EAF2;text-decoration:none;min-height:0;display:inline-block;padding:11px 6px;margin:-11px -6px}
.crumb a:hover{color:#fff;text-decoration:underline}
.v-hero h1{color:#fff!important;font-size:clamp(1.9rem,1.25rem + 2.4vw,3.1rem)!important;line-height:1.08;letter-spacing:-.035em;max-width:16em;margin:0 0 var(--s4);text-shadow:none!important;text-align:left!important}
.v-hero h1 span{color:#fff!important;font-size:inherit!important}
.v-hero h1 span.mark{color:#fff!important}
.v-hero .lead,.v-hero p{color:#E3EAF2}
.v-hero .lead{max-width:36rem}
.v-hero-rest{max-width:48rem}
.v-hero-rest p{color:#E3EAF2;max-width:36rem}
.v-hero-rest .hero-badges,.v-hero-rest .page-header-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s4)}
.v-hero-rest .hero-badge{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 13px;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);color:#fff;font-size:.875rem;font-weight:600}
.v-hero-rest .hero-badge i{color:var(--blue-on-dark)}
.v-hero-rest div[style*="background:#fff"]{color:var(--text);text-align:left!important;margin-left:0!important}
.v-hero-rest .page-header-subtitle{font-weight:700;color:#fff}
.v-hero-rest .search-container,.v-hero-rest .search-wrapper{color:var(--navy)}
.v-hero-rest .th-card{display:inline-flex;flex-direction:column;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.26);border-radius:var(--r);padding:14px 20px;margin-top:var(--s4)}
.v-hero-rest .th-card .val{font-family:var(--font-t);font-size:2rem;font-weight:800;color:var(--blue-on-dark)}

.th-band{position:relative;z-index:2;margin-top:calc(-1 * var(--s9));display:grid;gap:var(--s4);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s5)}
@media (min-width:900px){.th-band{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s6);padding:var(--s6)}}
.th-main{display:flex;gap:var(--s5);align-items:center;flex-wrap:wrap}
.th-val{font-family:var(--font-t);font-size:3.25rem;font-weight:800;line-height:1;color:var(--navy);letter-spacing:-.04em;white-space:nowrap}
.th-val small{font-size:1.5rem;color:var(--blue-ink)}
.th-txt{flex:1 1 220px;min-width:0}
.th-lbl{display:block;font-weight:700;color:var(--navy);font-size:1.0625rem}
.th-lbl strong{display:inline-block;background:#BAE6FD;color:var(--navy);border-radius:999px;padding:1px 10px;font-size:.8125rem;margin-left:2px;vertical-align:middle}
.th-src{display:block;font-size:.8125rem;color:var(--muted);margin-top:4px}
.th-gauge{flex:1 1 100%;margin-top:4px}
.th-bar{position:relative;height:10px;border-radius:999px;background:linear-gradient(90deg,#7DD3FC 0%,#7DD3FC 37.5%,#86EFAC 37.5%,#86EFAC 62.5%,#FCD34D 62.5%,#FCD34D 87.5%,#F87171 87.5%)}
.th-dot{position:absolute;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--navy);box-shadow:0 0 0 4px #fff,0 4px 10px rgba(11,31,51,.4)}
.th-legend{display:grid;grid-template-columns:37.5% 25% 25% 12.5%;text-align:center;font-size:.75rem;color:var(--muted);margin-top:8px}
.th-legend span:last-child{text-align:right}
.th-side{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:var(--s4);border-radius:var(--r);background:var(--soft)}
.th-side-t{font-family:var(--font-t);font-weight:700;color:var(--navy);font-size:1.0625rem;margin:0;border-bottom:1px solid var(--line-2);padding-bottom:8px}
.th-side .note{font-size:.8125rem;color:var(--muted);margin:0;background:none;border:0;padding:0}
.th-side .btn{margin-top:4px}
@media (max-width:599px){.th-val{font-size:2.75rem}.th-main{gap:var(--s3)}}

.v-layout{display:grid;gap:var(--s7)}
@media (min-width:1024px){.v-layout{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s8);align-items:start}}
.article h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin:var(--s7) 0 var(--s4)}
.article h2:first-child{margin-top:0}
.article p{font-size:1.0625rem;margin:0 0 var(--s4)}
.article ul{margin:0 0 var(--s4);padding-left:22px}
.article .note{display:flex;gap:14px;background:var(--blue-soft)!important;border:0!important;border-radius:var(--r)!important;padding:var(--s4) var(--s5);margin:var(--s5) 0;font-size:1rem;color:var(--navy)!important}
.article .note svg{width:24px;height:24px;flex:none;color:var(--blue-ink);margin-top:2px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.article figure{margin:var(--s6) 0;border-radius:var(--r-lg);overflow:hidden}
.article figure img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;border-radius:0!important}
.side-card{position:sticky;top:calc(var(--header-h) + 24px);background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s5);overflow:hidden;text-align:left}
.side-card>img{margin:calc(-1 * var(--s5)) calc(-1 * var(--s5)) var(--s4);width:calc(100% + 2 * var(--s5));max-width:none;aspect-ratio:16/9;object-fit:cover;display:block}
.side-card h3{font-size:1.25rem;margin:0 0 var(--s2)}
.side-card p{font-size:.9375rem;color:var(--muted);margin:0 0 var(--s4)}
@media (max-width:1023px){.side-card{position:static}}
.form-zone{display:grid;gap:var(--s6);align-items:start}
@media (min-width:1024px){.form-zone{grid-template-columns:minmax(0,1fr) 460px;gap:var(--s8)}}
.form-zone .form-card{grid-row:auto;grid-column:auto;margin-top:0}
.form-zone-txt h2{margin:0 0 var(--s3)}
.form-zone-txt .how-photo{margin-top:var(--s5)}
.form-zone-txt ul{list-style:none;padding:0;margin:var(--s4) 0 0}
.form-zone-txt li{display:flex;gap:10px;align-items:flex-start;padding:6px 0}
.form-zone-txt li svg{width:20px;height:20px;flex:none;margin-top:4px;color:var(--blue-ink);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1023px){.form-zone-txt .how-photo{display:none}}

/* ============ HARMONISATION DES ANCIENNES PAGES (contenu non touché) ============ */
.bg-grey,.grey-bg{background:var(--soft)}
.breadcrumb{display:none}
.internal-links{background:var(--soft);border-top:1px solid var(--line-2);padding:var(--s6) var(--gutter);text-align:center}
.internal-links h2,.internal-links .h2-like{font-size:1.1rem!important;font-size:1.1rem;color:var(--navy);margin:0 0 var(--s3)}
.internal-links .links-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 0}
.internal-links .links-container a{color:var(--blue-ink)!important;font-weight:600;text-decoration:none;display:inline-flex;min-height:44px;align-items:center}
.internal-links .separator{color:var(--line);margin:0 1rem}
.info-box,.tip-box,.warning-box,.danger-box,.note,.note-editeur,.urgency-box,.cta-box-old,.highlight-box,.success-box,.alert-box,.key-point,.encadre{border-radius:var(--r)!important}
.info-box,.tip-box,.note,.note-editeur,.key-point{background:var(--blue-soft)!important;border-color:#9BD7F5!important;color:var(--text)!important}
.warning-box{background:#FFF7E0!important;border-color:#F2D58A!important}
.danger-box{background:#FDECEA!important;border-color:#F3B4AE!important}
.urgency-box{background:var(--navy)!important;color:#fff!important;border-radius:var(--r)!important}
.urgency-box h3,.urgency-box p{color:#fff!important}
.content-guide .cta-box{background:var(--soft)!important;border:1px solid var(--line)!important;border-left:4px solid var(--blue)!important;border-radius:var(--r)!important;color:var(--text);display:block;padding:var(--s4) var(--s5)}
.content-guide .cta-box p{color:var(--text)}
.service-card,.contact-card,.benefit-item,.article-card,.related-card,.city-card,.stat-card,.symptom-card,.problem-card,.plan,.svc,.appliance-block,.step,.timeline-content,.option,.cost-item,.breakdown-item,.test-result,.checklist-item,.param-box,.svc-card,.marque-card,.feature-card,.service-card-main,.solution-card,.mid-cta,.urgent-cta{border-radius:var(--r-lg)!important;box-shadow:var(--shadow-1)!important;border-color:var(--line-2)!important}
.service-card:hover,.article-card:hover,.related-card:hover,.city-card:hover,.plan:hover{box-shadow:var(--sh-2)!important}
.service-card,.contact-card,.benefit-item,.svc{background:#fff!important}
.benefit-item i,.service-card i,.contact-card i,.svc i,.stat-card i{color:var(--blue-ink)!important}
.plan{background:#fff!important}
.plan.popular{border:2px solid var(--blue)!important;box-shadow:var(--sh-2)!important}
.plan .price,.price-tag-old,.tarif{color:var(--navy)!important;font-family:var(--font-t);font-weight:800}
.plan h3,.plan h2.hl3{color:var(--navy)!important}
.pricing-table,.services-grid,.benefits-grid,.contact-info-grid{align-items:stretch}
.cta-band,#cta-zone-old,.urgent-cta{background:var(--navy)!important;color:#D7E2EE!important;border-radius:var(--r-lg)!important}
.cta-band h2,.cta-band p,.urgent-cta h3,.urgent-cta h2,.urgent-cta p{color:#fff!important}
.hero,.hero-contact,.hero-ville,.page-header,.article-hero,.hero-section{background:none;color:inherit}
.page-header{padding:0!important}
main table{width:100%;font-size:.9375rem}
main th,main td{border:1px solid var(--line-2)!important;padding:10px 12px;text-align:left;vertical-align:top}
main thead th,main th{background:var(--soft)!important;color:var(--navy)!important}
main tbody tr:nth-child(even){background:#FAFCFE}
.article-meta{color:var(--muted);font-size:.9rem}
.article-meta i{color:var(--blue-ink)}
.content-guide h2{border-top-color:var(--line-2)!important}
.content-guide h3,.content-guide h2.hl3{color:var(--navy)!important}
.content-guide .eyebrow{color:var(--blue-ink)!important}
.article-card img,.article-card-image img,.related-card img{border-radius:var(--r) var(--r) 0 0}
.article-card .category,.category{background:var(--blue-soft)!important;color:#075985!important;border-radius:999px!important;font-weight:700}
.read-more{color:var(--blue-ink)!important;font-weight:700}
.article-hero-img,figure img{border-radius:var(--r-lg)!important}
main>section:first-of-type:not(.v-hero):not(.hero),main .container>.page-container,main .content-guide{padding-top:0}
.page-container,.content-guide,.article-container{margin-top:var(--s7)}
main .legal-content{padding-top:var(--s7)}
.error-container,.thank-you-container{padding-top:var(--s7)}

/* ---------- Mobile ---------- */
@media (max-width:599px){main div[style*="grid-template-columns"]{grid-template-columns:1fr!important}main div[style*="display:flex"],main div[style*="display: flex"]{flex-wrap:wrap}}
@media (max-width:759px){
  .hero-grid-old,.form-grid-old,.pricing-table,.services-grid,.benefits-grid,.contact-info-grid,.stats-grid{grid-template-columns:1fr!important}
  main table{font-size:.875rem;display:block;overflow-x:auto;max-width:100%;width:100%!important;min-width:0!important;-webkit-overflow-scrolling:touch}
  main pre{overflow-x:auto}
  main img,main video,main iframe{max-width:100%!important;width:auto}
  main h1[style*="font-size"]{font-size:1.9rem!important}
  main h1 span[style*="font-size"]{font-size:1.25rem!important}
}
@media (max-width:360px){.cmp-btns{flex-wrap:wrap}.cmp-btns .cmp-btn{flex:1 1 100%}main [style*="min-width"]{min-width:0!important}main [class*="grid"]:not(.hero-grid):not(.faq-grid):not(.form-zone):not(.v-layout),main [class*="-cards"],main .related-articles{grid-template-columns:1fr!important}main a,main li,main td,main th{overflow-wrap:anywhere}main div[style*="display: flex"],main p[style*="display: flex"],main div[style*="display:flex"]{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- Wasp, contrôle affichage lot 2 : cartes tarifaires mobiles, cibles tactiles ---------- */
@media (max-width:480px){
  .pricing-table{gap:20px!important;margin-top:28px!important}
  .plan{padding:24px 16px!important}
  .plan h3,.plan h2.hl3{font-size:1.3rem!important}
  .plan .price{font-size:2rem!important;line-height:1.2!important}
  .plan .price span{font-size:.9rem!important}
  .plan.popular{transform:none!important}
  .plan.popular::before{top:20px!important;right:-32px!important;padding:4px 30px!important;font-size:.75rem!important}
  .plan ul{margin:18px 0!important}
  .plan ul li{margin-bottom:12px!important}
}
#searchInput{min-height:44px;box-sizing:border-box}
.city-link{display:flex!important;align-items:center;min-height:44px}
.footer-badge a{min-height:44px!important}

/* ---------- Wasp, contrôle v3 : bulle « Besoin d'un SAV » (quiz) et cibles tactiles ---------- */
html body .savadou-quiz-trigger .close-trigger{width:var(--tap);height:var(--tap);top:0;right:0;font-size:20px;background:transparent}
@media (max-width:1023px){
  html body .savadou-quiz-trigger{left:12px!important;right:12px!important;max-width:none!important;bottom:12px!important;padding:12px 52px 12px 16px!important;border-radius:var(--r)!important}
  html body:has(#sticky-cta) .savadou-quiz-trigger{bottom:84px!important}
  html body .savadou-quiz-trigger>p:not(.sq-trigger-title),html body .savadou-quiz-trigger .sub-info,html body .savadou-quiz-trigger .water-icon{display:none!important}
  html body .savadou-quiz-trigger .sq-trigger-title{margin:0 0 6px!important;font-size:14px!important}
  html body .savadou-quiz-trigger .cta-btn{margin:0!important;min-height:var(--tap);display:flex!important;align-items:center;justify-content:center}
}
.v-hero-rest .search-container{margin-left:0;margin-right:auto}
