/* Botón flotante de WhatsApp */
.float-wa{--wa:#25d366;--wa-rgb:37,211,102;position:fixed;bottom:clamp(18px,2.4vw,28px);z-index:90;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;text-decoration:none;
  box-shadow:0 10px 28px -6px rgba(var(--wa-rgb),.55),0 4px 12px rgba(0,0,0,.18);
  animation:waIn .6s cubic-bezier(.16,1,.3,1) 1.2s both;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.float-wa-der{right:clamp(18px,2.4vw,28px)}
.float-wa-izq{left:clamp(18px,2.4vw,28px)}
.float-wa::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);z-index:-1;animation:waPulse 2.4s cubic-bezier(.22,.61,.36,1) 2s infinite}
.float-wa:hover,.float-wa:focus-visible{transform:scale(1.08);box-shadow:0 14px 34px -6px rgba(var(--wa-rgb),.7),0 6px 16px rgba(0,0,0,.2)}
.float-wa:focus-visible{outline:3px solid #fff;outline-offset:3px}
.float-wa svg{width:32px;height:32px;display:block}
.float-wa span{position:absolute;top:50%;white-space:nowrap;padding:9px 14px;border-radius:8px;background:#fff;color:#1f2933;font-size:13.5px;font-weight:500;line-height:1.2;
  box-shadow:0 8px 24px -8px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s cubic-bezier(.16,1,.3,1)}
.float-wa-der span{right:calc(100% + 14px);transform:translate(8px,-50%)}
.float-wa-izq span{left:calc(100% + 14px);transform:translate(-8px,-50%)}
.float-wa:hover span,.float-wa:focus-visible span{opacity:1;transform:translate(0,-50%)}
@keyframes waIn{from{opacity:0;transform:translateY(20px) scale(.6)}to{opacity:1;transform:none}}
@keyframes waPulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.65);opacity:0}}
@media (max-width:600px){.float-wa{width:56px;height:56px}.float-wa svg{width:30px;height:30px}.float-wa span{display:none}}
@media (prefers-reduced-motion:reduce){.float-wa,.float-wa::before{animation:none}}
