/* Donaciones (donaciones.html, 11-10-2026): la alcancía de la
   transparencia, las cuentas claras y las reglas del donativo. La anima
   assets/auditor/js/donaciones.js; las cifras salen de herramientas/apartados.py. */
.dn-alcancia { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 22px; align-items: center; background: linear-gradient(160deg, #fff8e6 0%, #fdeccb 100%); border: 1px solid #f0d9a3; border-radius: 22px; padding: 20px; }
.dn-figura { text-align: center; }
.dn-svg { width: 100%; max-width: 340px; height: auto; overflow: visible; display: block; margin: 0 auto; }
.dn-sombra { fill: rgba(120, 80, 20, .16); }
.dn-pata { fill: #e98aa6; }
.dn-cola { fill: none; stroke: #e98aa6; stroke-width: 6; stroke-linecap: round; }
.dn-cuerpo { fill: #f6a9be; stroke: #d9718f; stroke-width: 3; }
.dn-ola { fill: #e9b52c; animation: dnOla 3.2s linear infinite; }
.dn-nivel { transition: transform 1.6s cubic-bezier(.2, .8, .2, 1); }
.dn-brillo { fill: rgba(255, 255, 255, .45); }
.dn-oreja { fill: #e98aa6; stroke: #d9718f; stroke-width: 3; stroke-linejoin: round; }
.dn-hocico { fill: #f08fab; stroke: #d9718f; stroke-width: 3; }
.dn-nariz { fill: #b9506f; }
.dn-ojo { fill: #3a2430; }
.dn-ranura { fill: #8a3b55; }
.dn-moneda circle { fill: #f3c94a; stroke: #b98712; stroke-width: 2.5; }
.dn-moneda text { font: 800 15px/1 'Inter', system-ui, sans-serif; fill: #8a5a00; text-anchor: middle; }
.dn-moneda { transform-box: fill-box; transform-origin: center; }
.dn-m1, .dn-m2, .dn-m3 { opacity: 0; animation: dnCae 3.6s ease-in infinite; }
.dn-m2 { animation-delay: 1.2s; }
.dn-m3 { animation-delay: 2.4s; }
.dn-cae { animation: dnCae 1.1s ease-in 1 forwards; }
.dn-salta { animation: dnSalta .5s ease-out; transform-origin: 160px 230px; }
@keyframes dnOla { from { transform: translateX(0); } to { transform: translateX(-80px); } }
@keyframes dnCae { 0% { opacity: 0; transform: translateY(-30px); } 15% { opacity: 1; } 70% { opacity: 1; transform: translateY(88px); } 100% { opacity: 0; transform: translateY(96px) scale(.6); } }
@keyframes dnSalta { 0%, 100% { transform: none; } 40% { transform: scale(1.04, .96); } 70% { transform: scale(.98, 1.02); } }
.dn-prueba { margin-top: 8px; }
.dn-prueba-nota { margin: 6px 0 0; font-size: 13px; color: #7a5a1c; }
.dn-cifras { display: grid; gap: 12px; margin: 0; }
.dn-cifra { background: #fff; border: 1px solid #f0d9a3; border-radius: 14px; padding: 12px 16px; }
.dn-cifra dt { font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #9a6a10; }
.dn-cifra dd { margin: 4px 0 0; display: grid; gap: 2px; }
.dn-cifra dd b { font-size: 20px; color: #0b2a63; font-variant-numeric: lining-nums tabular-nums; }
.dn-cifra dd small { font-size: 13.5px; color: #5a6782; line-height: 1.4; }
.dn-cifra-grande dd b { font-size: 34px; font-family: 'Playfair Display', Georgia, serif; }
.dn-accion { text-align: center; margin: 16px 0 0; }
.dn-donar { font-size: 16px; padding: 11px 20px; text-decoration: none; display: inline-block; }
.dn-donar:disabled { opacity: .6; cursor: not-allowed; }
.dn-saldo { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; }
.dn-saldo span { flex: 1 1 140px; background: #f4f7fd; border: 1px solid #dbe3f2; border-radius: 12px; padding: 10px 14px; font-size: 14px; color: #5a6782; }
.dn-saldo b { font-variant-numeric: lining-nums; display: block; font-size: 20px; color: #0b2a63; }
.dn-sub { margin: 18px 0 8px; font-size: 17px; color: #0b2a63; }
.dn-tabla-caja { overflow-x: auto; }
.dn-tabla { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.dn-tabla th { text-align: left; background: #0b2a63; color: #fff; padding: 8px 10px; font-weight: 700; }
.dn-tabla td { padding: 8px 10px; border-bottom: 1px solid #e3e8f2; }
.dn-vacio { text-align: center; color: #5a6782; font-style: italic; padding: 14px 10px; }
.dn-nota { font-size: 14px; color: #5a6782; margin: 12px 0 0; }
.dn-reglas { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.dn-reglas li { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid #dbe3f2; border-radius: 14px; padding: 12px 14px; line-height: 1.5; }
.dn-regla-ico { font-size: 24px; line-height: 1; }
@media (max-width: 720px) {
  .dn-alcancia { grid-template-columns: 1fr; padding: 16px; }
  .dn-cifra-grande dd b { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .dn-ola, .dn-m1, .dn-m2, .dn-m3, .dn-salta { animation: none; }
  .dn-nivel { transition: none; }
}
