/* Подбор и КП — /podbor/. Только токены из style.css (--acc, --card, --stroke…). */
.pb-hero{padding:46px 0 18px;text-align:center}
.pb-hero h1{font-size:clamp(28px,4.4vw,46px);line-height:1.15;margin:0 auto;max-width:900px}
.pb-hero .lead{margin:16px auto 0}
.pb{border:1px solid var(--stroke);background:var(--panel);border-radius:16px;padding:22px;margin:10px 0 30px;scroll-margin-top:84px}
.pb-steps{display:flex;gap:6px;list-style:none;counter-reset:pbs;margin:0 0 20px;padding:0}
.pb-steps li{flex:1;font-size:13px;color:var(--mut);padding:9px 6px 0;border-top:3px solid var(--stroke);counter-increment:pbs;text-align:center}
.pb-steps li:before{content:counter(pbs) ". "}
.pb-steps li{font-family:var(--mono);letter-spacing:.04em}.pb-steps li.on{color:var(--txt);border-color:var(--acc);font-weight:500}
.pb-steps li.done{border-color:rgba(79,134,255,.45)}
.pb-h{font-size:clamp(20px,2.6vw,26px);margin:4px 0 16px;line-height:1.25}
.pb-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pb-back{background:none;border:0;color:var(--acc);font:inherit;font-size:14px;cursor:pointer;padding:6px 0}
.pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.pb-grid-sm{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.pb-opt{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:16px;color:var(--txt);font:inherit;cursor:pointer;transition:border-color .15s,transform .15s;min-height:56px}
.pb-opt:hover,.pb-opt:focus-visible{border-color:var(--stroke2);outline:none;background:rgba(255,255,255,.035)}
.pb-opt.sel{border-color:var(--acc);background:rgba(122,156,255,.08)}
.pb-opt b{font-size:15.5px;font-weight:600}
.pb-opt small{color:var(--mut);font-size:13px}
.pb-ic{font-size:22px;line-height:1;color:var(--acc);margin-bottom:4px}.pb-ic svg.i{vertical-align:0}
.pb-vars{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.pb-var{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:20px}
.pb-var.rec{border-color:rgba(122,156,255,.55)}
.pb-var h3{font-size:20px;margin:2px 0 6px}
.pb-var .btn{margin-top:auto;justify-content:center;width:100%}
.pb-badge{position:absolute;top:-10px;left:18px;background:var(--bg);color:var(--acc);border:1px solid rgba(122,156,255,.55);font:500 10.5px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:1px 8px;border-radius:4px}
.pb-lines{list-style:none;margin:14px 0;padding:0;border-top:1px solid var(--stroke)}
.pb-lines li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--stroke);font-size:14.5px}
.pb-lines li small{display:block;color:var(--mut);font-size:12.5px;margin-top:2px}
.pb-p{white-space:nowrap;text-align:right;font-family:var(--mono);font-size:14px;letter-spacing:-.02em}
.pb-p s{font-size:12.5px}
.pb-open{color:#ffcf7a;font-weight:600}
.pb-free{color:var(--ok)}
.pb-tot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 16px}
.pb-tot>div{background:rgba(0,0,0,.18);border:1px solid var(--stroke);border-radius:12px;padding:10px 12px}
.pb-tot small{display:block;color:var(--mut);font-size:12px}
.pb-tot b{font:500 19px var(--mono);letter-spacing:-.03em}
.pb-tot em{display:block;font-style:normal;color:#ffcf7a;font-size:12px}
.pb-term{display:inline-flex;border:1px solid var(--stroke);border-radius:30px;padding:3px;background:rgba(0,0,0,.2)}
.pb-term button{background:none;border:0;color:var(--mut);font:inherit;font-size:13.5px;padding:7px 14px;border-radius:30px;cursor:pointer}
.pb-term button.on{background:var(--accb);color:#fff}
.pb-note{font-size:13px;margin-top:14px}
.pb-kp{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
.pb-sum h4{font-size:14px;margin:16px 0 0;color:var(--mut);font-weight:600}
.pb-form{background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.pb-form .field{display:flex;flex-direction:column;gap:5px}
.pb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.pb-err{color:#ff8a8a;font-size:12.5px;min-height:0;margin:0}
.pb-err:empty{display:none}
.pb-consent{display:flex;gap:8px;align-items:flex-start}
.pb-consent input{margin-top:3px}
.pb-submit{justify-content:center}
.pb-submit[disabled]{opacity:.6;cursor:wait}
.pb-small{font-size:12.5px}
.pb-done{text-align:center;padding:26px 6px}
.pb-done .cta-row{justify-content:center}
.pb-check{width:56px;height:56px;margin:0 auto 16px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(65,214,156,.5);color:var(--ok)}.pb-check svg.i{width:28px;height:28px;vertical-align:0}
@media(max-width:820px){.pb-kp{grid-template-columns:1fr}}
@media(max-width:560px){
  .pb{padding:14px;border-radius:16px}
  .pb-steps li{font-size:11.5px}
  .pb-grid,.pb-grid-sm{grid-template-columns:1fr 1fr;gap:8px}
  .pb-need{grid-column:span 2}
  .pb-opt{padding:13px}
  .pb-vars{grid-template-columns:1fr}
  .pb-tot b{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.pb-opt{transition:none}.pb-opt:hover{transform:none}}
