.sa-pay-lock, .sa-pay-lock body { overflow: hidden; }
.sa-pay-overlay { position: fixed; inset: 0; z-index: 2147483000; background: rgba(10,23,71,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; padding: 16px; animation: saPayFade .2s ease; }
.sa-pay-overlay[hidden] { display: none; }
.sa-pay-box { position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow-y: auto; background: #FFFFFF; border-radius: 16px; padding: 32px 28px 24px; box-shadow: 0 30px 80px rgba(10,23,71,.35); font-family: 'Manrope', sans-serif; color: #0A1747; animation: saPayUp .25s ease; }
.sa-pay-close { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 28px; line-height: 1; color: #4A5568; cursor: pointer; border-radius: 8px; padding: 0; }
.sa-pay-close:hover { background: #F2F6FB; color: #0A1747; }
.sa-pay-test { display: inline-block; margin-bottom: 12px; padding: 4px 10px; border-radius: 999px; background: #FFF4E5; color: #8A4B00; font-size: 12px; font-weight: 700; }
.sa-pay-eyebrow { margin: 0 0 4px; color: #0E7FB8; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sa-pay-title { margin: 0 0 6px; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 24px; line-height: 1.2; color: #0A1747; }
.sa-pay-amount { margin: 0 0 20px; font-size: 16px; color: #4A5568; line-height: 1.5; }
.sa-pay-field { display: block; margin-bottom: 14px; }
.sa-pay-field span { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #0A1747; }
.sa-pay-field input { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #C5D0E2; border-radius: 8px; font: inherit; font-size: 16px; color: #0A1747; background: #FFFFFF; transition: border-color .2s ease, box-shadow .2s ease; }
.sa-pay-field input:focus { outline: none; border-color: #0E7FB8; box-shadow: 0 0 0 3px rgba(14,127,184,.15); }
.sa-pay-msg { min-height: 20px; margin: 4px 0 10px; font-size: 14px; color: #C30F08; }
.sa-pay-msg.is-ok { color: #0E7FB8; }
.sa-pay-submit { width: 100%; padding: 14px 20px; border: 0; border-radius: 8px; background: #E3120B; color: #FFFFFF; font: inherit; font-weight: 700; font-size: 16px; cursor: pointer; transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.sa-pay-submit:hover { background: #C30F08; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(227,18,11,.28); }
.sa-pay-submit:disabled { opacity: .6; cursor: wait; transform: none; box-shadow: none; }
.sa-pay-foot { margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: #7B8A9E; text-align: center; }
@keyframes saPayFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes saPayUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sa-pay-overlay, .sa-pay-box { animation: none; } }
.sa-pay-lock .ht-ctc, .sa-pay-lock .ht_ctc_chat_greetings_box { visibility: hidden; }

.sa-pay-receipt { display: block; margin: 0 0 12px; padding: 14px 18px; border-radius: 10px; background: #E3120B; color: #FFFFFF !important; font-weight: 700; text-align: center; text-decoration: none !important; }
.sa-pay-receipt:hover { background: #C30F08; }
.sa-pay-note { margin: 0 0 8px; font-size: 14px; color: #4A5568; text-align: center; }
