/* ══ Stepper-Formular ══ */
.qz{--ac:var(--schema);max-width:860px;margin:0 auto;background:var(--color-background-primary);border:0.5px solid var(--color-border-secondary);border-radius:var(--r-lg);overflow:hidden}
.qz-steps{color:black}
.qz-head{padding:22px 32px 18px;border-bottom:0.5px solid var(--color-border-tertiary);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.qz-kick{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-tertiary)}
.qz-count{font-size:12.5px;font-weight:600;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}
.qz-bar{grid-column:1/-1;height:4px;border-radius:999px;background:var(--color-background-tertiary);overflow:hidden}
.qz-bar i{display:block;height:100%;background:var(--ac);border-radius:999px;transition:width .34s cubic-bezier(.4,0,.2,1)}
.qz-view{overflow:hidden}
.qz-track{display:flex;align-items:flex-start;transition:transform .42s cubic-bezier(.4,0,.2,1)}
.qz-slide{flex:0 0 100%;min-width:100%;padding:34px 32px 8px}
.qz-slide h3{margin:0 0 6px;font-size:23px;line-height:1.28;text-wrap:pretty}
.qz-slide .qz-hint{margin:0 0 22px;font-size:14px;line-height:1.6;color:var(--color-text-secondary)}

.qz-opts{display:grid;gap:10px;margin:0;padding:0;border:0;text-align: left;}
.qz-opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.qz-opt{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:13px;padding:15px 18px;border:0.5px solid var(--color-border-secondary);border-radius:var(--r-md);background:var(--color-background-secondary);cursor:pointer;transition:border-color .14s,background .14s}
.qz-opt:hover{background:var(--color-background-tertiary)}
.qz-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.qz-box{width:20px;height:20px;margin-top:1px;border-radius:50%;border:1.5px solid var(--color-border-secondary);background:var(--color-background-primary);display:inline-flex;align-items:center;justify-content:center;transition:border-color .14s,background .14s}
.qz-opt.check .qz-box{border-radius:6px}
.qz-box svg{width:17px;height:17px;color:#fff;opacity:0;transition:opacity .12s}
.qz-opt b{font-size:15px;font-weight:600;line-height:1.4;display:block}
.qz-opt span{display:block;font-size:13px;line-height:1.55;color:var(--color-text-secondary);margin-top:3px}
.qz-opt input:checked ~ .qz-box{border-color:var(--ac);background:var(--ac)}
.qz-opt input:checked ~ .qz-box svg{opacity:1}
.qz-opt:has(input:checked){border-color:var(--ac);background:var(--color-background-primary)}
.qz-opt input:focus-visible ~ .qz-box{outline:2px solid var(--ac);outline-offset:2px}

.qz-field{display:block}
.qz-field textarea,.qz-field select,.qz-field input[type=text],.qz-field input[type=email]{width:100%;font-family:var(--font-sans);font-size:15px;color:var(--color-text-primary);background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:var(--r-md);padding:14px 16px;appearance:none}
.qz-field select{background-image:linear-gradient(45deg,transparent 50%,var(--color-text-tertiary) 50%),linear-gradient(135deg,var(--color-text-tertiary) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px;cursor:pointer}
.qz-field select:focus,.qz-field input:focus,.qz-field textarea:focus{outline:none;border-color:var(--ac)}
.qz-field textarea{resize:vertical;min-height:104px;line-height:1.6;font-family:var(--font-sans)}
.qz-or{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;margin:20px 0 16px}
.qz-or::before,.qz-or::after{content:"";height:0.5px;background:var(--color-border-secondary)}
.qz-or span{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}
.qz-typ-select{display:none}
.qz-contact{display:block}
.qz-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

.qz-sum{list-style:none;margin:0 0 22px;padding:0;border-top:0.5px solid var(--color-border-tertiary)}
.qz-sum li{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:16px;padding:11px 2px;border-bottom:0.5px solid var(--color-border-tertiary);font-size:14px;line-height:1.5}
.qz-sum dt,.qz-sum .k{color:var(--color-text-tertiary)}
.qz-sum .v{color:var(--color-text-primary);font-weight:600;text-wrap:pretty}

.qz-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 32px 26px;margin-top:26px;border-top:0.5px solid var(--color-border-tertiary)}
.qz-back{background:none;border:0;padding:8px 2px;font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--color-text-tertiary);cursor:pointer}
.qz-back:hover{color:var(--color-text-primary)}
.qz-back[disabled]{opacity:0;pointer-events:none}
.qz-next[disabled]{opacity:.4;cursor:not-allowed;filter:none}
.qz-note{font-size:12px;color:var(--color-text-tertiary)}

.qz-done{padding:60px 32px;text-align:center}
.qz-done h3{margin:0 0 8px;font-size:24px}
.qz-done p{margin:0 auto;max-width:44ch;font-size:15px;line-height:1.7;color:var(--color-text-secondary)}
.qz-tick{width:54px;height:54px;border-radius:50%;background:var(--ac);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}
.qz-tick svg{width:28px;height:28px}

@media(max-width:820px){
.qz-head{padding:18px 20px 16px}
.qz-slide{padding:26px 20px 4px}
.qz-slide h3{font-size:20px}
.qz-opts.two,.qz-pair{grid-template-columns:minmax(0,1fr)}
.qz-foot{padding:18px 20px 22px}
.qz-sum li{grid-template-columns:minmax(0,100px) minmax(0,1fr)}
.qz-view{max-height:650px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.qz-typ-select{display:block}
.qz-slide .qz-opts.qz-typ{display:none}
.qz-slide.qz-last{display:flex;flex-direction:column}
.qz-slide.qz-last h3{order:1}
.qz-slide.qz-last .qz-hint{order:2}
.qz-slide.qz-last .qz-contact{order:3}
.qz-slide.qz-last .qz-sum{order:4;margin:22px 0 0;border-top:0.5px solid var(--color-border-tertiary)}
.qz-note {text-align: center;}
}