.payment-modal-overlay {
    position: fixed; inset: 0; z-index: 9999;
    background-color: rgba(10, 10, 12, 0.7);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center; padding: 1rem;
    opacity: 0; animation: fadeIn 0.3s ease forwards;
}
.payment-modal-overlay.is-closing { animation: fadeOut 0.3s ease forwards; }

.payment-modal-box {
    position: relative; width: 100%; max-width: 500px;
    background: hsla(0, 0%, 10%, 0.7);
    border: 1px solid hsla(0, 0%, 100%, 0.1);
    border-radius: 24px; text-align: center;
    transition: transform 300ms cubic-bezier(0.25, 1, 0.5, 1);
    transform: scale(0.95); overflow: hidden;
}
.payment-modal-overlay.is-entering .payment-modal-box { transform: scale(1); }

.payment-modal-close-btn {
    position: absolute; top: 16px; right: 16px; background: none; border: none;
    color: #A0A0A0; font-size: 1.5rem; cursor: pointer; line-height: 1; z-index: 10;
    transition: transform 200ms ease, color 200ms ease;
}
.payment-modal-close-btn:hover { color: #FFFFFF; transform: rotate(90deg); }

.payment-modal-header { padding: 2rem 2rem 1.5rem; }
.payment-modal-header h3 { font-size: 1.75rem; font-weight: 600; margin: 0 0 0.5rem 0; }
.payment-modal-header p { color: #A0A0A0; margin: 0; }

.payment-methods {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Было 1fr */
    gap: 1.5rem; /* Чуть больше отступ */
    padding: 2rem;
}

.payment-method-card {
    background: hsla(0, 0%, 100%, 0.05);
    border: 1px solid hsla(0, 0%, 100%, 0.1);
    border-radius: 12px;
    padding: 1rem;
    cursor: pointer;
    transition: transform 200ms ease, border-color 200ms ease;
}
.payment-method-card:hover {
    transform: translateY(-3px);
    border-color: hsla(0, 0%, 100%, 0.2);
}
.payment-method-card .banner {
    width: 100%;
    height: 120px;
    border-radius: 8px;
    /*margin-bottom: 1rem;*/
    overflow: hidden;
}
.payment-method-card .banner img {
    border-radius: 8px;
    width: 100%;
    /*height: 100%;*/
    object-fit: contain; /* Было cover */
}
.submethods-list {
    font-size: 0.8rem;
    color: #A0A0A0;
    text-align: center;
}

.payment-loader {
    margin-top: 1.5rem;
    width: 28px;
    height: 28px;
    border: 3px solid hsla(0, 0%, 100%, 0.2);
    border-top-color: #FFFFFF;
    border-radius: 50%;
    animation: button-loading-spinner 1s ease infinite;
    display: inline-block;
}
.is-hidden { display: none; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeOut { to { opacity: 0; } }
@keyframes button-loading-spinner { from { transform: rotate(0turn); } to { transform: rotate(1turn); } }