/* Nettoyage Toiture Bouches-du-Rhône — main.css v19 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;color:#111827;line-height:1.7;background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{line-height:1.25;font-weight:700;color:#111827;margin:0}
p{margin:0}a{color:#1565C0;text-decoration:none;transition:color .18s}
a:hover{color:#0D47A1}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none;padding:0;margin:0}
button,input,select,textarea{font-family:inherit;font-size:inherit}
:root{
  --b:#1565C0;--b2:#0D47A1;--b3:#0A3880;--blt:#E3F2FD;
  --or:#E65100;--or2:#BF360C;
  --txt:#111827;--muted:#6b7280;--bdr:#e5e7eb;--bg:#f9fafb;
  --r:10px;--rlg:16px;
  --sh:0 1px 3px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.07);
  --shlg:0 4px 6px rgba(0,0,0,.04),0 14px 44px rgba(0,0,0,.12)
}
.topbar{background:var(--b3);color:rgba(255,255,255,.85);font-size:.82rem;padding:9px 20px;text-align:center}
.topbar a{color:#fff;font-weight:700}
nav{background:#fff;border-bottom:3px solid var(--b);position:sticky;top:0;z-index:900;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;height:66px;position:relative}
#nt{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;margin-right:auto}
.logo-icon{display:flex;align-items:center;flex-shrink:0}.logo-svg{width:38px;height:38px;flex-shrink:0}.service-hero-img{width:100%;border-radius:var(--rlg);margin-bottom:28px;aspect-ratio:3/2;object-fit:cover;box-shadow:var(--sh)}
.logo-text strong{display:block;font-size:.9rem;color:var(--b2);line-height:1.2;font-weight:700}
.logo-text span{font-size:.7rem;color:var(--muted)}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;border-radius:8px;border:1.5px solid var(--bdr);background:var(--bg);flex-shrink:0;-webkit-tap-highlight-color:transparent;user-select:none}
.hbg span{display:block;width:20px;height:2px;background:var(--txt);border-radius:2px;transition:transform .26s ease,opacity .2s}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links li a{display:block;padding:8px 11px;font-size:.86rem;font-weight:600;color:var(--txt);border-radius:7px;white-space:nowrap;transition:background .18s,color .18s}
.nav-links li a:hover,.nav-links li a[aria-current=page]{background:var(--blt);color:var(--b2)}
.nav-cta{background:var(--or)!important;color:#fff!important;padding:9px 18px!important;border-radius:8px!important;font-weight:700!important;margin-left:6px;box-shadow:0 3px 10px rgba(230,81,0,.3)}
.nav-cta:hover{background:var(--or2)!important;transform:translateY(-1px);color:#fff!important}
.has-sub{position:relative;align-self:stretch;display:flex;align-items:center}
.has-sub>a{display:flex;align-items:center;padding:8px 11px!important}
.has-sub>a::after{content:' ▾';font-size:.64rem;opacity:.5}
.sub-toggle{display:none}
/* ── Mobile nav — drawer slide-in ─────────────────────────────────── */
/* Overlay sombre derrière le drawer */
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:998;backdrop-filter:blur(2px)}
#nt:checked ~ .nav-overlay{display:block}
@media(max-width:900px){
  .hbg{display:flex}
  /* Drawer latéral depuis la droite */
  .nav-links{
    display:block!important;
    position:fixed;top:0;right:0;bottom:0;
    width:min(310px,85vw);
    background:#fff;
    flex-direction:column;align-items:stretch;gap:0;
    border-left:3px solid var(--b);
    box-shadow:-8px 0 40px rgba(0,0,0,.22);
    padding:0;
    z-index:9999;
    overflow-y:auto;overflow-x:hidden;
    transform:translateX(110%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);
    -webkit-overflow-scrolling:touch;
  }
  #nt:checked ~ .nav-links{transform:translateX(0)}
  /* Hamburger → croix */
  #nt:checked ~ .hbg span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  #nt:checked ~ .hbg span:nth-child(2){opacity:0;transform:scaleX(0)}
  #nt:checked ~ .hbg span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  /* En-tête drawer */
  .nav-links::before{
    content:'Menu';
    display:block;
    background:linear-gradient(135deg,var(--b3),var(--b2));
    color:#fff;
    font-weight:700;font-size:.95rem;letter-spacing:.04em;
    padding:18px 20px;
    border-bottom:1px solid rgba(255,255,255,.15);
  }
  /* Items nav */
  .nav-links li{width:100%;border-bottom:1px solid var(--bdr)}
  .nav-links li:last-child{border-bottom:none}
  .nav-links li a{
    padding:14px 20px;border-radius:0;font-size:1rem;font-weight:600;
    display:flex;align-items:center;min-height:52px;
    color:var(--txt);
  }
  .nav-links li a:hover,.nav-links li a[aria-current=page]{background:var(--blt);color:var(--b2)}
  /* CTA devis dans le drawer */
  .nav-cta{
    margin:16px 16px 4px!important;border-radius:10px!important;
    justify-content:center;padding:13px!important;
  }
  /* Sub-toggle bouton pour services */
  .sub-toggle{
    margin-left:auto;background:none;border:none;cursor:pointer;
    padding:14px 18px;font-size:.95rem;color:var(--muted);
    min-width:52px;min-height:52px;display:flex;align-items:center;justify-content:center;
    border-left:1px solid var(--bdr);transition:background .15s,color .15s;
    flex-shrink:0;-webkit-tap-highlight-color:transparent;
  }
  .sub-toggle:hover,.sub-toggle[aria-expanded=true]{background:var(--blt);color:var(--b2)}
  .sub-toggle[aria-expanded=true]{transform:rotate(180deg)}
  /* Services item = lien + bouton côte à côte */
  .has-sub{flex-direction:row;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid var(--bdr)}
  .has-sub>a{flex:1;border-bottom:none;padding:14px 20px!important}
  .has-sub>a::after{display:none}
  /* Mega-menu en drawer — 1 colonne obligatoire */
  .sub-menu-mega{
    position:static!important;width:100%;box-shadow:none!important;border:none!important;border-radius:0!important;
    background:var(--bg);padding:6px 8px 10px;
    display:none!important;
    grid-template-columns:1fr!important;gap:3px;
    border-top:1px solid var(--bdr);
  }
  .has-sub.open .sub-menu-mega{display:grid!important;grid-template-columns:1fr!important}
  .sub-item{padding:11px 12px;overflow:hidden;border-radius:8px}
  .sub-item:hover{background:var(--blt)}
  .sub-item-text{min-width:0;overflow:hidden}
  .sub-item-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}
  .sub-item-text span{display:none}
  .sub-menu-footer{padding-top:8px}
  .sub-menu-footer a{font-size:.82rem}
}
/* ── Floating action bar (mobile) ── */
.mob-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:800;
  display:none;
  padding:0 14px;
  padding-bottom:max(14px,env(safe-area-inset-bottom));
  gap:10px;
  pointer-events:none;
}
@media(max-width:900px){.mob-bar{display:flex}}
@media(min-width:901px){.mob-bar{display:none!important}}
.mob-tel,.mob-dev{
  flex:1;pointer-events:all;
  border-radius:18px;
  text-decoration:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:14px 12px;
  font-weight:700;color:#fff;
  transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s;
  box-shadow:0 6px 28px rgba(0,0,0,.28),0 2px 8px rgba(0,0,0,.12);
  -webkit-tap-highlight-color:transparent;
}
.mob-tel{background:linear-gradient(145deg,var(--b2) 0%,var(--b) 100%)}
.mob-dev{background:linear-gradient(145deg,var(--or) 0%,var(--or2) 100%)}
.mob-tel:active,.mob-dev:active{transform:scale(.95);box-shadow:0 2px 10px rgba(0,0,0,.18);color:#fff}
.mob-tel:hover,.mob-dev:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 32px rgba(0,0,0,.3)}
.mob-ico{width:22px;height:22px;display:block;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mob-lbl{font-size:.82rem;font-weight:800;letter-spacing:.02em;line-height:1;color:#fff;white-space:nowrap}
.mob-sub{font-size:.67rem;opacity:.85;font-weight:500;line-height:1;color:#fff;white-space:nowrap}
.nav-ico{width:14px;height:14px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-.12em;margin-right:5px}
.sub-item-ico{width:18px;height:18px;min-width:18px;flex-shrink:0;stroke:var(--b);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.sec-title{text-align:center;margin-bottom:52px}
.sec-title h2{font-size:clamp(1.5rem,3vw,2.1rem);color:var(--b2);margin-bottom:12px;line-height:1.25}
.sec-title p{color:var(--muted);max-width:680px;margin:0 auto;font-size:1.05rem}
.pill{display:inline-block;background:var(--blt);color:var(--b2);font-size:.78rem;font-weight:700;padding:5px 14px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.btn-or{display:inline-flex;align-items:center;gap:8px;background:var(--or);color:#fff;padding:14px 28px;border-radius:10px;font-weight:700;font-size:1rem;box-shadow:0 4px 14px rgba(230,81,0,.3);transition:background .18s,transform .15s}
.btn-or:hover{background:var(--or2);color:#fff;transform:translateY(-1px)}
.btn-wh{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4);padding:13px 28px;border-radius:10px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .2s}
.btn-wh:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.65);color:#fff}
.hero{position:relative;color:#fff;padding:88px 24px 76px;text-align:center;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,56,128,.85) 0%,rgba(21,101,192,.65) 100%);z-index:-1}
.hero-ratings{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:32px;padding:7px 20px;font-size:.84rem;margin-bottom:24px;backdrop-filter:blur(6px)}
.stars{color:#FFC107;font-size:1.1rem}
h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.2);margin-bottom:16px}
h1 em{color:#90CAF9;font-style:normal}
.hero-sub{font-size:1.1rem;opacity:.93;margin-bottom:24px;line-height:1.6}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}
.badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.82rem;padding:5px 12px;border-radius:99px;backdrop-filter:blur(4px)}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:36px}
.hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 52px;padding-top:32px;border-top:1px solid rgba(255,255,255,.15)}
.stat strong{display:block;font-size:2.1rem;font-weight:800;line-height:1;color:#90CAF9}
.stat span{font-size:.78rem;opacity:.7;margin-top:4px;display:block;color:#fff}
.promo{background:#fffbeb;border-left:4px solid #f59e0b;padding:13px 24px;text-align:center;font-size:.93rem;font-weight:600;color:#78350f}
.promo strong{color:#b33000}
.promo a{color:#b33000;font-weight:700}
.reass{background:var(--b2);padding:13px 24px}
.reass-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px}
.reass-item{color:#fff;font-size:.83rem;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}
.services-sec{background:var(--bg);padding:80px 0}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sc-link{display:flex;text-decoration:none;color:inherit;height:100%}
.sc{background:#fff;border-radius:var(--rlg);overflow:hidden;box-shadow:var(--sh);transition:box-shadow .2s,transform .2s;width:100%;display:flex;flex-direction:column}
.sc:hover{box-shadow:var(--shlg);transform:translateY(-5px)}
.sc-img{height:195px;background-size:cover!important;background-position:center!important;display:flex;align-items:flex-end;justify-content:space-between;padding:16px 18px;position:relative;overflow:hidden}
.sc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 35%,rgba(0,0,0,.58) 100%);pointer-events:none}
.sc1{background:linear-gradient(rgba(10,50,128,.35),rgba(13,71,161,.5)),url('/img/service-nettoyage-toiture.webp')}
.sc2{background:linear-gradient(rgba(5,40,100,.35),rgba(10,60,140,.5)),url('/img/service-demoussage.webp')}
.sc3{background:linear-gradient(rgba(15,50,130,.35),rgba(20,80,160,.5)),url('/img/service-hydrofuge.webp')}
.sc4{background:linear-gradient(rgba(10,40,100,.35),rgba(15,65,140,.5)),url('/img/service-terrasse.webp')}
.sc5{background:linear-gradient(rgba(8,35,90,.35),rgba(12,58,130,.5)),url('/img/service-facade.webp')}
.sc6{background:linear-gradient(rgba(5,30,80,.35),rgba(8,48,120,.5)),url('/img/service-panneaux.webp')}
.sc-ico{font-size:2.6rem;line-height:1;position:relative;z-index:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.sc-badge{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.35);color:#fff;padding:5px 11px;border-radius:20px;font-size:.77rem;font-weight:700;position:relative;z-index:1;backdrop-filter:blur(4px)}
.sc-body{padding:20px 20px 22px;flex:1;display:flex;flex-direction:column}
.sc-body h3{font-size:1rem;color:var(--b2);margin-bottom:7px;font-weight:700}
.sc-body p{font-size:.84rem;color:var(--muted);line-height:1.6;flex:1;margin-bottom:14px}
.sc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--bdr);margin-top:auto}
.sc-lnk{font-size:.81rem;font-weight:700;color:var(--b)}
.sc-arr{width:24px;height:24px;background:var(--blt);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--b2);font-weight:700;transition:background .2s,transform .2s}
.sc:hover .sc-arr{background:var(--b2);color:#fff;transform:translateX(3px)}
.why-sec{padding:80px 0}
.why-grid{display:grid;grid-template-columns:1fr 420px;gap:72px;align-items:start}
@media(max-width:768px){.why-grid{grid-template-columns:1fr;gap:44px}}
.why-label{display:inline-block;color:var(--b);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.why-grid h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:28px}
.why-items{display:flex;flex-direction:column;gap:20px}
.why-item{display:flex;gap:16px}
.wi-ico{width:46px;height:46px;min-width:46px;background:var(--blt);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.why-item h3{font-size:.96rem;color:var(--txt);margin-bottom:4px;font-weight:700}
.why-item p{font-size:.84rem;color:var(--muted);line-height:1.6}
.team-img{width:100%;border-radius:var(--rlg);box-shadow:var(--shlg);display:block;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}
.why-card{background:linear-gradient(145deg,var(--b2) 0%,var(--b3) 100%);border-radius:var(--rlg);padding:38px 30px;color:#fff;text-align:center;box-shadow:0 12px 48px rgba(13,71,161,.3);position:relative;overflow:hidden}
.why-card::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.06)}
.big-num{font-size:3.8rem;font-weight:800;line-height:1;color:#90CAF9}
.big-lbl{font-size:.86rem;opacity:.8;margin:6px 0 22px;color:#fff}
.sub-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;padding:16px;background:rgba(255,255,255,.08);border-radius:10px}
.sub-stat strong{display:block;font-size:1.5rem;font-weight:800;color:#90CAF9;line-height:1}
.sub-stat span{font-size:.73rem;opacity:.7;color:#fff}
.cta-tel{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--or);color:#fff;padding:13px;border-radius:10px;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:0 4px 16px rgba(230,81,0,.38);transition:all .2s}
.cta-tel:hover{background:var(--or2);transform:translateY(-1px);color:#fff}
.why-card>p{font-size:.76rem;opacity:.5;margin-top:10px;color:#fff}
.zones-sec{background:var(--bg);padding:80px 0}
.zones-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.zone{background:#fff;border:1.5px solid var(--bdr);border-radius:32px;padding:8px 18px;font-size:.84rem;font-weight:600;color:var(--txt);text-decoration:none;transition:all .2s;display:inline-block}
.zone:hover{background:var(--blt);border-color:var(--b);color:var(--b2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.07)}
.zone.main{background:var(--b2);color:#fff;border-color:var(--b2)}
.zone.main:hover{background:var(--b3)}
.testi-sec{padding:80px 0}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.testi{background:#fff;border:1.5px solid var(--bdr);border-radius:var(--rlg);padding:26px;position:relative;transition:box-shadow .2s,border-color .2s}
.testi:hover{box-shadow:var(--shlg);border-color:#bbdefb}
.testi::before{content:'\201C';position:absolute;top:14px;right:18px;font-size:4.2rem;color:var(--blt);font-family:Georgia,serif;line-height:1}
.testi-stars{color:#f59e0b;letter-spacing:2px;margin-bottom:12px}
.testi blockquote{font-size:.9rem;color:var(--muted);font-style:italic;line-height:1.7;margin-bottom:18px;border:none;padding:0;background:none}
.testi-foot{display:flex;align-items:center;gap:12px}
.t-av{width:40px;height:40px;border-radius:50%;background:var(--b);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}
.testi-foot strong{display:block;font-size:.9rem}
.testi-foot time{font-size:.8rem;color:var(--muted)}
.contact-sec{padding:88px 0;background:linear-gradient(155deg,rgba(10,38,100,.94) 0%,rgba(5,20,60,.96) 100%),url('/img/bg-contact.webp') center/cover no-repeat;color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:72px;align-items:start}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:44px}}
.contact-left h2{color:#fff;font-size:clamp(1.5rem,3vw,1.95rem);margin-bottom:12px}
.contact-left>p{opacity:.87;margin-bottom:28px;color:#fff}
.c-items{list-style:none;padding:0;display:flex;flex-direction:column;gap:18px}
.c-items li{display:flex;align-items:flex-start;gap:14px}
.ci{width:42px;height:42px;min-width:42px;background:rgba(255,255,255,.14);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.c-items strong{display:block;font-size:.8rem;opacity:.65;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;color:#fff}
.c-items a{color:#fff;font-weight:700;font-size:1rem;text-decoration:none}
.c-items address{font-style:normal;font-size:.9rem;opacity:.84;color:#fff}
.c-items .note{font-size:.77rem;opacity:.56;margin-top:2px;color:#fff}
.cf-wrap{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--rlg);padding:34px;backdrop-filter:blur(8px)}
.cf-wrap h3{color:#fff;font-size:1.08rem;margin-bottom:18px}
.cform{display:flex;flex-direction:column;gap:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.cf label{display:block;font-size:.79rem;font-weight:600;opacity:.7;margin-bottom:5px;letter-spacing:.3px;color:#fff}
.cf input,.cf select,.cf textarea{width:100%;padding:11px 13px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s,background .2s;appearance:auto;-webkit-appearance:auto}
.cf input:focus,.cf select:focus,.cf textarea:focus{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.15)}
.cf input::placeholder,.cf textarea::placeholder{color:rgba(255,255,255,.4)}
.cf select{color:rgba(255,255,255,.78)}
.cf select option{color:#111;background:#fff;font-weight:500}
.cf textarea{min-height:98px;resize:vertical}
.btn-submit{background:var(--or);color:#fff;padding:14px;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;width:100%;font-family:inherit;box-shadow:0 4px 16px rgba(230,81,0,.38);transition:all .2s;margin-top:4px}
.btn-submit:hover{background:var(--or2);transform:translateY(-1px)}
.cf-note{font-size:.74rem;opacity:.48;text-align:center;margin-top:5px;color:#fff}

/* ── Page contact — fond blanc (override des styles "fond sombre") ── */
.contact-pg{padding:0}
.contact-pg .c-items strong{color:var(--txt)}
.contact-pg .c-items a{color:var(--b);text-decoration:none}
.contact-pg .c-items address{color:var(--txt);opacity:.78}
.contact-pg .c-items .note{color:var(--muted)}
.contact-pg .ci{background:var(--blt);color:var(--b)}
.contact-pg .cf-wrap{background:var(--blt);border:1.5px solid var(--bdr);backdrop-filter:none}
.contact-pg .cf-wrap h3{color:var(--txt)}
.contact-pg .cf label{color:var(--txt);opacity:.75}
.contact-pg .cf input,.contact-pg .cf select,.contact-pg .cf textarea{background:#fff;border-color:var(--bdr);color:var(--txt)}
.contact-pg .cf input:focus,.contact-pg .cf select:focus,.contact-pg .cf textarea:focus{border-color:var(--b);background:#fff}
.contact-pg .cf input::placeholder,.contact-pg .cf textarea::placeholder{color:var(--muted)}
.contact-pg .cf select{color:var(--txt)}
.contact-pg .cf-note{color:var(--muted)}
.contact-pg .contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
@media(max-width:768px){.contact-pg .contact-grid{grid-template-columns:1fr;gap:32px}}
.contact-pg h2{font-size:clamp(1.3rem,2.8vw,1.7rem);color:var(--txt);margin-bottom:10px}
.contact-pg>p{color:var(--muted);margin-bottom:24px}

.faq-sec{padding:80px 0}
.faq-list{display:flex;flex-direction:column;gap:10px;max-width:800px;margin:0 auto}
details{border:1px solid var(--bdr);border-radius:10px;background:#fff}
details[open]{border-color:var(--b)}
summary{padding:16px 20px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:.95rem}
summary::-webkit-details-marker{display:none}
.faq-arr{width:25px;height:25px;min-width:25px;background:var(--blt);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--b2);transition:background .2s,transform .2s}
details[open] .faq-arr{background:var(--b2);color:#fff;transform:rotate(45deg)}
details[open]{border-color:var(--b)}
.faq-ans{padding:0 20px 16px;font-size:.9rem;color:var(--muted);line-height:1.7;border-top:1px solid var(--bdr);padding-top:12px}
.breadcrumb-bar,.bc-bottom{background:var(--bg);border-bottom:1px solid var(--bdr);padding:10px 0;position:static!important;top:auto!important;z-index:auto!important}
.bc-bottom{border-top:1px solid var(--bdr);border-bottom:none}
.bc-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:.82rem;color:var(--muted)}
.bc-list a{color:var(--b)}
.bc-sep{color:var(--muted)}
footer{background:#0f172a;color:rgba(255,255,255,.75);padding:56px 28px 24px}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px}
.f-logo .logo-text strong{color:#90CAF9!important}
.f-logo .logo-text span{color:rgba(255,255,255,.36)!important}
footer address{font-style:normal;font-size:.84rem;line-height:1.85;color:rgba(255,255,255,.75)}
footer address a{color:#90CAF9}
footer h3{color:#fff;font-size:.84rem;letter-spacing:.5px;text-transform:uppercase;margin-bottom:16px}
footer ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:9px}
footer li a{color:rgba(255,255,255,.72);font-size:.84rem;transition:color .18s;text-decoration:none;display:block}
footer li a:hover{color:#fff}
.footer-bot{max-width:1200px;margin:0 auto;border-top:1px solid rgba(255,255,255,.07);padding-top:20px;font-size:.77rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:rgba(255,255,255,.55)}
.footer-bot a{color:rgba(255,255,255,.55);text-decoration:none}
.footer-bot a:hover{color:rgba(255,255,255,.65)}
.page-header{background:linear-gradient(135deg,var(--b3) 0%,var(--b2) 100%);color:#fff;padding:60px 0 40px;text-align:center}
.page-header h1{font-size:clamp(1.8rem,4vw,2.6rem);color:#fff;margin-bottom:12px}
.page-header p{opacity:.85;max-width:600px;margin:0 auto;font-size:1.05rem}
.service-layout{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start;padding:60px 0}
@media(max-width:900px){.service-layout{grid-template-columns:1fr}}
.service-body h2{font-size:1.4rem;margin:32px 0 12px;color:var(--txt)}
.service-body h3{font-size:1.1rem;margin:24px 0 8px;color:var(--txt)}
.service-body p{color:#374151;font-size:.97rem;line-height:1.7;margin-bottom:14px}
.service-body ul{margin-bottom:16px}
.service-body ul li{padding:6px 0 6px 22px;position:relative;color:#374151;font-size:.95rem}
.service-body ul li::before{content:'✓';position:absolute;left:0;color:var(--b);font-weight:700}
.service-body .c-items li{padding:0;position:static}
.service-body .c-items li::before{content:none}
.price-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.9rem}
.price-table th{background:var(--b);color:#fff;padding:10px 14px;text-align:left}
.price-table td{padding:10px 14px;border-bottom:1px solid var(--bdr)}
.price-table tr:nth-child(even) td{background:var(--bg)}
.steps{display:flex;flex-direction:column;gap:16px;margin:20px 0}
.step{display:flex;gap:16px;align-items:flex-start}
.step-n{width:36px;height:36px;background:var(--b);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.step-body h3{font-size:.95rem;margin-bottom:4px}
.step-body p{font-size:.9rem;color:var(--muted)}
.sidebar-card{background:#fff;border-radius:var(--rlg);padding:24px;box-shadow:var(--sh);position:sticky;top:80px;margin-bottom:20px}
.sbc-head{text-align:center;margin-bottom:20px}
.sbc-head h3{font-size:1rem;margin-bottom:4px}
.sbc-head p{font-size:.84rem;color:var(--muted)}
.sbc-form{display:flex;flex-direction:column;gap:10px}
.sbc-form input,.sbc-form select{padding:10px 14px;border:1.5px solid var(--bdr);border-radius:8px;font-size:.9rem;width:100%}
.sbc-form input:focus,.sbc-form select:focus{border-color:var(--b);outline:none}
.sbc-form button{background:var(--or);color:#fff;border:none;padding:12px;border-radius:8px;font-weight:700;cursor:pointer;width:100%}
.sbc-form button:hover{background:var(--or2)}
.sbc-note{font-size:.75rem;color:var(--muted);text-align:center}
.sidebar-trust{background:var(--blt);border-radius:10px;padding:16px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.st-row{font-size:.85rem;font-weight:600;color:var(--b2)}
.sidebar-tel{display:block;background:var(--b);color:#fff;text-align:center;padding:12px;border-radius:8px;font-weight:700}
.sidebar-tel:hover{background:var(--b2);color:#fff}
.zone-nearby{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.zone-nearby a{background:var(--blt);color:var(--b2);padding:6px 14px;border-radius:99px;font-size:.84rem;font-weight:600}
.zone-nearby a:hover{background:var(--b);color:#fff}
.why-strip{background:linear-gradient(135deg,var(--b3) 0%,var(--b) 100%);padding:60px 0}
.why-strip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.ws-item{background:rgba(255,255,255,.1);border-radius:12px;padding:24px;text-align:center;color:#fff}
.ws-ico{font-size:2rem;margin-bottom:12px}
.ws-item h3{color:#fff;font-size:1rem;margin-bottom:8px}
.ws-item p{opacity:.8;font-size:.88rem;line-height:1.5}
.page-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}
.ps-item{background:var(--blt);border-radius:12px;padding:14px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ps-item strong{display:block;font-size:1.35rem;font-weight:800;color:var(--b);line-height:1.1}
.ps-item span{font-size:.78rem;color:var(--muted);margin-top:4px}
.ps-price{grid-column:1/-1;flex-direction:row;gap:16px;padding:14px 24px;background:var(--or);border-radius:12px;display:flex;align-items:center;justify-content:center}
.ps-price strong{color:#fff!important;font-size:1.15rem;white-space:nowrap;font-weight:800}
.ps-price span{color:rgba(255,255,255,.82);font-size:.82rem;margin-top:0}
.merci-wrap{max-width:600px;margin:80px auto;text-align:center;padding:0 20px}
.merci-ico{font-size:4rem;margin-bottom:20px}
.merci-wrap h1{font-size:2rem;margin-bottom:16px}
.merci-wrap p{color:var(--muted);margin-bottom:24px}
.legal-body{max-width:800px;margin:60px auto;padding:0 20px}
.legal-body h2{font-size:1.3rem;margin:32px 0 12px;color:var(--txt)}
.legal-body p,.legal-body li{color:#374151;font-size:.95rem;line-height:1.7;margin-bottom:10px}
.legal-body ul{padding-left:20px;list-style:disc}
.page-stats-bar{background:var(--b3);color:#fff;padding:24px 0}
.psb-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.psb-item{text-align:center}
.psb-item strong{display:block;font-size:1.6rem;font-weight:800;color:#90CAF9}
.psb-item span{font-size:.82rem;opacity:.8}
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .testi-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:1fr;gap:44px}
  .why-card{max-width:480px;margin:0 auto}
  .contact-grid{grid-template-columns:1fr;gap:44px}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .sidebar-card{position:static!important}
  .breadcrumb-bar,.bc-bottom{position:static!important}
  /* Hero plus compact = contenu critique visible dès le 1er coup d'œil */
  .hero{padding:44px 16px 36px}
  h1{font-size:1.8rem;letter-spacing:-.01em}
  .hero-sub{font-size:1rem}
  .hero-stats{gap:12px 24px;padding-top:20px}
  .stat strong{font-size:1.65rem}
  /* Services: 2 colonnes sur mobile (scroll moins long qu'une colonne) */
  .services-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .sc-img{height:130px}
  .sc-body{padding:13px 13px 15px}
  .sc-body h3{font-size:.9rem}
  .sc-badge{font-size:.7rem;padding:4px 8px}
  /* Layout & sections */
  .service-layout{padding:28px 0 40px}
  .testi-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .cf-wrap{padding:22px 16px}
  .section-wrap{padding-left:16px;padding-right:16px}
  /* Contact section: réduire padding vertical */
  .contact-sec{padding:56px 0}
  /* Why card mobile */
  .why-card{padding:24px 18px}
  .big-num{font-size:3rem}
  /* Page header */
  .page-header{padding:36px 0 24px}
  .page-header h1{font-size:1.55rem}
  .page-header p{font-size:.93rem}
  /* FAQ */
  summary{font-size:.9rem;padding:14px 16px}
  /* Page stats — 2 colonnes sur tablette */
  .page-stats{grid-template-columns:repeat(2,1fr)}
  .ps-price{flex-direction:column;gap:6px;padding:14px 20px}
  .ps-price strong{white-space:normal;font-size:1.05rem}
  /* Sections spacing */
  .services-sec,.why-sec,.zones-sec,.testi-sec,.faq-sec{padding:56px 0}
  .sec-title{margin-bottom:36px}
}
@media(max-width:480px){
  .hero-btns{flex-direction:column;align-items:stretch;gap:10px}
  .hero-btns .btn-or,.hero-btns .btn-wh{justify-content:center;width:100%;padding:15px 20px}
  .services-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:28px}
  footer{padding:40px 20px 16px}
  .reass-item{font-size:.76rem}
  .promo{padding:10px 16px;font-size:.84rem}
  h1{font-size:1.55rem}
  /* Topbar compact: masquer texte secondaire, garder le téléphone */
  .topbar-cta{display:none}
  .topbar{font-size:.78rem;padding:7px 14px;letter-spacing:.01em}
  /* Sections encore plus compactes */
  .services-sec,.why-sec,.zones-sec,.testi-sec,.faq-sec{padding:44px 0}
  .sec-title h2{font-size:1.35rem}
  /* why-card */
  .why-card{padding:20px 14px}
  .big-num{font-size:2.6rem}
  /* zones */
  .zone{font-size:.8rem;padding:7px 14px}
  /* page-stats — compact sur petit mobile */
  .page-stats{gap:8px}
  .ps-item{padding:10px 8px}
  .ps-item strong{font-size:1rem}
}
/* Safe-area padding pour la mob-bar flottante */
@media(max-width:900px){
  body{padding-bottom:calc(86px + max(14px,env(safe-area-inset-bottom)))}
}
/* ── Mega-menu Services ──────────────────────────────────────────────── */
.sub-menu-mega{display:none;position:absolute;top:calc(100% + 2px);left:-12px;background:#fff;border:1px solid var(--bdr);border-top:3px solid var(--b);border-radius:0 var(--rlg) var(--rlg) var(--rlg);box-shadow:0 8px 32px rgba(0,0,0,.13);width:500px;padding:16px;z-index:9999}
.has-sub:hover .sub-menu-mega,.has-sub.open .sub-menu-mega,.has-sub:focus-within .sub-menu-mega{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sub-item{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border-radius:8px;text-decoration:none;color:var(--txt);transition:background .15s,transform .12s}
.sub-item:hover{background:var(--blt);transform:translateX(3px)}
.sub-item-ico{font-size:1.4rem;flex-shrink:0;line-height:1;margin-top:2px}
.sub-item-text strong{display:block;font-size:.84rem;font-weight:700;color:var(--b2);margin-bottom:2px}
.sub-item-text span{font-size:.75rem;color:var(--muted);line-height:1.35}
.sub-menu-footer{grid-column:1/-1;border-top:1px solid var(--bdr);margin-top:6px;padding-top:10px;text-align:center}
.sub-menu-footer a{font-size:.8rem;font-weight:700;color:var(--b);text-decoration:none}
.sub-menu-footer a:hover{color:var(--b2)}
@media(max-width:900px){
  .sub-menu-mega{position:static!important;width:100%;box-shadow:none!important;border:none!important;border-radius:0!important;background:var(--bg);padding:6px 8px 10px;display:none!important;grid-template-columns:1fr!important;gap:3px}
  .has-sub.open .sub-menu-mega{display:grid!important;grid-template-columns:1fr!important}
  .sub-item{padding:11px 12px;overflow:hidden;border-radius:8px}
  .sub-item-text{min-width:0;overflow:hidden}
  .sub-item-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}
  .sub-item-text span{display:none}
}
/* ── Button wrapper (centrage) ──────────────────────────────────────── */
.btn-wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:1.5rem}
.btn-wrap-sm{margin-top:1rem}
/* ── Modern UX polish ─────────────────────────────────────────────── */
:root{--transition:.18s ease}
section[id]{scroll-margin-top:72px}
.btn-or,.btn-wh,.nav-cta{letter-spacing:.01em}
.btn-or{box-shadow:0 4px 18px rgba(230,81,0,.32)}
.sc{border:1px solid var(--bdr)}
.sc:hover{border-color:#bbdefb}
.testi{background:linear-gradient(160deg,#fff 0%,#f8fbff 100%)}
details{transition:box-shadow .2s}
details[open]{box-shadow:0 4px 18px rgba(21,101,192,.08)}
.zone:focus-visible,.btn-or:focus-visible,.btn-wh:focus-visible{outline:3px solid var(--b);outline-offset:3px}
/* Topbar subtle gradient */
.topbar{background:linear-gradient(90deg,var(--b3) 0%,var(--b2) 100%)}
/* Nav shadow upgrade */
nav{box-shadow:0 2px 16px rgba(0,0,0,.1)}
/* Reass bar richer */
.reass{background:linear-gradient(90deg,var(--b2) 0%,var(--b3) 100%);padding:14px 24px}
/* Why-card glassmorphism touch */
.why-card{backdrop-filter:blur(2px)}
/* Footer gradient */
footer{background:linear-gradient(160deg,#0f172a 0%,#0a1628 100%)}
/* Smooth image loading */
img{opacity:1;transition:opacity .3s}
/* Better input accent */
.cf input,.cf select,.cf textarea,.sbc-form input,.sbc-form select{accent-color:var(--b)}
/* Section fade-in on scroll (CSS only, no JS) */
@media(prefers-reduced-motion:no-preference){
  .sc,.testi,.why-item,.zone{will-change:transform}
}
/* Mobile: tap targets & alignements */
@media(max-width:900px){
  .nav-links li a{min-height:48px;display:flex;align-items:center}
  .nav-links li a,.nav-links li{white-space:normal;word-break:break-word}
  .logo-text strong{font-size:.82rem}
  .logo-text span{font-size:.65rem}
  .reass-item{white-space:normal}
}
/* Mobile: improve hero readability */
@media(max-width:480px){
  .hero-ratings{font-size:.78rem;padding:6px 14px}
  .hero-badges{gap:6px}
  .badge{font-size:.75rem;padding:4px 10px}
}
/* ── Global design polish ──────────────────────────────────────── */
/* Promo bar améliorée */
.promo{border-radius:0 0 12px 12px;margin-bottom:-8px;position:relative;z-index:1}
/* Service cards — meilleure ombre + hover */
.sc{box-shadow:0 2px 12px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.05)}
.sc:hover{box-shadow:0 12px 40px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.08)}
/* Reass bar — items plus lisibles */
.reass-item{font-size:.85rem;padding:3px 0}
/* Why items — meilleure séparation */
.why-item{padding:16px;border-radius:12px;transition:background .18s}
.why-item:hover{background:var(--bg)}
/* Témoignages — card plus soignée */
.testi{box-shadow:0 2px 12px rgba(0,0,0,.05)}
.testi:hover{box-shadow:0 8px 32px rgba(21,101,192,.1)}
/* Zones grid — items plus arrondis */
.zone{border-radius:10px;padding:9px 18px;font-size:.85rem}
/* Page header — sous-titres plus lisibles */
.page-header p{font-size:1rem;opacity:.9}
/* Price table — header plus visible */
.price-table th{padding:11px 16px;font-size:.88rem;letter-spacing:.02em}
.price-table td{padding:11px 16px}
/* Steps — numéro plus mis en valeur */
.step-n{font-size:1.05rem;width:38px;height:38px;box-shadow:0 4px 12px rgba(21,101,192,.25)}
/* Sidebar card — meilleure hiérarchie */
.sidebar-card{border-top:3px solid var(--b)}
/* FAQ — meilleure lisibilité */
summary{font-size:.97rem;font-weight:600}
details[open] summary{color:var(--b2)}
/* Bouton devis sidebar — plus visible */
.sbc-form button{background:linear-gradient(135deg,var(--or) 0%,var(--or2) 100%);font-size:.97rem;padding:13px;border-radius:10px;letter-spacing:.02em;box-shadow:0 4px 16px rgba(230,81,0,.28)}
/* Trust items sidebar */
.st-row{display:flex;align-items:center;gap:7px}
/* Footer links hover */
footer a{transition:color .15s,opacity .15s}
footer a:hover{opacity:.9}
/* Focus ring global */
a:focus-visible,button:focus-visible{outline:2px solid var(--b);outline-offset:3px;border-radius:4px}
/* Mobile: section hero extra compact + lisibilité */
@media(max-width:768px){
  .why-strip{padding:44px 0}
  .why-strip-grid{gap:16px}
  .ws-item{padding:18px 14px}
  .page-stats{gap:6px}
  .ps-item{padding:9px 6px}
  .reass-inner{gap:4px 20px}
}
