/* ===== ACH IMMO — Quiz de qualification lead (autonome) ===== */
.quizw{
  --q-red:var(--red,#b94e4d);
  --q-red-dark:var(--red-dark,#9c3d3c);
  --q-ink:var(--charcoal,#2a2a2e);
  --q-soft:#fbf4f3;
  --q-line:#ece7e6;
  --q-muted:#6b6b73;
  background:#fff;border:1px solid var(--q-line);border-radius:18px;
  box-shadow:0 24px 60px -30px rgba(40,20,20,.32);
  padding:26px 24px 24px;max-width:540px;width:100%;
  font-family:inherit;position:relative;overflow:hidden;
}
.quizw *{box-sizing:border-box}
.quiz-top{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.quiz-back{border:0;background:none;color:var(--q-muted);font-size:14px;cursor:pointer;padding:4px;display:none;align-items:center;gap:4px}
.quiz-back.show{display:inline-flex}
.quiz-back:hover{color:var(--q-ink)}
.quiz-prog{flex:1;height:7px;border-radius:99px;background:var(--q-line);overflow:hidden}
.quiz-prog span{display:block;height:100%;width:0;border-radius:99px;background:var(--q-red);transition:width .35s ease}
.quiz-count{font-size:12px;color:var(--q-muted);font-weight:600;white-space:nowrap}

.quiz-step{animation:quizfade .3s ease}
@keyframes quizfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.quiz-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--q-red);margin-bottom:8px}
.quiz-q{font-size:clamp(20px,2.6vw,24px);line-height:1.25;font-weight:800;color:var(--q-ink);margin:0 0 18px}
.quiz-help{font-size:14px;color:var(--q-muted);margin:-10px 0 18px}

.quiz-opts{display:flex;flex-direction:column;gap:10px}
.quiz-opt{display:flex;align-items:center;gap:13px;width:100%;text-align:left;
  border:1.5px solid var(--q-line);background:#fff;border-radius:13px;padding:15px 16px;
  font-size:15.5px;font-weight:600;color:var(--q-ink);cursor:pointer;transition:.16s}
.quiz-opt:hover{border-color:var(--q-red);background:var(--q-soft);transform:translateY(-1px)}
.quiz-opt .qo-ic{font-size:20px;line-height:1;flex-shrink:0}
.quiz-opt .qo-sub{display:block;font-size:13px;font-weight:500;color:var(--q-muted);margin-top:2px}

/* Insight intercalaire */
.quiz-insight{text-align:center;padding:8px 4px}
.quiz-insight .qi-badge{width:62px;height:62px;border-radius:50%;background:var(--q-soft);
  display:grid;place-items:center;margin:0 auto 16px;font-size:30px}
.quiz-insight h3{font-size:clamp(19px,2.5vw,23px);font-weight:800;color:var(--q-ink);margin:0 0 10px;line-height:1.3}
.quiz-insight p{font-size:15px;color:var(--q-muted);margin:0 auto 22px;max-width:400px;line-height:1.5}

/* Form final */
.quiz-field{margin-bottom:13px}
.quiz-field label{display:block;font-size:13.5px;font-weight:600;color:var(--q-ink);margin-bottom:6px}
.quiz-field input{width:100%;border:1.5px solid var(--q-line);border-radius:11px;padding:13px 14px;
  font-size:15.5px;font-family:inherit;color:var(--q-ink);transition:.16s;background:#fff}
.quiz-field input:focus{outline:none;border-color:var(--q-red);box-shadow:0 0 0 3px rgba(185,78,77,.12)}
.quiz-row{display:flex;gap:11px}
.quiz-row .quiz-field{flex:1}

.quiz-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;
  border:0;border-radius:12px;background:var(--q-red);color:#fff;font-size:16px;font-weight:700;
  padding:15px 20px;cursor:pointer;transition:.16s;font-family:inherit;margin-top:6px}
.quiz-btn:hover{background:var(--q-red-dark)}
.quiz-btn[disabled]{opacity:.55;cursor:default}
.quiz-note{display:flex;align-items:center;gap:7px;justify-content:center;font-size:12.5px;color:var(--q-muted);margin-top:14px;text-align:center}

.quiz-recap{background:var(--q-soft);border-radius:11px;padding:13px 15px;margin-bottom:18px;font-size:13.5px;color:var(--q-ink)}
.quiz-recap b{color:var(--q-red)}

/* Loading */
.quiz-load{text-align:center;padding:26px 8px}
.quiz-spin{width:46px;height:46px;border-radius:50%;border:4px solid var(--q-line);border-top-color:var(--q-red);
  margin:0 auto 20px;animation:quizspin .8s linear infinite}
@keyframes quizspin{to{transform:rotate(360deg)}}
.quiz-load p{font-size:16px;font-weight:600;color:var(--q-ink)}

@media(max-width:520px){
  .quizw{padding:22px 17px 20px;border-radius:15px}
  .quiz-row{flex-direction:column;gap:0}
}
