/* ALTE — Quiz modal styling */
.quiz-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;visibility:hidden;pointer-events:none}
.quiz-modal.show{visibility:visible;pointer-events:auto}
.quiz-scrim{position:absolute;inset:0;background:rgba(10,20,38,.5);backdrop-filter:blur(6px);opacity:0;transition:opacity .45s var(--ease)}
.quiz-modal.show .quiz-scrim{opacity:1}
.quiz-panel{position:relative;width:min(620px,92vw);max-height:90vh;overflow:hidden;background:var(--cream);border-radius:24px;box-shadow:0 50px 110px -30px rgba(10,20,38,.7);
  transform:translateY(28px) scale(.96);opacity:0;transition:transform .55s var(--ease),opacity .45s var(--ease);display:flex;flex-direction:column}
.quiz-modal.show .quiz-panel{transform:none;opacity:1}

.quiz-x,.quiz-back{position:absolute;top:18px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--cream-2);color:var(--ink);font-size:14px;z-index:3;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,transform .4s var(--ease)}
.quiz-x{right:18px}.quiz-back{left:18px}
.quiz-x:hover,.quiz-back:hover{background:var(--ink-deep);color:var(--cream)}

.quiz-prog{height:4px;background:var(--cream-3);margin:0;flex:none}
.quiz-prog-fill{height:100%;width:0;background:var(--coral);border-radius:0 4px 4px 0;transition:width .55s var(--ease)}

.quiz-panel-inner{position:relative;flex:1;overflow:hidden;min-height:440px}
.quiz-screen{padding:72px clamp(28px,5vw,52px) 28px;position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto;
  transition:transform .46s var(--ease),opacity .4s var(--ease)}
.quiz-screen.enter{transform:translateX(40px);opacity:0}
.quiz-screen.enter-back{transform:translateX(-40px);opacity:0}
.quiz-screen.leave{transform:translateX(-40px);opacity:0}
.quiz-screen.leave-back{transform:translateX(40px);opacity:0}

.quiz-q-no{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mist);margin-bottom:14px}
.quiz-q{font-size:clamp(22px,3vw,30px);max-width:20ch}
.quiz-opts{display:grid;gap:10px;margin-top:26px}
.quiz-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:16px 18px;border-radius:13px;background:var(--cream-2);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;font-weight:500;color:var(--ink-deep);transition:transform .35s var(--ease),box-shadow .3s,background .3s}
.quiz-opt:hover{transform:translateX(4px);background:var(--cream);box-shadow:inset 0 0 0 1.5px var(--ink-mist)}
.quiz-radio{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);flex:none;position:relative;transition:box-shadow .3s}
.quiz-opt.on{box-shadow:inset 0 0 0 1.5px var(--coral);background:rgba(255,120,73,.07)}
.quiz-opt.on .quiz-radio{box-shadow:inset 0 0 0 6px var(--coral)}

.quiz-intro{justify-content:center}
.quiz-intro .quiz-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.quiz-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}
.quiz-form .btn-block{margin-top:4px}
@media(max-width:520px){.quiz-fields{grid-template-columns:1fr}}

.quiz-success{align-items:flex-start;text-align:left}
.quiz-check{width:60px;height:60px;border-radius:50%;background:var(--coral);display:grid;place-items:center;margin-bottom:20px;animation:pop-in .5s var(--ease) both}
.quiz-summary{display:grid;gap:8px;margin:22px 0 26px;width:100%}
.quiz-summary>div{display:flex;justify-content:space-between;gap:16px;font-size:13px;padding:10px 14px;border-radius:10px;background:var(--cream-2);box-shadow:inset 0 0 0 1px var(--line-soft)}
.quiz-summary span{color:var(--ink-mist);text-transform:capitalize}
.quiz-summary b{color:var(--ink-deep);font-weight:600;text-align:right}

.quiz-foot{display:flex;justify-content:space-between;gap:16px;padding:16px clamp(28px,5vw,52px);border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-mist);flex:none}
.quiz-foot .mono{color:var(--ink)}

/* hide back button on intro/success via state class on panel could be added; keep simple: dim when step<=0 */
