/* WhatsApp + PNG flotante */
:root{ --wapp-size:64px; --wapp-gap:18px; --wapp-brand:#25D366; }

.wapp-float{
  position:fixed; right:var(--wapp-gap); bottom:var(--wapp-gap);
  display:flex; align-items:flex-end; gap:10px; z-index:99999;
  transform:translateY(16px); opacity:0; pointer-events:none;
  transition:transform .3s ease, opacity .3s ease;
}
.wapp-float.is-visible{ transform:translateY(0); opacity:1; pointer-events:auto; }

.wapp-btn{
  width:var(--wapp-size); height:var(--wapp-size); border-radius:50%;
  background:var(--wapp-brand); display:grid; place-items:center; position:relative;
  box-shadow:0 10px 25px rgba(0,0,0,.18), 0 6px 10px rgba(0,0,0,.12);
  text-decoration:none;
}
.wapp-btn svg{ width:34px; height:34px; fill:#fff; }
.wapp-btn::after{
  content:""; position:absolute; inset:-8px; border-radius:999px;
  border:3px solid var(--wapp-brand); opacity:.55; animation:wapp-ring 1.8s ease-out infinite;
}
@keyframes wapp-ring{
  from{ transform:scale(.85); opacity:.55; }
  to{ transform:scale(1.6); opacity:0; }
}

.wapp-agent{ display:block; line-height:0; }
.wapp-agent img{
  height:120px; width:auto; display:block;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));
}

/* Mobile: sólo burbuja para no tapar contenido */
@media (max-width:640px){
  :root{ --wapp-size:56px; --wapp-gap:14px; }
  .wapp-agent{ display:none; }
}

/* No imprimir */
@media print{ .wapp-float{ display:none !important; } }

/* Accesibilidad */
@media (prefers-reduced-motion:reduce){ .wapp-btn::after{ animation:none; } }
