/* ============ SLEEP QUIZ — extends site tokens ============ */

.qz-wrap{max-width:760px;margin-inline:auto;padding:6.5rem 1.2rem 4rem}

/* progress */
.qz-progress{position:sticky;top:0;z-index:50;background:var(--bg);padding:.9rem 0 .6rem}
.qz-track{height:4px;background:var(--card);border-radius:99px;overflow:hidden}
.qz-bar{height:100%;width:0;background:linear-gradient(90deg,var(--purple-2),var(--purple-deep));border-radius:99px;transition:width .35s ease;box-shadow:0 0 12px var(--glow)}
.qz-step-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.5rem;min-height:1em}

/* intro */
.qz-intro{text-align:center;padding-top:2.5rem}
.qz-intro-kicker{font-size:.75rem;letter-spacing:.2em;color:var(--purple-2);font-weight:700;margin-bottom:1.2rem}
.qz-intro-title{font-family:var(--font-display);font-size:clamp(2.2rem,7vw,3.6rem);line-height:1.05;letter-spacing:.02em;margin-bottom:1.2rem}
.qz-intro-sub{color:var(--muted);max-width:34rem;margin:0 auto 2.2rem;font-size:1.05rem}
.qz-four{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin:0 0 2rem;text-align:left}
.qz-four>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}
.qz-four span{font-size:.7rem;color:var(--purple-2);letter-spacing:.15em;display:block;margin-bottom:.35rem}
.qz-four b{display:block;font-size:.95rem;margin-bottom:.25rem}
.qz-four p{font-size:.8rem;color:var(--muted);line-height:1.45}
.qz-intro-note{font-size:.8rem;color:var(--muted);max-width:30rem;margin:0 auto}

/* section head */
.qz-sec-head{padding:2.2rem 0 1.4rem}
.qz-sec-head h2{font-family:var(--font-display);font-size:clamp(1.6rem,4.5vw,2.3rem);letter-spacing:.02em;margin-bottom:.4rem}
.qz-sec-head p{color:var(--muted)}

/* question cards */
.qz-q{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.4rem 1.2rem;margin-bottom:1rem;transition:border-color .25s}
.qz-q.answered{border-color:rgba(168,85,247,.45)}
.qz-q-title{font-size:1.02rem;font-weight:600;line-height:1.5;display:flex;gap:.7rem;margin-bottom:.9rem}
.qz-q-num{color:var(--purple-2);font-family:var(--font-display);font-size:.95rem;letter-spacing:.05em;flex:none;padding-top:.1em}
.qz-hint{font-size:.85rem;color:var(--muted);margin:-.4rem 0 .9rem;padding-left:1.8rem}
.qz-hint-block{padding-left:0;margin-top:1rem}

.qz-opts{display:flex;flex-direction:column;gap:.5rem}
.qz-opts-yn{flex-direction:row;flex-wrap:wrap}
.qz-opt{display:flex;align-items:center;gap:.75rem;background:var(--card2);border:1px solid transparent;border-radius:12px;padding:.7rem .95rem;cursor:pointer;transition:border-color .15s,background .15s}
.qz-opt:hover{border-color:var(--line)}
.qz-opt:has(input:checked){border-color:var(--purple);background:rgba(168,85,247,.12)}
.qz-opts-yn .qz-opt{flex:1;min-width:6.5rem;justify-content:center}
.qz-opt input{accent-color:var(--purple);width:1.05rem;height:1.05rem;flex:none}
.qz-opt-text{font-size:.93rem}

/* timing */
.qz-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.qz-field{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}
.qz-field-label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.7rem;line-height:1.45}
.qz-time{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:1.25rem;font-family:var(--font-body);padding:.6rem .8rem;color-scheme:dark}
.qz-time:focus{outline:2px solid var(--purple);outline-offset:2px;border-color:transparent}

/* footer nav */
.qz-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 0 0}
.qz-footer .btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
#qzBack{background:transparent;border:1.5px solid var(--line);color:var(--muted)}
#qzBack:hover{border-color:var(--purple);color:var(--text)}

/* result */
.qz-verdict{text-align:center;padding:2.5rem 0 1.8rem}
.qz-verdict-tag{display:inline-block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--purple-2);border:1px solid var(--line);border-radius:99px;padding:.4rem 1.1rem;margin-bottom:1.2rem;background:rgba(168,85,247,.08)}
.qz-verdict-title{font-family:var(--font-display);font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.12;letter-spacing:.02em;margin-bottom:1.1rem}
.qz-verdict-body{color:var(--muted);text-align:left;max-width:36rem;margin:0 auto;line-height:1.7}

.qz-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin:1.8rem 0}
.qz-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.15rem}
.qz-stat-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.qz-stat-num{font-family:var(--font-display);font-size:1.45rem;letter-spacing:.02em;color:var(--purple-2);margin-bottom:.25rem;font-variant-numeric:tabular-nums}
.qz-stat-sub{font-size:.78rem;color:var(--muted);line-height:1.4}

.qz-midsleep{background:var(--card);border:1px solid rgba(168,85,247,.4);border-radius:var(--radius);padding:1.5rem 1.6rem;margin-bottom:1.8rem;box-shadow:0 0 34px rgba(168,85,247,.12)}
.qz-midsleep h3{font-size:1.1rem;margin-bottom:.6rem}
.qz-midsleep strong{color:var(--purple-2)}
.qz-midsleep p{color:var(--muted);font-size:.95rem;line-height:1.65}

.qz-cta{text-align:center;padding:1.2rem 0 .6rem}
.qz-cta-text{color:var(--text);font-weight:600;margin-bottom:1.3rem;font-size:1.02rem}
.qz-cta-row{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

.qz-restart{display:block;margin:2rem auto 0;background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-family:var(--font-body)}
.qz-restart:hover{color:var(--text)}

.qz-disclaimer{font-size:.75rem;color:var(--muted);opacity:.8;max-width:32rem;margin:2.2rem auto 0;text-align:center;line-height:1.6}

@media (max-width:560px){
  .qz-wrap{padding-top:5.5rem}
  .qz-opts-yn{flex-direction:column}
  .qz-cta-row .btn{width:100%}
}

/* chapters chip on the result card */
.qz-chapters{
  display:inline-block;background:rgba(160,95,20,.14);border:1px solid rgba(160,95,20,.4);
  color:#e8b06a;font-weight:800;font-size:.88rem;border-radius:999px;
  padding:.5rem 1.1rem;margin-bottom:.9rem;
}

/* ===== sleep quiz → lead capture ===== */
.qz-lead{ margin-top:1.4rem; padding-top:1.3rem; border-top:1px solid var(--line); text-align:center; }
.qz-lead-t{ font-weight:600; color:var(--ink); margin-bottom:.85rem; }
.qz-lead-row{ display:flex; gap:.5rem; max-width:460px; margin:0 auto; }
.qz-lead-row[hidden]{ display:none; }
.qz-lead-input{ flex:1; min-width:0; border:1px solid var(--line); border-radius:12px; padding:.75rem .9rem; font:inherit; background:var(--bg); color:var(--ink); }
.qz-lead-input:focus{ outline:none; border-color:var(--accent-soft); }
.qz-lead-row .btn{ white-space:nowrap; }
.qz-lead-ok{ color:var(--green); font-weight:600; padding:.4rem 0; }

/* ===== Arabic / RTL polish for the quiz ===== */
html[dir="rtl"] .qz-intro-title,
html[dir="rtl"] .qz-intro-kicker,
html[dir="rtl"] .qz-verdict-title,
html[dir="rtl"] .qz-verdict-tag,
html[dir="rtl"] .qz-sec-head h2,
html[dir="rtl"] .qz-q-title,
html[dir="rtl"] .qz-stat-label,
html[dir="rtl"] .qz-stat-num,
html[dir="rtl"] .qz-chapters,
html[dir="rtl"] .btn { letter-spacing: 0; }
html[dir="rtl"] .qz-verdict-body,
html[dir="rtl"] .qz-q-title,
html[dir="rtl"] .qz-intro-sub,
html[dir="rtl"] .qz-cta-text,
html[dir="rtl"] .qz-hint { line-height: 1.8; }
