/* Finestra di chat dell'assistente virtuale: colori dello Studio (blu navy e oro) */
#scc-chat {
  --scc-navy: #1B2A4A;
  --scc-oro: #C9A84C;
  --scc-avorio: #F5F5F0;
  --scc-testo: #2C2C2C;
  --scc-grigio: #6b6b6b;
  --scc-bordo: #e2e0d8;
  position: fixed;
  right: 72px; /* lascia libero l'angolo per il pulsante privacy di iubenda */
  bottom: 20px;
  z-index: 2147483000;
  font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  color: var(--scc-testo);
}
#scc-chat *, #scc-chat *::before, #scc-chat *::after { box-sizing: border-box; }
#scc-chat button { font-family: inherit; cursor: pointer; }

.scc-lanciatore {
  display: flex; align-items: center; gap: 8px;
  margin-left: auto;
  padding: 12px 18px 12px 14px;
  border: 0; border-radius: 999px;
  background: var(--scc-navy); color: #fff;
  font-size: 15px; font-weight: 600;
  box-shadow: 0 6px 20px rgba(27, 42, 74, .35);
  transition: transform .15s ease;
}
.scc-lanciatore:hover { transform: translateY(-2px); }
.scc-lanciatore svg { color: var(--scc-oro); }
.scc-aperta .scc-lanciatore { display: none; }

.scc-pannello {
  display: none;
  flex-direction: column;
  width: 380px; height: 600px;
  max-height: calc(100vh - 40px);
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}
.scc-aperta .scc-pannello { display: flex; }

.scc-testata {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 12px 12px 16px;
  background: var(--scc-navy); color: #fff;
  border-bottom: 3px solid var(--scc-oro);
}
.scc-titolo { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.scc-titolo strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scc-titolo span { font-size: 12px; opacity: .8; }
.scc-btn-contatto {
  padding: 6px 10px; border: 1px solid var(--scc-oro); border-radius: 6px;
  background: transparent; color: var(--scc-oro); font-size: 12px; font-weight: 600;
}
.scc-btn-contatto:hover { background: var(--scc-oro); color: var(--scc-navy); }
.scc-btn-chiudi {
  width: 32px; height: 32px; border: 0; border-radius: 6px;
  background: transparent; color: #fff; font-size: 24px; line-height: 1;
}
.scc-btn-chiudi:hover { background: rgba(255, 255, 255, .12); }

.scc-messaggi {
  flex: 1; overflow-y: auto;
  padding: 16px 14px;
  background: var(--scc-avorio);
  display: flex; flex-direction: column; gap: 10px;
}
.scc-msg {
  max-width: 85%;
  padding: 10px 13px;
  border-radius: 14px;
  word-wrap: break-word;
}
.scc-msg-bot { align-self: flex-start; background: #fff; border: 1px solid var(--scc-bordo); border-bottom-left-radius: 4px; }
.scc-msg-utente { align-self: flex-end; background: var(--scc-navy); color: #fff; border-bottom-right-radius: 4px; }

.scc-scrive { display: flex; gap: 4px; padding: 14px 16px; }
.scc-scrive i {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--scc-grigio); opacity: .4;
  animation: scc-punti 1.2s infinite ease-in-out;
}
.scc-scrive i:nth-child(2) { animation-delay: .2s; }
.scc-scrive i:nth-child(3) { animation-delay: .4s; }
@keyframes scc-punti { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: .9; transform: translateY(-3px); } }

.scc-modulo {
  display: flex; align-items: flex-end; gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--scc-bordo);
  background: #fff;
}
.scc-input {
  flex: 1; resize: none;
  min-height: 40px; max-height: 120px;
  padding: 9px 12px;
  border: 1px solid var(--scc-bordo); border-radius: 10px;
  font: inherit; color: inherit; background: #fff;
}
.scc-input:focus { outline: 2px solid var(--scc-oro); outline-offset: 0; border-color: transparent; }
.scc-btn-invia {
  width: 42px; height: 42px; flex: none;
  border: 0; border-radius: 10px;
  background: var(--scc-navy); color: var(--scc-oro);
  display: flex; align-items: center; justify-content: center;
}
.scc-btn-invia:disabled { opacity: .5; cursor: default; }
.scc-avvertenza {
  padding: 6px 14px 10px;
  font-size: 11px; color: var(--scc-grigio);
  background: #fff; text-align: center;
}

/* Scheda di contatto */
.scc-scheda {
  align-self: stretch;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--scc-oro);
  border-radius: 12px;
}
.scc-scheda-titolo { font-weight: 700; color: var(--scc-navy); margin-bottom: 10px; }
.scc-riga { display: flex; gap: 8px; }
.scc-riga .scc-campo { flex: 1; min-width: 0; }
.scc-campo { margin-bottom: 8px; }
.scc-campo label { display: block; font-size: 12px; color: var(--scc-grigio); margin-bottom: 3px; }
.scc-campo input, .scc-campo textarea {
  width: 100%; padding: 8px 10px;
  border: 1px solid var(--scc-bordo); border-radius: 8px;
  font: inherit; font-size: 14px; color: inherit; background: #fff;
}
.scc-campo input:focus, .scc-campo textarea:focus { outline: 2px solid var(--scc-oro); border-color: transparent; }
.scc-riepilogo { margin: 4px 0 10px; padding: 10px; background: var(--scc-avorio); border-radius: 8px; }
.scc-riepilogo span { font-size: 12px; color: var(--scc-grigio); }
.scc-riepilogo p { margin: 4px 0 0; font-size: 14px; }
.scc-esca { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.scc-consenso { display: flex; gap: 8px; align-items: flex-start; margin: 6px 0; font-size: 13px; }
.scc-consenso input { margin-top: 3px; flex: none; }
.scc-consenso a { color: var(--scc-navy); text-decoration: underline; }
.scc-errore { color: #8B1A1A; font-size: 13px; min-height: 0; margin: 4px 0; }
.scc-errore:empty { display: none; }
.scc-azioni { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
.scc-btn-primario, .scc-btn-secondario {
  padding: 9px 14px; border-radius: 8px; font-size: 14px; font-weight: 600;
}
.scc-btn-primario { border: 0; background: var(--scc-navy); color: #fff; }
.scc-btn-primario:disabled { opacity: .6; cursor: default; }
.scc-btn-secondario { border: 1px solid var(--scc-bordo); background: #fff; color: var(--scc-testo); }

/* Telefono: la chat occupa tutto lo schermo */
@media (max-width: 520px) {
  #scc-chat { right: 64px; bottom: 12px; }
  #scc-chat.scc-aperta { left: 0; right: 0; top: 0; bottom: 0; }
  .scc-aperta .scc-pannello { width: 100%; height: 100%; max-height: none; border-radius: 0; }
  .scc-lanciatore span { display: none; }
  .scc-lanciatore { padding: 14px; }
  .scc-riga { flex-direction: column; gap: 0; }
  .scc-input { font-size: 16px; } /* evita lo zoom automatico su iPhone */
}

/* Informativa da accettare prima della chat */
.scc-informativa {
  align-self: stretch;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--scc-oro);
  border-radius: 12px;
  font-size: 13px;
}
.scc-informativa p { margin: 0 0 8px; }
.scc-informativa a { color: var(--scc-navy); text-decoration: underline; }
.scc-input:disabled { background: #f3f3f0; }
