/* Simulateur Lite HDF – UI */
.slhdf{
  --brand:#28CD78;
  --brand-dark:#06333A;
  --text:#0f172a;
  --muted:#8b97a3;
  --border:#e6e9ee;
  --bg:#ffffff;
  max-width:820px;
  margin:24px auto;
  padding:24px;
  background:var(--bg);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(6,51,58,.08);
}
.slhdf .slhdf-stephead{ text-align:center; margin-bottom:18px; color:var(--muted); font-weight:600; letter-spacing:.2px; }
.slhdf h1{ margin:0 0 8px; font-size:28px; line-height:1.2; text-align:center; color:var(--brand); font-weight:700; }
.slhdf .slhdf-progress{ height:8px; border-radius:999px; background:#eef2f6; overflow:hidden; margin:14px 4px 6px; }
.slhdf .slhdf-progress>span{ display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--brand),#5be099); border-radius:999px; transition:width .35s ease; }
.slhdf .slhdf-card{ border:1px solid var(--border); background:#fff; border-radius:14px; padding:18px; margin-top:14px; }
.slhdf h2{ color:var(--brand); font-size:22px; margin:0 0 12px; }
.slhdf label{ display:block; font-weight:700; color:#2a3340; margin:14px 0 8px; }
.slhdf input[type="text"], .slhdf input[type="email"]{ width:100%; padding:14px 16px; border:1px solid var(--border); background:#fff; border-radius:12px; font-size:16px; transition:border-color .2s, box-shadow .2s; }
.slhdf input::placeholder{ color:#a8b3be; }
.slhdf input:focus{ outline:none; border-color:#bfead3; box-shadow:0 0 0 4px rgba(40,205,120,.15); }
.slhdf label.radio, .slhdf label.checkbox{ display:flex; gap:10px; align-items:center; font-weight:600; color:#2c3946; }
.slhdf .slhdf-nav{ display:flex; gap:10px; margin-top:18px; }
.slhdf button{ padding:12px 20px; border:none; border-radius:999px; background:var(--brand); color:#fff; font-weight:800; cursor:pointer; box-shadow:0 8px 14px rgba(40,205,120,.18); transition:transform .06s ease, background .2s ease; }
.slhdf button:hover{ background:#20b965; }
.slhdf button:active{ transform:translateY(1px); }
.slhdf .slhdf-prev{ background:#eef4f6; color:var(--brand-dark); box-shadow:none; }
.slhdf .slhdf-prev:hover{ background:#e6eef1; }
.slhdf .slhdf-result{ margin-top:18px; }
.slhdf .slhdf-ok, .slhdf .slhdf-ko{ padding:14px; border-radius:12px; margin-bottom:10px; border:1px solid; }
.slhdf .slhdf-ok{ background:#ecfff4; border-color:#c6f3d8; color:#145b32; }
.slhdf .slhdf-ko{ background:#fff2f2; border-color:#ffd9d9; color:#892323; }
.slhdf .slhdf-reasons{ margin:0 0 8px 18px; color:#4b5563; }
.slhdf .slhdf-confirm{ padding:12px 16px; border-radius:10px; background:#f7faf8; border:1px dashed #cfe7da; color:#2d4337; font-weight:600; }
@media (max-width:520px){ .slhdf{ padding:16px; } .slhdf h1{ font-size:24px; } .slhdf h2{ font-size:20px; } }
