/*!
 * Assistente Abamora v0.1.10
 * Copyright 2026 ABAMORA di Maurizio Chiosi. Tutti i diritti riservati.
 */

.aa-radice {
	--aa-blu: #44ADE3;
	--aa-turchese: #55DAC1;
	--aa-menta: #5EF2AD;
	--aa-testo: #1E293B;
	--aa-grigio: #64748B;
	--aa-bordo: #D7E3EC;
	--aa-fondo-bot: #F1F7FB;
	--aa-fondo-utente: #E3FAF0;
	--aa-errore: #B42318;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.45;
	color: var(--aa-testo);
	-webkit-font-smoothing: antialiased;
}

/* Isolamento dagli stili del tema */
.aa-radice *,
.aa-radice *::before,
.aa-radice *::after { box-sizing: border-box; }
.aa-radice button,
.aa-radice .aa-link {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	font: inherit;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
}
.aa-radice button:focus-visible,
.aa-radice a:focus-visible,
.aa-radice input:focus-visible,
.aa-radice textarea:focus-visible {
	outline: 3px solid var(--aa-blu);
	outline-offset: 2px;
}
.aa-radice p { margin: 0 0 6px; padding: 0; font: inherit; color: inherit; }
.aa-radice ul { margin: 6px 0 0; padding: 0 0 0 18px; list-style: disc; }
.aa-radice li { margin: 3px 0; padding: 0; }
.aa-radice [hidden] { display: none !important; }

/* ---------- Pannello ---------- */

.aa-pannello {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 48px rgba(30, 41, 59, .22), 0 2px 6px rgba(30, 41, 59, .08);
}

.aa-flottante .aa-pannello {
	position: fixed;
	right: 20px;
	bottom: 96px;
	width: 390px;
	max-width: calc(100vw - 32px);
	height: min(640px, calc(100vh - 120px));
	z-index: 999999;
}

.aa-incorporato .aa-pannello {
	width: 100%;
	max-width: 720px;
	height: 620px;
	margin: 0 auto;
	border: 1px solid var(--aa-bordo);
	box-shadow: 0 8px 24px rgba(30, 41, 59, .08);
}

.aa-testata {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) 88px;
	align-items: center;
	padding: 8px;
	background: linear-gradient(120deg, var(--aa-blu), var(--aa-turchese));
	color: var(--aa-testo);
	flex: 0 0 auto;
}
.aa-lato { display: flex; align-items: center; }
.aa-lato-dx { justify-content: flex-end; }
/* Logo in alto al centro, titolo sulla riga sotto */
.aa-marchio {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 0;
	text-align: center;
}
.aa-logo {
	display: block;
	height: 30px;
	width: auto;
	max-width: 100%;
	background: #fff;
	border-radius: 8px;
	padding: 4px 10px;
	object-fit: contain;
}
.aa-titolo {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	max-width: 100%;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	overflow: hidden;
	text-wrap: balance;
}
.aa-con-logo .aa-titolo { font-size: 14px; }
.aa-radice .aa-icona {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	flex: 0 0 auto;
}
.aa-radice .aa-icona:hover { background: rgba(255, 255, 255, .35); }
.aa-radice .aa-icona:disabled { opacity: .35; cursor: default; background: none; }

/* ---------- Conversazione ---------- */

.aa-corpo {
	flex: 1 1 auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	padding: 16px 14px 8px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	scroll-behavior: smooth;
}

.aa-msg {
	max-width: 92%;
	padding: 11px 14px;
	border-radius: 14px;
	word-wrap: break-word;
}
.aa-bot {
	align-self: flex-start;
	background: var(--aa-fondo-bot);
	border-top-left-radius: 4px;
}
.aa-utente {
	align-self: flex-end;
	background: var(--aa-fondo-utente);
	border-top-right-radius: 4px;
	font-weight: 600;
}
.aa-scheda { border-left: 4px solid var(--aa-blu); }
.aa-radice .aa-scheda-titolo,
.aa-radice .aa-grazie strong {
	display: block;
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 4px;
}
.aa-grazie { border-left: 4px solid var(--aa-menta); }

.aa-blocco { display: flex; flex-direction: column; gap: 10px; }

.aa-opzioni {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.aa-radice .aa-opzione {
	display: block;
	min-height: 44px;
	padding: 11px 14px;
	border: 1.5px solid var(--aa-bordo);
	border-radius: 12px;
	background: #fff;
	font-weight: 600;
	text-align: left;
	transition: border-color .15s, background .15s;
}
.aa-radice .aa-opzione:hover { border-color: var(--aa-blu); background: #F7FBFE; }
.aa-radice .aa-primario {
	background: var(--aa-menta);
	border-color: var(--aa-menta);
	color: var(--aa-testo);
	text-align: center;
}
.aa-radice .aa-primario:hover { background: #4BE39C; border-color: #4BE39C; }
.aa-radice .aa-opzione:disabled { opacity: .6; cursor: progress; }

/* ---------- Barra fissa e piede ---------- */

.aa-barra {
	display: flex;
	gap: 6px;
	padding: 8px 10px;
	border-top: 1px solid var(--aa-bordo);
	background: #fff;
	flex: 0 0 auto;
	overflow-x: auto;
}
.aa-radice .aa-scorciatoia {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 0 auto;
	min-height: 40px;
	padding: 8px 10px;
	border-radius: 999px;
	border: 1.5px solid var(--aa-bordo);
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	white-space: nowrap;
}
.aa-radice .aa-scorciatoia:hover { border-color: var(--aa-blu); }
.aa-radice .aa-scorciatoia.aa-primario { border-color: var(--aa-menta); }

.aa-radice .aa-piede-link { color: #1B6FA0; text-decoration: underline; }
.aa-piede {
	padding: 4px 10px 8px;
	font-size: 11px;
	color: var(--aa-grigio);
	text-align: center;
	background: #fff;
	flex: 0 0 auto;
}

/* ---------- Modulo ---------- */

.aa-modulo {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--aa-bordo);
	border-radius: 14px;
	background: #fff;
	margin: 0;
}
.aa-campo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.aa-riga { display: flex; gap: 8px; }
.aa-riga .aa-campo:first-child { flex: 1 1 auto; }
.aa-riga .aa-campo:last-child { flex: 0 0 72px; }
.aa-radice label { font-size: 13px; font-weight: 600; color: var(--aa-testo); margin: 0; }
.aa-obb { color: var(--aa-errore); }
.aa-radice .aa-modulo input[type="text"],
.aa-radice .aa-modulo input[type="email"],
.aa-radice .aa-modulo input[type="tel"],
.aa-radice .aa-modulo textarea {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 10px 12px;
	border: 1.5px solid var(--aa-bordo);
	border-radius: 10px;
	background: #fff;
	color: var(--aa-testo);
	-webkit-text-fill-color: var(--aa-testo);
	font: inherit;
	font-size: 16px; /* evita lo zoom automatico su iPhone */
	box-shadow: none;
}
.aa-radice .aa-modulo textarea { min-height: 80px; resize: vertical; }
.aa-radice .aa-modulo .aa-prov { text-transform: uppercase; }

.aa-consenso { display: flex; gap: 10px; align-items: flex-start; }
.aa-radice .aa-consenso input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin: 0;
	border: 2px solid var(--aa-grigio);
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
	position: relative;
}
/* Segno di spunta disegnato solo con bordi CSS: nessun data: URI, bloccato su alcuni siti */
.aa-radice .aa-consenso input[type="checkbox"]:checked {
	background: var(--aa-menta);
	border-color: var(--aa-testo);
}
.aa-radice .aa-consenso input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 1px;
	width: 7px;
	height: 13px;
	border: solid var(--aa-testo);
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}
.aa-consenso label { font-weight: 400; line-height: 1.4; }
.aa-consenso a { color: #1B6FA0; text-decoration: underline; }

.aa-esca {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.aa-iframe {
	display: block;
	width: 100%;
	height: 480px;
	border: 1px solid var(--aa-bordo);
	border-radius: 14px;
	background: #fff;
}
.aa-radice .aa-apri-pagina { align-self: center; font-size: 13px; color: #1B6FA0; text-decoration: underline; }
.aa-errore { color: var(--aa-errore); font-weight: 600; font-size: 14px; }
.aa-errore:empty { display: none; }
.aa-nota { font-size: 12px; color: var(--aa-grigio); }

/* ---------- Pulsante flottante e anteprima ---------- */

.aa-radice .aa-lanciatore {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--aa-blu), var(--aa-turchese));
	color: var(--aa-testo);
	box-shadow: 0 10px 28px rgba(30, 41, 59, .28);
	transition: transform .15s;
}
.aa-radice .aa-lanciatore:hover { transform: scale(1.06); }

.aa-anteprima {
	position: fixed;
	right: 20px;
	bottom: 94px;
	z-index: 999998;
	display: flex;
	align-items: flex-start;
	gap: 4px;
	max-width: 280px;
	padding: 10px 8px 10px 14px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(30, 41, 59, .2);
}
.aa-radice .aa-anteprima-testo { font-weight: 600; font-size: 14px; }
.aa-radice .aa-anteprima-chiudi {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	font-size: 18px;
	color: var(--aa-grigio);
	flex: 0 0 auto;
}

/* ---------- Smartphone ---------- */

/* 0.1.10 — su smartphone il pannello non copre più tutto lo schermo: sale dal basso come un
   foglio e lascia in alto una fascia della pagina, velata; toccandola l'assistente si chiude. */
.aa-velo { display: none; }
@media (max-width: 820px) {
	.aa-flottante.aa-aperto .aa-velo {
		display: block; position: fixed; inset: 0; z-index: 999998;
		background: rgba(15, 23, 42, .35);
	}
}
@media (max-width: 520px) {
	.aa-flottante .aa-pannello {
		left: 0; right: 0; bottom: 0; top: auto;
		width: 100%;
		max-width: none;
		height: 82vh;
		height: 82dvh;
		border-radius: 18px 18px 0 0;
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}
	.aa-flottante.aa-aperto .aa-lanciatore { display: none; }
	.aa-radice .aa-lanciatore { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
	.aa-incorporato .aa-pannello { height: 560px; border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.aa-corpo { scroll-behavior: auto; }
	.aa-radice .aa-lanciatore,
	.aa-radice .aa-opzione { transition: none; }
}

@media print {
	.aa-flottante { display: none !important; }
}

/* ---------- Tema Trovaprodotti (edizione trovaprodotti.it) ---------- */
/* Blu del marchio Trovaprodotti; testata scura con testo bianco per un contrasto adeguato. */
.aa-tema-tp {
	--aa-blu: #2563EB;
	--aa-turchese: #1E40AF;
	--aa-menta: #1D4ED8;
	--aa-fondo-utente: #E7EEFD;
	--aa-fondo-bot: #F2F6FC;
}
.aa-tema-tp .aa-testata { background: linear-gradient(120deg, #2F6FE4, #173E8C); color: #fff; }
.aa-tema-tp .aa-icona:hover { background: rgba(255, 255, 255, .18); }
.aa-tema-tp .aa-radice .aa-lanciatore,
.aa-radice.aa-tema-tp .aa-lanciatore { background: linear-gradient(135deg, #3B82F6, #1E40AF); color: #fff; }
.aa-radice.aa-tema-tp .aa-primario { background: #1D4ED8; border-color: #1D4ED8; color: #fff; }
.aa-radice.aa-tema-tp .aa-primario:hover { background: #1E40AF; border-color: #1E40AF; }
.aa-radice.aa-tema-tp .aa-scorciatoia.aa-primario { border-color: #1D4ED8; }
.aa-radice.aa-tema-tp .aa-consenso input[type="checkbox"]:checked { background: #1D4ED8; border-color: #1D4ED8; }
.aa-radice.aa-tema-tp .aa-consenso input[type="checkbox"]:checked::after { border-color: #fff; }
.aa-tema-tp .aa-grazie { border-left-color: #1D4ED8; }
