/* Конструктор визиток */
.kv-head{padding-top:8px}.kv-head h1{margin:0 0 8px}.kv-head .lead{max-width:760px;margin:0 0 18px}
.kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;align-items:start;padding-bottom:28px}
.kv-prev{position:sticky;top:calc(var(--kvtop,0px) + 12px);order:2;display:flex;flex-direction:column;gap:12px}
.kv-steps{order:1;display:flex;flex-direction:column;gap:14px;min-width:0}
.kv-cards{display:flex;flex-direction:column;gap:14px}
.kv-card{margin:0}.kv-cv{width:100%;border-radius:10px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(17,18,20,.45),0 1px 3px rgba(17,18,20,.12);background:#fff;line-height:0}
.kv-cv canvas{display:block;width:100%;height:auto}
.kv-card figcaption{font-size:13px;color:#6b6f76;margin-top:6px}
.kv.kv-one .kv-b{display:none}
.kv-flip{display:none;gap:6px}
.kv-flip button{flex:1;height:38px;border:1.5px solid #d9d4ca;border-radius:10px;background:#fff;font:600 14px Onest,system-ui,sans-serif;color:#111214;cursor:pointer}
.kv-flip button.on{background:#111214;border-color:#111214;color:#fff}
.kv-warn{margin:0;padding:10px 14px 10px 30px;border-radius:12px;background:#FFF6D6;color:#5a4300;font-size:13.5px;line-height:1.45}
.kv-warn li+li{margin-top:4px}
.kv-sum{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 1px 3px rgba(17,18,20,.08)}
.kv-price{flex:1;min-width:180px;display:flex;flex-direction:column}.kv-price b{font:700 26px Onest,system-ui,sans-serif;color:#111214}.kv-price span{font-size:13px;color:#6b6f76}
.kv-go,.kv-send{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border:0;border-radius:14px;background:#FFD400;color:#111214;font:700 16px Onest,system-ui,sans-serif;text-decoration:none;cursor:pointer}
.kv-go:hover,.kv-send:hover{background:#FFE14D}.kv-send:disabled{opacity:.6;cursor:wait}
.kv-step{background:#fff;border-radius:18px;padding:18px;box-shadow:0 1px 3px rgba(17,18,20,.06)}
.kv-step h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:19px}
.kv-step h2 i{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#111214;color:#FFD400;font:700 14px Onest,system-ui,sans-serif;font-style:normal}
.kv-step h3{font-size:14px;margin:14px 0 8px;color:#4b4f56}
.kv-tpl{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.kv-tpl button,.kv-pal button{padding:0;border:2px solid transparent;border-radius:10px;background:none;cursor:pointer;text-align:left}
.kv-tpl button canvas{display:block;width:100%;height:auto;border-radius:7px;box-shadow:0 1px 4px rgba(17,18,20,.18)}
.kv-tpl button span{display:block;font-size:12.5px;padding:4px 2px 2px;color:#33373d}
.kv-tpl button.on,.kv-pal button.on{border-color:#111214}
.kv-tpl button:hover canvas{box-shadow:0 4px 12px rgba(17,18,20,.25)}
.kv-pal{display:flex;gap:8px;flex-wrap:wrap}.kv-pal button canvas{display:block;width:76px;height:auto;border-radius:6px;box-shadow:0 1px 3px rgba(17,18,20,.2)}
.kv-row2{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;align-items:end}
.kv label{display:flex;flex-direction:column;gap:5px;font-size:13.5px;color:#4b4f56}
.kv input:not([type=checkbox]):not([type=radio]):not([type=color]),.kv select,.kv textarea{font:15px Onest,system-ui,sans-serif;color:#111214;border:1.5px solid #ddd8ce;border-radius:11px;padding:10px 12px;background:#fff;width:100%;box-sizing:border-box}
.kv input:focus,.kv select:focus,.kv textarea:focus{outline:2px solid #FFD400;outline-offset:1px;border-color:#111214}
.kv-acc{flex-direction:row!important;align-items:center}.kv-acc input{width:44px;height:36px;border:0;padding:0;background:none;cursor:pointer}
.kv-row2 label:last-child{flex:1;min-width:200px}
.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kv-grid .w2{grid-column:1/-1}
.kv-checks,.kv-radio{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;margin-top:12px;font-size:14px;color:#33373d}
.kv-checks label,.kv-radio label,.kv-chk{flex-direction:row!important;align-items:center;gap:7px!important;font-size:14px!important;color:#33373d!important}
.kv-checks input,.kv-radio input,.kv-chk input{width:18px;height:18px;accent-color:#111214}
.kv-logo-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.kv-up{flex:1;min-width:220px;border:2px dashed #d9d4ca;border-radius:14px;padding:14px;cursor:pointer;text-align:center;background:#faf8f4}
.kv-up b{font-size:15px;color:#111214}.kv-up span{font-size:12.5px;color:#6b6f76}.kv-up:hover{border-color:#111214}
.kv-del{height:40px;padding:0 14px;border:1.5px solid #ddd8ce;border-radius:11px;background:#fff;font:14px Onest,system-ui,sans-serif;cursor:pointer}
#kv-backrow,#kv-sloganrow,#kv-servrow,#kv-qrrow{margin-top:12px}
[hidden]{display:none!important}
#kv-form{display:flex;flex-direction:column;gap:12px}
.kv-note{margin:0;font-size:14px;color:#4b4f56;line-height:1.5}
.kv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.kv-msg{margin:0;font-size:14px;min-height:20px}.kv-msg.err{color:#B42318}
.kv-done b{display:block;font-size:20px;margin-bottom:6px}.kv-done p{margin:0;line-height:1.5}
.kv-why{padding:8px 0 40px}.kv-why h2{margin:0 0 14px}
.kv-why-g{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kv-why-g div{background:#fff;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px}.kv-why-g b{font-size:16px}.kv-why-g span{font-size:14px;color:#4b4f56;line-height:1.45}
.kv-alt{margin-top:16px;font-size:15px}
@media (max-width:900px){
  .kv{grid-template-columns:minmax(0,1fr);gap:14px}
  .kv-prev{order:0;top:var(--kvtop,0px);z-index:5;margin:0 -16px;padding:10px 16px 12px;background:#F5F2EC;box-shadow:0 8px 16px -12px rgba(17,18,20,.35)}
  .kv-flip{display:flex}.kv-flip button{height:32px;font-size:13.5px}
  .kv-cards{display:block;max-width:310px;margin:0 auto;width:100%}
  .kv[data-side=front] .kv-b,.kv[data-side=back] .kv-f{display:none}
  .kv.kv-one .kv-f{display:block}
  .kv-card figcaption{display:none}
  .kv-prev{gap:8px}
  .kv-sum{padding:6px 10px;gap:10px}.kv-price{min-width:0}.kv-price b{font-size:19px}.kv-price span{font-size:12px}.kv-go{height:38px;padding:0 14px;font-size:14.5px}
  .kv-warn{font-size:12.5px;padding:8px 12px 8px 26px;max-height:72px;overflow:auto}
  .kv-grid{grid-template-columns:1fr}
  .kv-why-g{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){.kv-why-g{grid-template-columns:1fr}.kv-tpl{grid-template-columns:repeat(3,1fr)}.kv-tpl button span{font-size:11.5px}}
.kv-guides{flex-direction:row!important;align-items:center;gap:8px!important;font-size:13px!important;color:#5b5f66!important;cursor:pointer}.kv-guides input{width:16px;height:16px;accent-color:#E4007C}
@media (max-width:900px){.kv-guides{display:none!important}}
.kv-fl .kv-cv{margin:0 auto;width:auto;display:block}.kv-fl .kv-cv canvas{width:auto}.kv-fl .kv-card figcaption{text-align:center}.kv-fl .kv-cards{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:14px}.kv-fl .kv-card{flex:0 1 auto}
.kv-fl .kv-tpl{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.kv-fl .kv-pal button canvas{width:54px}
@media (max-width:900px){.kv-fl .kv-cards{max-width:none}}
.kv-flash{animation:kvflash 1.4s ease-out}@keyframes kvflash{0%,30%{box-shadow:0 0 0 4px #FFD400}100%{box-shadow:0 1px 3px rgba(17,18,20,.06)}}
