/* ── SolvexTips · Alerta de donación (7 diseños, compartidos preview + OBS) ──
   El color principal llega por la variable --c (recolorea el diseño). */
.ta-wrap{font-family:'Inter',system-ui,-apple-system,sans-serif;}

/* Indicador de "Mensaje de voz" (cuando la donación trae un clip de audio) — VU meter.
   Todo va vertical-centrado (mic + barras + texto) y compacto para caber en la tarjeta. */
.ta-voice{display:inline-flex;align-items:center;gap:10px;font-weight:800;}
.ta-voice .vmic{flex:none;color:var(--c);display:inline-flex;align-items:center;background:none;padding:0;box-shadow:none;width:auto;height:auto;border-radius:0;}
.ta-voice .vmic svg{width:22px;height:22px;display:block;}
.ta-voice .eq{display:inline-flex;align-items:center;gap:4px;height:28px;flex:none;}
.ta-voice .eq i{width:5px;height:22%;border-radius:3px;display:block;background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 40%,#000));animation:taEq .85s ease-in-out infinite;}
.ta-voice .eq i:nth-child(1){animation-delay:0s}
.ta-voice .eq i:nth-child(2){animation-delay:.09s}
.ta-voice .eq i:nth-child(3){animation-delay:.18s}
.ta-voice .eq i:nth-child(4){animation-delay:.27s}
.ta-voice .eq i:nth-child(5){animation-delay:.36s}
.ta-voice .eq i:nth-child(6){animation-delay:.45s}
.ta-voice .eq i:nth-child(7){animation-delay:.54s}
.ta-voice .vt{font-size:1.1rem;white-space:nowrap;}
@keyframes taEq{0%,100%{height:22%}50%{height:100%}}

/* Avatar: la imagen llena el círculo del contenedor .av de cada diseño */
.ta .av img,.f-center .av img,.f-banner .top .av img,.f-bubble .av img,.f-compact .av img,.f-hero .who .av img{
  width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;}

/* ============ 1 · Cristal (default) ============ */
.ta{position:relative;width:440px;max-width:100%;display:flex;align-items:center;gap:20px;padding:20px 24px 40px;border-radius:22px;color:#fff;--c:#7c5cff;
  background:linear-gradient(180deg,rgba(48,52,78,.55),rgba(20,22,34,.55));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.28);box-shadow:0 18px 44px rgba(0,0,0,.5);}
.ta .av{position:relative;width:84px;height:84px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.9rem;background:var(--c);color:#fff;}
.ta .ring{position:absolute;inset:-4px;border-radius:50%;border:3px solid var(--c);box-shadow:0 0 18px var(--c);pointer-events:none;}
.ta .amt{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);background:#f2e7d0;color:#2a2416;font-weight:800;font-size:.86rem;padding:4px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 5px 14px rgba(0,0,0,.55);}
.ta .body{flex:1;min-width:0;}
.ta .handle{display:inline-flex;align-items:center;gap:6px;max-width:100%;background:var(--c);color:#fff;font-weight:800;font-size:.9rem;padding:6px 14px;border-radius:999px;margin-bottom:10px;box-shadow:0 0 16px var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ta .msg{font-size:1.35rem;font-weight:800;line-height:1.2;word-break:break-word;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.ta .type{position:absolute;right:16px;bottom:14px;display:inline-flex;align-items:center;gap:6px;background:var(--c);color:#fff;font-weight:700;font-size:.74rem;padding:5px 12px;border-radius:999px;box-shadow:0 0 14px var(--c);}

/* ============ 2 · Clásico centrado ============ */
.f-center{position:relative;width:340px;max-width:100%;text-align:center;color:#fff;padding:26px;border-radius:22px;--c:#7c5cff;
  background:linear-gradient(180deg,rgba(22,24,38,.97),rgba(11,13,20,.98));border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 34px -10px var(--c),0 20px 46px rgba(0,0,0,.6);}
.f-center .type{display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--c);background:color-mix(in srgb,var(--c) 16%, transparent);padding:4px 13px;border-radius:999px;margin-bottom:14px;}
.f-center .av{width:94px;height:94px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:2.1rem;background:var(--c);color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.06),0 0 22px var(--c);}
.f-center .nm{font-size:1.45rem;font-weight:900;letter-spacing:-.01em;word-break:break-word;}
.f-center .amt{display:inline-block;margin:8px 0 14px;color:#fff;font-weight:800;font-size:.95rem;background:var(--c);padding:5px 16px;border-radius:999px;box-shadow:0 0 16px var(--c);}
.f-center .amt b{font-size:1.05rem;}
.f-center .msg{font-size:1.18rem;font-weight:700;line-height:1.3;color:#e9e7fb;word-break:break-word;text-shadow:0 2px 8px rgba(0,0,0,.5);}

/* ============ 3 · Banner ============ */
.f-banner{width:440px;max-width:100%;border-radius:18px;overflow:hidden;color:#fff;--c:#7c5cff;
  background:linear-gradient(180deg,rgba(20,22,34,.97),rgba(11,13,20,.98));border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 46px rgba(0,0,0,.6);}
.f-banner .top{display:flex;align-items:center;gap:14px;padding:14px 18px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 55%, #12131c));box-shadow:0 0 20px -4px var(--c);}
.f-banner .top .av{width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.3rem;background:rgba(0,0,0,.3);color:#fff;border:2px solid rgba(255,255,255,.5);overflow:hidden;}
.f-banner .top .nm{flex:1;min-width:0;font-size:1.22rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.f-banner .top .amt{font-weight:900;font-size:1.6rem;line-height:1;white-space:nowrap;}
.f-banner .body{padding:14px 18px 18px;}
.f-banner .type{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--c);margin-bottom:6px;}
.f-banner .msg{font-size:1.26rem;font-weight:800;line-height:1.25;word-break:break-word;text-shadow:0 2px 8px rgba(0,0,0,.5);}

/* ============ 4 · Comprobante / Ticket ============ */
.f-ticket{position:relative;width:330px;max-width:100%;color:#241f16;background:#f4ecdb;border-radius:14px;padding:20px 22px 26px;--c:#7c5cff;
  box-shadow:0 20px 46px rgba(0,0,0,.55);font-family:'JetBrains Mono',ui-monospace,'Courier New',monospace;}
.f-ticket::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:12px;background:radial-gradient(circle at 8px -2px, transparent 8px, #f4ecdb 8px) repeat-x;background-size:16px 12px;}
.f-ticket .th{text-align:center;font-weight:800;letter-spacing:.16em;font-size:.9rem;color:var(--c);padding-bottom:12px;border-bottom:2px dashed rgba(0,0,0,.25);}
.f-ticket .row{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;margin-top:12px;gap:12px;}
.f-ticket .row span{color:#7a6f57;}
.f-ticket .row b{font-weight:800;word-break:break-word;text-align:right;}
.f-ticket .total{margin-top:12px;padding-top:12px;border-top:2px dashed rgba(0,0,0,.25);display:flex;justify-content:space-between;align-items:baseline;}
.f-ticket .total span{color:#7a6f57;font-size:.9rem;}
.f-ticket .total b{font-size:1.5rem;color:var(--c);}
.f-ticket .note{margin-top:14px;font-family:'Inter',sans-serif;font-size:1.05rem;font-weight:700;line-height:1.3;word-break:break-word;background:rgba(0,0,0,.05);border-left:4px solid var(--c);padding:9px 12px;border-radius:0 8px 8px 0;}

/* ============ 5 · Cómic / Burbuja ============ */
.f-bubble{width:440px;max-width:100%;display:flex;align-items:flex-end;color:#1c2436;--c:#7c5cff;}
.f-bubble .av{width:76px;height:76px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.7rem;background:var(--c);color:#fff;border:4px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.4);position:relative;z-index:2;margin-right:-10px;margin-bottom:6px;overflow:hidden;}
.f-bubble .bub{position:relative;flex:1;min-width:0;background:#fff;border-radius:18px;padding:13px 18px;box-shadow:0 12px 30px rgba(0,0,0,.4);}
.f-bubble .bub::before{content:"";position:absolute;left:-12px;bottom:16px;border:10px solid transparent;border-right-color:#fff;border-left:0;}
.f-bubble .hd{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap;}
.f-bubble .nm{font-weight:900;font-size:1.05rem;}
.f-bubble .amt{font-weight:800;font-size:.8rem;color:#fff;background:var(--c);padding:3px 10px;border-radius:999px;}
.f-bubble .type{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--c);background:color-mix(in srgb,var(--c) 15%, transparent);padding:3px 9px;border-radius:999px;}
.f-bubble .msg{font-size:1.16rem;font-weight:800;line-height:1.25;color:#232a3d;word-break:break-word;}

/* ============ 6 · Compacto (una línea) ============ */
.f-compact{max-width:100%;display:inline-flex;align-items:center;gap:12px;color:#fff;--c:#7c5cff;
  background:linear-gradient(180deg,rgba(24,26,40,.97),rgba(13,15,22,.98));border:1px solid rgba(255,255,255,.1);border-left:4px solid var(--c);border-radius:14px;padding:10px 18px 10px 12px;box-shadow:0 14px 34px rgba(0,0,0,.55);}
.f-compact .av{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--c);color:#fff;font-size:1.05rem;overflow:hidden;}
.f-compact .txt{min-width:0;}
.f-compact .type{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);padding:2px 8px;border-radius:999px;display:inline-block;margin-bottom:3px;}
.f-compact .l1{font-size:1.02rem;font-weight:700;white-space:nowrap;}
.f-compact .l1 b{font-weight:900;}
.f-compact .l1 .amt{color:var(--c);font-weight:900;}
.f-compact .l2{font-size:.9rem;color:#b9b6d6;font-weight:600;margin-top:1px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ============ 7 · Monto protagonista (sin caja / flotante) ============ */
.f-hero{width:360px;max-width:100%;text-align:center;color:#fff;padding:10px;--c:#7c5cff;}
.f-hero .type{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--c);text-shadow:0 0 12px var(--c);}
.f-hero .who{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:1.05rem;margin:6px 0 2px;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.f-hero .who .av{width:30px;height:30px;border-radius:50%;background:var(--c);display:grid;place-items:center;font-size:.85rem;font-weight:800;box-shadow:0 0 14px var(--c);overflow:hidden;}
.f-hero .amt{font-weight:900;font-size:4rem;line-height:.95;margin:4px 0 6px;color:#fff;text-shadow:0 0 30px var(--c),0 4px 14px rgba(0,0,0,.6);word-break:break-word;}
.f-hero .msg{font-size:1.15rem;font-weight:800;line-height:1.3;color:#fff;word-break:break-word;text-shadow:0 2px 10px rgba(0,0,0,.75),0 0 14px rgba(0,0,0,.6);}

/* ============ 8 · Jackpot (monedas cayendo + monto brillante) ============ */
.f-jackpot{position:relative;width:300px;max-width:100%;text-align:center;color:#fff;padding:22px 20px 20px;border-radius:18px;overflow:hidden;--c:#7c5cff;
  background:radial-gradient(circle at 50% 0%, color-mix(in srgb,var(--c) 22%,transparent), transparent 70%), linear-gradient(180deg,rgba(20,22,34,.96),rgba(11,13,20,.97));
  border:1px solid color-mix(in srgb,var(--c) 40%,rgba(255,255,255,.08));box-shadow:0 0 30px -6px var(--c),0 18px 44px rgba(0,0,0,.6);}
.f-jackpot .type{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;color:#fff;background:var(--c);padding:5px 14px;border-radius:999px;margin-bottom:10px;box-shadow:0 0 14px var(--c);}
.f-jackpot .amt{font-family:'Archivo Black','Inter',system-ui,sans-serif;font-size:2.7rem;line-height:1;color:#fff;text-shadow:0 0 8px var(--c),0 0 24px color-mix(in srgb,var(--c) 70%,transparent);animation:jkPulse 2.4s ease-in-out infinite;word-break:break-word;}
.f-jackpot .nm{font-size:1rem;font-weight:800;color:#fff;margin-top:4px;word-break:break-word;}
.f-jackpot .msg{font-size:.95rem;font-weight:600;line-height:1.35;color:#e9e7fb;margin-top:5px;word-break:break-word;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.f-jackpot .coin{position:absolute;top:0;width:13px;height:13px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 35% 30%, #fff, color-mix(in srgb,var(--c) 65%,#fff) 55%, var(--c));box-shadow:0 0 6px var(--c);animation:jkFall 2.6s linear infinite;}
@keyframes jkFall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(210px) rotate(280deg);opacity:0}}
@keyframes jkPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

/* ── animaciones (overlay) ── */
@keyframes taIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes taOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-14px) scale(.98)}}
.tipcard.in{animation:taIn .45s cubic-bezier(.2,.9,.2,1) both;}
.tipcard.out{animation:taOut .4s ease both;}
@media(prefers-reduced-motion:reduce){.tipcard.in,.tipcard.out{animation:none;}}
