/* Assistant du site — bulle en bas à droite.
   Palette alignée sur les pages sombres du site ; autonome, pour pouvoir être
   posé sur n'importe quelle page sans dépendre de ses variables. */

.assistant{
  --as-fond:#141b2d; --as-fond2:#0f1524; --as-ligne:rgba(255,255,255,.13);
  --as-ink:#f2f5fa; --as-ink2:#a8b3c7; --as-bleu:#3b82f6; --as-bleu2:#60a5fa;
  position:fixed; right:20px; bottom:20px; z-index:9999;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---- la bulle ---- */
.as-bulle{
  display:flex; align-items:center; gap:9px; margin-left:auto;
  background:linear-gradient(120deg,#1c5cab,var(--as-bleu));
  color:#fff; border:none; border-radius:100px; cursor:pointer;
  padding:13px 20px; font-size:14.5px; font-weight:650; font-family:inherit;
  box-shadow:0 10px 30px rgba(28,92,171,.45); transition:transform .15s,filter .15s;
}
.as-bulle:hover{transform:translateY(-2px); filter:brightness(1.08)}
.as-ico{font-size:17px; line-height:1}
@media(max-width:520px){ .as-bulle-txt{display:none} .as-bulle{padding:15px} }

/* ---- la fenêtre ---- */
.as-fenetre{
  position:absolute; right:0; bottom:62px; width:370px; max-width:calc(100vw - 32px);
  max-height:min(560px, calc(100vh - 110px)); display:flex; flex-direction:column;
  background:linear-gradient(180deg,var(--as-fond),var(--as-fond2));
  color:var(--as-ink); border:1px solid var(--as-ligne); border-radius:18px;
  box-shadow:0 26px 70px rgba(0,0,0,.55); overflow:hidden;
}
.as-fenetre[hidden]{display:none}

.as-tete{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding:15px 16px; border-bottom:1px solid var(--as-ligne);
  background:rgba(255,255,255,.04);
}
.as-titre{font-size:15px; font-weight:750}
.as-sous{font-size:12px; color:var(--as-ink2); margin-top:2px}
.as-fermer{
  background:none; border:none; color:var(--as-ink2); font-size:22px; line-height:1;
  cursor:pointer; padding:0 2px;
}
.as-fermer:hover{color:var(--as-ink)}

/* ---- le fil de discussion ---- */
.as-fil{flex:1; overflow-y:auto; padding:14px 16px; display:flex;
  flex-direction:column; gap:10px; min-height:120px}
.as-msg{font-size:13.5px; line-height:1.55; padding:10px 13px; border-radius:13px;
  max-width:88%; word-wrap:break-word}
.as-lui{background:rgba(255,255,255,.07); border:1px solid var(--as-ligne);
  border-bottom-left-radius:5px; align-self:flex-start}
.as-moi{background:linear-gradient(120deg,#1c5cab,var(--as-bleu)); color:#fff;
  border-bottom-right-radius:5px; align-self:flex-end}
.as-msg b{color:#fff}
.as-lui b{color:var(--as-bleu2)}

/* ---- questions suggérées ---- */
.as-suggestions{display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 12px}
.as-sugg{
  background:rgba(255,255,255,.06); border:1px solid var(--as-ligne);
  color:var(--as-ink2); border-radius:100px; padding:6px 12px; font-size:12px;
  font-family:inherit; cursor:pointer; transition:.12s;
}
.as-sugg:hover{background:rgba(255,255,255,.12); color:var(--as-ink);
  border-color:var(--as-bleu2)}

/* ---- saisie ---- */
.as-saisie{display:flex; gap:8px; padding:12px 16px;
  border-top:1px solid var(--as-ligne)}
.as-saisie input{
  flex:1; background:rgba(255,255,255,.06); border:1px solid var(--as-ligne);
  color:var(--as-ink); border-radius:10px; padding:10px 12px; font-size:13.5px;
  font-family:inherit;
}
.as-saisie input:focus{outline:none; border-color:var(--as-bleu2);
  background:rgba(255,255,255,.10)}
.as-saisie button{
  background:linear-gradient(120deg,#1c5cab,var(--as-bleu)); color:#fff;
  border:none; border-radius:10px; width:42px; font-size:17px; cursor:pointer;
}
.as-saisie button:hover{filter:brightness(1.1)}

.as-pied{font-size:10.5px; color:#6b7893; padding:0 16px 12px; line-height:1.45}

/* L'assistant est un outil de consultation : il n'a rien à faire sur papier. */
@media print{ .assistant{display:none !important} }
