.payment-overlay[hidden],.payment-panel[hidden],.payment-overlay [hidden]{display:none!important}
.payment-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;overflow:auto;background:rgba(2,8,18,.84);backdrop-filter:blur(5px)}
.payment-modal{box-sizing:border-box;width:min(100%,460px);max-height:calc(100dvh - 36px);overflow:auto;overflow-wrap:anywhere;padding:clamp(16px,4vw,28px) clamp(16px,4vw,24px);border:1px solid #35516f;border-radius:20px;background:#0b1b31;color:#fff;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.48)}
.payment-overlay .payment-modal #payment-title{color:#fff!important;margin:0 0 10px;font-size:clamp(1.2rem,4vw,1.45rem);line-height:1.35}.payment-overlay .payment-modal p{margin:8px 0;color:#d5e0ea;line-height:1.6}
.payment-spinner{width:50px;height:50px;margin:0 auto 18px;border:5px solid #ffffff2e;border-top-color:#d4af37;border-radius:50%;animation:payment-spin .8s linear infinite}
.payment-modal progress{width:100%;height:8px;accent-color:#d4af37;margin:14px 0}.payment-modal button{margin-top:14px;min-height:48px;background:#d4af37;color:#071426;border:0;border-radius:12px;padding:12px 20px;font-weight:800}
.payment-panel{max-width:1100px;margin:24px auto;padding:20px;border:1px solid #35516f;border-radius:18px;background:#0b1b31;color:#fff}.payment-summary{white-space:pre-line;line-height:1.6}.payment-mount{background:white;border-radius:12px;min-height:350px;overflow:hidden}.payment-panel h2:focus{outline:none}
@keyframes payment-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.payment-spinner{animation:none}}
@media(max-width:600px){.payment-panel{padding:10px;margin:16px 0}}
.payment-summary{white-space:normal;margin-bottom:24px}.payment-summary dl{margin:0}.payment-detail-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:16px;padding:14px 0;border-bottom:1px solid #35516f}.payment-detail-row dt{color:#c9d4df}.payment-detail-row dd{margin:0;font-weight:600;overflow-wrap:anywhere}.payment-detail-row small{display:block;font-weight:400;color:#c9d4df;margin-top:5px}.payment-detail-total{font-size:1.15rem;color:#f4d675}.payment-authorization{padding:16px;border:1px solid #35516f;border-radius:10px;background:#10233d;line-height:1.6}@media(max-width:600px){.payment-detail-row{grid-template-columns:1fr;gap:5px}}

.payment-panel h2,.payment-panel h3,.payment-panel .payment-authorization{color:#fff!important}
