/* =====================================================
   RESET & BASE
===================================================== */
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:80px;}
body{font-family:'DM Sans',system-ui,sans-serif;background:#fff;color:#1a1a1a;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}

/* =====================================================
   VARIABLES
===================================================== */
:root{
  --gold:#C8A96E;--gold2:#dfc080;--gold-dim:rgba(200,169,110,.12);--gold-dark:#8B6E35;
  --black:#0a0a0a;--dark:#111;
  --grey:#6b7280;--light:#f8f7f4;--border:#e6e0d6;
  --green:#22c55e;--wa:#25D366;
  --red:#ef4444;
  --r:8px;
  --shadow:0 16px 48px rgba(0,0,0,.13);
}

/* =====================================================
   TYPOGRAPHIE
===================================================== */
h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.14;letter-spacing:-.025em;}
h1{font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:900;}
h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:700;}
h3{font-size:1.05rem;font-weight:700;font-family:'DM Sans',sans-serif;letter-spacing:0;}
p{line-height:1.75;color:var(--grey);}
a{text-decoration:none;color:inherit;}

/* =====================================================
   LAYOUT
===================================================== */
.w{max-width:1120px;margin:0 auto;padding:0 32px;}
.ws{max-width:800px;margin:0 auto;padding:0 32px;}
section{padding:100px 0;}
.lbl{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:block;}
.sh{text-align:center;margin-bottom:64px;}
.sh h2{color:var(--dark);}
.sh p{font-size:.97rem;color:var(--grey);max-width:460px;margin:14px auto 0;}

/* =====================================================
   BOUTONS
===================================================== */
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 30px;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;border:none;transition:all .22s;white-space:nowrap;text-decoration:none;position:relative;}
.bg{background:var(--gold);color:#0a0a0a;}
.bg:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,169,110,.38);}
.bo{background:transparent;border:1.5px solid rgba(255,255,255,.3);color:#fff;}
.bo:hover{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.07);}
.btn-ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.14);transform:translateY(-2px);}
.btn-pulse::after{content:'';position:absolute;inset:0;border-radius:var(--r);box-shadow:0 0 0 0 rgba(200,169,110,.5);animation:pulse-ring 2.5s infinite;}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(200,169,110,.5)}70%{box-shadow:0 0 0 12px rgba(200,169,110,0)}100%{box-shadow:0 0 0 0 rgba(200,169,110,0)}}
.btn-micro{display:block;font-size:.65rem;color:rgba(255,255,255,.4);font-weight:500;text-align:center;margin-top:5px;letter-spacing:.02em;}
.btn-micro-dark{display:block;font-size:.65rem;color:rgba(0,0,0,.45);font-weight:500;text-align:center;margin-top:5px;letter-spacing:.02em;}
.cta-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:0;}

/* =====================================================
   URGENCY BAR
===================================================== */
.urgency-bar{
  background:linear-gradient(90deg,rgba(200,169,110,.1),rgba(200,169,110,.05),rgba(200,169,110,.1));
  border-top:1px solid rgba(200,169,110,.15);
  border-bottom:1px solid rgba(200,169,110,.15);
  padding:10px 0;text-align:center;
  font-size:.78rem;font-weight:600;color:var(--gold);
  letter-spacing:.04em;position:relative;z-index:5;
}
.urgency-bar span{color:rgba(255,255,255,.4);margin:0 14px;}

/* =====================================================
   HEADER — FIXE EN HAUT, TRANSPARENT PUIS OPAQUE
===================================================== */
#hd{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;transition:padding .35s,background .35s,box-shadow .35s,backdrop-filter .35s;background:transparent;}
#hd.stuck{padding:12px 0;background:rgba(8,8,8,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(200,169,110,.1);}
#hd.transparent{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
#hd.transparent .hd-nav a,#hd.transparent .hd-tel{color:rgba(255,255,255,.75);}
#hd.transparent .hd-nav a:hover,#hd.transparent .hd-tel:hover{color:#fff;}
.hdi{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:-.02em;}
.logo span{color:var(--gold);}
.hd-nav{display:flex;align-items:center;gap:28px;}
.hd-nav a{font-size:.82rem;font-weight:500;color:rgba(255,255,255,.6);transition:color .2s;}
.hd-nav a:hover{color:#fff;}
.hd-r{display:flex;align-items:center;gap:10px;}
.hd-tel{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.85);transition:color .2s;letter-spacing:.01em;}
.hd-tel:hover{color:var(--gold);}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:6px;background:none;border:none;width:36px;height:36px;}
.burger b{display:block;width:20px;height:1.5px;background:#fff;transition:all .28s;border-radius:2px;}
.burger.open b:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.open b:nth-child(2){opacity:0;transform:scaleX(0);}
.burger.open b:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* =====================================================
   MOBILE NAV
===================================================== */
#mob-nav{display:none;position:fixed;inset:0;z-index:990;background:rgba(8,8,8,.99);flex-direction:column;align-items:center;justify-content:center;gap:28px;}
#mob-nav.open{display:flex;}
#mob-nav a{font-family:'Playfair Display',serif;font-size:1.65rem;color:#fff;font-weight:700;transition:color .2s;}
#mob-nav a:hover{color:var(--gold);}
#mob-nav .mob-tel{font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--gold);font-weight:700;margin-top:8px;}

/* =====================================================
   HERO — IMAGE DE FOND + OVERLAY
===================================================== */
#hero{
  min-height:100vh;
  display:flex;align-items:center;
  padding:148px 0 100px;
  position:relative;overflow:hidden;
  background:var(--black);
}

/* Image de fond — handled by .hero-bg-img-tag <picture> element */
#hero:hover .hero-bg-img-tag{transform:scale(1.07);}

/* Overlay dégradé sombre */
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.65) 50%,rgba(0,0,0,0.55) 100%);
}
.hero-overlay::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,0) 55%,rgba(0,0,0,0.45) 100%);
}

.hero-body{position:relative;z-index:2;max-width:700px;}

/* WebP img tag invisible */
.hero-bg-img-tag{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  z-index:0;pointer-events:none;opacity:1;
  transform:scale(1.03);transition:transform 8s ease;
}

/* Badge urgence */
.hero-urgency-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(34,197,94,.12);
  border:1px solid rgba(34,197,94,.25);
  border-radius:40px;padding:8px 18px;
  margin-bottom:24px;
  font-size:.78rem;font-weight:700;color:#4ade80;
  letter-spacing:.03em;
}
.hero-urgency-dot{
  width:8px;height:8px;background:#22c55e;border-radius:50%;
  box-shadow:0 0 0 3px rgba(34,197,94,.25);
  animation:blink 1.5s infinite;flex-shrink:0;
}

/* Titre H1 */
#hero h1{
  color:#fff;
  font-size:clamp(2.2rem,5vw,3.6rem);
  line-height:1.12;
  margin-bottom:20px;
  text-shadow:0 2px 20px rgba(0,0,0,.5);
  max-width:640px;
}
#hero h1 em{color:var(--gold);font-style:normal;}

/* Sous-titre */
.hero-sub{
  font-size:1.08rem;
  color:rgba(255,255,255,.82);
  max-width:520px;
  margin-bottom:32px;
  line-height:1.85;
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.hero-amount{color:var(--gold);font-size:1.15rem;font-weight:800;}

/* 3 CARTES AVANTAGES */
.hero-cards{
  display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;
}
.hero-card{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;padding:14px 18px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:background .25s,border-color .25s,transform .25s;
  flex:1;min-width:160px;
}
.hero-card:hover{background:rgba(200,169,110,.12);border-color:rgba(200,169,110,.35);transform:translateY(-2px);}
.hero-card-ico{font-size:1.4rem;line-height:1;flex-shrink:0;}
.hero-card-body{display:flex;flex-direction:column;gap:2px;}
.hero-card-body strong{font-size:.82rem;font-weight:700;color:#fff;line-height:1.3;}
.hero-card-body span{font-size:.7rem;color:rgba(255,255,255,.45);font-weight:400;}

/* CTA bloc */
.hero-cta-block{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start;margin-bottom:32px;}
.hero-main-cta{font-size:1.05rem!important;padding:19px 42px!important;letter-spacing:.01em;box-shadow:0 4px 24px rgba(200,169,110,.35);}
.hero-social-proof{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:.78rem;font-weight:600;color:var(--gold);letter-spacing:.01em;}
.hero-social-proof strong{color:#fff;}
.hero-trust-bullets{display:flex;flex-direction:column;gap:4px;margin-top:8px;}
.hero-trust-bullets span{font-size:.72rem;color:rgba(255,255,255,.5);font-weight:500;}

/* Trust row */
.hero-trust{
  margin-top:36px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex;flex-wrap:wrap;gap:20px;
}
.hero-ti{
  font-size:.75rem;font-weight:600;color:rgba(255,255,255,.45);
  letter-spacing:.02em;
}
.hero-ti strong{color:rgba(255,255,255,.85);}

/* =====================================================
   STATS BAR
===================================================== */
#stats{background:var(--dark);border-bottom:1px solid rgba(200,169,110,.12);padding:36px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.stat{text-align:center;padding:0 20px;border-right:1px solid rgba(255,255,255,.06);}
.stat:last-child{border-right:none;}
.stat-n{font-family:'Playfair Display',serif;font-size:2.1rem;font-weight:700;color:var(--gold);}
.stat-l{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.35);margin-top:5px;letter-spacing:.05em;text-transform:uppercase;}

/* =====================================================
   SCROLL REVEAL
===================================================== */
.reveal{opacity:1;transform:none;transition:opacity .65s,transform .65s;}
.reveal.visible{opacity:1;transform:none;}

/* =====================================================
   SECTION AVANTAGES
===================================================== */
#avantages{background:#fff;}
.avantages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.avantage-card{
  background:var(--light);border:1px solid var(--border);
  border-radius:16px;padding:32px 28px;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  position:relative;overflow:hidden;
}
.avantage-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(200,169,110,.3);}
.avantage-ico{font-size:2rem;margin-bottom:16px;}
.avantage-card h3{font-size:.97rem;font-weight:700;color:var(--dark);margin-bottom:10px;}
.avantage-tag{overflow:hidden;
  display:inline-block;margin-top:16px;font-size:.65rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);padding:4px 12px;
  background:rgba(200,169,110,.09);border-radius:4px;
}

/* =====================================================
   PROCESSUS ÉTAPES
===================================================== */
#proc{background:var(--light);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;}
.step{
  background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:28px 22px;text-align:center;
  position:relative;overflow:hidden;
}

.step-num{font-size:.65rem;font-weight:900;letter-spacing:.15em;color:var(--gold);margin-bottom:14px;}
.step-ico{font-size:1.8rem;display:block;margin-bottom:12px;}
.step h3{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:10px;}
.step-tag{
  display:inline-block;margin-top:14px;font-size:.67rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  padding:4px 12px;background:rgba(200,169,110,.09);border-radius:4px;
}

/* =====================================================
   INTER CTA
===================================================== */
.inter-cta{padding:40px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.inter-cta .w{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.inter-cta-txt{flex:1;}
.inter-cta-txt strong{font-size:1.08rem;color:var(--dark);}
.inter-cta-txt p{font-size:.88rem;color:var(--grey);margin-top:4px;}
.inter-cta-btns{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;}

/* =====================================================
   SECTION URGENCE
===================================================== */
#urgence{background:linear-gradient(135deg,var(--black),#1a1408);}
.urgence-inner{
  background:linear-gradient(135deg,rgba(200,169,110,.08),rgba(200,169,110,.03));
  border:1px solid rgba(200,169,110,.2);
  border-radius:24px;padding:56px 52px;text-align:center;
}
.urgence-badge{
  display:inline-block;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);
  color:#f87171;border-radius:6px;padding:6px 16px;
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:24px;
}
#urgence h2{color:#fff;margin-bottom:20px;}
#urgence h2 em{color:var(--gold);font-style:normal;}
.urgence-txt{font-size:.97rem;color:rgba(255,255,255,.55);max-width:540px;margin:0 auto 36px;line-height:1.75;}
.urgence-cta{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.cta-wrap-c{display:flex;flex-direction:column;align-items:center;gap:0;}

/* =====================================================
   POURQUOI NOUS
===================================================== */
#why{background:#fff;}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.why-left{}
.why-items{display:flex;flex-direction:column;gap:24px;margin-top:32px;}
.why-item{display:flex;gap:16px;align-items:flex-start;}
.why-ico{font-size:1.4rem;flex-shrink:0;margin-top:2px;}
.why-txt h3{font-size:.92rem;font-weight:700;color:var(--dark);margin-bottom:5px;}
.why-right{display:flex;flex-direction:column;gap:16px;}
.why-card{
  background:var(--light);border:1px solid var(--border);
  border-radius:16px;padding:24px;
  transition:transform .2s,box-shadow .2s;
}
.why-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.why-card.dark{background:var(--dark);border-color:rgba(255,255,255,.07);}
.why-card-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.why-card-top span{font-size:1.3rem;}
.why-card-top h3{margin:0;}

/* =====================================================
   VERSUS / COMPARAISON
===================================================== */
#versus{background:var(--dark);padding:100px 0;}
.vs-table{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.07);}
.vs-header,.vs-row{display:grid;grid-template-columns:1fr 1.1fr 1.1fr;}
.vs-header{background:rgba(255,255,255,.04);}
.vs-header-empty,.vs-header-bad,.vs-header-good{
  padding:18px 20px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.vs-header-empty{color:transparent;}
.vs-header-bad{color:rgba(255,255,255,.4);border-left:1px solid rgba(255,255,255,.06);}
.vs-header-good{color:var(--gold);border-left:1px solid rgba(200,169,110,.15);}
.vs-header-ico{font-size:1rem;}
.vs-row{border-top:1px solid rgba(255,255,255,.05);}
.vs-label{padding:18px 20px;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.5);display:flex;align-items:center;}
.vs-cell{padding:18px 20px;font-size:.85rem;border-left:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;justify-content:center;}
.bad-cell{color:rgba(255,255,255,.35);}
.good-cell{color:rgba(255,255,255,.85);}
.good-cell strong{color:#fff;}
.vs-no{color:#ef4444;font-weight:700;}
.vs-yes{color:var(--green);font-weight:700;}
.vs-cell small{display:block;font-size:.72rem;color:rgba(255,255,255,.3);margin-top:2px;}

/* =====================================================
   AVIS CLIENTS
===================================================== */
#reviews{background:var(--light);}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.review-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;
  transition:transform .2s,box-shadow .2s;
}
.review-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.rev-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.rev-av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0;}
.rev-meta strong{display:block;font-size:.85rem;color:var(--dark);}
.rev-meta span{font-size:.72rem;color:var(--grey);}
.rev-stars{color:var(--gold);font-size:.9rem;letter-spacing:2px;margin-bottom:12px;}
.review-card p{font-size:.85rem;color:var(--grey);line-height:1.7;}

/* =====================================================
   ASSUREURS PARTENAIRES
===================================================== */
.insurers{margin-top:48px;padding-top:40px;border-top:1px solid var(--border);}
.insurers-label{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:28px;}
.insurers-grid{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;
}
.insurer-logo{
  display:flex;align-items:center;justify-content:center;
  width:110px;height:44px;
  background:#fff;border:1px solid var(--border);
  border-radius:8px;padding:8px 14px;
  color:var(--grey);transition:border-color .2s,color .2s,box-shadow .2s;
  font-weight:700;
}
.insurer-logo:hover{border-color:rgba(200,169,110,.4);color:var(--dark);box-shadow:0 4px 14px rgba(0,0,0,.07);}
.insurer-logo svg{width:100%;height:100%;}

/* =====================================================
   RASSURANCE
===================================================== */
#trust{background:var(--dark);padding:100px 0;}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tr-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-radius:16px;padding:28px;
  transition:border-color .2s,background .2s;
}
.tr-card:hover{border-color:rgba(200,169,110,.25);background:rgba(200,169,110,.04);}
.tr-ico{font-size:1.6rem;display:block;margin-bottom:14px;}
.tr-card h3{font-size:.92rem;font-weight:700;color:#fff;margin-bottom:10px;}
.tr-card p{font-size:.82rem;color:rgba(255,255,255,.35);line-height:1.7;}

/* =====================================================
   ZONES D'INTERVENTION
===================================================== */
#zones{background:#fff;}
.dep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.dep{border:1px solid var(--border);border-radius:12px;transition:border-color .2s,box-shadow .2s,transform .2s;}
.dep a{display:block;padding:22px 18px;text-align:center;text-decoration:none;}
.dep:hover{border-color:rgba(200,169,110,.4);box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px);}
.dep-n{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;color:var(--gold);}
.dep-name{font-size:.78rem;font-weight:700;color:var(--dark);margin-top:5px;}
.dep-v{font-size:.7rem;color:var(--grey);margin-top:4px;line-height:1.5;}
.zones-note{text-align:center;margin-top:24px;font-size:.82rem;color:var(--grey);}

/* =====================================================
   MAILLAGE INTERNE
===================================================== */
#maillage{background:var(--light);padding:60px 0;}
#maillage .sh{margin-bottom:36px;}
.maillage-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
}
.maillage-link{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--border);
  border-radius:8px;padding:10px 18px;
  font-size:.82rem;font-weight:700;color:var(--dark);
  transition:border-color .2s,color .2s,box-shadow .2s;
}
.maillage-link:hover{border-color:rgba(200,169,110,.4);color:var(--gold);box-shadow:0 4px 14px rgba(0,0,0,.07);}
.maillage-num{
  font-family:'Playfair Display',serif;font-size:.78rem;
  color:var(--gold);font-weight:700;
}

/* =====================================================
   FAQ
===================================================== */
#faq{background:var(--light);}
.fq{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden;background:#fff;}
.fq-q{
  padding:20px 24px;font-size:.92rem;font-weight:700;color:var(--dark);
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  transition:color .2s;
}
.fq-q:hover{color:var(--gold);}
.fq-ic{
  width:20px;height:20px;border-radius:50%;background:var(--gold-dim);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:12px;
  transition:transform .3s;
  font-size:.6rem;color:var(--gold);
}
.fq-ic::before{content:'+';font-size:.9rem;font-weight:700;}
.fq.open .fq-ic{transform:rotate(45deg);}
.fq.open .fq-q{color:var(--gold);}
.fq-a{
  display:none;padding:16px 24px 20px;
  font-size:.88rem;color:var(--grey);line-height:1.75;
  border-top:1px solid var(--border);
}
.fq.open .fq-a{display:block;}

/* =====================================================
   FORMULAIRE
===================================================== */
#devis{background:var(--dark);padding:100px 0;}
.form-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start;}
.form-left{padding-top:16px;}
.form-right{}
.form-left h2{font-size:clamp(1.7rem,3.2vw,2.5rem);color:#fff;margin-bottom:16px;}
.form-left p{font-size:.9rem;color:rgba(255,255,255,.4);line-height:1.75;margin-bottom:28px;}
.form-left-perks{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.form-perk{
  font-size:.82rem;color:rgba(255,255,255,.6);padding-left:18px;position:relative;
}
.form-perk::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700;}
.form-trust-mini{font-size:.72rem;color:rgba(255,255,255,.2);line-height:1.6;padding:14px 18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;}
.form-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:36px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-row.full{grid-template-columns:1fr;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.form-group input,.form-group textarea,.form-group select{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:14px 16px;
  color:#fff;font-family:'DM Sans',sans-serif;font-size:.9rem;
  transition:border-color .2s,background .2s;
  width:100%;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  outline:none;border-color:rgba(200,169,110,.5);background:rgba(255,255,255,.08);
}
.form-group input.error{border-color:var(--red);}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.2);}
.form-group select{cursor:pointer;}
.form-group select option{background:#1a1a1a;color:#fff;}
.form-group textarea{resize:vertical;min-height:110px;}
.field-err{font-size:.7rem;color:var(--red);margin-top:3px;display:none;}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}
.upload-section{margin-bottom:16px;}
.upload-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);display:block;margin-bottom:12px;}
.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.upload-zone{
  background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.12);
  border-radius:10px;padding:20px 12px;text-align:center;cursor:pointer;
  position:relative;transition:border-color .2s,background .2s;
  overflow:hidden;
}
.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.upload-zone:hover{border-color:rgba(200,169,110,.4);background:rgba(200,169,110,.04);}
.upload-zone.has-file{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.05);}
.upload-zone.drag-over{border-color:var(--gold);background:rgba(200,169,110,.08);}
.upload-ico{font-size:1.5rem;margin-bottom:8px;}
.upload-name{font-size:.75rem;font-weight:700;color:rgba(255,255,255,.7);}
.upload-hint{font-size:.65rem;color:rgba(255,255,255,.25);margin-top:3px;}
.upload-done{font-size:.7rem;color:var(--green);font-weight:600;margin-top:4px;display:none;}
.form-submit-area{margin-top:20px;}
.form-btn{
  width:100%;padding:17px;background:var(--gold);color:#0a0a0a;
  border:none;border-radius:10px;font-family:'DM Sans',sans-serif;
  font-size:.97rem;font-weight:700;cursor:pointer;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.form-btn:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,169,110,.3);}
.form-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.form-note{font-size:.7rem;color:rgba(255,255,255,.2);text-align:center;margin-top:12px;line-height:1.6;}
#form-success{display:none;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:10px;padding:24px;text-align:center;margin-top:16px;}
#form-success h3{color:var(--green);font-size:1.05rem;margin-bottom:10px;}
#form-success p{font-size:.85rem;color:rgba(255,255,255,.5);}
#form-error{display:none;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:10px;padding:16px;text-align:center;margin-top:12px;font-size:.85rem;color:#ef4444;}
.breadcrumb{font-size:.75rem;color:rgba(255,255,255,.4);margin-bottom:16px;}
.breadcrumb a{color:rgba(255,255,255,.5);transition:color .2s;}
.breadcrumb a:hover{color:var(--gold);}

/* =====================================================
   CTA FINAL
===================================================== */
#cta-sec{background:linear-gradient(135deg,var(--black),#1a1408);padding:100px 0;text-align:center;}
.cta-offer-pill{
  display:inline-block;background:rgba(200,169,110,.1);
  border:1px solid rgba(200,169,110,.25);
  border-radius:40px;padding:8px 22px;
  font-size:.78rem;font-weight:700;color:var(--gold);
  margin-bottom:28px;letter-spacing:.04em;
}
#cta-sec h2{color:#fff;margin-bottom:16px;}
#cta-sec h2 em{color:var(--gold);font-style:normal;}
#cta-sec p{color:rgba(255,255,255,.4);margin-top:10px;font-size:.9rem;}
.cta-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px;}
#dispo{display:block;margin-top:16px;font-size:.76rem;color:rgba(255,255,255,.22);}

/* =====================================================
   CONTACT
===================================================== */
#contact{background:#fff;}
.ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ct-card{
  background:var(--light);border:1px solid var(--border);
  border-radius:16px;padding:32px;text-align:center;
  transition:transform .2s,box-shadow .2s;
}
.ct-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.ct-ico{font-size:2rem;margin-bottom:14px;}
.ct-card h3{font-size:.92rem;font-weight:700;color:var(--dark);margin-bottom:10px;}

/* =====================================================
   FOOTER
===================================================== */
footer{background:var(--dark);padding:64px 0 32px;border-top:1px solid rgba(255,255,255,.05);}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.ft-brand .logo{font-size:1.15rem;}
.ft-brand p{font-size:.81rem;color:rgba(255,255,255,.23);line-height:1.75;max-width:230px;margin-top:12px;}
.ft-col h4{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:16px;}
.ft-col a{display:block;font-size:.82rem;color:rgba(255,255,255,.35);margin-bottom:10px;transition:color .2s;}
.ft-col a:hover{color:var(--gold);}
.ft-bot{border-top:1px solid rgba(255,255,255,.05);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.ft-bot p{font-size:.72rem;color:rgba(255,255,255,.18);}
.ft-bot-links{display:flex;gap:20px;}
.ft-bot-links a{font-size:.72rem;color:rgba(255,255,255,.2);transition:color .2s;}
.ft-bot-links a:hover{color:var(--gold);}

/* =====================================================
   ÉLÉMENTS FLOTTANTS
===================================================== */
/* WhatsApp bouton */
.wa-btn{
  position:fixed;left:24px;bottom:32px;z-index:500;
  background:#25D366;color:#fff;
  padding:16px 26px;border-radius:50px;
  font-size:1rem;font-weight:800;
  box-shadow:0 8px 32px rgba(37,211,102,.55);
  display:flex;align-items:center;gap:10px;
  transition:transform .2s,box-shadow .2s;
  text-decoration:none;
  letter-spacing:.01em;
  border:2px solid rgba(255,255,255,.25);
}
.wa-btn::before{content:'';position:absolute;inset:-4px;border-radius:54px;border:2px solid rgba(37,211,102,.35);animation:wa-pulse 2s infinite;}
.wa-btn:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(37,211,102,.65);}
@keyframes wa-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(1.12)}100%{opacity:0;transform:scale(1.12)}}

/* Chatbot */
.chat-btn{
  position:fixed;right:24px;bottom:28px;z-index:510;
  width:54px;height:54px;border-radius:50%;
  background:var(--dark);border:1.5px solid rgba(200,169,110,.3);
  color:var(--gold);font-size:1.4rem;cursor:pointer;
  box-shadow:0 6px 24px rgba(0,0,0,.4);
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s;
}
.chat-btn:hover{transform:scale(1.1);}
.chat-win{
  position:fixed;right:24px;bottom:94px;z-index:505;
  width:330px;background:var(--dark);border:1px solid rgba(200,169,110,.2);
  border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6);
  transform:scale(0);transform-origin:bottom right;opacity:0;
  transition:transform .3s,opacity .3s;pointer-events:none;
}
.chat-win.open{transform:scale(1);opacity:1;pointer-events:all;}
.chat-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07);}
.chat-head-l{display:flex;align-items:center;gap:12px;}
.chat-av{width:36px;height:36px;background:rgba(200,169,110,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.chat-name{font-size:.82rem;font-weight:700;color:#fff;}
.chat-status{font-size:.68rem;color:var(--green);}
.chat-close{background:none;border:none;color:rgba(255,255,255,.35);cursor:pointer;font-size:.9rem;padding:4px;}
.chat-msgs{padding:16px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;}
.chat-msg{max-width:85%;font-size:.82rem;line-height:1.55;padding:10px 14px;border-radius:12px;}
.msg-bot{background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);align-self:flex-start;border-radius:4px 12px 12px 12px;}
.msg-user{background:rgba(200,169,110,.18);color:#fff;align-self:flex-end;border-radius:12px 4px 12px 12px;}
.chat-opts{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px;}
.chat-opt{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:6px 12px;font-size:.74rem;color:rgba(255,255,255,.7);cursor:pointer;transition:border-color .2s,color .2s;}
.chat-opt:hover{border-color:rgba(200,169,110,.4);color:var(--gold);}
.chat-inp{display:flex;padding:10px 12px;border-top:1px solid rgba(255,255,255,.06);gap:8px;}
.chat-inp input{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:8px 14px;color:#fff;font-size:.8rem;font-family:'DM Sans',sans-serif;}
.chat-inp input::placeholder{color:rgba(255,255,255,.25);}
.chat-inp input:focus{outline:none;border-color:rgba(200,169,110,.3);}
.chat-send{background:var(--gold);border:none;border-radius:50%;width:34px;height:34px;color:#000;font-weight:700;cursor:pointer;font-size:1rem;flex-shrink:0;transition:background .2s;}
.chat-send:hover{background:var(--gold2);}

/* Back to top */
.btt{
  position:fixed;left:24px;bottom:28px;z-index:500;
  width:44px;height:44px;border-radius:50%;
  background:rgba(10,10,10,.55);border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.8);cursor:pointer;font-size:1.2rem;
  transition:opacity .3s,transform .2s;
  opacity:0;pointer-events:none;
}
.btt.show{opacity:1;pointer-events:all;}
.btt:hover{transform:translateY(-2px);}

/* Sticky mobile bar */
.sticky-mob{
  position:fixed;bottom:0;left:0;right:0;z-index:600;
  display:none;
  height:64px;
}
.sticky-mob a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  flex:1;height:100%;font-size:.88rem;font-weight:700;text-decoration:none;
}
.sm-tel{background:var(--gold);color:#000;}
.sm-wa{background:#1eb850;color:#fff;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}

/* =====================================================
   PAGES DÉPARTEMENT SPÉCIFIQUES
===================================================== */

#cta-final{background:linear-gradient(135deg,var(--dark),#1a1408);text-align:center;padding:80px 0;}
#cta-final h2{color:#fff;margin-bottom:10px;}
#cta-final h2 em{color:var(--gold);font-style:normal;}
#cta-final p{color:rgba(255,255,255,.4);margin-top:10px;}

/* =====================================================
   RESPONSIVE — TABLETTE (≤ 900px)
===================================================== */

/* ── Compensation header fixe pour ancres ── */
section[id],
#avantages, #proc, #zones, #faq, #devis, #contact,
#reviews, #why, #trust, #urgency, #cta {
  scroll-margin-top: 80px;
}
@media(max-width:900px){
  .hd-nav,.hd-tel{display:none;}
  .burger{display:flex;}
  .avantages-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr;gap:40px;}
  .ft-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .reviews-grid{grid-template-columns:1fr 1fr;}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .dep-grid{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;gap:40px;}
  .ct-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  
  .inter-cta .w{flex-direction:column;gap:20px;}
  .wa-btn{padding:13px 20px;font-size:.88rem;}
}

/* =====================================================
   RESPONSIVE — MOBILE (≤ 640px)
===================================================== */
@media(max-width:640px){
  section{padding:70px 0;}
  .w,.ws{padding:0 18px;}
  .avantages-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .reviews-grid{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;}
  .dep-grid{grid-template-columns:repeat(2,1fr);}
  .ft-grid{grid-template-columns:1fr;}
  .vs-header{display:none;}
  .vs-row{grid-template-columns:1fr;border:1px solid rgba(255,255,255,.08);border-radius:10px;margin-bottom:8px;}
  .vs-label{padding:14px 16px 4px;font-size:.8rem;color:var(--gold);border:none;font-weight:800;}
  .vs-cell{border-left:none;padding:8px 16px;}
  .vs-cell:last-child{padding-bottom:14px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .hero-cards{flex-direction:column;}
  .hero-cta-block{flex-direction:column;align-items:flex-start;}
  .form-row{grid-template-columns:1fr;}
  .upload-grid{grid-template-columns:1fr;}
  
  .urgence-inner{padding:36px 24px;}
  body{padding-bottom:64px;}
  .sticky-mob{display:flex;}
  .chat-btn,.wa-btn{display:none;}
  #hero{padding:120px 0 80px;}
  .maillage-grid{flex-direction:column;align-items:stretch;}
  .maillage-link{justify-content:center;}
}

/* =====================================================
   DEPT PAGES — ADDITIONS V8
===================================================== */

/* SEO Local section */
.seo-local-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:start;}
.seo-local-content h2{color:var(--dark);margin-bottom:20px;}
.seo-local-content p{margin-bottom:16px;font-size:.94rem;line-height:1.85;}
.seo-local-sidebar{position:sticky;top:100px;}
.dept-cta-box{
  background:var(--dark);border-radius:20px;padding:32px;
  border:1px solid rgba(200,169,110,.2);
}
.dept-cta-box h3{color:#fff;font-size:1.15rem;margin-bottom:8px;}
.dept-cta-box p{color:rgba(255,255,255,.45);font-size:.85rem;margin-bottom:24px;}
.dept-cta-perks{display:flex;flex-direction:column;gap:9px;margin-bottom:24px;}
.dept-cta-perk{font-size:.82rem;color:rgba(255,255,255,.6);padding-left:20px;position:relative;}
.dept-cta-perk::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700;}

/* Avantages dept */
.dept-avantages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;}
.dept-av-card{
  background:var(--light);border:1px solid var(--border);
  border-radius:16px;padding:28px 22px;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.dept-av-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(200,169,110,.3);}
.dept-av-ico{font-size:1.8rem;margin-bottom:14px;}
.dept-av-card h3{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:8px;}
.dept-av-card p{font-size:.83rem;line-height:1.7;}

/* Steps dept */
.dept-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;}
.dept-step{
  background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:24px 18px;text-align:center;
  position:relative;
}
.dept-step-num{
  font-size:.6rem;font-weight:900;letter-spacing:.15em;
  color:var(--gold);margin-bottom:10px;display:block;
}
.dept-step-ico{font-size:1.6rem;display:block;margin-bottom:10px;}
.dept-step h3{font-size:.88rem;font-weight:700;color:var(--dark);margin-bottom:6px;}
.dept-step p{font-size:.78rem;line-height:1.65;}

/* Villes grid */
.villes-section{background:var(--light);padding:80px 0;}
.villes-intro{max-width:640px;margin:0 auto 40px;text-align:center;}

.villes-alpha-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
}
.ville-chip{
  display:flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--border);
  border-radius:8px;padding:11px 14px;
  font-size:.82rem;font-weight:600;color:var(--dark);
  transition:border-color .2s,color .2s,box-shadow .2s;
}
.ville-chip:hover{border-color:rgba(200,169,110,.4);color:var(--gold);box-shadow:0 3px 10px rgba(0,0,0,.06);}
.ville-chip-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0;}

/* Proof section */

.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;}
.proof-card{
  text-align:center;padding:28px 16px;
  border:1px solid var(--border);border-radius:14px;
  background:var(--light);
}
.proof-num{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:var(--gold);display:block;}
.proof-lbl{font-size:.75rem;font-weight:700;color:var(--grey);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;display:block;}

/* Devis dept page */
.dept-devis{background:var(--dark);padding:100px 0;}
.dept-devis-inner{
  display:grid;grid-template-columns:1fr 1.3fr;gap:64px;align-items:start;
}
.dept-devis-left h2{color:#fff;margin-bottom:14px;}
.dept-devis-left p{color:rgba(255,255,255,.4);font-size:.9rem;line-height:1.75;margin-bottom:24px;}
.dept-devis-perks{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.dept-devis-perk{font-size:.85rem;color:rgba(255,255,255,.6);padding-left:22px;position:relative;}
.dept-devis-perk::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700;}
.dept-form-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:36px;}
.dept-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.dept-form-row.full{grid-template-columns:1fr;}
.dept-form-grp{display:flex;flex-direction:column;gap:5px;}
.dept-form-grp label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.dept-form-grp input,.dept-form-grp textarea,.dept-form-grp select{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:13px 14px;color:#fff;
  font-family:'DM Sans',sans-serif;font-size:.9rem;width:100%;
  transition:border-color .2s,background .2s;
}
.dept-form-grp input:focus,.dept-form-grp textarea:focus,.dept-form-grp select:focus{
  outline:none;border-color:rgba(200,169,110,.5);background:rgba(255,255,255,.08);
}
.dept-form-grp input::placeholder,.dept-form-grp textarea::placeholder{color:rgba(255,255,255,.2);}
.dept-form-grp textarea{resize:vertical;min-height:90px;}
.dept-form-grp select{cursor:pointer;}
.dept-form-grp select option{background:#1a1a1a;color:#fff;}
.dept-form-err{font-size:.69rem;color:var(--red);display:none;margin-top:2px;}
.dept-honeypot{position:fixed;left:-9999px;top:-9999px;opacity:0;height:0;overflow:hidden;pointer-events:none;}
.dept-form-submit{
  width:100%;padding:16px;background:var(--gold);color:#0a0a0a;
  border:none;border-radius:10px;font-family:'DM Sans',sans-serif;
  font-size:.95rem;font-weight:700;cursor:pointer;margin-top:6px;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.dept-form-submit:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,169,110,.3);}
.dept-form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.dept-form-note{font-size:.68rem;color:rgba(255,255,255,.18);text-align:center;margin-top:10px;line-height:1.6;}
.dept-form-success{
  display:none;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);
  border-radius:10px;padding:22px;text-align:center;margin-top:14px;
}
.dept-form-success h3{color:var(--green);font-size:1rem;margin-bottom:8px;}
.dept-form-success p{font-size:.83rem;color:rgba(255,255,255,.45);}
.dept-form-error{
  display:none;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);
  border-radius:10px;padding:14px;text-align:center;margin-top:10px;
  font-size:.83rem;color:#ef4444;
}

/* Reviews local */
.dept-reviews{background:var(--light);padding:80px 0;}
.dept-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}

/* FAQ dept */
.dept-faq{background:#fff;padding:80px 0;}
.dept-faq-note{text-align:center;margin-top:28px;font-size:.82rem;color:var(--grey);}

/* Responsive additions dept */

/* ── Compensation header fixe pour ancres ── */
section[id],
#avantages, #proc, #zones, #faq, #devis, #contact,
#reviews, #why, #trust, #urgency, #cta {
  scroll-margin-top: 80px;
}
@media(max-width:900px){
  .seo-local-grid{grid-template-columns:1fr;}
  .seo-local-sidebar{position:static;}
  .dept-avantages{grid-template-columns:1fr 1fr;}
  .dept-steps{grid-template-columns:1fr 1fr;}
  .villes-alpha-grid{grid-template-columns:repeat(3,1fr);}
  .proof-grid{grid-template-columns:repeat(2,1fr);}
  .dept-devis-inner{grid-template-columns:1fr;}
  .dept-reviews-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .dept-avantages{grid-template-columns:1fr;}
  .dept-steps{grid-template-columns:1fr;}
  .villes-alpha-grid{grid-template-columns:repeat(2,1fr);}
  .proof-grid{grid-template-columns:repeat(2,1fr);}
  .dept-form-row{grid-template-columns:1fr;}
  .dept-reviews-grid{grid-template-columns:1fr;}
}

/* =====================================================
   FOCUS VISIBLE — ACCESSIBILITÉ
===================================================== */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;border-radius:4px;
}

/* Skip to main (accessibility) */
.skip-link{position:absolute;top:-40px;left:8px;background:var(--gold);color:#000;padding:8px 16px;border-radius:0 0 8px 8px;font-size:.8rem;font-weight:700;z-index:9999;transition:top .2s;}
.skip-link:focus{top:0;}

/* =====================================================
   UPLOAD ZONES — DEPT PAGES
===================================================== */
.dept-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;}
.dept-upload-zone{
  background:rgba(255,255,255,.04);border:1.5px dashed rgba(255,255,255,.15);
  border-radius:10px;padding:16px 10px;text-align:center;cursor:pointer;
  position:relative;transition:border-color .2s,background .2s;overflow:hidden;
}
.dept-upload-zone:hover{border-color:rgba(200,169,110,.4);background:rgba(200,169,110,.06);}
.dept-upload-zone.has-file{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.06);border-style:solid;}
.dept-upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.dept-upload-ico{font-size:1.5rem;display:block;margin-bottom:6px;}
.dept-upload-name{font-size:.75rem;font-weight:700;color:#fff;margin-bottom:3px;}
.dept-upload-hint{font-size:.65rem;color:rgba(255,255,255,.25);}
.dept-upload-done{display:none;font-size:.7rem;color:#4ade80;font-weight:700;margin-top:5px;}
@media(max-width:640px){.dept-upload-grid{grid-template-columns:1fr;}}

/* ── Très petits écrans (≤400px) ─────────────────── */
@media(max-width:400px){
  .w{padding:0 14px;}
  .dept-hero{padding:100px 0 40px;}
  .dept-cta-box{padding:24px 16px;}
  .hero-ctas{flex-direction:column;gap:12px;}
  .btn{width:100%;text-align:center;justify-content:center;}
  .sticky-mob{gap:4px;}
  .sticky-mob a{font-size:.62rem;padding:8px 4px;}
}

/* Accessibilité : mouvement réduit */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Style pour la zone quand un fichier est présent */
.dept-upload-zone.has-file {
    border-color: #22c55e !important; /* Vert */
    background: rgba(34, 197, 94, 0.05) !important;
}

/* Style pour le texte de validation "Ajouté" */
.dept-upload-done {
    display: none; /* Caché par défaut */
    color: #22c55e;
    font-size: 0.7rem;
    font-weight: bold;
    margin-top: 5px;
}
