/* AI Popular — Apoyar: aportes voluntarios y alcancía. */
/* Alcancía de la sección de aporte: monedas que caen */
.aporte-dibujo .teo.teo-alcancia { --teo-w: 200px; }
.teo-alcancia .teo-cuerpo { border-radius: 60% 60% 50% 50% / 44% 44% 56% 56%; }
/* Las monedas y el brillo empiezan cuando la sección entra en pantalla */
.aporte-dibujo:not(.visible) .teo, .aporte-dibujo:not(.visible) .teo * { animation-play-state: paused; }
.teo-alcancia .teo-moneda {
  position: absolute; left: 50%; top: 2%; width: 12%; height: 12%; border-radius: 50%;
  background: #ffe27a; transform: translateX(-50%); opacity: 0;
  animation: moneda 3.2s ease-in infinite;
}
.teo-alcancia .teo-moneda:nth-child(2) { animation-delay: .5s; }
@keyframes moneda {
  0% { transform: translate(-50%, -70px); opacity: 0; }
  15% { opacity: 1; }
  55% { transform: translate(-50%, 0); opacity: 1; }
  68% { transform: translate(-50%, 4px) scale(1.25, .7); opacity: 1; }
  80% { transform: translate(-50%, 0) scale(1); opacity: 1; }
  100% { transform: translate(-50%, 0) scale(.6); opacity: 0; }
}
/* Corazones del aporte: se crean con JavaScript y suben una vez */
.corazon {
  position: absolute; width: 14px; height: 14px; pointer-events: none;
  background: var(--rosa); transform: rotate(-45deg); border-radius: 0 50% 50% 50%;
}
.corazon::before, .corazon::after {
  content: ""; position: absolute; width: 14px; height: 14px; background: inherit; border-radius: 50%;
}
.corazon::before { left: -7px; }
.corazon::after { top: -7px; }

/* Globo para mensajes breves (gracias, ji ji) */
.aviso-breve {
  position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 60;
  padding: 12px 18px; border-radius: 16px; background: var(--fondo-2); color: var(--texto);
  border: 1px solid var(--borde); box-shadow: var(--sombra); font-weight: 700;
  opacity: 0; transition: opacity var(--dur-corta) var(--ease-suave);
}
.aviso-breve.visible { opacity: 1; }
/* ---------- Aportes voluntarios ---------- */
.aporte[hidden] { display: none; }
.aporte-grid { display: grid; gap: 30px; grid-template-columns: .8fr 1.2fr; align-items: center; }
.aporte-dibujo { display: grid; place-items: center; position: relative; }
.aporte-dibujo .teo { --teo-w: 170px; }
.aporte-dibujo .teo-cuerpo { transition: transform var(--dur-larga) var(--ease-gelatina); }
.aporte-dibujo .teo.iluminado .teo-cuerpo { box-shadow: inset -8px -12px 20px rgba(120, 30, 60, .18), 0 0 40px 6px rgba(255, 226, 122, .6); }
.aporte-dibujo .teo.ensanchado .teo-cuerpo { transform: scale(1.12, .9); }
.aporte-tarjetas { display: grid; gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.aporte-tarjetas li { padding: 16px 18px; }
.aporte-tarjetas strong { display: block; }
.aporte-tarjetas p { margin: 4px 0 0; color: var(--texto-2); font-size: .95rem; }
.aporte-tarjetas a { font-weight: 700; }
.meta-aporte { margin-top: 22px; padding: 18px; }
.meta-aporte progress { width: 100%; height: 12px; accent-color: var(--cian); }
.meta-aporte p { margin: 6px 0 0; font-size: .92rem; color: var(--texto-2); }
.meta-aporte[hidden] { display: none; }
.aporte-nota { font-size: .92rem; color: var(--texto-2); margin-top: 16px; }
.aporte-boton-gracias { display: inline-flex; }


/* Celular: la alcancía cabe en pantalla */
.aporte-dibujo .teo { --teo-w: min(170px, 52vw); }
