/* ─── Калькулятор (общий файл для всех страниц) ─── */
.qz{background:var(--paper2,#EFE7D5);border:1px solid var(--hair,#E3DAC6);border-radius:18px;padding:24px 24px 22px;max-width:720px;margin:0 auto}
.qz-q{font-family:'Source Serif 4',serif;font-weight:600;font-size:22px;line-height:1.2;text-align:center;margin:2px 0 3px;color:var(--ink,#22271F)}
.qz-sub{font-size:13.5px;color:var(--mut,#7A7465);text-align:center;margin:0 0 16px}

/* первый вопрос — карточки с фото */
.qz-ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qz-phc{position:relative;display:flex;align-items:center;gap:11px;border:1.5px solid var(--hair,#E3DAC6);border-radius:14px;background:#fff;overflow:hidden;cursor:pointer;padding-right:30px;transition:border-color .15s,transform .1s}
.qz-phc:hover{border-color:var(--moss,#3F7F4E);transform:translateY(-2px)}
.qz-phc.on{border-color:var(--moss,#3F7F4E);box-shadow:inset 0 0 0 1.5px var(--moss,#3F7F4E)}
.qz-phc img{display:block;flex:none;width:62px;height:62px;object-fit:cover}
.qz-phc .lb{display:block;font-size:13.5px;font-weight:800;color:var(--ink,#22271F);line-height:1.22}
.qz-phc .tick{position:absolute;top:50%;right:7px;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--moss,#3F7F4E);display:none;align-items:center;justify-content:center}
.qz-phc.on .tick{display:flex}
.qz-phc .tick svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3}

/* остальные вопросы — строки с иконкой */
.qz-rows{display:grid;gap:10px}
.qz-row{display:flex;align-items:center;gap:12px;border:1.5px solid var(--hair,#E3DAC6);border-radius:14px;background:#fff;padding:13px 15px;cursor:pointer;transition:border-color .15s,background .15s}
.qz-row:hover{border-color:var(--moss,#3F7F4E)}
.qz-row.on{border-color:var(--moss,#3F7F4E);background:#F5FAF5;box-shadow:inset 0 0 0 1.5px var(--moss,#3F7F4E)}
.qz-row .rd{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #D8D0BC;position:relative}
.qz-row.on .rd{border-color:var(--moss,#3F7F4E)}
.qz-row.on .rd::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--moss,#3F7F4E)}
.qz-row .ic{flex:none;width:34px;height:34px;border-radius:50%;background:#EEF6EF;display:flex;align-items:center;justify-content:center}
.qz-row .ic svg{width:19px;height:19px;stroke:var(--moss,#3F7F4E);fill:none;stroke-width:1.8}
.qz-row .ic.ph{width:52px;height:52px;border-radius:11px;background:none;overflow:hidden}
.qz-row .ic.ph img{display:block;width:100%;height:100%;object-fit:cover}
.qz-row .lb{display:block;font-size:15px;font-weight:800;color:var(--ink,#22271F);line-height:1.2}
.qz-row .db{display:block;font-size:12.5px;color:var(--mut,#7A7465);margin-top:2px;line-height:1.25}

/* ползунок площади */
.qz-sv{text-align:center;font-family:'Source Serif 4',serif;font-size:32px;font-weight:600;color:var(--pine,#173A26);margin:4px 0}
.qz-sv small{font-size:15px;color:var(--mut,#7A7465);font-family:'Manrope',sans-serif}
.qz-rng{width:100%;accent-color:var(--moss,#3F7F4E);height:6px}

/* финал — контакт и способ получения расчёта */
.qz-chk{width:56px;height:56px;border-radius:50%;background:var(--moss,#3F7F4E);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.qz-chk svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2.6}
.qz-frm{max-width:430px;margin:0 auto}
.qz-fld{width:100%;border:1.5px solid var(--hair,#E3DAC6);border-radius:12px;background:#fff;padding:13px 15px;font:inherit;font-size:16px;margin-bottom:10px;-webkit-appearance:none}
.qz-fld:focus{outline:none;border-color:var(--moss,#3F7F4E)}
.qz-fld.bad{border-color:#B53A32;background:#FFF8F7}
.qz-pref-lbl{display:block;font-size:12.5px;font-weight:800;color:var(--mut,#7A7465);margin:2px 0 8px;text-align:left}
.qz-pref{display:flex;gap:7px}
.qz-pref button{flex:1;min-width:0;border:1.5px solid var(--hair,#E3DAC6);border-radius:11px;padding:11px 6px;font:inherit;font-size:13px;font-weight:800;color:var(--ink,#22271F);cursor:pointer;background:#fff;transition:border-color .15s,background .15s,color .15s}
.qz-pref button:hover{border-color:var(--moss,#3F7F4E)}
.qz-pref button.on{border-color:var(--moss,#3F7F4E);background:#EEF6EF;color:var(--moss,#3F7F4E)}
.qz-err{min-height:18px;margin:8px 0 0;font-size:12.5px;line-height:1.35;text-align:center;color:#9E2F29}
.qz-fine{font-size:11.5px;color:var(--mut,#7A7465);text-align:center;margin:4px auto 0;line-height:1.45}
.qz-fine a{color:var(--moss,#3F7F4E)}
.qz-done{text-align:center;padding:8px 0 2px}
.qz-done .qz-sub{max-width:470px;margin:8px auto 18px;line-height:1.5}

/* низ: прогресс и кнопки */
.qz-pline{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--mut,#7A7465);margin:20px 0 7px}
.qz-pline b{color:var(--moss,#3F7F4E)}
.qz-pgift{color:var(--wheat,#C9A25E);font-weight:800}
.qz-bar{height:10px;background:#fff;border:1px solid var(--hair,#E3DAC6);border-radius:999px;overflow:hidden;position:relative}
.qz-bar i{position:absolute;top:0;bottom:0;left:0;background:var(--moss,#3F7F4E);border-radius:999px;transition:width .35s}
.qz-foot{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:nowrap}
.qz-nx{flex:1;min-width:0;background:var(--pine,#173A26);color:#F3EEDF;border:none;border-radius:999px;font:inherit;font-weight:800;font-size:16px;padding:15px 20px;cursor:pointer;white-space:nowrap}
.qz-nx:hover{background:#0F2C1B}.qz-nx:disabled{opacity:.4;cursor:default}
.qz-bk{flex:none;width:48px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--hair,#E3DAC6);border-radius:50%;color:var(--pine,#173A26);font:inherit;font-weight:700;font-size:19px;cursor:pointer;line-height:1}
.qz-bk:hover{border-color:var(--moss,#3F7F4E)}
@keyframes qzIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.qz-step{animation:qzIn .3s cubic-bezier(.2,.7,.3,1)}
@media(prefers-reduced-motion:reduce){.qz-step{animation:none}}

/* блок «что получаете» */
.qz-gifts{max-width:720px;margin:16px auto 0;background:#fff;border:1px solid var(--hair,#E3DAC6);border-radius:16px;padding:16px 20px}
.qz-gifts-h{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;color:var(--pine,#173A26);margin-bottom:8px}
.qz-gifts-h svg{width:22px;height:22px;stroke:var(--moss,#3F7F4E);fill:none;stroke-width:1.7}
.qz-gifts-row{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4;padding:7px 0;color:var(--ink,#22271F)}
.qz-gc,.qz-gp{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800}
.qz-gc{background:var(--moss,#3F7F4E);color:#fff;font-size:12px}
.qz-gc svg{width:13px;height:13px}
.qz-gp{background:var(--paper2,#EFE7D5);color:var(--pine,#173A26);font-size:15px}
@media(max-width:640px){.qz{padding:18px 15px}.qz-q{font-size:20px}.qz-ph-grid{gap:8px}.qz-phc{gap:9px;padding-right:26px}.qz-phc img{width:54px;height:54px}.qz-phc .lb{font-size:13px}}
@media(max-width:360px){.qz-pref{gap:5px}.qz-pref button{font-size:12px;padding:10px 4px}.qz-nx{white-space:normal;line-height:1.2;padding-left:12px;padding-right:12px}}
