/* SENECA — stile del widget. Palette presa da stile.css (:root), non ridefinita.
   Regola del sito rispettata: oro solo su fondo scuro (§4.1 handoff). */

.seneca { position: fixed; right: var(--s3, 1.5rem); bottom: var(--s3, 1.5rem); z-index: 60; }

.seneca-bottone {
  font-family: var(--sans);
  font-size: .95rem;
  font-weight: 600;
  color: var(--nero, #0B0B0C);
  background: var(--oro, #C9A227);
  border: none;
  border-radius: 999px;
  padding: .85rem 1.4rem;
  min-height: 44px;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  transition: transform 160ms ease, background-color 200ms ease;
}
.seneca-bottone:hover,
.seneca-bottone:focus-visible { background: var(--oro-luce, #E4C766); transform: translateY(-2px); }
.seneca-bottone:focus-visible { outline: 2px solid var(--oro, #C9A227); outline-offset: 3px; }

.seneca-pannello {
  position: fixed;
  right: var(--s3, 1.5rem);
  bottom: calc(var(--s3, 1.5rem) + 60px);
  width: min(380px, calc(100vw - 2rem));
  max-height: min(560px, calc(100vh - 8rem));
  display: flex;
  flex-direction: column;
  background: var(--nero-carta, #131417);
  border: 1px solid var(--linea, rgba(201,162,39,.28));
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  overflow: hidden;
}
.seneca-pannello[hidden],
.seneca-pannello.is-hidden {
  display: none !important;
}

.seneca-testa {
  display: flex; align-items: center; justify-content: space-between;
  padding: .9rem 1rem;
  border-bottom: 1px solid var(--linea, rgba(201,162,39,.28));
  color: var(--bianco, #FFF);
  font-family: var(--serif);
  letter-spacing: .04em;
}
.seneca-chiudi {
  background: none; border: none; color: var(--fumo, #9AA1A9);
  font-size: 1.4rem; line-height: 1; cursor: pointer; min-width: 44px; min-height: 44px;
}
.seneca-chiudi:hover, .seneca-chiudi:focus-visible { color: var(--oro, #C9A227); }
.seneca-chiudi:focus-visible { outline: 2px solid var(--oro, #C9A227); outline-offset: 2px; }

.seneca-messaggi {
  flex: 1; overflow-y: auto; padding: 1rem;
  display: flex; flex-direction: column; gap: .6rem;
  font-family: var(--sans); font-size: .92rem; line-height: 1.55;
}
.seneca-msg { max-width: 88%; padding: .55rem .8rem; border-radius: 10px; white-space: pre-wrap; }
.seneca-msg--utente { align-self: flex-end; background: var(--oro, #C9A227); color: var(--nero, #0B0B0C); }
.seneca-msg--assistente { align-self: flex-start; background: var(--grafite, #1A1D22); color: var(--bianco, #FFF); }
.seneca-msg--sistema { align-self: center; color: var(--fumo, #9AA1A9); font-size: .82rem; }
.seneca-fonti { margin-top: .3rem; font-size: .75rem; color: var(--fumo, #9AA1A9); }

.seneca-form {
  display: flex; gap: .5rem; padding: .75rem;
  border-top: 1px solid var(--linea, rgba(201,162,39,.28));
}
.seneca-form textarea {
  flex: 1; resize: none; min-height: 44px; max-height: 120px;
  font-family: var(--sans); font-size: .92rem;
  background: var(--nero, #0B0B0C); color: var(--bianco, #FFF);
  border: 1px solid var(--linea, rgba(201,162,39,.28)); border-radius: 8px; padding: .6rem .7rem;
}
.seneca-form textarea:focus-visible { outline: 2px solid var(--oro, #C9A227); outline-offset: 1px; }
.seneca-invia {
  min-width: 44px; min-height: 44px; padding: 0 1rem;
  background: var(--oro, #C9A227); color: var(--nero, #0B0B0C);
  border: none; border-radius: 8px; font-weight: 600; cursor: pointer;
}
.seneca-invia:hover, .seneca-invia:focus-visible { background: var(--oro-luce, #E4C766); }
.seneca-invia:focus-visible { outline: 2px solid var(--oro, #C9A227); outline-offset: 2px; }
.seneca-invia:disabled { opacity: .5; cursor: default; }

.seneca-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.seneca-etichetta-nascosta {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .seneca-bottone { transition: none; }
}

@media (max-width: 480px) {
  .seneca-pannello { right: 1rem; left: 1rem; width: auto; bottom: 5.5rem; }
}

/* ── EROICO: aggiunte del 7 agosto 2026 (sottotitolo, benvenuto, avvertenza) ── */
.seneca-sottotitolo{
  font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:#9AA1A9; margin-left:.5rem; font-weight:400;
}
.seneca-benvenuto{
  margin:0; padding:.85rem 1rem; font-size:.86rem; line-height:1.5;
  color:#F5F2E8; background:rgba(201,162,39,.07);
  border-bottom:1px solid rgba(201,162,39,.18);
}
.seneca-avvertenza{
  margin:0; padding:.6rem 1rem .8rem; font-size:.72rem; line-height:1.45;
  color:#9AA1A9; border-top:1px solid rgba(154,161,169,.18);
}
.seneca-avvertenza a{ color:#C9A227; }
