/* ---------- donation pop-up (QR code and bank details) ---------- */
.dn-pop { position: fixed; inset: 0; z-index: 9600; background: rgba(15, 18, 28, .66); display: flex; align-items: center; justify-content: center; padding: 16px; backdrop-filter: blur(3px); animation: dnFade .3s both; }
.dn-pop[hidden] { display: none; }
.dn-box { position: relative; width: min(560px, 100%); max-height: 92vh; overflow-y: auto; background: #fff; border-radius: 22px; padding: 26px 24px; border-top: 6px solid #f58220; animation: dnIn .45s cubic-bezier(.3, 1.4, .5, 1) both; }
.dn-box h3 { margin: 0 0 16px; font-size: 21px; color: #1f2937; }
.dn-box h3 i { color: #e8590c; }
.dn-x { position: absolute; top: 10px; right: 12px; border: 0; background: none; font-size: 20px; color: #6b7280; cursor: pointer; }
.dn-acc { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; padding: 14px; background: #fff7ee; border-radius: 14px; margin-bottom: 12px; }
.dn-qr { text-align: center; flex: none; }
.dn-qr img { width: 170px; height: 170px; object-fit: contain; background: #fff; padding: 6px; border-radius: 12px; border: 1px solid #f1d8bd; }
.dn-qr small { display: block; color: #8a93a0; margin-top: 4px; }
.dn-acc dl { flex: 1; min-width: 200px; margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; }
.dn-acc dt { color: #8a93a0; font-weight: 500; }
.dn-acc dd { margin: 0; overflow-wrap: anywhere; }
.dn-copy { border: 1px solid #f5c9a0; background: #fff; color: #d96d10; border-radius: 999px; padding: 1px 10px; font-size: 12px; cursor: pointer; margin-left: 4px; }
.dn-note { color: #6b7280; font-size: 13px; margin: 8px 0 0; width: 100%; }
@keyframes dnIn { from { opacity: 0; transform: translateY(24px) scale(.94); } to { opacity: 1; transform: none; } }
@media (max-width: 520px) { .dn-acc { justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .dn-box, .dn-pop { animation: none; } }

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