/* ===== Skin Diagnostic Quiz ===== */
[hidden]{display:none!important}
.qwrap{padding-top:112px;padding-bottom:80px}
.card{background:#fff;border-radius:12px;border:1px solid var(--line);box-shadow:0 1px 1px rgba(0,0,0,.05)}

/* ribbon / header */
.qribbon{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:24px}
.qeyebrow{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.qeyebrow i{width:8px;height:8px;border-radius:50%;background:#000;display:block}
.qtitle{font-size:22px;font-weight:500;letter-spacing:-.33px;line-height:30px;color:var(--ink);margin-top:4px}
.qtoggle{display:inline-flex;gap:2px;padding:4px;background:#e8e8e8;border-radius:9999px;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}
.qtab{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:9999px;font-size:13px;font-weight:500;letter-spacing:.13px;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s}
.qtab.on{background:#f9f9f9;color:var(--ink);font-weight:600;box-shadow:0 1px 1px rgba(0,0,0,.05)}
.qready{display:inline-flex;background:#000;color:#fff;font-size:10px;font-weight:700;letter-spacing:.8px;padding:2px 6px;border-radius:9999px;margin-left:2px}

/* ===== Part A: quiz grid ===== */
.qgrid{display:grid;grid-template-columns:340px 1fr;gap:32px;align-items:start}
.qside{padding:24px;display:flex;flex-direction:column;gap:24px}
.qside-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qside-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#5f5e5e;line-height:14px}
.qside-step{font-size:13px;font-weight:600;letter-spacing:.13px;color:var(--ink);line-height:18px;text-align:right}
.qbar{height:6px;background:#e8e8e8;border-radius:9999px;overflow:hidden}
.qbar i{display:block;height:100%;background:#000;border-radius:9999px;transition:width .35s ease}
.qsteps{display:flex;flex-direction:column;gap:8px}
.qstep-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;background:#f3f3f3;transition:background .2s;text-align:left;border:0;font:inherit;width:100%;cursor:pointer}
.qstep-item .qsi-l{display:flex;gap:12px;align-items:center;min-width:0}
.qstep-item .qsi-n{flex:none;width:24px;height:24px;border-radius:9999px;background:#e8e8e8;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.44px;color:var(--muted)}
.qstep-item .qsi-t{min-width:0}
.qstep-item .qsi-t b{display:block;font-size:15px;font-weight:600;letter-spacing:-.075px;color:var(--ink);line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qstep-item .qsi-t span{display:block;font-size:12px;letter-spacing:.12px;color:var(--muted);line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qstep-item img{flex:none;width:13px;height:13px}
.qstep-item.done{background:#eee}
.qstep-item.done .qsi-n{background:#e2e2e2;color:var(--ink)}
.qstep-item.cur{background:#000}
.qstep-item.cur .qsi-n{background:#f9f9f9;color:#000}
.qstep-item.cur .qsi-t b{color:#fff}
.qstep-item.cur .qsi-t span{color:#858383}
.qassure{background:#eee;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}
.qassure-top{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--ink)}
.qassure p{font-size:12px;letter-spacing:.12px;color:var(--muted);line-height:18px}

.qmain{padding:48px}
.qstep-body{display:flex;flex-direction:column;gap:32px}
.qstep-eyebrow{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.qstep-h2{font-size:28px;font-weight:500;letter-spacing:-.5px;color:var(--ink);line-height:1.3;margin-top:6px}
.qstep-desc{font-size:14px;color:var(--muted);line-height:22px;margin-top:6px;max-width:640px}
.qhint{font-size:12px;color:var(--muted);letter-spacing:.12px}
.qoptions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.qopt{position:relative;display:flex;gap:16px;align-items:flex-start;text-align:left;padding:20px;border-radius:12px;background:#f3f3f3;border:0;cursor:pointer;min-height:112px;transition:background .2s,box-shadow .2s;font:inherit;color:inherit}
.qopt:hover{background:#ececec}
.qopt .qopt-ic{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.qopt .qopt-ic svg{width:100%;height:100%}
.qopt-body{min-width:0}
.qopt-body b{display:block;font-size:15px;font-weight:600;letter-spacing:-.075px;color:var(--ink);line-height:22px}
.qopt-body p{margin-top:2px;font-size:12px;letter-spacing:.12px;color:var(--muted);line-height:18px}
.qopt-check{position:absolute;top:20px;right:20px;width:20px;height:20px;border-radius:9999px;border:1.5px solid rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;flex:none}
.qopt.multi .qopt-check{border-radius:6px}
.qopt-check svg{width:11px;height:11px;opacity:0}
.qopt.on{background:#000;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.qopt.on .qopt-ic{color:#fff}
.qopt.on .qopt-body b{color:#fff}
.qopt.on .qopt-body p{color:#858383}
.qopt.on .qopt-check{background:#fff;border-color:#fff}
.qopt.on .qopt-check svg{opacity:1;color:#000}
.qopt:focus-visible{outline:2px solid #000;outline-offset:2px}

.qfooter{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:32px;margin-top:8px;border-top:1px solid var(--soft2)}
.qback{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:500;letter-spacing:.13px;color:var(--muted);transition:background .2s}
.qback:hover{background:#f3f3f3}
.qback:disabled{opacity:0;pointer-events:none}
.qfooter-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.qskip{font-size:13px;font-weight:500;letter-spacing:.13px;color:#5f5e5e;padding:12px 4px}
.qskip:hover{text-decoration:underline}
.qnext{display:inline-flex;align-items:center;gap:8px;background:#000;color:#fff;padding:12px 32px;border-radius:8px;font-size:13px;font-weight:500;letter-spacing:.13px;transition:opacity .2s,transform .2s}
.qnext:hover{transform:translateY(-1px)}
.qnext:disabled{opacity:.35;pointer-events:none;transform:none}

/* ===== Part B: results ===== */
.qresult{display:flex;flex-direction:column;gap:32px}
.rhero{padding:48px;display:flex;flex-direction:column;gap:24px}
.rhero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rbadge{display:inline-flex;align-items:center;gap:8px;background:#e8e8e8;padding:6px 14px;border-radius:9999px;font-size:11px;font-weight:600;letter-spacing:.44px;color:var(--ink)}
.rretake{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;letter-spacing:.13px;color:var(--muted)}
.rretake:hover{color:#000}
.rhero-copy{max-width:768px}
.rhero-copy h2{font-size:clamp(28px,3.2vw,40px);font-weight:600;letter-spacing:-1px;color:var(--ink);line-height:1.2}
.rhero-copy p{margin-top:12px;font-size:16px;letter-spacing:-.08px;color:var(--muted);line-height:26px}
.rrationale{background:#f3f3f3;border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rrationale-l{display:flex;gap:16px;align-items:flex-start;max-width:768px}
.rrationale-ic{flex:none;width:40px;height:40px;border-radius:9999px;background:#000;display:flex;align-items:center;justify-content:center}
.rrationale-l p{margin-top:4px;font-size:14px;color:var(--muted);line-height:22px}
.rrisk{flex:none;padding:10px 16px;display:flex;flex-direction:column;gap:2px}
.rrisk-k{font-size:10px;font-weight:700;letter-spacing:.8px;color:#5f5e5e}
.rrisk-v{font-size:13px;font-weight:700;letter-spacing:.13px;color:var(--ink)}
.rpatch{display:flex;align-items:center;gap:10px;background:#eee;border-radius:8px;padding:14px 16px;font-size:13px;color:var(--ink);line-height:20px}

.rsplit{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.rcol{display:flex;flex-direction:column;gap:20px}
.rcol-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rcol-l{display:flex;gap:12px;align-items:center}
.rcol-ic{width:36px;height:36px;border-radius:9999px;background:#e8e8e8;display:flex;align-items:center;justify-content:center;flex:none}
.rcol-l h3{font-size:20px;font-weight:500;letter-spacing:-.3px;color:var(--ink);line-height:1.35}
.rcol-meta{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--muted)}
.rcol-tag{background:#e8e8e8;padding:4px 12px;border-radius:9999px;font-size:11px;font-weight:600;letter-spacing:.44px;color:var(--ink);white-space:nowrap}
.rcards{display:flex;flex-direction:column;gap:16px}
.rcard{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.05);border-radius:12px;padding:20px;display:flex;gap:20px;align-items:flex-start;transition:opacity .25s}
.rcard.swap{opacity:.25}
.rcard-ph{position:relative;flex:none;width:96px;height:96px;border-radius:8px;overflow:hidden;background:#f3f3f3}
.rcard-ph img{width:100%;height:100%;object-fit:cover}
.rcard-tag{position:absolute;left:6px;top:6px;background:rgba(249,249,249,.9);padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.6px;color:var(--ink)}
.rcard-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.rcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rcard-brand{font-size:10px;font-weight:700;letter-spacing:.8px;color:#5f5e5e}
.rcard-name{font-size:15px;font-weight:600;letter-spacing:-.075px;color:var(--ink);line-height:1.4}
.rcard-price{font-size:15px;font-weight:600;letter-spacing:-.075px;color:var(--ink);flex:none;white-space:nowrap}
.rcard-desc{font-size:12px;letter-spacing:.12px;color:var(--muted);line-height:18px}
.rcard-tags{display:flex;gap:8px;flex-wrap:wrap}
.rcard-tags span{background:#eee;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600;letter-spacing:.44px;color:var(--ink)}
.rcard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}
.rcard-replace{font-size:11px;font-weight:600;letter-spacing:.44px;color:#5f5e5e;text-decoration:underline;background:none;border:0;cursor:pointer;padding:4px 0}
.rcard-add{display:inline-flex;align-items:center;gap:6px;background:#e8e8e8;padding:6px 14px;border-radius:8px;font-size:11px;font-weight:600;letter-spacing:.44px;color:var(--ink);border:0;cursor:pointer;transition:background .2s}
.rcard-add:hover{background:#dedede}
.rcard-add.added{background:#000;color:#fff}
.rnote{background:#e8e8e8;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}
.rnote-top{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--ink)}
.rnote p{font-size:12px;letter-spacing:.12px;color:var(--muted);line-height:18px}

.rdock{position:sticky;bottom:16px;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;box-shadow:0 20px 25px -5px rgba(0,0,0,.12),0 8px 10px -6px rgba(0,0,0,.1)}
.rdock-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#5f5e5e}
.rdock-nums{display:flex;align-items:baseline;gap:10px;margin-top:6px;flex-wrap:wrap}
.rdock-nums b{font-size:22px;font-weight:700;letter-spacing:-.33px;color:var(--ink)}
.rdock-nums s{font-size:14px;color:#747878}
.rsave{background:#000;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 8px;border-radius:9999px}
.rdock-perks{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap}
.rdock-perks span{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.12px;color:var(--muted)}
.rdock-cta{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.rsave-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#e8e8e8;padding:12px 24px;border-radius:8px;font-size:13px;font-weight:500;letter-spacing:.13px;color:var(--ink);border:0;cursor:pointer;transition:background .2s}
.rsave-btn:hover{background:#dedede}
.rbuy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#000;color:#fff;padding:12px 28px;border-radius:8px;font-size:13px;font-weight:500;letter-spacing:.13px;border:0;cursor:pointer;box-shadow:0 1px 1px rgba(0,0,0,.05);transition:transform .2s}
.rbuy-btn:hover{transform:translateY(-1px)}

.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);background:#000;color:#fff;padding:12px 20px;border-radius:9999px;font-size:13px;font-weight:500;letter-spacing:.13px;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:100}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1000px){
  .qgrid{grid-template-columns:1fr}
  .qside{order:1}
  .qmain{order:2;padding:32px}
  .rsplit{grid-template-columns:1fr}
}
@media(max-width:640px){
  .qwrap{padding-top:96px}
  .qmain{padding:24px}
  .qoptions{grid-template-columns:1fr}
  .qribbon{align-items:flex-start}
  .qtoggle{width:100%}
  .qtab{flex:1;justify-content:center}
  .rhero{padding:24px}
  .rrationale{flex-direction:column;align-items:flex-start}
  .rcard{flex-direction:column}
  .rcard-ph{width:100%;height:160px}
  .rdock{position:static;flex-direction:column;align-items:stretch}
  .rdock-cta{width:100%}
}
