/* ===== Výkup ===== */
.vk-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.vk-white{background:#fff}
.vk-pills{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14.5px;font-weight:600;color:var(--ink)}
.vk-pills li{display:inline-flex;align-items:center;gap:7px}
.vk-pills svg{color:var(--green-2)}

/* kroky */
.vk-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;counter-reset:s}
.vk-steps::before{content:"";position:absolute;left:6%;right:6%;top:58px;height:2px;background:repeating-linear-gradient(90deg,var(--green) 0 8px,transparent 8px 16px);opacity:.55;animation:vkDash 1.4s linear infinite}
@keyframes vkDash{to{background-position:16px 0}}
.vk-steps li{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .35s;animation:vkUp .7s var(--ease) both;animation-delay:calc(var(--d)*110ms)}
@keyframes vkUp{from{transform:translateY(18px)}}
.vk-steps li:hover{box-shadow:0 30px 60px -34px rgba(4,24,47,.4)}
.vk-n{position:absolute;right:20px;top:20px;font:600 12px var(--mono);color:var(--muted);letter-spacing:.1em}
.vk-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--navy);background:linear-gradient(135deg,var(--sky-a,#e8f2fa),#e3f4de);margin-bottom:8px;position:relative;z-index:1}
.vk-steps li:last-child .vk-ic{background:var(--green);color:var(--ink)}
.vk-steps h3{font-size:19px}
.vk-steps p{color:var(--muted);font-size:15px}

/* formulár */
.vk-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);gap:16px;align-items:start}
.vk-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(22px,3.4vw,44px);display:grid;gap:8px;scroll-margin-top:100px}
.vk-fh h2{font-size:clamp(26px,2.6vw,36px)}
.vk-fh p{color:var(--muted);margin-top:6px}
.vk-sec{display:grid;gap:12px;padding:22px 0;border-bottom:1px dashed var(--line)}
.vk-sec:last-of-type{border-bottom:0}
.vk-l{font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.vk-l.sm{color:var(--muted);margin-top:4px}
.vk-l em{font-style:normal;text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:500}
.f .e{display:block;font-size:13px;color:#c0392b;margin-top:4px}
.f.bad select{border-color:#e08a7d;background:#fff}
.vk-chips{display:flex;flex-wrap:wrap;gap:8px}
.vk-chip{border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 15px;font:600 14px var(--sans);cursor:pointer;transition:all .2s}
.vk-chip:hover{border-color:var(--sky)}
.vk-chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.vk-chips[data-group=faults] .vk-chip[aria-pressed=true]{background:#fdecea;border-color:#e8a59a;color:#a3352a}
.vk-states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vk-state,.vk-opt{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:16px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;font:inherit;color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s}
.vk-state b,.vk-opt b{font-size:15px}
.vk-state small,.vk-opt small{font-size:13px;color:var(--muted);line-height:1.35}
.vk-state:hover,.vk-opt:hover{border-color:var(--sky)}
.vk-state[aria-pressed=true],.vk-opt[aria-pressed=true]{border-color:var(--green);background:#f3fbf1;box-shadow:0 0 0 3px rgba(71,193,52,.15)}
.vk-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vk-opts.three{grid-template-columns:repeat(3,1fr)}
.vk-opt{flex-direction:row;align-items:center;gap:12px}
.vk-opt svg{flex:none;color:var(--navy)}
.vk-opt span{display:flex;flex-direction:column;gap:2px;min-width:0}
.vk-opt:disabled{opacity:.4;cursor:not-allowed}
.vk-hint{font-size:13.5px;color:var(--green-2);min-height:0}
.vk-hint:empty{display:none}
.vk-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.vk-tog{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:500;cursor:pointer;white-space:nowrap}
.vk-tog input{position:absolute;opacity:0;pointer-events:none}
.vk-tog span{width:42px;height:24px;border-radius:999px;background:#d6dee7;position:relative;transition:background .2s;flex:none}
.vk-tog span::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .25s var(--ease)}
.vk-tog input:checked+span{background:var(--green)}
.vk-tog input:checked+span::after{transform:translateX(18px)}
.vk-tog input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.vk-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:8px}
.vk-submit span{font-size:13.5px;color:var(--muted)}

/* bočný panel */
.vk-side{position:sticky;top:110px;display:grid;gap:14px}
.vk-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.vk-card h3{font-size:20px;margin-bottom:12px}
.vk-factors{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.vk-factors li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.vk-factors li:last-child{border-bottom:0}
.vk-factors svg{flex:none;color:var(--navy);margin-top:2px}
.vk-factors span{display:flex;flex-direction:column;gap:2px}
.vk-factors b{font-size:15px}.vk-factors small{font-size:13.5px;color:var(--muted);line-height:1.45}
.vk-contact{background:linear-gradient(160deg,var(--sky-a,#e8f2fa),var(--sky-b,#f2f9ee));display:grid;gap:6px;justify-items:start}
.vk-big{font-size:clamp(20px,1.7vw,24px);font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none;margin-top:6px}
.vk-mail{font-weight:600;color:var(--navy);text-decoration:none}
.vk-contact p{font-size:13.5px;color:var(--muted);margin-top:4px}

/* príprava */
.vk-prep{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vk-prep>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px;display:flex;flex-direction:column;gap:6px;animation:vkUp .7s var(--ease) both;animation-delay:calc(var(--d)*110ms)}
.vk-prep b{font-size:17.5px}
.vk-prep p{color:var(--muted);font-size:14.5px}

@media (max-width:1100px){.vk-split{grid-template-columns:1fr}.vk-side{position:static;grid-template-columns:1fr 1fr}}
@media (max-width:980px){.vk-steps,.vk-prep{grid-template-columns:1fr 1fr}.vk-steps::before{display:none}}
@media (max-width:640px){.vk-steps,.vk-prep,.vk-side{grid-template-columns:1fr}.vk-opts,.vk-opts.three{grid-template-columns:1fr}.vk-row{grid-template-columns:1fr}}
@media (max-width:640px){.vk-states{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.vk-steps li,.vk-prep>div{animation:none}.vk-steps::before{animation:none}}
.vk-note{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);background:#f3f8fc;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.vk-note svg{flex:none;color:var(--navy);margin-top:1px}
.vk-note a{color:var(--navy);font-weight:600}
