
.q-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:44px;align-items:start}
.q-step{margin-bottom:40px}
.q-step .lbl{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.q-step .lbl .no{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--brand-primary);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.q-step h3{font-size:21px;font-weight:600}
.q-step .hint{font-size:14px;color:var(--text-muted);margin:0 0 18px 42px}
/* AI recommend */
.ai-box{background:var(--gradient-hero);border-radius:var(--radius-xl);padding:28px;color:#fff;position:relative;overflow:hidden;margin-bottom:40px}
.ai-box .circuit{opacity:.4}
.ai-box .h{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:8px}
.ai-box .h .ic{width:42px;height:42px;border-radius:12px;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center}
.ai-box .h .ic svg{width:22px;height:22px;color:#fff}
.ai-box .h h3{color:#fff;font-size:19px;font-weight:600;margin:0}
.ai-box>p{position:relative;color:var(--text-on-dark-muted);font-size:14.5px;margin:0 0 16px;max-width:520px}
.ai-box textarea{position:relative;width:100%;background:rgba(255,255,255,.08);border:1px solid var(--border-on-dark);border-radius:12px;padding:14px 16px;color:#fff;font-family:var(--font-body);font-size:15px;resize:vertical;min-height:84px}
.ai-box textarea::placeholder{color:rgba(255,255,255,.5)}
.ai-box textarea:focus{outline:none;border-color:var(--orange-400)}
.ai-box .arow{position:relative;display:flex;gap:12px;margin-top:14px;flex-wrap:wrap;align-items:center}
.ai-note{position:relative;font-size:13px;color:var(--orange-300);margin-top:12px;display:none}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-left:42px}
.opt{position:relative;display:flex;gap:13px;align-items:flex-start;padding:16px;border:1.5px solid var(--border-subtle);border-radius:12px;cursor:pointer;transition:all var(--dur)}
.opt:hover{border-color:var(--purple-300);background:var(--surface-brand-soft)}
.opt.sel{border-color:var(--brand-accent);background:var(--orange-50)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .box{width:22px;height:22px;flex-shrink:0;border:2px solid var(--border-strong);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--dur);margin-top:1px}
.opt.sel .box{background:var(--brand-accent);border-color:var(--brand-accent)}
.opt .box svg{width:14px;height:14px;color:#fff;opacity:0;transition:opacity var(--dur)}
.opt.sel .box svg{opacity:1}
.opt .oc . t{font-family:var(--font-heading);font-weight:600;font-size:15px;color:var(--text-heading);display:flex;align-items:center;gap:7px}
.opt .oc .t svg{width:17px;height:17px;color:var(--brand-primary)}
.opt .oc .d{font-size:12.5px;color:var(--text-muted);margin-top:2px}
.opt .price{margin-left:auto;font-family:var(--font-heading);font-weight:600;font-size:13.5px;color:var(--orange-600);white-space:nowrap}
.seg{display:flex;gap:10px;margin-left:42px;flex-wrap:wrap}
.seg label{flex:1;min-width:140px;position:relative;border:1.5px solid var(--border-subtle);border-radius:12px;padding:16px;cursor:pointer;transition:all var(--dur)}
.seg label:hover{border-color:var(--purple-300)}
.seg label.sel{border-color:var(--brand-accent);background:var(--orange-50)}
.seg input{position:absolute;opacity:0}
.seg .t{font-family:var(--font-heading);font-weight:600;font-size:15px;color:var(--text-heading)}
.seg .d{font-size:12.5px;color:var(--text-muted);margin-top:3px}
.seg .p{font-size:13px;font-weight:600;color:var(--orange-600);margin-top:6px}
/* summary */
.q-summary{position:sticky;top:calc(var(--header-h) + 20px);background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}
.q-summary .sh{background:var(--gradient-hero);color:#fff;padding:24px 26px}
.q-summary .sh .k{font-family:var(--font-heading);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--orange-400)}
.q-summary .sh .amt{font-family:var(--font-display);font-weight:800;font-size:40px;line-height:1.1;color:#fff;margin-top:6px}
.q-summary .sh .range{font-size:13px;color:var(--text-on-dark-muted);margin-top:4px}
.q-lines{padding:20px 26px;max-height:320px;overflow-y:auto}
.q-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:9px 0;border-bottom:1px dashed var(--border-subtle)}
.q-line:last-child{border-bottom:none}
.q-line .n{color:var(--neutral-700)}.q-line .v{font-family:var(--font-heading);font-weight:600;color:var(--text-heading);white-space:nowrap}
.q-empty{color:var(--text-muted);font-size:14px;text-align:center;padding:16px 0}
.q-foot{padding:20px 26px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:12px}
.q-foot .tot{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-heading)}
.q-foot .tot .l{font-weight:600;color:var(--text-heading)}.q-foot .tot .v{font-weight:700;font-size:22px;color:var(--brand-primary)}
.q-foot .disc{font-size:12px;color:var(--text-muted);text-align:center}
@media(max-width:960px){.q-grid{grid-template-columns:1fr}.opt-grid{grid-template-columns:1fr;margin-left:0}.q-step .hint,.seg{margin-left:0}.q-summary{position:static}}
