/* ===== Reset & tokens ===== */
:root{--primary:#2176ff;--text:#2c3e50;--muted:#f7f8fc;--bg:#fff;--border:#e0e0e0;--shadow:0 4px 20px rgba(0,0,0,.08)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--primary);text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:0 16px}
.text-primary{color:var(--primary)}
.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}

/* ===== Header ===== */
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border)}
.nav-container{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.logo img{height:64px}
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:12px;border:1px solid transparent;padding:.7rem 1rem;font-weight:700;cursor:pointer}
.btn-tel{background:var(--primary);color:#fff;box-shadow:0 6px 18px rgba(33,118,255,.25)}
.phone-icon{width:18px;height:18px;fill:#fff}

/* ===== Hero & form ===== */
.hero-section{background:var(--muted);padding:3.2rem 0}
.hero-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.benefits-list{margin:1.2rem 0}
.benefits-list li{display:flex;gap:.7rem;align-items:center;margin:.8rem 0}
.check-icon{width:22px;height:22px;fill:var(--primary)}
.social-proof{display:flex;align-items:center;gap:1rem;background:#fff;padding:.8rem 1.2rem;border-radius:12px;box-shadow:var(--shadow);max-width:450px}
.social-proof img{height:50px}
.form-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:var(--shadow)}
.form-card h2{text-align:center;font-size:1.6rem;margin-bottom:1.2rem}
.form-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1rem}
.form-card input{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;font-size:1rem}
.form-card input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(33,118,255,.2)}
.btn-form{width:100%;font-size:1.05rem;padding:.95rem;margin-top:.2rem;background:var(--primary);color:#fff;border:0;border-radius:12px}
.legal-mini{font-size:.72rem;color:#666;margin-top:.8rem}
.antid{font-size:.8rem;color:#666;margin-top:.25rem}
.consent-mini{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.25;color:#666}
.consent-mini input{width:14px;height:14px;margin-top:2px}

/* ===== Steps & info ===== */
.how-it-works-section{padding:3.2rem 0;text-align:center}
.steps-container{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2rem}
.step-card{background:var(--muted);padding:1.4rem;border-radius:16px}
.step-number{font-size:1.4rem;font-weight:700;background:#fff;width:42px;height:42px;line-height:42px;border-radius:50%;margin:0 auto 10px}

/* ===== Footer ===== */
.footer{background:var(--muted);padding:3rem 0}
.footer-container{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.footer-logo{height:48px}
.footer-col h3{font-size:1.05rem;margin-bottom:.7rem}
.footer-col ul li{margin:.4rem 0}
.footer-col ul li a{color:#223}
.footer-col ul li a:hover{color:var(--primary)}

/* ===== Cookie bar – FIXE EN BAS ===== */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:60;background:#0a0908;color:#fff}
.cookie-inner{max-width:1140px;margin:0 auto;padding:12px 16px;display:flex;gap:10px;align-items:center;justify-content:space-between}
.cookie-actions{display:flex;gap:8px;align-items:center}
.cookie-btn{border:0;padding:10px 14px;border-radius:8px;cursor:pointer}
.cookie-accept{background:#2176ff;color:#fff}
.cookie-reject{background:#444;color:#fff}
.cookie-bar--hidden{display:none}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .hero-container{grid-template-columns:1fr;text-align:center}
  .social-proof{margin:0 auto}
  .steps-container{grid-template-columns:repeat(2,1fr)}
  .footer-container{grid-template-columns:1fr 1fr;text-align:center}
  .footer-col:first-child{grid-column:1/-1}
  .footer-logo{margin:0 auto}
}
@media (max-width:768px){
  .logo img{height:64px}
  .form-group-grid{grid-template-columns:1fr}
  .steps-container{grid-template-columns:1fr}
}