/* =========================================================
   EVA - Asistent Virtual EVASTAFF
   ========================================================= */

.eva-widget{
	position:fixed;
	right:1.5rem;
	bottom:1.5rem;
	z-index:1500;
	font-family:var(--e-font-body);
}

/* Buton plutitor */
.eva-fab{
	width:68px; height:68px;
	border-radius:50%;
	border:none;
	cursor:pointer;
	background:var(--e-black);
	box-shadow:0 10px 30px rgba(0,0,0,.35), 0 0 0 4px rgba(10,132,255,.15);
	padding:4px;
	position:relative;
	transition:transform var(--e-transition), box-shadow var(--e-transition);
}
.eva-fab:hover{ transform:translateY(-3px) scale(1.04); box-shadow:0 14px 34px rgba(0,0,0,.4), 0 0 0 6px rgba(10,132,255,.22); }
.eva-fab img{
	width:100%; height:100%;
	border-radius:50%;
	object-fit:cover;
	display:block;
}
.eva-fab::after{
	content:"";
	position:absolute;
	inset:-4px;
	border-radius:50%;
	border:2px solid rgba(10,132,255,.5);
	animation:eva-pulse 2.4s ease-out infinite;
}
.eva-fab .eva-badge{
	position:absolute;
	top:-2px; right:-2px;
	width:16px; height:16px;
	border-radius:50%;
	background:#22c55e;
	border:2px solid var(--e-white);
}
@keyframes eva-pulse{
	0%{ transform:scale(1); opacity:.7; }
	100%{ transform:scale(1.35); opacity:0; }
}

.eva-tooltip{
	position:absolute;
	right:78px; bottom:14px;
	background:var(--e-white);
	color:var(--e-ink);
	padding:.6rem 1rem;
	border-radius:999px;
	font-size:.85rem;
	font-weight:600;
	white-space:nowrap;
	box-shadow:var(--e-shadow-card);
	opacity:0;
	transform:translateX(6px);
	pointer-events:none;
	transition:opacity var(--e-transition), transform var(--e-transition);
}
.eva-widget:not(.is-open):hover .eva-tooltip{ opacity:1; transform:translateX(0); }

/* Panou chat */
.eva-panel{
	position:absolute;
	right:0; bottom:82px;
	width:min(360px, 90vw);
	max-height:min(560px, 75vh);
	background:var(--e-white);
	border-radius:var(--e-radius-lg);
	box-shadow:0 24px 60px rgba(0,0,0,.3);
	display:flex;
	flex-direction:column;
	overflow:hidden;
	opacity:0;
	transform:translateY(16px) scale(.97);
	pointer-events:none;
	transition:opacity .2s ease, transform .2s cubic-bezier(.2,.8,.2,1);
}
.eva-widget.is-open .eva-panel{
	opacity:1;
	transform:translateY(0) scale(1);
	pointer-events:auto;
}

.eva-panel-header{
	background:var(--e-gradient-hero);
	color:#fff;
	padding:1.1rem 1.25rem;
	display:flex;
	align-items:center;
	gap:.75rem;
}
.eva-panel-header img{
	width:40px; height:40px;
	border-radius:50%;
	object-fit:cover;
	flex-shrink:0;
}
.eva-panel-header .eva-header-text{ flex-grow:1; min-width:0; }
.eva-panel-header .eva-header-text strong{ display:block; font-family:var(--e-font-display); font-size:.95rem; }
.eva-panel-header .eva-header-text span{ display:block; font-size:.75rem; color:rgba(255,255,255,.75); }
.eva-panel-header .eva-header-text span::before{
	content:"";
	display:inline-block;
	width:7px; height:7px;
	border-radius:50%;
	background:#22c55e;
	margin-right:.4rem;
}
.eva-panel-close{
	background:rgba(255,255,255,.12);
	border:none;
	color:#fff;
	width:28px; height:28px;
	border-radius:50%;
	cursor:pointer;
	font-size:1.1rem;
	line-height:1;
	flex-shrink:0;
}
.eva-panel-close:hover{ background:rgba(255,255,255,.22); }

.eva-messages{
	flex-grow:1;
	overflow-y:auto;
	padding:1.1rem;
	display:flex;
	flex-direction:column;
	gap:.7rem;
	background:var(--e-gray-50);
}
.eva-msg{
	max-width:85%;
	padding:.65rem .9rem;
	border-radius:14px;
	font-size:.88rem;
	line-height:1.5;
	animation:eva-msg-in .2s ease;
}
.eva-msg--bot{
	background:var(--e-white);
	color:var(--e-ink);
	border-bottom-left-radius:4px;
	align-self:flex-start;
	box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.eva-msg--user{
	background:var(--e-accent);
	color:#fff;
	border-bottom-right-radius:4px;
	align-self:flex-end;
}
@keyframes eva-msg-in{
	from{ opacity:0; transform:translateY(6px); }
	to{ opacity:1; transform:translateY(0); }
}

.eva-typing{
	align-self:flex-start;
	display:flex;
	gap:4px;
	padding:.75rem .9rem;
	background:var(--e-white);
	border-radius:14px;
	border-bottom-left-radius:4px;
	box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.eva-typing span{
	width:6px; height:6px;
	border-radius:50%;
	background:var(--e-gray-500);
	animation:eva-typing-bounce 1.2s infinite ease-in-out;
}
.eva-typing span:nth-child(2){ animation-delay:.15s; }
.eva-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes eva-typing-bounce{
	0%,60%,100%{ transform:translateY(0); opacity:.5; }
	30%{ transform:translateY(-4px); opacity:1; }
}

.eva-quick-replies{
	display:flex;
	flex-wrap:wrap;
	gap:.4rem;
	padding:0 1.1rem .9rem;
	background:var(--e-gray-50);
}
.eva-quick-btn{
	background:var(--e-white);
	border:1px solid var(--e-gray-300);
	color:var(--e-ink);
	padding:.4rem .8rem;
	border-radius:999px;
	font-size:.78rem;
	font-weight:500;
	cursor:pointer;
	transition:border-color var(--e-transition), color var(--e-transition), background var(--e-transition);
}
.eva-quick-btn:hover{ border-color:var(--e-accent); color:var(--e-accent); background:rgba(10,132,255,.06); }

.eva-input-row{
	display:flex;
	gap:.5rem;
	padding:.85rem;
	border-top:1px solid var(--e-gray-100);
	background:var(--e-white);
}
.eva-input-row input{
	flex-grow:1;
	border:1px solid var(--e-gray-300);
	border-radius:999px;
	padding:.6rem 1rem;
	font-size:.88rem;
	font-family:var(--e-font-body);
}
.eva-input-row input:focus{
	outline:none;
	border-color:var(--e-accent);
	box-shadow:0 0 0 3px rgba(10,132,255,.15);
}
.eva-input-row button{
	background:var(--e-accent);
	border:none;
	color:#fff;
	width:40px; height:40px;
	border-radius:50%;
	flex-shrink:0;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background var(--e-transition);
}
.eva-input-row button:hover{ background:var(--e-accent-dark); }
.eva-input-row button:disabled{ opacity:.4; cursor:not-allowed; }

@media (max-width:480px){
	.eva-widget{ right:1rem; bottom:1rem; }
	.eva-panel{ right:-0.5rem; width:calc(100vw - 1.5rem); }
}
