/* La finestra dell'assistente Revinnit: stessi colori e caratteri del tema. */
.rv-assistente {
	--rv-a-petrolio: #12556b;
	--rv-a-petrolio-scuro: #0c3d4d;
	--rv-a-tenue: #e2eef2;
	--rv-a-carta: #f7f6f3;
	--rv-a-linea: #dcdad3;
	--rv-a-testo: #1b1f27;
	--rv-a-testo2: #4c5262;
	--rv-a-giallo: #f2c230;
	position: fixed;
	right: max(16px, env(safe-area-inset-right));
	bottom: max(16px, env(safe-area-inset-bottom));
	z-index: 9999;
	font-family: var(--wp--preset--font-family--testo, system-ui, sans-serif);
	color: var(--rv-a-testo);
}
.rv-assistente *, .rv-assistente *::before, .rv-assistente *::after { box-sizing: border-box; }
.rv-assistente button { font: inherit; cursor: pointer; }
.rv-assistente :focus-visible { outline: 3px solid var(--rv-a-giallo); outline-offset: 2px; }

/* Il bottone sempre a vista */
.rv-assistente-apri {
	display: flex; align-items: center; gap: .5rem;
	border: 0; border-radius: 999px; padding: .8rem 1.15rem .8rem 1rem;
	background: var(--rv-a-petrolio); color: #fff; font-weight: 600; font-size: 1rem;
	box-shadow: 0 6px 18px rgba(12, 61, 77, .3);
	transition: background-color .15s, transform .1s, box-shadow .15s;
}
.rv-assistente-apri:hover { background: var(--rv-a-petrolio-scuro); box-shadow: 0 8px 22px rgba(12, 61, 77, .38); }
.rv-assistente-apri:active { transform: scale(.97); }
.rv-assistente.rv-aperta .rv-assistente-apri { display: none; }

/* Il pannello */
.rv-assistente-pannello {
	position: absolute; right: 0; bottom: 0;
	width: min(400px, calc(100vw - 32px)); height: min(620px, calc(100vh - 32px));
	display: flex; flex-direction: column;
	background: var(--rv-a-carta); border: 1px solid var(--rv-a-linea); border-radius: 16px;
	box-shadow: 0 18px 50px rgba(27, 31, 39, .25); overflow: hidden;
}
.rv-assistente-pannello[hidden] { display: none; }

.rv-assistente-testata {
	display: flex; align-items: center; gap: .5rem;
	background: var(--rv-a-petrolio); color: #fff; padding: .8rem .75rem .8rem 1rem;
}
.rv-assistente-testata > div { flex: 1; min-width: 0; }
.rv-assistente-titolo { margin: 0; font-family: var(--wp--preset--font-family--titoli, inherit); font-weight: 700; font-size: 1.15rem; line-height: 1.2; }
.rv-assistente-ia { margin: .15rem 0 0; font-size: .8rem; opacity: .9; }
.rv-assistente-nuova, .rv-assistente-chiudi {
	border: 0; background: rgba(255, 255, 255, .15); color: #fff; border-radius: 999px;
	padding: .35rem .7rem; font-size: .85rem; transition: background-color .15s;
}
.rv-assistente-chiudi { display: grid; place-items: center; padding: .35rem; }
.rv-assistente-nuova:hover, .rv-assistente-chiudi:hover { background: rgba(255, 255, 255, .3); }

/* I messaggi */
.rv-assistente-messaggi { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: .65rem; overscroll-behavior: contain; }
.rv-msg { max-width: 88%; padding: .6rem .85rem; border-radius: 14px; font-size: .95rem; line-height: 1.45; overflow-wrap: anywhere; }
.rv-msg p { margin: 0; }
.rv-msg p + p, .rv-msg p + ul, .rv-msg ul + p { margin-top: .45rem; }
.rv-msg ul { margin: .3rem 0 0; padding-left: 1.15rem; }
.rv-msg a { color: var(--rv-a-petrolio); font-weight: 600; text-decoration: underline; }
.rv-msg a:hover { color: var(--rv-a-petrolio-scuro); }
.rv-msg-assistente { align-self: flex-start; background: #fff; border: 1px solid var(--rv-a-linea); border-top-left-radius: 4px; }
.rv-msg-cliente { align-self: flex-end; background: var(--rv-a-petrolio); color: #fff; border-top-right-radius: 4px; white-space: pre-line; }
.rv-msg-attesa { align-self: flex-start; background: #fff; border: 1px solid var(--rv-a-linea); display: flex; gap: .3rem; padding: .8rem .9rem; }
.rv-msg-attesa span { width: .45rem; height: .45rem; border-radius: 50%; background: var(--rv-a-testo2); opacity: .35; }
@media (prefers-reduced-motion: no-preference) {
	.rv-msg-attesa span { animation: rv-puntini 1.2s infinite ease-in-out; }
	.rv-msg-attesa span:nth-child(2) { animation-delay: .15s; }
	.rv-msg-attesa span:nth-child(3) { animation-delay: .3s; }
}
@keyframes rv-puntini { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: .9; transform: translateY(-3px); } }

.rv-assistente-avviso { margin: 0; font-size: .78rem; color: var(--rv-a-testo2); line-height: 1.4; }
.rv-assistente-avviso a { color: var(--rv-a-petrolio); }
.rv-assistente-proposte { display: flex; flex-wrap: wrap; gap: .4rem; }
.rv-assistente-proposte[hidden] { display: none; }
.rv-assistente-proposte button {
	border: 1px solid var(--rv-a-petrolio); background: #fff; color: var(--rv-a-petrolio);
	border-radius: 999px; padding: .4rem .8rem; font-size: .88rem; transition: background-color .15s, color .15s;
}
.rv-assistente-proposte button:hover { background: var(--rv-a-petrolio); color: #fff; }

/* Il giudizio */
.rv-assistente-giudizio { display: flex; align-items: center; gap: .5rem; padding: .45rem 1rem; border-top: 1px solid var(--rv-a-linea); background: var(--rv-a-tenue); font-size: .88rem; }
.rv-assistente-giudizio[hidden] { display: none; }
.rv-assistente-giudizio button { border: 1px solid var(--rv-a-petrolio); background: #fff; color: var(--rv-a-petrolio); border-radius: 999px; padding: .2rem .8rem; font-weight: 600; transition: background-color .15s, color .15s; }
.rv-assistente-giudizio button:hover { background: var(--rv-a-petrolio); color: #fff; }

/* Lo scrivere */
.rv-assistente-scrivi { display: flex; gap: .5rem; align-items: flex-end; padding: .65rem; border-top: 1px solid var(--rv-a-linea); background: #fff; }
.rv-assistente-scrivi textarea {
	flex: 1; min-width: 0; resize: none; font: inherit; font-size: 1rem; line-height: 1.4;
	padding: .6rem .75rem; border: 1px solid #b9b6ad; border-radius: 10px; background: #fff; color: inherit; max-height: 140px;
}
.rv-assistente-scrivi textarea:hover { border-color: var(--rv-a-testo2); }
.rv-assistente-scrivi textarea:focus-visible { outline: 3px solid var(--rv-a-giallo); outline-offset: 1px; border-color: var(--rv-a-petrolio); }
.rv-assistente-invia {
	flex: none; width: 2.75rem; height: 2.75rem; display: grid; place-items: center;
	border: 0; border-radius: 10px; background: var(--rv-a-petrolio); color: #fff; transition: background-color .15s, opacity .15s;
}
.rv-assistente-invia:hover { background: var(--rv-a-petrolio-scuro); }
.rv-assistente-invia:disabled { opacity: .5; cursor: progress; }

/* Sul telefono il pannello prende tutto lo schermo */
@media (max-width: 600px) {
	.rv-assistente.rv-aperta { inset: 0; }
	.rv-assistente.rv-aperta .rv-assistente-pannello {
		position: fixed; inset: 0; width: 100%; height: 100%; border-radius: 0; border: 0;
		padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom);
	}
	.rv-assistente-apri span { display: none; }
	.rv-assistente-apri { padding: .9rem; }
}

/* Etichetta solo per chi usa il lettore di schermo */
.rv-assistente .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
