/* Botón flotante de WhatsApp (independiente de los bloques) */
.wa-fab{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;align-items:center;gap:12px;opacity:0;transform:scale(.6) translateY(20px);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.wa-fab.is-in{opacity:1;transform:none;pointer-events:auto}
.wa-fab.wa-right{right:calc(20px + env(safe-area-inset-right,0px))}
.wa-fab.wa-left{left:calc(20px + env(safe-area-inset-left,0px));flex-direction:row-reverse}
.wa-fab a{width:62px;height:62px;border-radius:50%;background:#1FA855;display:grid;place-items:center;box-shadow:0 12px 30px -6px rgba(31,168,85,.6);position:relative;text-decoration:none;color:#fff}
.wa-fab a::before{content:"";position:absolute;inset:0;border-radius:50%;background:#1FA855;animation:spg-pulse 2.4s infinite;z-index:-1}
.wa-fab a:focus-visible{outline:3px solid #84B54A;outline-offset:3px}
@keyframes spg-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
.wa-fab svg{width:32px;height:32px}
.wa-tip{background:#fff;color:#233757;padding:10px 14px;border-radius:12px;font:700 14px/1.2 'Montserrat',system-ui,sans-serif;box-shadow:0 18px 40px -18px rgba(15,27,46,.35);position:relative}
.wa-tip small{display:block;font:400 12.5px 'Source Sans 3',system-ui,sans-serif;color:#626363;margin-top:2px}
.wa-tip button{position:absolute;top:-8px;left:-8px;width:22px;height:22px;border-radius:50%;border:0;background:#233757;color:#fff;font-size:13px;line-height:22px;cursor:pointer;padding:0}
@media (min-width:768px){.wa-hide-desktop{display:none!important}}
@media (max-width:767px){.wa-hide-mobile{display:none!important}.wa-tip{display:none}}
@media (prefers-reduced-motion:reduce){.wa-fab,.wa-fab a::before{transition:none;animation:none}}
