.checkout-payment-panel { border-top: 1px solid #dce4e7; padding-top: 1.5rem; min-width: 0; }
.checkout-payment-panel h2 { display: flex; align-items: center; gap: .6rem; font-size: 1.15rem; }
.checkout-payment-panel [hidden] { display: none !important; }
.checkout-payment-panel .text-button { text-align: left; }
.checkout-payment-status { color: #435d69; }
.payment-divider { text-align: center; color: #566770; margin: 1rem 0; font-size: .9rem; }
#payment-element { min-height: 120px; }
/* Stripe's responsive card layout puts the number above expiry and CVC at this width. */
.checkout-payment-panel [data-payment-editor] { max-width: 480px; }
.checkout-payment-panel label.checkout-save-card,
.checkout-payment-panel label.checkout-card-choice { display:flex; align-items:flex-start; gap:.65rem; margin:1rem 0 0; font-weight:normal; }
.checkout-payment-panel label.checkout-save-card input[type="checkbox"],
.checkout-payment-panel label.checkout-card-choice input[type="radio"] { width:18px; height:18px; margin:2px 0 0; padding:0; flex:0 0 18px; }
.checkout-payment-panel .checkout-card-choices { max-width:480px; border:0; padding:0; margin:0 0 1rem; }
.checkout-card-choices legend { font-weight:600; }
.checkout-payment-panel label.checkout-card-choice { border:1px solid #dce4e7; border-radius:8px; padding:12px; cursor:pointer; }
.checkout-payment-panel label.checkout-card-choice:has(input:checked) { border-color:#075f72; background:#f4f9fa; }
.checkout-card-choice small { display:block; margin-top:4px; color:#566770; }
[data-save-card-required] { display:block; margin-top:.5rem; }
[data-payment-busy="1"] .pay-button { cursor: progress; }
[data-payment-editor] > p { font-size: .9rem; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .checkout-payment-panel { scroll-behavior: auto; } }
