/* ===========================
   DONATE WIDGET
=========================== */

.donate-card{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
padding:18px 22px;
margin:0px auto;
max-width:600px;
background:linear-gradient(135deg,#4f8cff,#7b5cff);
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.15);
color:#fff;
}

.donate-left{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1;
}

.donate-icon{
width:64px;
height:64px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:32px;
background:rgba(255,255,255,.18);
backdrop-filter:blur(8px);
}

.donate-title{
font-size:22px;
font-weight:700;
margin-bottom:6px;
}

.donate-desc{
font-size:14px;
line-height:1.6;
opacity:.95;
}

.donate-btn{
background:#fff;
color:#4f46e5;
border:none;
padding:14px 28px;
border-radius:50px;
font-size:16px;
font-weight:700;
cursor:pointer;
transition:.25s;
box-shadow:0 6px 20px rgba(0,0,0,.15);
}

.donate-btn:hover{
transform:translateY(-2px);
box-shadow:0 10px 24px rgba(0,0,0,.25);
}

.donate-btn:active{
transform:scale(.98);
}

/* Widget hẹp (sidebar) */
.donate-card.compact{
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.donate-card.compact .donate-left{
    justify-content:center;
    text-align:center;
}

.donate-card.compact .donate-btn{
    width:100%;
    margin-top:12px;
}


/* ===========================
   MODAL
=========================== */

.donate-modal{
display:none;
position:fixed;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,.45);
backdrop-filter:blur(5px);
z-index:999999;
justify-content:center;
align-items:center;
animation:fadeIn .25s;
}

@keyframes fadeIn{
from{opacity:0;}
to{opacity:1;}
}

.donate-popup{
    position:relative;
    width:560px;
    max-width:calc(100vw - 40px);

    background:#fff;
    border-radius:24px;
    padding:30px;
    box-sizing:border-box;

    box-shadow:0 25px 60px rgba(0,0,0,.25);
    animation:popup .25s;
    overflow:hidden;
}

@keyframes popup{
from{
transform:translateY(25px) scale(.95);
opacity:0;
}
to{
transform:none;
opacity:1;
}
}


/* ===========================
   CLOSE
=========================== */

.close-btn{
position:absolute;
right:16px;
top:16px;
width:38px;
height:38px;
border:none;
border-radius:50%;
background:#f2f4f8;
cursor:pointer;
font-size:20px;
transition:.25s;
}

.close-btn:hover{
background:#e5e7eb;
transform:rotate(90deg);
}


/* ===========================
   HEADER
=========================== */

.popup-header{
display:flex;
align-items:center;
gap:16px;
margin-bottom:26px;
}

.popup-icon{
width:62px;
height:62px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
background:linear-gradient(135deg,#ff5f6d,#ffc371);
color:#fff;
}

.popup-header h2{
margin:0;
font-size:24px;
color:#222;
}

.popup-header p{
margin-top:6px;
color:#666;
font-size:14px;
line-height:1.5;
}


/* ===========================
   QUICK AMOUNT
=========================== */

.amount-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
margin-bottom:20px;
}

.amount-btn{
height:52px;
border-radius:14px;
border:2px solid #d9d9d9;
background:#fff;
cursor:pointer;
font-size:15px;
font-weight:600;
transition:.25s;
}

.amount-btn:hover{
border-color:#4f46e5;
color:#4f46e5;
}

.amount-btn.active{
background:#4f46e5;
border-color:#4f46e5;
color:#fff;
box-shadow:0 6px 18px rgba(79,70,229,.35);
}


/* ===========================
   INPUT
=========================== */

.custom-title{
margin-bottom:10px;
font-size:14px;
color:#666;
}

.input-row{
display:flex;
gap:10px;
margin-bottom:24px;
}

#amountInput{
flex:1;
height:48px;
padding:0 16px;
border:2px solid #ddd;
border-radius:12px;
font-size:16px;
outline:none;
transition:.2s;
}

#amountInput:focus{
border-color:#4f46e5;
}

.create-btn{
padding:0 24px;
border:none;
border-radius:12px;
background:#4f46e5;
color:#fff;
font-size:15px;
font-weight:700;
cursor:pointer;
transition:.25s;
}

.create-btn:hover{
background:#4338ca;
}


/* ===== QR Layout ===== */

.qr-layout{
display:flex;
gap:20px;
align-items:center; 
justify-content:center;
}

.qr-left{
flex:0 0 220px;
text-align:center;
}

.qr-right{
flex:1;
text-align:left;
}

#qrImage{
width:220px;
height:220px;
max-width:100%;
}

.bank-name{
margin:0 0 8px;
font-size:20px;
font-weight:700;
}

.account-number{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
font-size:18px;
font-weight:700;
margin-bottom:6px;
}

.account-name{
font-size:14px;
color:#666;
margin-bottom:12px;
}

.money-show{
font-size:24px;
font-weight:700;
color:#d93025;
margin-bottom:10px;
}

.transfer-note{
font-size:13px;
line-height:1.5;
margin-bottom:12px;
}

.copy-group{
display:flex;
gap:8px;
flex-wrap:wrap;
}

#openLargeQR{
    display:flex;
    align-items:center;
    justify-content:center;
    width:70%;
    height:48px;
    padding:0 12px;
    box-sizing:border-box;
}

/* ===========================
   MOBILE
=========================== */

@media (max-width:768px){
.donate-card{
display:flex;
flex-direction:column;
align-items:stretch;
padding:18px;
gap:16px;
}

.donate-left{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    width:100%;
}

.donate-desc{
line-height:1.5;
}

.donate-btn{
width:100%;
max-width:280px;
align-self:center;
padding:14px 20px;
font-size:16px;
}

.donate-popup{
width:100%;
max-width:420px;
padding:18px;
border-radius:18px;
overflow:hidden;
}

.popup-header{
flex-direction:row;
align-items:center;
gap:12px;
margin-bottom:16px;
}

.popup-icon{
width:48px;
height:48px;
font-size:22px;
}

.popup-header h2{
font-size:18px;
}

.popup-header p{
font-size:13px;
margin-top:2px;
line-height:1.4;
}

.amount-grid{
grid-template-columns:repeat(3,1fr);
gap:8px;
margin-bottom:12px;
}

.amount-btn{
height:42px;
font-size:13px;
}

.custom-title{
font-size:12px;
margin-bottom:6px;
}

.input-row{
flex-direction:row;
gap:8px;
margin-bottom:14px;
}

#amountInput{
height:42px;
font-size:15px;
}

.create-btn{
height:42px;
padding:0 16px;
font-size:14px;
}

/* QR */

.qr-layout{
display:block;
text-align:center;
}

.qr-left{
margin-bottom:10px;
}

#qrImage{
width:170px;
height:170px;
}

.qr-right{
text-align:center;
}

.bank-name{
margin:4px 0;
font-size:16px;
}

.account-number{
justify-content:center;
font-size:16px;
margin-bottom:2px;
}

.account-name{
font-size:13px;
margin-bottom:4px;
}

.money-show{
font-size:20px;
margin:6px 0;
}

.transfer-note{
font-size:12px;
line-height:1.3;
margin-bottom:10px;
}

.copy-group{
justify-content:center;
margin-top:8px;
}

#openLargeQR{
width:55%;
}

.close-btn{
width:34px;
height:34px;
font-size:18px;
}

}
