/* Every override belongs to our gateway panel; WooCommerce owns the surrounding form. */
.zp-payment.zp-checkout { width: 100%; max-width: 100%; min-width: 0; margin: 12px 0 0; padding: 20px; border-radius: 18px; font-size: 14px; box-shadow: none; }
.zp-checkout > *, .zp-checkout .zp-bank-card { min-width: 0; }
.zp-checkout .zp-section-heading { margin: 0 0 12px; }
.zp-checkout .zp-section-heading h3 { font-size: 16px; line-height: 1.7; font-weight: 700; }
.zp-checkout .zp-step { width: 26px; height: 26px; border-radius: 8px; font-size: 12px; }
.zp-checkout .zp-bank-card { padding: 18px; }
.zp-checkout .zp-bank-top { margin-bottom: 14px; }
.zp-checkout .zp-bank-bottom { margin-top: 12px; }
.zp-checkout .zp-card-digits { font-size: clamp(14px, 4vw, 25px); letter-spacing: .02em; }
.zp-checkout .zp-amount { padding: 12px 14px; gap:8px 14px; align-items:center; }
.zp-checkout .zp-amount strong { font-size: 17px; }
.zp-checkout .zp-live-copy { min-height: 24px; }
.zp-checkout .zp-receipt-area { padding-top: 16px; margin-top: 12px; }
.zp-checkout .zp-upload-label { min-height: 120px; padding: 14px 10px; }
#payment .zp-payment.zp-checkout input[type=file], .zp-payment.zp-checkout .zp-upload-field input[type=file] { margin: 0; padding: 0; border: 0; inset: 0; min-width: 0; max-width: 100%; }
.zp-checkout .zp-file-hint { margin: 8px 0 12px; }
.zp-checkout .zp-submit-status { text-align: right; margin: 6px 0; overflow-wrap: anywhere; }
.zp-checkout .zp-checkout-note { margin-top: 8px; font-size: 12px; color: var(--zp-muted); line-height: 1.9; }
.zp-checkout [hidden] { display: none !important; }
.zp-checkout.zp-style-split { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); padding: 0; }
.zp-checkout.zp-style-split .zp-transfer, .zp-checkout.zp-style-split .zp-receipt-area { padding: 20px; margin: 0; border: 0; }
.zp-checkout.zp-style-ticket, .zp-checkout.zp-style-graphite { border-radius: 0; }
.zp-checkout.zp-style-minimal .zp-bank-card, .zp-checkout.zp-style-ticket .zp-bank-card { padding: 0 0 12px; }
.zp-checkout.zp-style-neo { box-shadow: 3px 3px 0 #303b20; max-width: calc(100% - 3px); }
.zp-checkout.zp-style-graphite { box-shadow: 3px 3px 0 #d5d6d2; max-width: calc(100% - 3px); }
.zp-checkout[aria-busy=true] .zp-upload-field { opacity: .7; }
@supports (font-size: 1cqi) { .zp-checkout .zp-card-digits { font-size: clamp(12px,7.8cqi,25px); } }
@media (max-width: 420px) {
    .zp-payment.zp-checkout { padding: 14px 10px; }
    .zp-checkout .zp-bank-card { padding: 14px 10px; }
    .zp-checkout .zp-bank-top { gap: 6px; font-size: 12px; }
    .zp-checkout .zp-bank-bottom { gap: 6px; }
    .zp-checkout.zp-style-split { padding: 0; }
    .zp-checkout.zp-style-split .zp-transfer, .zp-checkout.zp-style-split .zp-receipt-area { padding: 16px 12px; }
}
