/* Qualisolaire — styles du simulateur (carte interactive) */
.qs-card{
  --qs-sun:#E8432E;
  --qs-ember:#B92A1B;
  --qs-amber:#F2A93B;
  --qs-ink:#201C18;
  --qs-sand:#FBF5EC;
  --qs-line: rgba(32,28,24,0.12);
  --qs-paper:#FFFDF9;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background:var(--qs-paper);
  border-radius:24px;
  border:1px solid var(--qs-line);
  box-shadow:0 24px 60px -20px rgba(32,28,24,0.25);
  padding:30px;
  max-width:460px;
  box-sizing:border-box;
  color:var(--qs-ink);
}
.qs-card *{ box-sizing:border-box; }
.qs-card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:22px; }
.qs-advisor{ display:flex; align-items:center; gap:10px; min-width:0; }
.qs-avatar{
  width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg, var(--qs-sun), var(--qs-amber));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:15px;
}
.qs-advisor-name{ font-size:13px; font-weight:600; }
.qs-advisor-role{ font-size:12px; color:#8A8175; }
.qs-step-count{ font-size:12px; color:#8A8175; font-family:monospace; white-space:nowrap; flex-shrink:0; padding-top:2px; }
.qs-progress{ height:5px; background:#F3E9D9; border-radius:10px; overflow:hidden; margin-bottom:26px; }
.qs-progress-bar{ height:100%; background:var(--qs-sun); border-radius:10px; transition:width .35s ease; }
.qs-title{ font-size:21px; font-weight:700; margin-bottom:18px; min-height:56px; line-height:1.25; }
.qs-options{ display:grid; gap:10px; margin-bottom:8px; }
.qs-opt{
  text-align:left; background:var(--qs-sand); border:1.5px solid var(--qs-line);
  border-radius:14px; padding:15px 18px; font-size:15px; font-weight:500;
  cursor:pointer; transition:border-color .15s ease, background .15s ease, transform .1s ease;
  font-family:inherit; color:var(--qs-ink);
}
.qs-opt:hover{ border-color:var(--qs-sun); background:#fff; transform:translateX(2px); }
.qs-form{ display:grid; gap:12px; }
.qs-form input, .qs-form select{
  width:100%; padding:13px 16px; border-radius:12px; border:1.5px solid var(--qs-line);
  background:var(--qs-sand); font-family:inherit; font-size:14.5px; color:var(--qs-ink);
}
.qs-form input:focus, .qs-form select:focus{ outline:2px solid var(--qs-sun); outline-offset:1px; }
.qs-honeypot{ position:absolute; left:-9999px; opacity:0; height:0; }
.qs-submit{
  margin-top:4px; width:100%; text-align:center; justify-content:center;
  background:var(--qs-sun); color:#fff; font-weight:600; font-size:15px;
  padding:14px 24px; border-radius:100px; border:none; cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.qs-submit:hover{ background:var(--qs-ember); transform:translateY(-1px); }
.qs-submit:disabled{ opacity:0.6; cursor:not-allowed; transform:none; }
.qs-back{ display:inline-block; margin-top:14px; font-size:13px; color:#8A8175; text-decoration:underline; cursor:pointer; background:none; border:none; padding:0; font-family:inherit; }
.qs-confirm{ text-align:center; padding:20px 0; }
.qs-confirm .qs-check{
  width:56px; height:56px; border-radius:50%; background:var(--qs-sun); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:26px;
  margin:0 auto 16px;
}
.qs-confirm h3{ font-size:20px; margin-bottom:8px; }
.qs-confirm p{ color:#4A443D; font-size:14.5px; max-width:320px; margin:0 auto; }
.qs-error{ color:var(--qs-ember); font-size:13px; margin-top:10px; }

@media (max-width: 480px){
  .qs-card{ padding:22px; border-radius:18px; }
  .qs-title{ font-size:18px; min-height:auto; }
  .qs-advisor-name{ font-size:12.5px; }
}
@media (max-width: 340px){
  .qs-advisor-name{ white-space:normal; }
}
