.checkout-modal:has(.checkout-payment) { max-width: 540px; }
.checkout-recipient { display:flex; align-items:center; gap:13px; padding:15px; border-radius:15px; background:var(--surface-soft); }
.checkout-recipient > span:last-child { display:grid; gap:5px; min-width:0; }
.checkout-recipient strong { font-size:15px; overflow-wrap:anywhere; }
.checkout-recipient small { color:var(--muted); font-size:12px; }
.checkout-payment .payment-methods { margin:24px 0; }
.payment-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.payment-tile { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:1; min-width:0; gap:7px; padding:16px 8px; border:1.5px solid var(--line); border-radius:17px; background:var(--surface); cursor:pointer; transition:border-color .15s,background .15s; }
.payment-tile:hover:not(:has(input:disabled)) { border-color:var(--blue); background:var(--surface-soft); }
.payment-tile:has(input:checked) { border-color:var(--blue); background:var(--blue-soft); box-shadow:0 0 0 1px var(--blue); }
.payment-tile:has(input:focus-visible) { outline:3px solid var(--blue); outline-offset:4px; }
.payment-tile:has(input:disabled) { cursor:not-allowed; }
.payment-tile input { position:absolute; top:10px; right:10px; width:15px; height:15px; margin:0; accent-color:var(--blue); }
.payment-tile b { font-size:15px; line-height:1.2; }
.payment-tile small { color:var(--muted); font-size:10px; text-align:center; line-height:1.3; }
.payment-mark { display:grid; place-items:center; width:40px; height:40px; margin-bottom:3px; border-radius:12px; font-size:25px; font-weight:800; color:#fff; }
.payment-mark-kaspi { background:#ef4247; }
.payment-mark-halyk { background:#078a63; }
.payment-mark-lava { background:#744bdf; }
.checkout-total { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--line); padding-top:21px; }
.checkout-total > span { color:var(--muted); font-size:14px; }
.checkout-total strong { font-size:26px; letter-spacing:-.6px; }
@media(max-width:430px) {
  .payment-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .payment-tile { max-width:150px; }
  .checkout-recipient strong { font-size:14px; }
  .checkout-recipient small { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .payment-tile { transition:none; } }
