/* ==========================================================
   Guide Rapide : fenêtre à une question à la fois
   ========================================================== */

dialog{border:0;border-radius:28px;padding:0;width:min(480px,calc(100vw - 32px));color:var(--ink);background:rgba(255,255,255,.94);box-shadow:0 30px 80px rgba(16,19,28,.25)}
dialog::backdrop{background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.dlg{padding:24px 26px 26px;display:flex;flex-direction:column;gap:20px}
.dlg-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dlg-top h2{font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:-.01em;margin:0;color:var(--muted)}
.x{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer}
.bar{display:flex;gap:6px}
.bar i{flex:1;height:4px;border-radius:4px;background:var(--line)}
.bar i.on{background:var(--ink)}
.stepno{margin:0;font-size:.82rem;color:var(--muted);font-weight:600}
fieldset.opts{border:0;padding:0;margin:0;min-width:0;display:grid;gap:10px}
.opts legend{font-family:var(--font-display);font-weight:800;font-size:1.65rem;letter-spacing:-.025em;line-height:1.1;margin:0 0 14px;padding:0}
.opt{position:relative;display:block}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:18px;padding:15px 18px;font-weight:600;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.opt span:hover{background:#F6F8FC}
.opt small{font-weight:500;font-size:.82rem;color:var(--muted)}
.opt input:checked+span{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.opt input:focus-visible+span{outline:3px solid #2650E8;outline-offset:2px}
.dlg-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.btn{font:600 .92rem var(--font-body);border-radius:999px;padding:10px 20px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.btn:disabled{opacity:.4;cursor:default}
.recap{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.recap li{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;font-size:.92rem;background:#F8F9FC}
.done-title{font-family:var(--font-display);font-weight:800;font-size:1.65rem;letter-spacing:-.025em;line-height:1.1;margin:0}
