.steps.has-payment{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.payment-methods{margin:0;padding:0;border:0;display:grid;gap:10px}
.payment-choice{display:flex;align-items:center;gap:12px;margin:0;padding:16px 15px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}
.payment-choice:has(input:checked){border-color:var(--ink);background:#f3f3f0}
.payment-choice input{width:18px;height:18px;min-height:18px;padding:0;flex:0 0 18px;accent-color:var(--ink);margin:0}
.payment-choice span{flex:1;min-width:0}.payment-choice strong{display:block;font-size:.9375rem;font-weight:500}.payment-choice small{display:block;color:var(--muted);font-size:.8125rem;line-height:1.4;margin-top:4px}.payment-choice svg{width:25px;height:25px;flex:0 0 25px;color:#474747}
#cardSetup{margin-top:24px;border-top:1px solid var(--line);padding-top:22px}.payment-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.payment-eyebrow{display:block;color:var(--muted);font-size:.6875rem;letter-spacing:.12em;margin-bottom:6px}.payment-intro h3{font-weight:400;letter-spacing:-.025em;font-size:1.25rem;line-height:1.2;margin:0}.payment-amount{font-size:1.75rem;line-height:1;white-space:nowrap}.payment-amount small{font-size:.75rem;color:var(--muted)}.payment-consent{line-height:1.55}.payment-consent input{margin-top:3px}
.revolut-card-field{background:#fff;min-height:56px;border:1px solid var(--line);border-radius:7px;margin:12px 0 0;padding:10px 12px}.revolut-card-field iframe{display:block;max-width:100%;border:0}.revolut-card-field.rc-card-field--focused{border-color:var(--ink)}
.payment-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.payment-controls .primary{font-size:.875rem;min-width:0}.payment-provider{font-size:.75rem;line-height:1.55;color:var(--muted);margin:18px 0 0}.payment-status{background:#f1f1ee;border-radius:8px;padding:14px 15px;margin-top:16px;font-size:.875rem;line-height:1.55;outline:none}.payment-status[data-state="verified"]{background:#edf4ee;color:#265234}.payment-status[data-state="error"],.payment-status[data-state="review"]{background:#fbefed;color:#8a2f25}.payment-saved-card{display:block;font-weight:500;font-size:1rem;margin-bottom:6px;text-transform:capitalize}
@media(max-width:480px){.steps.has-payment{gap:7px}.steps.has-payment .step-button{font-size:.75rem;gap:5px;flex-direction:column;align-items:flex-start;padding-top:4px}.steps.has-payment .step-number{font-size:.6875rem}.payment-choice{padding:15px 12px;gap:9px}.payment-intro{gap:12px}.payment-intro h3{font-size:1.15rem}.payment-controls .primary{width:100%}}

/* The public application keeps its card action in the always-visible form footer. */
.payment-action-in-footer #paymentStep .payment-controls{display:none}
.payment-action-in-footer .actions .primary{max-width:60%;white-space:normal;line-height:1.35}
.payment-action-in-footer #cardEntry,.payment-action-in-footer #paymentStatus,.payment-action-in-footer #cardConsent{scroll-margin:12px}
@media(max-width:800px),(max-height:419px){
 .payment-action-in-footer.payment-step-active #clientView{padding-bottom:110px;animation:none;transform:none}
 .payment-action-in-footer.payment-step-active #form>.actions{position:fixed;z-index:5;inset:auto 0 0;margin:0;padding:14px 20px max(14px,env(safe-area-inset-bottom));background:#fff;box-shadow:0 -5px 20px #0000000a}
 .payment-action-in-footer.payment-step-active #cardEntry,.payment-action-in-footer.payment-step-active #paymentStatus,.payment-action-in-footer.payment-step-active #cardConsent{scroll-margin-bottom:110px}
}
