.kto-voucher{--kto-accent:#1f7a5c;max-width:560px;margin:0 auto;font:inherit}
.kto-voucher h3{margin:0 0 6px}
.kto-voucher fieldset{border:0;padding:0;margin:0 0 16px}
.kto-voucher legend{font-weight:700;margin-bottom:8px;padding:0}
.kto-v-amounts{display:flex;flex-wrap:wrap;gap:8px}
.kto-v-amounts legend{width:100%}
.kto-v-amt{position:relative;cursor:pointer}
.kto-v-amt input{position:absolute;opacity:0}
.kto-v-amt span{display:inline-block;min-width:70px;text-align:center;padding:10px 16px;border:2px solid #c5c9ce;border-radius:10px;font-weight:700}
.kto-v-amt input:checked+span{border-color:var(--kto-accent);background:var(--kto-accent);color:#fff}
.kto-v-amt input:focus-visible+span{outline:3px solid var(--kto-accent);outline-offset:2px}
.kto-v-own{width:100%}
.kto-v-own input{width:140px}
.kto-v-field{margin:0 0 14px}
.kto-v-field label{display:block;font-weight:600}
.kto-v-field input[type=text],.kto-v-field input[type=email],.kto-v-field input[type=tel],.kto-v-field input[type=number],.kto-v-field textarea,.kto-v-own input{display:block;width:100%;box-sizing:border-box;padding:10px;border:1px solid #c5c9ce;border-radius:8px;font:inherit;margin-top:4px}
.kto-v-own input{width:140px}
.kto-v-check{font-weight:400!important;display:flex;gap:8px;align-items:flex-start}
.kto-voucher small{display:block;color:#6b7280;margin-top:4px}
.kto-v-err{color:#b42318;font-size:14px;min-height:0}
.kto-v-err:empty{display:none}
.kto-v-submit{background:var(--kto-accent);color:#fff;border:0;border-radius:10px;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer;width:100%}
.kto-v-submit:disabled{opacity:.6;cursor:wait}
.kto-v-pay label{margin-right:16px;font-weight:400}
.kto-v-pay-table{width:100%;border-collapse:collapse}
.kto-v-pay-table th,.kto-v-pay-table td{text-align:left;padding:6px 0;border-bottom:1px solid #eceef0}
.kto-v-pay-table th{color:#6b7280;font-weight:400;width:45%}

.kto-v-bal{margin-top:32px;padding-top:20px;border-top:1px solid #eceef0}
.kto-v-bal h4{margin:0 0 8px}
.kto-v-balrow{display:flex;gap:8px}
.kto-v-balrow input{flex:1;min-width:0;padding:10px;border:1px solid #c5c9ce;border-radius:8px;font:inherit;text-transform:uppercase}
.kto-v-balrow button{border:2px solid var(--kto-accent);background:#fff;color:var(--kto-accent);border-radius:8px;padding:0 16px;font:inherit;font-weight:700;cursor:pointer}
.kto-v-balmsg{margin-top:8px;min-height:1em}
.kto-v-good{color:var(--kto-accent);font-weight:600}
.kto-v-bad{color:#b42318}

.kto-v-qrs{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}
.kto-v-qrs figure{margin:0;text-align:center}
.kto-v-qrs img{max-width:100%;height:auto;border:1px solid #eceef0;border-radius:8px}
.kto-v-qrs figcaption{font-size:13px;color:#6b7280}
