:root {
    --blue: #032A57;
    --sand: #F5E6CA;
    --white: #ffffff;
    --light: #F7F9FC;
    --shadow: 0 10px 20px rgba(0, 0, 0, .08);
    --radius: 16px;
    --max: clamp(300px, 90vw, 1440px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#1b1b1b;background:#f3f3f3}

.container{max-width:var(--max);margin:auto;padding:0 clamp(15px, 4vw, 20px);}
.cta-wrap{display:flex;gap:10px;flex-wrap:wrap}
.btn{
    appearance:none;border:2px solid var(--blue);border-radius:12px;
    padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none;
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    transition:transform .08s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
    color:#fff; background:var(--blue);box-shadow:var(--shadow)
}
.btn:hover{background:transparent; color:var(--blue)} 
.btn:active{transform:translateY(0)}
.btn.outline{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn.accent{background:var(--accent);border-color:var(--accent)}
.btn.full{width:100%}

.hero{
    position:relative;isolation:isolate;
    background:linear-gradient(135deg, rgba(26, 37, 81, 0.493), rgba(26, 37, 81, 0.486)), url('img/famille_assu.jpg');
    background-size:cover;background-position:center;color:var(--white);height:68vh;}
.hero-inner{max-width:var(--max);margin:auto;padding:120px 20px 140px;display:grid;grid-template-columns:1fr;gap:24px;}
.hero h1{font-family:Montserrat;font-size:clamp(28px,4vw,44px);line-height:1.1;margin:0 0 12px; margin-top:280px;}
.hero p{opacity:.95;margin:0 0 24px;font-size:clamp(16px,2.2vw,18px);}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-p{padding-right:400px;}

.hero-cards{
    position:absolute;left:50%;bottom:-60px;transform:translateX(-50%);
    display:grid;grid-template-columns:1fr 1fr;gap:16px;
    width:clamp(320px, 70vw, 1400px);
}
.card{
    background:var(--white);color:#223;border-radius:var(--radius);padding:10px;
    border:1px solid #e9eef7;box-shadow:var(--shadow);display:grid;gap:4px;
    transition:transform .25s ease, box-shadow .25s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.10)}
.card h3{font-family:Montserrat;margin:0;color:var(--blue);font-size:20px}
.card p{margin:0;color:#4a5568}
.card .thumb{width:100%;height:300px;border-radius:8px;object-fit:cover;background:#eef2f9}

section{padding:clamp(20px, 8vw, 30px) 0; margin-top:20px;}
.section-title{font-family:Montserrat;font-size:clamp(28px, 5vw, 34px);color:var(--blue);margin:0 0 clamp(16px, 3vw, 24px)}
.lead-doc{margin:0 auto clamp(24px, 4vw, 26px);color:#4a5568;font-size:clamp(16px, 2.2vw, 18px); margin-right: 500px;}

.partners-rail{overflow:hidden;width:100%;position:relative}
.partners-rail:before,.partners-rail:after{
    content:"";position:absolute;top:0;bottom:0;width:40px;pointer-events:none;z-index:2
}
.partners-rail:before{left:0;background:linear-gradient(to right, var(--white), rgba(255,255,255,0))}
.partners-rail:after{right:0;background:linear-gradient(to left, var(--white), rgba(255,255,255,0))}
.partners-track{display:flex;gap:40px;padding:10px 0;will-change:transform}
.partners-track img{
    height:70px;width:auto;object-fit:contain;filter:grayscale(100%);opacity:.9;transition:opacity .3s ease
}
.partners-track img:hover{opacity:1;filter:none}

.reviews-rail{overflow:hidden;position:relative;width:100%}
.reviews-rail:before,.reviews-rail:after{
    content:"";position:absolute;top:0;bottom:0;width:40px;pointer-events:none;z-index:2
}
.reviews-rail:before{left:0;background:linear-gradient(to right, var(--white), rgba(255,255,255,0))}
.reviews-rail:after{right:0;background:linear-gradient(to left, var(--white), rgba(255,255,255,0))}
.reviews-track{display:flex;gap:16px;will-change:transform;padding:4px 0}
.review{
    min-width:360px;max-width:360px;background:var(--white);border:1px solid #e9eef7;border-radius:16px;
    padding:18px;display:grid;gap:12px;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .2s ease
}
.review:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.10)}
.review .head{display:flex;align-items:center;gap:10px}
.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}
.g-badge{width:26px;height:26px;object-fit:contain}
.review p{margin:0;color:#475569}
.stars{color:orange;}

.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
form{background:var(--white);padding:20px;border-radius:var(--radius);}
label{font-weight:600;color:#223;display:block;margin:8px 0 6px}
input,textarea{width:100%;padding:12px 12px;border:1px solid #d9e2ef;border-radius:12px;font:inherit}
textarea{min-height:120px;resize:vertical}
.map-embed{border:0;border-radius:16px;min-height:500px;width:100%;box-shadow:var(--shadow)}

footer{background:#0f172a;color:#cbd5e1}
.foot-top{max-width:var(--max);margin:auto;padding:36px 20px;display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:30px}
.foot-col h5{margin:0 0 10px;font-family:Montserrat;color:#e2e8f0}
.foot-col a{display:block;color:#cbd5e1;text-decoration:none;margin:6px 0}
.foot-col a:hover{color:#ffffff}
.socials{display:flex;gap:10px}
.socials a{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:#121b33;color:#e2e8f0;text-decoration:none}
.foot-bottom{border-top:1px solid rgba(203,213,225,.15)}
.foot-bottom-inner{max-width:var(--max);margin:auto;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}

.site-header{position:sticky;top:0;z-index:1000;background:var(--white);transition:box-shadow .25s ease, transform .2s ease}
.site-header.is-scrolled{box-shadow:0 6px 20px rgba(0,0,0,.08)}
.bar{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:16px;padding:8px 20px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;font-family:Montserrat;transition:transform .25s ease}
.logo-mark img {width:auto;height:44px;}
.bar{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:16px;padding:8px 20px}
/* .logo:hover .logo-mark{transform:rotate(-2deg) scale(1.03)} */
.logo-title{font-family:Montserrat;font-weight:800;color:var(--blue);letter-spacing:.2px}
.primary-nav{margin-left:auto;display:flex;gap:10px;align-items:center}
.primary-nav a{color:#27324a;text-decoration:none;border:2px solid transparent;padding:10px 14px;font-weight:600;border-radius:14px;transition:border-color .2s ease, background .2s ease, transform .12s ease}
.primary-nav a:hover{border-color:var(--blue);transform:translateY(-1px)}
.primary-nav .actif{border-color:var(--blue)}
.primary-nav .btn.phone{background:var(--blue);color:#fff;border-radius:12px;box-shadow:var(--shadow)}
.primary-nav .btn.phone:hover{transform:translateY(-1px)}
.nav-toggle{display:none;margin-left:auto;background:transparent;border:0;font-size:22px;color:var(--blue);width:42px;height:42px;border-radius:10px;transition:background .2s ease, transform .12s ease}
.nav-toggle:hover{background:#eef2f9;transform:translateY(-1px)}
.mobile-drawer{position:fixed;inset:0 0 auto 0;background:var(--white);border-bottom-left-radius:18px;border-bottom-right-radius:18px;box-shadow:0 14px 28px rgba(0,0,0,.12);transform:translateY(-100%); transition:transform .35s cubic-bezier(.22,.61,.36,1);z-index:9999;
}
.primary-nav a.btn {color:#ffffff;}
.mobile-nav a.btn {color:#ffffff;}
.primary-nav a.btn:hover {color:#032A57;}
.mobile-nav a.btn:hover {color:#032A57;}

.mobile-drawer.open{transform:translateY(0)}
.mobile-nav{display:grid;gap:8px;padding:18px 20px 22px}
.mobile-nav .actif{border-color:var(--blue)}
.mobile-nav a{display:block;padding:12px 14px;border-radius:14px;border:2px solid transparent;color:#27324a;text-decoration:none;font-weight:600}
.mobile-nav a:hover{border-color:var(--blue);background:#f5f7fb}
.mobile-nav .btn.phone{justify-content:center}
.drawer-close{position:absolute;top:8px;right:8px;background:#eef2f9;border:0;width:36px;height:36px;border-radius:10px;color:#0b1226}
.drawer-close:hover{filter:brightness(0.96)}
.nav-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}
.nav-backdrop.show{opacity:1}
.section-clients .clients-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:24px;align-items:center;
}
.section-clients .clients-photo img{
  width:100%;height:420px;object-fit:cover;border-radius:16px;
}
@media (max-width: 980px){
  .section-clients .clients-grid{grid-template-columns:1fr;gap:18px}
  .section-clients .clients-photo img{height:300px}
}
:root{ --success:#16a34a; } /* vert validé */
.section-advantages .adv-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;
}
.section-advantages .adv{
  display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;
}
.section-advantages .adv-icon{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;background:#eaf8f0;border:1px solid #d6f2e0;
}
.section-advantages .adv-icon i{
  color:var(--success);font-size:22px;
}
.section-advantages h3{
  margin:0 0 6px 0;font:600 18px/1.25 Montserrat,system-ui,sans-serif;color:var(--blue);
}
.section-advantages p{margin:0;color:#475569;font-size:15px;line-height:1.55}
.adv-grid{border: solid 1px #e6e6e6; padding: 20px; border-radius: 14px;}
@media (max-width: 980px){
  .section-advantages .adv-grid{grid-template-columns:1fr}
}

/* ========= SECTION DOCUMENTS (icônes Cloudflare) ========= */
.section-docs .docs-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 32px;
}
.section-docs .doc{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:14px;
  align-items:start;
  padding:16px;
  border:1px solid #e9eef7;
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
  transition:transform .2s ease, box-shadow .25s ease;
}
.section-docs .doc:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.10);
}
/* Zone icône */
.section-docs .doc-media.icon{
  width:70px;height:70px;
  border-radius:14px;
  background:#eef2f9;
  display:grid;place-items:center;
  border:1px solid #e3e8f4;
}
.section-docs .doc-media.icon i{
  font-size:32px;
  color:var(--blue);
  opacity:.9;
}
/* Textes */
.section-docs .doc-body h3{
  margin:0 0 6px 0;
  font:600 18px/1.25 Montserrat, system-ui, sans-serif;
  color:var(--blue);
}
.section-docs .doc-body p{
  margin:0;color:#475569;font-size:15px;line-height:1.5;
}
.services-band{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;gap:8px}
.service-mini h3{margin:0 0 2px;font-family:Montserrat;color:var(--blue); font-size: 16px;}
.service-mini p{margin:0;color:#3c4555; font-size: 12px;}
.services-band .thumb {height: 150px;}
.services-band .btn {padding:8px 12px;}
.container{max-width:var(--max);margin:auto;padding:0 clamp(15px,4vw,20px);}
.section-title{font-family:Montserrat;font-size:clamp(28px,5vw,34px);color:var(--blue);margin:0 0 clamp(16px,3vw,24px);}

/* Styles génériques de formulaire (appliqués aussi à notre formulaire) */
form{background:var(--white);padding:20px;border-radius:var(--radius);box-shadow:var(--shadow);}
label{font-weight:bold;color:#223;display:block;margin:8px 0 6px;font-size:16px;}
input,textarea{width:100%;padding:8px 8px;border:1px solid #d9e2ef;border-radius:8px;font:inherit;}
textarea{min-height:120px;resize:vertical;}
/* ====== SURVEY (scopé) – pour les formulaires multi-étapes ====== */
.section-survey{display:flex;justify-content:center;padding:60px 0;background:white; margin-top: 0px;}
.section-survey .survey-form{box-shadow:none;}
.section-survey .field label,
.section-survey .field legend{font-weight:bold;color:#223;margin:0 0 6px;display:block;margin-top:10px;font-size:16px;}
.section-survey .field input[type="text"],
.section-survey .field input[type="tel"]{width:100%;padding:12px;border:2px solid #d9e2ef;border-radius:6px;font:inherit;background:#fff;}
.section-survey .choices{display:flex;flex-wrap:wrap;gap:20px;}
.section-survey .choices label{display:inline-flex;align-items:center;gap:8px;}
.section-survey .survey-actions{display:grid;gap:8px;margin-top:6px;}
.section-survey .muted{color:#64748b;}
.section-survey .small{font-size:14px;}
.section-survey .container{border: solid 1px #e6e6e6;border-radius:14px;padding:30px; width: 73%; box-shadow:var(--shadow)}
/* Animation des steps */
.survey-step{opacity:0;transform:translateY(10px);transition:all .35s ease;}
.survey-step.visible{opacity:1;transform:translateY(0);}
/* Responsive survey */
@media (max-width:980px){
  .section-survey .survey-step{grid-template-columns:1fr;}
}
/* ========== SECTION ESTIMATION – STYLE POUR NOTRE FORMULAIRE ========== */
#estimation-vehicule{display:flex;justify-content:center;padding-bottom:60px 0;background:var(--white);}
/* Titre + intro alignés avec la largeur du formulaire */
#estimation-vehicule > h2{width:800px;max-width:100%;margin:0 auto 8px;font-family:Montserrat,system-ui,sans-serif;font-size:clamp(24px,3vw,28px);color:var(--blue);}
#estimation-vehicule p{width:800px;max-width:100%;margin:0 auto 24px;color:#4a5568;font-size:clamp(15px,2.1vw,17px);}
/* Formulaire principal dans une "carte" élégante */
#estimateForm{display:grid;gap:20px;width:800px;max-width:100%;margin:0 auto;padding:24px 22px;}
/* Étapes */
#estimateForm fieldset[data-step]{width:600px;max-width:100%;margin:0 auto;padding:14px 16px 16px;border:1px solid #e9eef7;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;}
#estimateForm fieldset[data-step]:not([hidden]){opacity:1;transform:translateY(0);}
/* Titre d’étape */
#estimateForm fieldset[data-step] legend{grid-column:1 / -1;font-weight:Bold;color:#223;margin:0 0 6px;font-size:18px;}
/* Wrapper champ */
#estimateForm fieldset[data-step] div{display:flex;flex-direction:column;}
/* Labels spécifiques du formulaire estimation */
#estimateForm label{font-weight:bold;color:#223;margin:12px 0 6px;display:block;font-size:16px;}
/* Inputs & selects spécifiques */
#estimateForm input[type="text"],
#estimateForm input[type="number"],
#estimateForm input[type="tel"],
#estimateForm select{width:100%;padding:12px;border:2px solid #d2dae6;border-radius:6px;font:inherit;background:#ffffff;box-sizing:border-box;}

/* Bloc d’estimation affichée */
#estimation-affichee{width:800px;max-width:100%;margin:16px auto 0;padding:12px 16px;border-radius:14px;border:1px solid #e5e7eb;background:#f7f9fc;}
#estimation-affichee p{margin:4px 0;color:#4b5563;font-size:14px;}
#estimation-affichee small{color:#64748b;font-size:13px;}
#estLow,
#estHigh{display:inline-block;min-width:80px;font-weight:700;color:#111827;}
/* Zone bouton d’envoi */
#submit-zone{width:800px;max-width:100%;margin:16px auto 0;display:flex;justify-content:flex-start;}
#submit-zone button{appearance:none;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:2px solid var(--blue);background:var(--blue);color:#fff;box-shadow:var(--shadow);transition:transform .08s ease,box-shadow .2s ease,background .2s ease,color .2s ease;}
#submit-zone button:hover{background:transparent;color:var(--blue);}
#submit-zone button:active{transform:translateY(0);}
/* Responsive estimation */
@media (max-width:980px){
  #estimateForm fieldset[data-step]{grid-template-columns:1fr;}
}
@media (max-width:720px){
  #estimation-vehicule > h2,
  #estimation-vehicule > p,
  #estimateForm,
  #estimation-affichee,
  #submit-zone{width:100%;}
}
.has-error input,
.has-error select{border-color:#ef4444;background:#fef2f2;}
.field-error-msg{font-size:12px;color:#b91c1c;margin-top:4px;}
.form-error-box{padding:8px 10px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;}

/* Responsive */
@media (max-width: 1024px){
  .section-docs .docs-grid{ grid-template-columns:1fr 1fr; }
  .section-docs .doc{ grid-template-columns:64px 1fr; }
}
@media (max-width: 720px){
  .section-docs .docs-grid{ grid-template-columns:1fr; }
  .section-docs .doc{ grid-template-columns:60px 1fr; }
  .section-docs .doc-media.icon{ width:60px;height:60px; }
  .section-docs .doc-media.icon i{ font-size:28px; }
}

/* Responsive */
.section-faq .faq-list{display:grid;gap:10px;}
.section-faq .faq{border:1px solid #e9eef7;background:#fff;border-radius:14px;overflow:hidden;}
.section-faq{display: flex;justify-content: center;}
.section-faq .faq-q{
  width:100%;text-align:left;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;
  gap:12px;font-weight:700; font-size: 16px; color:#3a3a3a;border:0;cursor:pointer;
}
.section-faq .faq-q:hover{filter:brightness(0.98)}
.section-faq .faq-a{padding:14px 16px;color:#475569;line-height:1.55;border-top:1px solid #eef2f9}
.section-faq .faq-q i{transition:transform .2s ease}
.section-faq .faq-q[aria-expanded="true"] i{transform:rotate(180deg)}
.section-faq .container{width:73%; border: solid 1px #e6e6e6; border-radius: 14px; padding: 30px;}


@media (max-width: 1366px){
    .hero-inner{padding:80px 20px 100px;}
    .hero h1{margin-top:80px;font-size:clamp(32px, 5vw, 44px);}
    .hero p{padding-right:0;font-size:clamp(16px, 2vw, 18px);}
    .hero-cards{grid-template-columns:1fr 1fr 1fr; bottom:-120px;width:clamp(400px, 100vw, 1150px);gap:12px;}
    .card{padding:16px;}
    .hero{height:62vh;}
    .hero .hero-p{padding-right:280px;}
    .logo-mark img {width:auto;height:40px;}
    .bar{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:16px;padding:8px 0px}
    .about-grid{grid-template-columns:1fr 1fr;gap:20px;}
    .about-grid img{width:80%;height:400px;margin:0 auto;object-position:top left;}
    .about-grid > div{text-align:left;}
    .services-band{grid-template-columns:1fr 1fr 1fr;gap:24px;}
    .foot-top{grid-template-columns:repeat(6, 1fr);gap:20px;}
    .foot-col:first-child{grid-column:span 2;text-align:left;}
    .foot-col:first-child .logo{justify-content:left;}
}

@media (max-width: 980px){
    .primary-nav{display:none;}
    .nav-toggle{display:inline-grid;place-items:center;}
    .contact-grid{grid-template-columns:1fr;gap:30px;}
    .map-embed{min-height:250px;}
}

@media (max-width: 720px){
    .hero{height:40vh;background-position:center center;text-align:left;}
    .hero h1{font-size:clamp(18px, 4vw, 20px); width:100%; margin-top:50px;}
    .hero p{display: none; font-size:clamp(16px, 3.5vw, 18px);}
    .hero-ctas{justify-content:center;}
    .hero-cards{grid-template-columns:1fr;width:90%;}
    .card{padding:14px;}
    .hero-cards{bottom:-400px;}
    .hero .hero-cards p {display:none;}
    .container{max-width:100%;margin:auto;padding:0 clamp(14px, 4vw, 20px);}
    .hero .container{padding:0 clamp(0px, 0vw, 0px);}
    .hero-cards{bottom:-340px;}
    .about-grid img{width:100%;height:300px;}
    .about-grid{grid-template-columns:1fr;gap:20px;}
    .services-band{grid-template-columns:1fr;gap:20px;}
    .foot-top{grid-template-columns:1fr;text-align:center;}
    .foot-col:first-child{grid-column:span 1;}
    .foot-col .logo{justify-content:center;}
    .foot-col p,.foot-col a{justify-content:center;}
    .socials{justify-content:center;}
    .review{min-width:280px;max-width:100%;}
    .section-faq .container{width:92%; border: solid 1px #e6e6e6; border-radius: 10px; padding: 30px;}
    .section-faq .faq-q{
      width:100%;text-align:left;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;
      gap:12px;font-weight:600; font-size: 14px; color:#3a3a3a;border:0;cursor:pointer;}
/*       
      .section-survey .container{border: solid 1px #e6e6e6;border-radius:14px;padding:30px; width: 100%;}
      .section-survey{display:flex;justify-content:center;padding:10px 0;background:white;}
      .section-survey .survey-form{display:grid;justify-content:center;gap:20px;width:100%;}
      #estimateForm fieldset[data-step]{width:46%;max-width:100%;margin:0 auto;}
      #estimation-affichee{width:46%;max-width:100%; padding:10px 14px;}
      .section-survey .container .btn{width:100%} */
}
@media (max-width: 480px) {
    .hero h1{font-size:clamp(20px, 4vw, 20px); width:100%; margin:0 0 20px;margin-top:130px;}
    .hero p{font-size:clamp(16px, 3.5vw, 18px);}
    .btn{padding:10px 15px;font-size:15px;}
    .section-title{font-size:clamp(24px, 7vw, 28px);}
    .section-docs {margin-top: 200px !important;}
    .hero-cards{bottom:-180px;}
    .logo-mark img {width:auto;height:34px;}
    .bar{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:16px;padding:8px 0px}
    .lead-doc{font-size:clamp(16px, 2.2vw, 18px); margin-right: 0px;}
}
@media (max-width: 370px) {
    .hero h1{font-size:clamp(18px, 4vw, 20px); width:100%; margin:0 0 20px;margin-top:70px;}
    .hero p{font-size:clamp(16px, 3.5vw, 18px);}
    .btn{padding:10px 15px;font-size:15px;}
    .section-title{font-size:clamp(24px, 7vw, 28px);}
    .section-docs {margin-top: 200px !important;}
    .hero-cards{bottom:-180px;}
    .logo-mark img {width:auto;height:34px;}
    .bar{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:16px;padding:8px 0px}
    .lead-doc{font-size:clamp(16px, 2.2vw, 18px); margin-right: 1px;}
}
@media (max-width: 320px) {
    .hero h1{font-size:clamp(16px, 4vw, 18px); width:100%; margin:0 0 20px;margin-top:80px;}
    .hero p{font-size:clamp(16px, 3.5vw, 18px);}
    .btn{padding:10px 15px;font-size:15px;}
    .section-title{font-size:clamp(18px, 7vw, 20px);}
    .hero .container{padding: clamp(0px, 0vw, 0px);}
    .section-docs {margin-top: 200px !important;}
    .hero-cards{bottom:-180px;}
    .logo-mark img {width:auto;height:34px;}
.bar{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:16px;padding:8px 0px}
}

/* ================= PETITS ÉCRANS ================= */

/* <= 720px : tablette / mobile paysage */
@media (max-width:720px){
  .section-survey{padding:40px 0;}
  .section-survey .container{width:100%;padding:20px;border-radius:12px;}
  .section-survey .survey-form{width:100%;margin-top:20px;}
  label,
  #estimateForm label{font-size:15px;margin:8px 0 4px;}
  input,textarea{padding:8px 10px;}
  #estimation-vehicule{padding:40px 0;}
  #estimation-vehicule > h2,
  #estimation-vehicule p,
  #estimateForm,
  #estimation-affichee,
  #submit-zone{width:100%;}
  #estimateForm{padding:18px 16px;gap:16px;}
  #estimateForm fieldset[data-step]{width:100%;padding:12px 12px;}
}

/* <= 480px : mobile standard */
@media (max-width:480px){
  .section-survey{padding:32px 0;}
  .section-survey .container{padding:16px;border-radius:10px;}
  .section-survey .small{font-size:13px;}
  label,
  #estimateForm label{font-size:14px;margin:6px 0 4px;}
  input,textarea{padding:8px 8px;border-radius:6px;}
  #estimation-vehicule > h2{font-size:20px;margin-bottom:6px;}
  #estimation-vehicule p{font-size:14px;margin-bottom:16px;}
  #estimateForm{padding:16px 12px;gap:14px;}
  #estimateForm fieldset[data-step]{padding:10px 10px;gap:12px 14px;}
  #estimation-affichee{padding:10px 12px;margin-top:12px;}
  #estimation-affichee p{font-size:13px;}
  #submit-zone{margin-top:12px;}
}

/* <= 370px : petits mobiles */
@media (max-width:370px){
  .section-survey{padding:28px 0;}
  .section-survey .container{padding:14px;}
  label,
  #estimateForm label{font-size:13px;}
  input,textarea{padding:7px 7px;font-size:13px;}
  #estimation-vehicule > h2{font-size:18px;}
  #estimation-vehicule p{font-size:13px;}
  #estimateForm{padding:14px 10px;}
  #estimateForm fieldset[data-step]{padding:8px 8px;}
  #estimation-affichee{padding:8px 10px;}
  #submit-zone button{padding:10px 14px;font-size:14px;}
}

/* <= 320px : très petits écrans */
@media (max-width:320px){
  .section-survey{padding:24px 0;}
  .section-survey .container{padding:12px;border-radius:8px;}
  label,
  #estimateForm label{font-size:12px;margin:4px 0 3px;}
  input,textarea{padding:6px 6px;font-size:12px;}
  #estimation-vehicule > h2{font-size:16px;margin-bottom:6px;}
  #estimation-vehicule p{font-size:12px;}
  #estimateForm{padding:12px 8px;gap:10px;}
  #estimateForm fieldset[data-step]{padding:6px 6px;}
  #estimation-affichee{padding:6px 8px;}
  #submit-zone button{padding:8px 12px;font-size:13px;}
}

/* ===== RÉSEAUX SOCIAUX FIXÉS SUR LA DROITE ===== */
.social-fixed{
  position:fixed;
  right:0px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:9999;
  border: #032A57 1px solid;
  padding: 14px;
  padding-right: 30px;
  border-radius: 14px 0 0 14px;
}

.social-fixed a{
  width:44px;
  height:44px;
  border-radius:50%;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--blue);
  font-size:20px;
  border:2px solid var(--blue);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  box-shadow:0 6px 20px rgba(0,0,0,.10);
}

.social-fixed a:hover{
  transform:scale(1.12);
  background:var(--blue);
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.15);
}

/* Responsive : on cache sur très petit écran si nécessaire */
@media (max-width:480px){
  .social-fixed{
    display: none;
    right:0px;
    gap:10px;
  }
  .social-fixed a{
    width:40px;
    height:40px;
    font-size:18px;
  }
}

.whatsapp-fixed{
  position:fixed;
  right:28px;
  top:80%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:9999;
}

.whatsapp-fixed a{
  width:60px;
  height:60px;
  border-radius:50%;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#25d366;
  font-size:40px;
  border:2px solid #25d366;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  box-shadow:0 6px 20px rgba(0,0,0,.10);
}

.whatsapp-fixed a:hover{
  transform:scale(1.12);
  background:#25d366;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.15);
}

/* Responsive : on cache sur très petit écran si nécessaire */
@media (max-width:480px){
  .whatsapp-fixed{
    top:90%;
    right:20px;
  }
  .whatsapp-fixed a{
    width:48px;
    height:48px;
    font-size:30px;
  }
}

/* ======== BOUTON RETOUR EN HAUT ======== */
#backToTop{
  position:fixed;
  top: 88%;
  right:28px;
  width:50px;
  height:50px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  box-shadow:0 10px 20px rgba(0,0,0,.15);
  transition:opacity .25s ease, transform .25s ease, background .25s ease;
  opacity:0;
  pointer-events:none;
  z-index:9999;
}

#backToTop:hover{
  transform:scale(1.12);
  background:#0f1c3d; /* bleu un peu + foncé pour hover */
}

#backToTop.show{
  opacity:1;
  pointer-events:auto;
}

/* Mobile */
@media(max-width:480px){
  #backToTop{
    top: 80%;
    width:44px;
    height:44px;
    bottom:20px;
    right:20px;
    font-size:18px;
  }
}
.cookie-banner{
  position:fixed;
  inset:auto 0 0 0;
  z-index:9999;
  background:rgba(15,23,42,0.96);
  color:#e2e8f0;
  font-size:14px;
  padding:14px 10px;
  box-shadow:0 -6px 18px rgba(0,0,0,.25);
}
.cookie-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:4px 10px;
  display:flex;
  align-items:flex-start;
  gap:18px;
}
.cookie-text h3{
  margin:0 0 4px;
  font:600 15px/1.3 Montserrat,system-ui,sans-serif;
  color:#f9fafb;
}
.cookie-text p{
  margin:0 0 4px;
  color:#cbd5f5;
}
.cookie-text .cookie-small{
  font-size:12px;
  opacity:.85;
}
.cookie-actions{
  display:flex;
  flex-shrink:0;
  gap:8px;
  align-items:center;
  margin-left:auto;
}

/* Boutons cookies (réutilise ta classe .btn mais version compacte) */
.cookie-btn-primary{
  padding:8px 12px;
  font-size:13px;
  border-radius:10px;
}
.cookie-btn-secondary{
  padding:8px 12px;
  font-size:13px;
  border-radius:10px;
  background:transparent;
  border-color:#64748b;
  color:#e2e8f0;
  box-shadow:none;
}
.cookie-btn-secondary:hover{
  background:#1e293b;
}

/* Responsive */
@media (max-width:720px){
  .cookie-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .cookie-actions{
    margin-left:0;
    width:100%;
    justify-content:flex-end;
    flex-wrap:wrap;
  }
}
@media (max-width:480px){
  .cookie-banner{
    font-size:13px;
    padding:10px 8px;
  }
  .cookie-actions{
    justify-content:flex-start;
  }
  .cookie-btn-primary,
  .cookie-btn-secondary{
    width:auto;
  }
}

