:root{
  --ink:#3F2F21; --ink2:rgba(0,0,0,.72);
  --gold1:#C99749; --gold2:#A8742F; --beige:#F2E9DC; --cream:#FAF6EF;
  --ok:#25D366; --line:rgba(0,0,0,.08);
  --ring:rgba(201,151,73,.35);
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial; background:#faf8f4; color:var(--ink); margin:0}
.zq-wrap{max-width:920px; margin:28px auto; padding:0 16px}
.zq-head{display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px; border-radius:14px; color:#fff; font-weight:800; letter-spacing:.01em;
  background:linear-gradient(180deg,var(--gold1),var(--gold2));
  box-shadow:0 16px 36px rgba(0,0,0,.08), 0 6px 16px rgba(0,0,0,.06)}
.zq-badge{background:#EEE1C9;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#6b4a20}

.zq-card{margin-top:14px; display:grid; grid-template-columns:1fr 320px; gap:16px}
@media (max-width:960px){ .zq-card{grid-template-columns:1fr} }

.zq-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.06), 0 6px 12px rgba(0,0,0,.04)}
.zq-pane{padding:18px}
.zq-pane+.zq-pane{border-top:1px solid var(--line)}
.zq-h{font-size:18px;font-weight:800;margin:0 0 10px}
.zq-sub{font-size:13px;color:var(--ink2);margin:6px 0 0}

.zq-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media (max-width:720px){.zq-grid{grid-template-columns:1fr}}
label.zq-lb{font-size:12px;font-weight:700;color:var(--ink2);margin-bottom:6px;display:block}
input[type="text"],input[type="email"],input[type="tel"],input[type="datetime-local"],input[type="date"],select,textarea{
  width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink);
  font:inherit; outline:none;
}
textarea{min-height:90px; resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold1); box-shadow:0 0 0 3px var(--ring)}

.zq-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.zq-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700}
.zq-pill.ok{background:#E9F9EF;border-color:#BCECCB}
.zq-note{font-size:12px;color:var(--ink2)}
.zq-hr{height:1px;background:var(--line);margin:8px 0}

.zq-aside{position:sticky; top:14px}
.zq-sum-head{padding:14px 16px;background:#FFF7EA;border-bottom:1px solid var(--line);font-weight:800}
.zq-sum{padding:14px 16px; font-size:14px}
.zq-sum .row{display:flex;justify-content:space-between;padding:6px 0}
.zq-sum .row.total{border-top:1px dashed var(--line); margin-top:6px; padding-top:10px; font-weight:800}
.zq-sum small{color:var(--ink2)}

.zq-btns{display:flex;gap:10px;flex-wrap:wrap}
button.zq-btn{appearance:none;border:0;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}
.zq-gold{background:linear-gradient(180deg,var(--gold1),var(--gold2));color:#fff}
.zq-outline{background:#fff;border:1px solid var(--line);color:var(--ink)}
.zq-btn:active{transform:translateY(1px)}

.zq-ack{display:flex;gap:10px;align-items:flex-start}
.zq-ack input{margin-top:3px}
.zq-warn{background:#FFF3F0;border:1px solid #ffd6cc;color:#7a3a2e;padding:10px 12px;border-radius:10px;font-size:13px}
.zq-muted{font-size:12px;color:var(--ink2)}

.zq-radio{display:flex;gap:8px;align-items:center}
.zq-radio input{transform:translateY(1px)}
.zq-locked{opacity:.78}
/* --- thumbnails --- */
.zq-thumb{width:64px;height:64px;border-radius:10px;object-fit:cover;background:#F2E9DC;display:block;box-shadow:0 1px 3px rgba(0,0,0,.08)}
