/* =========================================
   CHOOSE PAYMENT METHOD
========================================= */

.choosePaymentWrapper{

    max-width:520px;

    margin:20px auto;

    padding:0 16px 30px;

}


.choosePaymentTop{

    text-align:center;

    padding:25px 10px 15px;

}


.choosePaymentIcon{

    width:58px;

    height:58px;

    margin:0 auto 12px;

    border-radius:18px;

    background:#f1f5f9;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

}


.choosePaymentTop h2{

    margin:0;

    font-size:21px;

    color:#172033;

}


.choosePaymentTop p{

    margin:7px 0 0;

    font-size:12px;

    color:#7b8494;

}


.paymentAmountCard{

    background:#f8fafc;

    border:1px solid #e6eaf0;

    border-radius:14px;

    padding:15px 17px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:14px;

}


.paymentAmountCard span{

    font-size:12px;

    color:#7a8492;

}


.paymentAmountCard strong{

    font-size:17px;

    color:#182235;

}


.paymentMethodsGrid{

    display:flex;

    flex-direction:column;

    gap:10px;

}


.paymentMethodCard{

    position:relative;

    display:flex;

    align-items:center;

    gap:13px;

    padding:15px;

    border:1px solid #e3e7ed;

    border-radius:15px;

    background:#fff;

    cursor:pointer;

    transition:.2s ease;

}


.paymentMethodCard.active{

    border-color:#16a34a;

    background:#f0fdf4;

    box-shadow:
        0 5px 18px rgba(0,0,0,.06);

}


.paymentMethodIcon{

    width:43px;

    height:43px;

    border-radius:12px;

    background:#f4f6f8;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:21px;

}


.paymentMethodInfo{

    display:flex;

    flex-direction:column;

    gap:4px;

    flex:1;

}


.paymentMethodInfo strong{

    font-size:14px;

    color:#172033;

}


.paymentMethodInfo span{

    font-size:11px;

    color:#7a8492;

}


.paymentMethodCheck{

    opacity:0;

    width:23px;

    height:23px;

    border-radius:50%;

    background:#16a34a;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:12px;

}


.paymentMethodCard.active
.paymentMethodCheck{

    opacity:1;

}


.paymentContinueBtn{

    width:100%;

    margin-top:16px;

    height:48px;

    border:0;

    border-radius:13px;

    background:#111827;

    color:#fff;

    font-size:13px;

    font-weight:600;

    cursor:pointer;

}


.paymentContinueBtn:disabled{

    opacity:.45;

    cursor:not-allowed;

}


/* =========================================
   ONLINE PAYMENT POPUP
========================================= */

.onlinePaymentOverlay{

    position:fixed;

    inset:0;

    z-index:999999;

    background:
        rgba(15,23,42,.62);

    backdrop-filter:blur(4px);

    display:flex;

    align-items:center;

    justify-content:center;

    padding:15px;

}


.onlinePaymentModal{

    width:100%;

    max-width:430px;

    max-height:92vh;

    overflow-y:auto;

    background:#fff;

    border-radius:20px;

    box-shadow:
        0 25px 70px rgba(0,0,0,.25);

    padding:20px;

    animation:
        paymentPopupIn .2s ease;

}


@keyframes paymentPopupIn{

    from{

        opacity:0;

        transform:
            translateY(12px)
            scale(.98);

    }

    to{

        opacity:1;

        transform:
            translateY(0)
            scale(1);

    }

}


.onlinePaymentModalHeader{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    border-bottom:1px solid #edf0f3;

    padding-bottom:13px;

}


.onlinePaymentSmallTitle{

    font-size:9px;

    letter-spacing:1px;

    color:#94a3b8;

    font-weight:700;

}


.onlinePaymentModalHeader h3{

    margin:3px 0 0;

    font-size:17px;

    color:#172033;

}


.onlinePaymentClose{

    width:30px;

    height:30px;

    border:0;

    border-radius:50%;

    background:#f1f5f9;

    color:#475569;

    font-size:20px;

    cursor:pointer;

}


.onlinePaymentAmount{

    margin-top:14px;

    padding:12px 14px;

    border-radius:12px;

    background:#f8fafc;

    display:flex;

    justify-content:space-between;

    align-items:center;

}


.onlinePaymentAmount span{

    font-size:11px;

    color:#64748b;

}


.onlinePaymentAmount strong{

    font-size:17px;

    color:#111827;

}


.onlinePaymentMethodTitle{

    margin-top:15px;

    font-size:12px;

    font-weight:700;

    color:#334155;

}


.onlinePaymentQRSection{

    text-align:center;

    padding:12px 0;

}


.paymentQR{

    width:150px;

    height:150px;

    margin:auto;

    padding:6px;

    border:1px solid #e5e7eb;

    border-radius:12px;

    background:#fff;

}


.onlinePaymentQRSection small{

    display:block;

    margin-top:7px;

    color:#94a3b8;

    font-size:10px;

}


.onlinePaymentDetails{

    border:1px solid #e8ecf1;

    border-radius:13px;

    overflow:hidden;

}


.onlineDetailRow{

    display:flex;

    justify-content:space-between;

    gap:15px;

    padding:10px 12px;

    border-bottom:1px solid #edf0f3;

}


.onlineDetailRow:last-child{

    border-bottom:0;

}


.onlineDetailRow span{

    font-size:10px;

    color:#7b8494;

}


.onlineDetailRow strong{

    font-size:11px;

    color:#1e293b;

    text-align:right;

}


.onlinePaymentForm{

    margin-top:15px;

}


.onlinePaymentForm label{

    display:block;

    margin:10px 0 6px;

    font-size:10px;

    font-weight:700;

    color:#475569;

}


.onlinePaymentForm input[type="text"]{

    width:100%;

    height:42px;

    border:1px solid #dfe4ea;

    border-radius:10px;

    padding:0 12px;

    font-size:12px;

    outline:none;

    box-sizing:border-box;

}


.onlinePaymentForm input[type="text"]:focus{

    border-color:#94a3b8;

}


.paymentFileBox{

    position:relative;

    height:43px;

    border:1px dashed #cbd5e1;

    border-radius:10px;

    background:#f8fafc;

    overflow:hidden;

}


.paymentFileBox input{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    opacity:0;

    cursor:pointer;

}


.paymentFileText{

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:11px;

    color:#64748b;

}


.paymentScreenshotPreview{

    margin-top:8px;

}


.paymentScreenshotPreview img{

    display:block;

    width:100%;

    max-height:150px;

    object-fit:contain;

    border-radius:10px;

    border:1px solid #e5e7eb;

}


.onlinePaymentSubmitBtn{

    width:100%;

    height:44px;

    margin-top:13px;

    border:0;

    border-radius:11px;

    background:#111827;

    color:#fff;

    font-size:12px;

    font-weight:700;

    cursor:pointer;

}


.onlinePaymentSubmitBtn:disabled{

    opacity:.6;

    cursor:not-allowed;

}


.onlinePaymentSecurity{

    margin-top:12px;

    text-align:center;

    font-size:9px;

    line-height:1.5;

    color:#94a3b8;

}