.payment-checkout { margin-top: 24px; text-align: left; overflow-wrap: anywhere; }
.payment-provider-checkout { text-align: left; max-width: 100%; overflow-wrap: anywhere; }
.payment-provider-checkout [hidden] { display: none !important; }
.payment-provider-checkout h4 { font-size: 20px; margin: 0 0 16px; }
.payment-provider-checkout .payment-qr { text-align: center; margin: 20px 0; }
.payment-provider-checkout .payment-qr img { max-width: 100%; height: auto; aspect-ratio: 1; border-radius: 4px; }
.payment-provider-checkout .payment-copy-row { display: flex; min-width: 0; }
.payment-provider-checkout .payment-copy-row input { min-width: 0; flex: 1; font-size: 16px; }
.payment-provider-checkout .payment-copy { flex: 0 0 44px; min-height: 44px; }
.payment-provider-checkout .payment-waiting { margin-top: 20px; }
.payment-progress { height: 6px; margin-top: 14px; overflow: hidden; border-radius: 4px; background: #c7e1f5; }
.payment-progress > .payment-progress__bar { display: block; width: 35%; height: 100%; border-radius: 4px; background: #176bb1; animation: payment-progress-slide 1.8s linear infinite; }
.payment-progress-help { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: #24516f; }
@keyframes payment-progress-slide { from { transform: translateX(-100%); } to { transform: translateX(286%); } }
@media (prefers-reduced-motion: reduce) {
    .payment-progress > .payment-progress__bar { animation: none; transform: translateX(90%); }
}
.payment-checkout [hidden] { display: none !important; }
.payment-checkout h4 { font-size: 20px; margin: 0 0 16px; }
.payment-checkout .payment-waiting { margin: 16px 0; }
.payment-monitor-description { margin: 8px 0 0; white-space: pre-line; }
.payment-fallback { border-top: 1px solid #ddd; margin-top: 24px; padding-top: 16px; }
.payment-fallback summary { cursor: pointer; padding: 8px 0; }
.payment-monitor { margin: 16px 0; }
.payment-monitor input { height: 48px; font-size: 16px; }
.payment-checkout .btn { min-height: 44px; border-radius: 4px; white-space: normal; max-width: 100%; }
.payment-monitor-message { margin-top: 16px; }
.payment-checkout web3-payment { display: block; min-height: 120px; max-width: 100%; }
.payment-checkout #web3-payment button { border-radius: 4px; height: auto; min-height: 44px; white-space: normal; }
.payment-checkout #web3-payment .input-field { min-width: 0; }
.payment-checkout #web3-payment input { min-width: 0; max-width: 100%; }
