/* Chat "Hai domande?": grande, chiara, leggibile. Colori del tema StoreSuite Chiaro. */
.ssas { --ssas-verde: #0B6B57; --ssas-verde-s: #08503F; --ssas-giallo: #FFC72C; --ssas-ink: #0E2A25; --ssas-menta: #EEF6F3; --ssas-linea: #C9D8D3; --ssas-wa: #16824A;
	position: fixed; right: 20px; bottom: 20px; z-index: 99990; font-size: 17px; line-height: 1.45; color: var(--ssas-ink); }
.ssas--demo { bottom: 76px; }
.ssas * { box-sizing: border-box; }
.ssas-sr, .ssas-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ssas-apri { display: flex; align-items: center; gap: 10px; padding: 14px 20px 14px 16px; border: 0; border-radius: 999px; background: var(--ssas-verde); color: #fff; font: inherit; font-weight: 800; font-size: 18px; cursor: pointer; box-shadow: 0 8px 26px rgba(14,42,37,.32); }
.ssas-apri:hover { background: var(--ssas-verde-s); }
.ssas-apri:focus-visible, .ssas button:focus-visible, .ssas a:focus-visible, .ssas input:focus-visible, .ssas textarea:focus-visible { outline: 4px solid var(--ssas-ink); outline-offset: 2px; box-shadow: 0 0 0 3px var(--ssas-giallo); }
.ssas-apri-ico { display: grid; place-items: center; }
.ssas.is-aperta .ssas-apri { display: none; }
.ssas-nuvola { position: absolute; right: 0; bottom: 72px; width: 250px; padding: 12px 14px; border-radius: 16px 16px 4px 16px; border: 2px solid var(--ssas-verde); background: #fff; color: var(--ssas-ink); font: inherit; font-size: 16px; text-align: left; cursor: pointer; box-shadow: 0 8px 26px rgba(14,42,37,.18); animation: ssas-su .4s ease-out; }
@keyframes ssas-su { from { opacity: 0; transform: translateY(8px); } }
.ssas-finestra { position: absolute; right: 0; bottom: 0; width: 380px; max-width: calc(100vw - 24px); height: min(620px, calc(100vh - 40px)); display: flex; flex-direction: column; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 18px 60px rgba(14,42,37,.32); border: 1px solid var(--ssas-linea); }
.ssas-finestra[hidden] { display: none; }
.ssas-testa { display: flex; align-items: center; gap: 12px; padding: 14px 14px 14px 16px; background: var(--ssas-verde); color: #fff; }
.ssas-testa strong { display: block; font-size: 18px; }
.ssas-testa small { display: block; font-size: 13.5px; opacity: .9; }
.ssas-testa > div { flex: 1; min-width: 0; }
.ssas-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--ssas-giallo); color: var(--ssas-ink); display: grid; place-items: center; font-weight: 900; font-size: 20px; flex: 0 0 auto; }
.ssas-chiudi { width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.18); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.ssas-messaggi { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: var(--ssas-menta); }
.ssas-msg { max-width: 92%; align-self: flex-start; background: #fff; border: 1px solid var(--ssas-linea); border-radius: 16px 16px 16px 4px; padding: 10px 13px; font-size: 16.5px; }
.ssas-msg.is-mio { align-self: flex-end; background: var(--ssas-verde); border-color: var(--ssas-verde); color: #fff; border-radius: 16px 16px 4px 16px; }
.ssas-msg a { color: var(--ssas-verde); font-weight: 700; }
.ssas-msg code { background: var(--ssas-menta); padding: 1px 5px; border-radius: 4px; font-size: .92em; }
.ssas-link { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: var(--ssas-verde); text-decoration: underline; cursor: pointer; }
.ssas-puntini { display: inline-flex; gap: 4px; padding: 4px 2px; }
.ssas-puntini i { width: 8px; height: 8px; border-radius: 50%; background: #7d968f; animation: ssas-p 1s infinite; }
.ssas-puntini i:nth-child(2) { animation-delay: .15s; } .ssas-puntini i:nth-child(3) { animation-delay: .3s; }
@keyframes ssas-p { 50% { opacity: .3; transform: translateY(-3px); } }
.ssas-scelte { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px; border-top: 1px solid var(--ssas-linea); background: #fff; max-height: 168px; overflow-y: auto; }
.ssas-scelte:empty { display: none; }
.ssas-chip { padding: 8px 13px; border-radius: 999px; border: 2px solid var(--ssas-verde); background: #fff; color: var(--ssas-verde); font: inherit; font-size: 15.5px; font-weight: 700; cursor: pointer; text-align: left; }
.ssas-chip:hover { background: var(--ssas-menta); }
.ssas-chip.is-persona { background: var(--ssas-giallo); border-color: var(--ssas-giallo); color: var(--ssas-ink); }
.ssas-chip.is-altre { border-style: dashed; }
.ssas-scrivi { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--ssas-linea); background: #fff; }
.ssas-scrivi input { flex: 1; min-width: 0; min-height: 46px; padding: 8px 12px; border: 2px solid var(--ssas-linea); border-radius: 12px; font: inherit; font-size: 16.5px; color: var(--ssas-ink); background: #fff; }
.ssas-scrivi button { width: 48px; border: 0; border-radius: 12px; background: var(--ssas-verde); color: #fff; font-size: 18px; cursor: pointer; }
.ssas-wa { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; background: var(--ssas-wa); color: #fff !important; font-weight: 800; text-decoration: none; font-size: 16.5px; }
.ssas-wa:hover { filter: brightness(1.08); }
.ssas-form { display: grid; gap: 8px; }
.ssas-form label { display: grid; gap: 3px; font-size: 14.5px; font-weight: 700; }
.ssas-form input:not([type=checkbox]), .ssas-form textarea { width: 100%; min-height: 42px; padding: 7px 10px; border: 2px solid var(--ssas-linea); border-radius: 10px; font: inherit; font-size: 16px; color: var(--ssas-ink); background: #fff; }
.ssas-form .ssas-ok { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; }
.ssas-form .ssas-ok input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--ssas-verde); }
.ssas-form button { min-height: 44px; border: 0; border-radius: 10px; background: var(--ssas-verde); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.ssas-err { margin: 0; color: #B3261E; font-size: 14.5px; }
@media (max-width: 520px) {
	.ssas { right: 12px; bottom: 12px; }
	.ssas--demo { bottom: 68px; }
	.ssas-apri-testo { display: none; }
	.ssas-apri { padding: 16px; }
	.ssas.is-aperta { inset: 0; right: 0; bottom: 0; }
	.ssas-finestra { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; border-radius: 0; border: 0; }
}
@media (prefers-reduced-motion: reduce) { .ssas-nuvola, .ssas-puntini i { animation: none; } }
@media print { .ssas { display: none !important; } }
