.bwf-wrap {
	--bwf-color: #25D366;
	--bwf-size: 60px;
	--bwf-gap: 20px;
	position: fixed;
	z-index: 99999;
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: inherit;
}

/* ---------- Botón ---------- */
.bwf-boton {
	width: var(--bwf-size);
	height: var(--bwf-size);
	border-radius: 50%;
	background: var(--bwf-color);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	text-decoration: none;
	flex-shrink: 0;
	transition: transform .2s ease, box-shadow .2s ease;
}
.bwf-boton:hover,
.bwf-boton:focus-visible {
	transform: scale(1.08);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .3);
	color: #fff;
}
.bwf-boton svg {
	width: 58%;
	height: 58%;
}

/* ---------- Burbuja / mensaje ---------- */
.bwf-burbuja {
	position: relative;
	background: #fff;
	color: #222;
	padding: 10px 30px 10px 14px;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
	font-size: 14px;
	line-height: 1.35;
	max-width: 240px;
	animation: bwf-aparecer .4s ease both;
}
.bwf-cerrar {
	position: absolute;
	top: 4px;
	right: 6px;
	background: none;
	border: 0;
	padding: 0 4px;
	font-size: 18px;
	line-height: 1;
	color: #888;
	cursor: pointer;
}
.bwf-cerrar:hover { color: #222; }
.bwf-burbuja.bwf-oculta { display: none; }

/* ---------- Posiciones ---------- */
.bwf-abajo-derecha    { right: var(--bwf-gap); bottom: var(--bwf-gap); flex-direction: row; }
.bwf-abajo-izquierda  { left:  var(--bwf-gap); bottom: var(--bwf-gap); flex-direction: row-reverse; }
.bwf-arriba-derecha   { right: var(--bwf-gap); top: var(--bwf-gap);    flex-direction: row; }
.bwf-arriba-izquierda { left:  var(--bwf-gap); top: var(--bwf-gap);    flex-direction: row-reverse; }

.bwf-abajo-centro {
	left: 50%;
	bottom: var(--bwf-gap);
	transform: translateX(-50%);
	flex-direction: column-reverse; /* mensaje encima del botón */
}
.bwf-abajo-centro .bwf-burbuja { text-align: center; }

.bwf-lateral-derecho {
	right: var(--bwf-gap);
	top: 50%;
	transform: translateY(-50%);
	flex-direction: row;
}
.bwf-lateral-izquierdo {
	left: var(--bwf-gap);
	top: 50%;
	transform: translateY(-50%);
	flex-direction: row-reverse;
}

/* Ajuste de espacio para la X según el lado */
.bwf-abajo-izquierda .bwf-burbuja,
.bwf-arriba-izquierda .bwf-burbuja,
.bwf-lateral-izquierdo .bwf-burbuja { padding: 10px 30px 10px 14px; }

/* ---------- Animación pulso ---------- */
.bwf-pulso .bwf-boton { animation: bwf-pulso 2s infinite; }
.bwf-pulso .bwf-boton:hover { animation: none; }

@keyframes bwf-pulso {
	0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--bwf-color) 60%, transparent), 0 4px 14px rgba(0,0,0,.25); }
	70%  { box-shadow: 0 0 0 14px transparent, 0 4px 14px rgba(0,0,0,.25); }
	100% { box-shadow: 0 0 0 0 transparent, 0 4px 14px rgba(0,0,0,.25); }
}
@keyframes bwf-aparecer {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.bwf-pulso .bwf-boton, .bwf-burbuja { animation: none; }
}

/* ---------- Visibilidad por dispositivo ---------- */
@media (max-width: 767px) {
	.bwf-ocultar-movil { display: none !important; }
	.bwf-wrap { --bwf-gap: 14px; }
	.bwf-burbuja { max-width: 180px; font-size: 13px; }
}
@media (min-width: 768px) {
	.bwf-ocultar-escritorio { display: none !important; }
}
