/* ================================
   FERTISEM WhatsApp Flotante – FINAL
================================ */

/* Fuente */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

/* Contenedor */
.fw-wa{
	position:fixed;
	z-index:999999;
	font-family:Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.fw-wa[data-position="right"]{ right:var(--fw-side,22px); bottom:var(--fw-bottom,22px); }
.fw-wa[data-position="left"]{ left:var(--fw-side,22px); bottom:var(--fw-bottom,22px); }

/* ======================
   BOTÓN FLOTANTE
====================== */
.fw-wa__fab{
	width:60px;
	height:60px;
	border-radius:999px;
	border:0;
	background:var(--fw-primary,#1c6b3c);
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	position:relative;
	box-shadow:0 14px 34px rgba(0,0,0,.22);
	transition:transform .15s ease, box-shadow .15s ease;
}
.fw-wa__fab:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 40px rgba(0,0,0,.28);
}

/* CONTENEDOR DEL ICONO */
.fw-wa__fabIcon{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
}

/* ICONO IMG / WEBP */
.fw-wa__fabIcon img{
	width:34px;
	height:34px;
	object-fit:contain;
	display:block;
	opacity:1;
	visibility:visible;
	filter:none; /* NO BLANCO */
}

/* Badge */
.fw-wa__badge{
	position:absolute;
	top:-3px;
	right:-3px;
	width:14px;
	height:14px;
	border-radius:50%;
	background:var(--fw-secondary,#fe9831);
	box-shadow:0 6px 16px rgba(0,0,0,.2);
}

/* Pulso */
.fw-wa__fab::after{
	content:"";
	position:absolute;
	inset:-10px;
	border-radius:999px;
	box-shadow:0 0 0 0 rgba(31,170,89,.35);
	animation:fwPulse 2.6s infinite;
}
@keyframes fwPulse{
	0%{box-shadow:0 0 0 0 rgba(31,170,89,.35);}
	70%{box-shadow:0 0 0 18px rgba(31,170,89,0);}
	100%{box-shadow:0 0 0 0 rgba(31,170,89,0);}
}

/* ======================
   PANEL CHAT
====================== */
.fw-wa__panel{
	position:absolute;
	width:340px;
	max-width:calc(100vw - 36px);
	border-radius:18px;
	background:#fff;
	box-shadow:0 26px 70px rgba(0,0,0,.25);
	overflow:hidden;
	opacity:0;
	transform:translateY(10px) scale(.98);
	pointer-events:none;
	transition:opacity .15s ease, transform .15s ease;
}
.fw-wa.is-open .fw-wa__panel{
	opacity:1;
	transform:none;
	pointer-events:auto;
}
.fw-wa[data-position="right"] .fw-wa__panel{ right:0; bottom:74px; }
.fw-wa[data-position="left"] .fw-wa__panel{ left:0; bottom:74px; }

/* Header */
.fw-wa__header{
	background:linear-gradient(135deg,var(--fw-primary,#1c6b3c),#14512e);
	color:#fff;
	padding:14px;
	display:flex;
	align-items:center;
	gap:10px;
}
.fw-wa__logo{
	width:44px;
	height:44px;
	border-radius:12px;
	object-fit:cover;
	background:#fff;
}
.fw-wa__headText{flex:1;}
.fw-wa__title{font-weight:700;font-size:14px;}
.fw-wa__subtitle{font-size:12px;opacity:.9;}
.fw-wa__close{
	border:0;
	background:rgba(255,255,255,.2);
	color:#fff;
	width:32px;
	height:32px;
	border-radius:10px;
	font-size:20px;
	cursor:pointer;
}

/* Body */
.fw-wa__body{padding:14px;}
.fw-wa__quick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.fw-wa__chip{
	padding:7px 10px;
	border-radius:999px;
	border:1px solid rgba(0,0,0,.08);
	background:#fafafa;
	font-size:12px;
	cursor:pointer;
}

/* Agentes */
.fw-wa__agents{display:flex;flex-direction:column;gap:10px;}
.fw-wa__agent{
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px;
	border-radius:14px;
	border:1px solid rgba(0,0,0,.08);
	text-decoration:none;
	color:#101828;
}
.fw-wa__avatar{
	width:40px;
	height:40px;
	border-radius:14px;
	object-fit:cover;
	background:#eee;
}
.fw-wa__agentText{flex:1;}
.fw-wa__agentName{font-weight:700;font-size:13px;}
.fw-wa__agentRole{font-size:12px;opacity:.7;}
.fw-wa__agentCta{
	font-size:11px;
	font-weight:700;
	padding:6px 8px;
	border-radius:999px;
	background:rgba(28,107,60,.1);
	color:var(--fw-primary,#1c6b3c);
}

/* Footer */
.fw-wa__footer{
	padding:14px;
	border-top:1px solid rgba(0,0,0,.06);
}
.fw-wa__primary{
	display:block;
	text-align:center;
	padding:12px;
	border-radius:14px;
	background:var(--fw-primary,#1c6b3c);
	color:#fff;
	font-weight:800;
	text-decoration:none;
}
.fw-wa__note{
	font-size:11px;
	opacity:.7;
	margin-top:8px;
	text-align:center;
}

/* Mobile */
@media(max-width:420px){
	.fw-wa__panel{width:320px;}
	.fw-wa__fab{width:56px;height:56px;}
	.fw-wa__fabIcon img{width:30px;height:30px;}
}