.payment-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 5000 !important;
    display: grid !important;
    place-items: center !important;
    padding: 20px;
    background: rgba(5, 35, 52, .68) !important;
    backdrop-filter: blur(3px);
}

.payment-modal-card {
    position: relative !important;
    display: block !important;
    width: min(430px, calc(100vw - 32px)) !important;
    max-width: 430px !important;
    margin: 0 !important;
    padding: 30px !important;
    border: 1px solid #dbe8ee !important;
    border-radius: 22px !important;
    background: #fff !important;
    color: #123c53 !important;
    box-shadow: 0 28px 80px rgba(0, 24, 38, .32) !important;
    animation: payment-modal-in .18s ease-out;
}

.payment-modal-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    border-radius: 15px;
    background: #fff0f1;
    color: #bd2838;
    font-size: 1.45rem;
    font-weight: 900;
}

.payment-modal-card h2 { margin: 0 0 10px !important; color: #092f49 !important; font-size: 1.45rem !important; }
.payment-modal-card p { margin: 0 !important; color: #5d7786 !important; line-height: 1.55 !important; }
.payment-modal-card p strong { color: #183f55; }
.payment-modal-actions { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-top: 25px !important; }
.payment-modal-actions button { min-width: 120px; }

@keyframes payment-modal-in {
    from { opacity: 0; transform: translateY(10px) scale(.98); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 480px) {
    .payment-modal-card { padding: 23px !important; }
    .payment-modal-actions { flex-direction: column-reverse !important; }
    .payment-modal-actions button { width: 100%; }
}
