/* Assistente ANTA — bolla fissa e pannello di chat. Colori istituzionali ANTA. */
.anta-ass {
	--anta-ass-verde: #14532d;
	--anta-ass-verde-chiaro: #166534;
	--anta-ass-oro: #eab308;
	--anta-ass-bordo: #d7ead9;
	--anta-ass-fondo: #f4fbf5;
	--anta-ass-destra: 96px;
	--anta-ass-basso: 24px;
	/* Sovrascritta a runtime con la misura del pulsante della musica. */
	--anta-ass-dim: 56px;
	position: fixed;
	right: var(--anta-ass-destra);
	bottom: var(--anta-ass-basso);
	z-index: 99998;
	font-family: inherit;
	line-height: 1.55;
}

/* ---- bolla -------------------------------------------------------------- */
.anta-ass__bolla {
	width: var(--anta-ass-dim);
	height: var(--anta-ass-dim);
	border: 0;
	border-radius: 50%;
	background: var(--anta-ass-verde);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 5px 16px rgba(20, 83, 45, .3);
	transition: transform .18s ease, background-color .18s ease;
	padding: 0;
}
.anta-ass__bolla:hover { background: var(--anta-ass-verde-chiaro); transform: translateY(-2px); }
.anta-ass__bolla:focus-visible { outline: 3px solid var(--anta-ass-oro); outline-offset: 3px; }
/* L'icona segue la dimensione della bolla. */
.anta-ass__ico { width: 46%; height: 46%; }
.anta-ass__ico--chiudi { display: none; }
.anta-ass--aperto .anta-ass__ico--chat { display: none; }
.anta-ass--aperto .anta-ass__ico--chiudi { display: block; }

/* ---- pannello ----------------------------------------------------------- */
.anta-ass__pannello {
	position: absolute;
	right: 0;
	bottom: calc(var(--anta-ass-dim) + 12px);
	width: min(322px, calc(100vw - 28px));
	max-height: 460px;
	max-height: min(58dvh, 460px);
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--anta-ass-bordo);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(15, 23, 42, .15);
	overflow: hidden;
	opacity: 0;
	transform: translateY(8px) scale(.98);
	transform-origin: bottom right;
	transition: opacity .16s ease, transform .16s ease;
}
.anta-ass--aperto .anta-ass__pannello { opacity: 1; transform: translateY(0) scale(1); }

.anta-ass__testata {
	background: var(--anta-ass-verde);
	color: #fff;
	padding: 11px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex: 0 0 auto;
}
.anta-ass__eyebrow {
	margin: 0;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--anta-ass-oro);
	line-height: 1.3;
}
.anta-ass__titolo {
	margin: 1px 0 0;
	font-size: .95rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.25;
}
.anta-ass__chiudi {
	background: none; border: 0; color: #cfe9d8; font-size: 22px; line-height: 1;
	cursor: pointer; padding: 0 2px;
}
.anta-ass__chiudi:hover { color: #fff; }

/* ---- conversazione ------------------------------------------------------ */
.anta-ass__conversazione {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 13px 13px 4px;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 7px;
	scrollbar-width: thin;
}
.anta-ass__msg {
	max-width: 90%;
	padding: 9px 12px;
	border-radius: 13px;
	font-size: .875rem;
	line-height: 1.5;
}
.anta-ass__msg p { margin: 0 0 7px; }
.anta-ass__msg p:last-child { margin-bottom: 0; }
.anta-ass__msg--bot {
	align-self: flex-start;
	background: var(--anta-ass-fondo);
	border: 1px solid var(--anta-ass-bordo);
	border-bottom-left-radius: 5px;
	color: #27303f;
}
.anta-ass__msg--bot a { color: var(--anta-ass-verde); font-weight: 700; }
.anta-ass__msg--io {
	align-self: flex-end;
	background: var(--anta-ass-verde);
	border-bottom-right-radius: 5px;
	color: #fff;
}

.anta-ass__scrive { display: flex; gap: 4px; padding: 12px; }
.anta-ass__scrive span {
	width: 6px; height: 6px; border-radius: 50%; background: var(--anta-ass-verde-chiaro);
	animation: anta-ass-salto 1s infinite ease-in-out;
}
.anta-ass__scrive span:nth-child(2) { animation-delay: .15s; }
.anta-ass__scrive span:nth-child(3) { animation-delay: .3s; }
@keyframes anta-ass-salto { 0%,60%,100% { opacity: .3; } 30% { opacity: 1; } }

.anta-ass__azioni { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.anta-ass__azione {
	display: inline-block;
	padding: 7px 12px;
	border-radius: 7px;
	background: var(--anta-ass-verde);
	color: #fff !important;
	font-size: .8rem;
	font-weight: 700;
	text-decoration: none;
}
.anta-ass__azione--wa { background: #25d366; color: #0b3d20 !important; }

/* ---- suggerimenti ------------------------------------------------------- */
.anta-ass__suggerimenti {
	display: flex; flex-wrap: wrap; gap: 5px;
	padding: 9px 13px 10px;
	background: #fff;
	flex: 0 0 auto;
}
.anta-ass__suggerimenti:empty { display: none; }
.anta-ass__chip {
	border: 1px solid var(--anta-ass-bordo);
	background: var(--anta-ass-fondo);
	color: var(--anta-ass-verde);
	border-radius: 999px;
	padding: 6px 11px;
	font-size: .76rem;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
.anta-ass__chip:hover { background: var(--anta-ass-verde); color: #fff; }

/* ---- barra di scrittura ------------------------------------------------- */
.anta-ass__form {
	display: flex; gap: 7px; padding: 9px 11px;
	border-top: 1px solid #eceff3; background: #fff;
	flex: 0 0 auto;
}
.anta-ass__campo {
	flex: 1 1 auto;
	border: 1px solid #d5dbe3;
	border-radius: 999px;
	padding: 8px 13px;
	font-size: .85rem;
	min-width: 0;
	background: #fbfcfd;
}
.anta-ass__campo:focus { outline: none; border-color: var(--anta-ass-verde); background: #fff; }
.anta-ass__invia {
	border: 0; border-radius: 50%; background: var(--anta-ass-verde); color: #fff;
	width: 34px; height: 34px; flex: 0 0 34px;
	cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.anta-ass__invia:hover { background: var(--anta-ass-verde-chiaro); }
.anta-ass__invia svg { width: 15px; height: 15px; }

.anta-ass__nota {
	margin: 0; padding: 0 13px 9px;
	font-size: 10.5px; line-height: 1.45; color: #94a3b8; background: #fff;
	flex: 0 0 auto;
}

/* ---- telefono ----------------------------------------------------------- */
@media (max-width: 640px) {
	.anta-ass__pannello {
		position: fixed;
		right: 10px;
		left: auto;
		bottom: calc(var(--anta-ass-dim) + var(--anta-ass-basso) + 12px);
		width: min(310px, calc(100vw - 20px));
		max-height: 420px;
		max-height: min(56dvh, 420px);
	}
}

/* Schermi molto bassi (telefono in orizzontale): il pannello non deve uscire. */
@media (max-height: 520px) {
	.anta-ass__pannello { max-height: calc(100dvh - var(--anta-ass-dim) - var(--anta-ass-basso) - 24px); }
}

@media (prefers-reduced-motion: reduce) {
	.anta-ass__bolla, .anta-ass__pannello { transition: none; }
	.anta-ass__scrive span { animation: none; }
}
