/* HF WhatsApp — estilos del botón (se imprimen una sola vez por página). */

/* ---------- Base ---------- */
.hfw-floating{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 20px);line-height:1;pointer-events:none}
.hfw-floating > *{pointer-events:auto}
.hfw-floating.hfw-side-left{align-items:flex-start}
.hfw-floating.hfw-side-right{align-items:flex-end}
.hfw-floating .hfw-legal{max-width:260px;font-size:11px;background:rgba(255,255,255,.92);padding:6px 10px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.12)}

a.hfw-btn,a.hfw-btn:hover,a.hfw-btn:focus,a.hfw-btn:visited,.page-content a.hfw-btn,.entry-content a.hfw-btn,.elementor a.hfw-btn{text-decoration:none!important;outline:none;box-shadow:none;border-bottom:0}
.hfw-btn .hfw-text,.hfw-btn .hfw-l1,.hfw-btn .hfw-l2{text-decoration:none!important;border-bottom:0}
.hfw-btn:hover .hfw-link .hfw-text{text-decoration:var(--hfw-deco-h,underline)!important}
.hfw-btn .hfw-link .hfw-text{text-decoration:var(--hfw-deco,none)!important}
.hfw-btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;line-height:1;box-sizing:border-box;vertical-align:middle;transition:transform .2s ease,filter .2s ease}
.hfw-btn *{box-sizing:border-box}
.hfw-btn:focus-visible{outline:3px solid #25D366;outline-offset:3px;border-radius:8px}
.hfw-icon{display:inline-block;flex:0 0 auto;vertical-align:middle}
.hfw-text{white-space:nowrap}

/* Orden del CTA: flotante a la derecha => CTA a la izquierda del icono */
.hfw-ctx-floating.hfw-side-right.hfw-has-cta{flex-direction:row-reverse}

/* Hover */
.hfw-hover-scale:hover{transform:scale(1.06)}
.hfw-hover-lift:hover{transform:translateY(-3px);filter:drop-shadow(0 8px 14px rgba(0,0,0,.2))}

/* CTA (burbuja de texto) */
.hfw-cta{display:inline-block;padding:8px 14px;border-radius:22px;background:var(--hfw-cta-bg,#fff);color:var(--hfw-cta-color,#333);font-size:var(--hfw-cta-fs,15px);font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,.15);white-space:nowrap;transition:opacity .25s ease,transform .25s ease}
.hfw-cta-hover{opacity:0;transform:translateX(6px);pointer-events:none}
.hfw-side-left .hfw-cta-hover{transform:translateX(-6px)}
.hfw-btn:hover .hfw-cta-hover,.hfw-btn:focus-visible .hfw-cta-hover{opacity:1;transform:none}

/* ---------- Halo (estilo por defecto) ---------- */
.hfw-style-halo{--hfw-size:64px;--hfw-bg:#25D366;--hfw-halo:#25D366;--hfw-speed:2.2s}
.hfw-halo-wrap{position:relative;display:inline-block;width:var(--hfw-size);height:var(--hfw-size);flex:0 0 auto}
.hfw-halo{position:absolute;inset:0;border-radius:50%;background:var(--hfw-halo);animation:hfw-halo var(--hfw-speed) ease-out infinite;pointer-events:none}
.hfw-halo-2{animation-name:hfw-halo2;animation-delay:calc(var(--hfw-speed) * .23)}
.hfw-halo-btn{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--hfw-bg);transition:filter .2s ease}
.hfw-halo-wrap.hfw-shadow .hfw-halo-btn{box-shadow:0 6px 18px rgba(0,0,0,.25)}
.hfw-btn:hover .hfw-halo-btn{filter:brightness(1.05)}
@keyframes hfw-halo{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.2);opacity:0}}
@keyframes hfw-halo2{0%{transform:scale(1);opacity:.4}100%{transform:scale(1.9);opacity:0}}

/* ---------- s1: botón de texto ---------- */
.hfw-s1-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;color:var(--hfw-color,#fff);background:var(--hfw-bg,#25D366);font-size:var(--hfw-fs,16px);font-weight:600;border-radius:var(--hfw-radius,6px);box-shadow:0 4px 12px rgba(0,0,0,.18);transition:background .2s ease}
.hfw-btn:hover .hfw-s1-btn{background:var(--hfw-bg-h,var(--hfw-bg,#25D366))}

/* ---------- s2: icono plano ---------- */
.hfw-round{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--hfw-bg,#25D366);flex:0 0 auto}
.hfw-style-s2 .hfw-round{width:var(--hfw-size,56px);height:var(--hfw-size,56px)}

/* ---------- s3: icono con sombra ---------- */
.hfw-s3-box{padding:var(--hfw-pad,14px);transition:background .2s ease}
.hfw-s3-box.hfw-shadow{box-shadow:0 6px 18px rgba(0,0,0,.25)}
.hfw-btn:hover .hfw-s3-box{background:var(--hfw-bg-h,var(--hfw-bg,#25D366))}

/* ---------- s4: pastilla ---------- */
.hfw-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:40px;color:var(--hfw-color,#fff);background:var(--hfw-bg,#25D366);font-size:var(--hfw-fs,15px);font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.2);transition:background .2s ease}
.hfw-chip.hfw-icon-right{flex-direction:row-reverse}
.hfw-btn:hover .hfw-chip{background:var(--hfw-bg-h,var(--hfw-bg,#25D366))}

/* ---------- s5: tarjeta ---------- */
.hfw-s5-card{display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;background:var(--hfw-bg,#fff);border:1px solid var(--hfw-border,#e2e2e2);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:box-shadow .2s ease}
.hfw-s5-card.hfw-icon-right{flex-direction:row-reverse;padding:10px 10px 10px 16px}
.hfw-s5-img{width:var(--hfw-img,44px);height:var(--hfw-img,44px);border-radius:50%;object-fit:cover;flex:0 0 auto}
.hfw-s5-img.hfw-round{background:var(--hfw-icon-bg,#25D366)}
.hfw-s5-card-text{display:flex;flex-direction:column;gap:3px;text-align:left}
.hfw-l1{color:var(--hfw-l1,#333);font-size:13px;font-weight:500}
.hfw-l2{color:var(--hfw-l2,#25D366);font-size:15px;font-weight:700}
.hfw-btn:hover .hfw-s5-card{box-shadow:0 8px 20px rgba(0,0,0,.18)}

/* ---------- s6: enlace de texto ---------- */
.hfw-link{display:inline-flex;align-items:center;gap:6px;color:var(--hfw-color,#25D366);font-size:var(--hfw-fs,16px);transition:color .2s ease}
.hfw-btn:hover .hfw-link{color:var(--hfw-color-h,#128C7E)}

/* ---------- s7: icono con borde ---------- */
.hfw-s7-box{display:inline-flex;align-items:center;justify-content:center;padding:var(--hfw-pad,12px);border:var(--hfw-bsize,2px) solid var(--hfw-border,#25D366);border-radius:var(--hfw-radius,50%);background:var(--hfw-bg,transparent);transition:all .2s ease}
.hfw-s7-box .hfw-icon{fill:var(--hfw-icon,#25D366);transition:fill .2s ease}
.hfw-btn:hover .hfw-s7-box{background:var(--hfw-bg-h,#25D366);border-color:var(--hfw-border-h,var(--hfw-border,#25D366))}
.hfw-btn:hover .hfw-s7-box .hfw-icon{fill:var(--hfw-icon-h,#fff)}

/* ---------- s8: botón con icono ---------- */
.hfw-s8-btn{display:inline-flex;align-items:center;gap:10px;padding:var(--hfw-pad,12px) var(--hfw-pad-h,22px);color:var(--hfw-color,#fff);background:var(--hfw-bg,#25D366);font-size:var(--hfw-fs,16px);font-weight:600;border-radius:var(--hfw-radius,8px);box-shadow:0 4px 12px rgba(0,0,0,.18);transition:all .2s ease}
.hfw-s8-btn.hfw-icon-right{flex-direction:row-reverse}
.hfw-s8-btn .hfw-icon{fill:var(--hfw-icon,#fff);transition:fill .2s ease}
.hfw-btn:hover .hfw-s8-btn{background:var(--hfw-bg-h,var(--hfw-bg,#25D366));color:var(--hfw-color-h,var(--hfw-color,#fff))}
.hfw-btn:hover .hfw-s8-btn .hfw-icon{fill:var(--hfw-icon-h,var(--hfw-icon,#fff))}

/* ---------- s99: imagen propia ---------- */
.hfw-s99-img{display:block;max-width:100%}

/* ---------- Widget de sección ---------- */
.hfw-section{--hfw-section-width:280px;box-sizing:border-box;width:var(--hfw-section-width);max-width:100%;margin:24px auto;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.hfw-section.hfw-align-left{margin-left:0;align-items:flex-start;text-align:left}
.hfw-section.hfw-align-right{margin-right:0;align-items:flex-end;text-align:right}
.hfw-title{font-size:20px;font-weight:800;line-height:1.25;color:inherit}
.hfw-section-btn{display:flex;justify-content:center}
.hfw-legal{font-size:13px;color:#555;line-height:1.4}
.hfw-legal a{color:#2563eb;text-decoration:underline}

/* ---------- Animaciones de entrada ---------- */
.hfw-anim{animation-duration:.7s;animation-fill-mode:both;animation-delay:var(--hfw-delay,0s)}
.hfw-anim-fade{animation-name:hfw-fade}
.hfw-anim-slide-up{animation-name:hfw-slide-up}
.hfw-anim-bounce{animation-name:hfw-bounce;animation-duration:1s}
.hfw-anim-zoom{animation-name:hfw-zoom}
@keyframes hfw-fade{from{opacity:0}to{opacity:1}}
@keyframes hfw-slide-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes hfw-zoom{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
@keyframes hfw-bounce{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}100%{transform:none}}

/* ---------- Accesibilidad: sin movimiento ---------- */
@media (prefers-reduced-motion:reduce){
	.hfw-halo,.hfw-anim{animation:none!important}
	.hfw-halo{display:none}
	.hfw-btn,.hfw-cta{transition:none}
}

/* ---------- Avisos solo para admins ---------- */
.hfw-admin-warning{font:12px/1.4 sans-serif;color:#8a6d3b;background:#fcf8e3;border:1px solid #faebcc;padding:6px 10px;border-radius:6px;max-width:240px}
