#donate.box{border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.07);padding:clamp(20px,2.6vw,36px)}
#donate.box .sec-h{margin-bottom:18px}
.donate{display:flex;justify-content:center}
.donate-btn{width:min(100%,440px);padding:16px 28px;font-size:clamp(16px,1.8vw,20px)}
.lk.off::after{display:none}
.heart-fx{position:relative;display:inline-block;flex:none;width:clamp(26px,2.6vw,34px);height:clamp(26px,2.6vw,34px);align-self:center}
.heart-fx svg{position:absolute;inset:0;width:100%;height:100%;fill:#ff5f5f;overflow:visible}
.heart-fx .main{transform-origin:50% 58%;animation:hbeat 3.4s ease-in-out infinite}
.heart-fx .ghost{fill:#fff;opacity:0;transform-origin:50% 50%;animation:hfly 3.4s ease-out infinite;animation-delay:var(--dl,0s);inset:auto;width:var(--w);height:var(--w);left:calc((100% - var(--w)) / 2);top:calc((100% - var(--w)) / 2)}
.heart-fx .g1{--w:74%;--dx:2px;--dy:-44px;--r:-6deg;--dl:0s}
.heart-fx .g2{--w:52%;--dx:-20px;--dy:-34px;--r:-22deg;--dl:.14s}
.heart-fx .g3{--w:38%;--dx:19px;--dy:-52px;--r:20deg;--dl:.28s}
@keyframes hbeat{0%,100%{transform:scale(1);opacity:1}5%{transform:scale(1.3)}10%{transform:scale(1)}15%{transform:scale(1.3)}20%{transform:scale(1)}28%{opacity:.4}34%{opacity:1}42%{opacity:.4}48%{opacity:1;transform:scale(1.12)}58%{transform:scale(1)}}
@keyframes hfly{0%,52%{opacity:0;transform:translate(0,0) rotate(0) scale(1)}58%{opacity:.6}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(.6)}}
@media (prefers-reduced-motion:reduce){.heart-fx .main,.heart-fx .ghost{animation:none}.heart-fx .ghost{display:none}}
.donate-main{min-width:0}
.donate-body{display:grid;grid-template-columns:1fr auto;gap:clamp(18px,3vw,40px);align-items:center}
.donate-text{margin:0;text-align:justify;font-size:clamp(14px,1.25vw,17px);line-height:1.75;color:rgba(255,255,255,.92)}
.donate-text a{font-weight:700;text-decoration:none}
.donate-text b{font-weight:700}
.donate-qr{display:block;width:clamp(150px,17vw,230px);height:auto;border-radius:14px;box-shadow:0 8px 22px rgba(4,30,56,.38)}
@media (max-width:640px){.donate-body{grid-template-columns:1fr}.donate-qr{margin:0;width:100%}}
.qr-btn{display:block;flex:none;width:clamp(150px,17vw,230px);padding:0;border:0;background:none;border-radius:14px;cursor:zoom-in;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.qr-btn .donate-qr{width:100%;box-shadow:0 8px 22px rgba(4,30,56,.38);transition:box-shadow .35s}
@media (hover:hover){.qr-btn:hover{transform:translateY(-4px)}.qr-btn:hover .donate-qr{box-shadow:0 14px 30px rgba(4,30,56,.5)}}
.qr-btn:focus-visible{outline:2px solid var(--c);outline-offset:4px}
@media (max-width:640px){.qr-btn{margin:4px 0 0;width:100%}}
.qr-big{position:relative;z-index:1;display:block;max-width:min(92vw,560px);max-height:calc(100vh - 60px);max-height:calc(100svh - 60px);width:auto;height:auto;border-radius:0;background:none;filter:drop-shadow(0 24px 40px rgba(0,0,0,.55));transform:scale(.94);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.modal.open .qr-big{transform:none}
@media (prefers-reduced-motion:reduce){.qr-big{transition:none;transform:none}}
/* Nút ủng hộ: cùng 1 style ở mọi trang, kích thước bằng nhau, nội dung căn giữa */
.donate-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.donate-btns .lk{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:48px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.14);font-size:clamp(13px,1.25vw,16px);line-height:1.2;text-align:center;text-transform:uppercase;white-space:nowrap;flex:1 1 230px}
.donate-btns .lk::after{content:"↗";font-size:.9em;opacity:.7}
.donate-btns .lk>span{display:inline}
@media (hover:hover){.donate-btns .lk:hover{background:rgba(255,255,255,.26);color:var(--c);transform:translateY(-2px);box-shadow:0 6px 16px rgba(4,30,56,.35)}}
.donate-btns .lk:focus-visible{outline:2px solid var(--c);outline-offset:3px}
@media (max-width:480px){.donate-btns .lk{flex-basis:100%}}

/* CONTACT / DONATE block reused from THIEURINO WEB contact page. */
#donate{display:none;position:relative;z-index:2;width:min(calc(100% - 36px),1152px);margin:22px auto 46px;color:#fff;background:rgba(56,26,22,.38);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 20px 70px rgba(15,2,2,.27)}
body.home-page #donate{display:block}
#donate .sec-h{display:flex;align-items:center;gap:11px;margin-bottom:18px}
#donate .sec-h h2{font-size:clamp(19px,2vw,27px);font-weight:800;margin:0;color:white;letter-spacing:.045em}
#donate .sec-h .en{font-size:12px;font-weight:700;letter-spacing:.16em;color:#d8b6a8;align-self:end;padding-bottom:2px}
#donate .donate-text a{color:#ffe4bb;text-decoration:underline;text-underline-offset:2px}
#donate .donate-btns .lk{color:#fff;border:1px solid rgba(255,255,255,.25);text-decoration:none;transition:transform .2s,background .2s}
#donate .donate-btns .lk:hover{color:#fff;background:rgba(255,255,255,.24)}
#donate .qr-btn:focus-visible,#donate .donate-btns .lk:focus-visible{outline-color:#f4bd92}
#charmed-qr-dialog{border:0;padding:28px;background:rgba(34,17,17,.94);box-shadow:0 20px 80px rgba(0,0,0,.65);border-radius:20px;max-width:min(92vw,600px);max-height:92dvh;overflow:auto;color:#fff}
#charmed-qr-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(12px)}
#charmed-qr-dialog img{display:block;width:min(76vw,470px);height:auto;max-height:75dvh;object-fit:contain;border-radius:11px}
#charmed-qr-close{position:absolute;top:5px;right:9px;display:grid;place-items:center;font:700 27px/1 sans-serif;padding:7px 13px;border:0;background:transparent;color:white}
@media(max-width:640px){#donate{width:calc(100% - 24px);margin:14px auto 32px}#donate .donate-body{grid-template-columns:1fr}#donate .qr-btn{width:min(100%,250px);justify-self:center}#donate .donate-btns .lk{flex:1 1 100%}}

/* Donation box on home AND every season page. */
html body #donate{display:block!important}
#donate .sec-h{padding-bottom:14px;margin-bottom:20px!important;border-bottom:1px solid rgba(255,255,255,.27)}
#donate .donate-btns .lk{flex:0 1 auto;min-width:min(100%,235px)}
#donate .donate-text{font-size:clamp(14px,1.35vw,17px);line-height:1.8}
@media(max-width:640px){#donate .donate-btns .lk{width:100%;flex:1 1 100%}}

/* Justified, continuous donation message (no explicit line breaks). */
#donate .donate-text{text-align:justify;text-align-last:left;white-space:normal;word-break:normal;line-height:1.75}
@media(max-width:640px){
 #donate .donate-body{display:flex!important;flex-direction:column;align-items:stretch;gap:15px}
 #donate .donate-main,#donate .donate-btns{width:100%;min-width:0}
 #donate .donate-btns .momo-btn{display:flex;box-sizing:border-box;width:100%!important;max-width:none!important;flex:1 1 100%}
 #donate #qrbtn{width:100%!important;max-width:none!important;box-sizing:border-box;display:block!important;margin:0 auto;padding:0!important}
 #donate #qrbtn img{width:100%!important;max-width:100%!important;height:auto!important;display:block;object-fit:contain}
}
