/* ================================================================
   CHATBOT AMIS WEB — styles (préfixe .cb- pour ne rien casser)
   Reprend les couleurs du site si elles existent (variables --accent…)
   ================================================================ */
.cb-root{
  --cb-accent:var(--accent,#3a54d6);--cb-turq:var(--turq,#06b6d4);
  --cb-grad:var(--grad,linear-gradient(112deg,#3a54d6 0%,#0891b2 55%,#06b6d4 100%));
  --cb-surface:var(--surface,#fff);--cb-surface2:var(--surface2,#f2f9fd);
  --cb-text:var(--text,#2e4059);--cb-head:var(--head,#0b1a2e);--cb-muted:var(--muted,#546a86);
  --cb-border:var(--border,rgba(58,84,214,.15));
  font-family:'Space Grotesk',system-ui,sans-serif;
}
.cb-root *{box-sizing:border-box}

/* --- Bulle --- */
.cb-bulle{position:fixed;right:1.5rem;bottom:1.5rem;z-index:450;width:60px;height:60px;border-radius:50%;
  border:none;cursor:pointer;background:var(--cb-grad);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(8,145,178,.35),0 2px 6px rgba(11,26,46,.15);transition:transform .25s ease,box-shadow .25s ease}
.cb-bulle:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 34px rgba(8,145,178,.45)}
.cb-bulle:focus-visible{outline:3px solid var(--cb-turq);outline-offset:3px}
.cb-bulle svg{width:28px;height:28px}
.cb-bulle .cb-ico-fermer{display:none}
.cb-root.cb-ouvert .cb-bulle .cb-ico-chat{display:none}
.cb-root.cb-ouvert .cb-bulle .cb-ico-fermer{display:block}
.cb-pastille{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#f59e0b;border:2px solid #fff}
.cb-root.cb-vu .cb-pastille{display:none}

/* --- Invitation au-dessus de la bulle --- */
.cb-invite{position:fixed;right:1.5rem;bottom:6.1rem;z-index:450;max-width:250px;background:var(--cb-surface);color:var(--cb-head);
  border:1px solid var(--cb-border);border-radius:14px 14px 4px 14px;padding:.75rem 2rem .75rem 1rem;font-size:.86rem;font-weight:500;line-height:1.5;
  box-shadow:0 10px 30px rgba(58,84,214,.15);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .35s,transform .35s}
.cb-invite.cb-visible{opacity:1;transform:none;pointer-events:auto}
.cb-invite-x{position:absolute;top:.3rem;right:.45rem;border:none;background:none;color:var(--cb-muted);font-size:1rem;cursor:pointer;line-height:1;padding:.2rem}

/* --- Fenêtre --- */
.cb-fenetre{position:fixed;right:1.5rem;bottom:6.2rem;z-index:451;width:380px;max-width:calc(100vw - 2rem);
  height:min(600px,calc(100vh - 8rem));display:flex;flex-direction:column;overflow:hidden;
  background:var(--cb-surface);border:1px solid var(--cb-border);border-radius:20px;
  box-shadow:0 24px 60px rgba(11,26,46,.22),0 4px 14px rgba(58,84,214,.12);
  opacity:0;transform:translateY(16px) scale(.98);transform-origin:bottom right;pointer-events:none;visibility:hidden;
  transition:opacity .25s ease,transform .25s ease,visibility 0s .25s}
.cb-root.cb-ouvert .cb-fenetre{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .25s ease,transform .25s ease}

.cb-entete{flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;background:var(--cb-grad);color:#fff}
.cb-avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cb-avatar svg{width:22px;height:22px}
.cb-titre{font-family:'Syne','Space Grotesk',sans-serif;font-weight:800;font-size:1rem;line-height:1.2}
.cb-statut{font-size:.74rem;opacity:.9;display:flex;align-items:center;gap:.35rem}
.cb-statut::before{content:"";width:7px;height:7px;border-radius:50%;background:#5eead4}
.cb-entete-btns{margin-left:auto;display:flex;gap:.25rem}
.cb-entete-btns button{border:none;background:rgba(255,255,255,.14);color:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cb-entete-btns button:hover{background:rgba(255,255,255,.28)}
.cb-entete-btns svg{width:16px;height:16px}

/* --- Messages --- */
.cb-fil{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.1rem 1rem .5rem;background:var(--cb-surface2);display:flex;flex-direction:column;gap:.65rem;scroll-behavior:smooth}
.cb-msg{max-width:86%;padding:.65rem .9rem;border-radius:16px;font-size:.88rem;line-height:1.6;word-wrap:break-word;animation:cbApparait .25s ease}
.cb-msg p{margin:0 0 .45rem}.cb-msg p:last-child{margin:0}
.cb-msg ul{margin:.3rem 0 .45rem;padding-left:1.1rem}.cb-msg li{margin:.15rem 0}
.cb-msg a{color:var(--cb-accent);font-weight:600}
.cb-bot{align-self:flex-start;background:var(--cb-surface);color:var(--cb-text);border:1px solid var(--cb-border);border-bottom-left-radius:5px}
.cb-moi{align-self:flex-end;background:var(--cb-accent);color:#fff;border-bottom-right-radius:5px;white-space:pre-wrap}
.cb-erreur{align-self:flex-start;background:#fff7ed;color:#7c2d12;border:1px solid #fed7aa;border-bottom-left-radius:5px}
.cb-erreur a{color:#9a3412}
@keyframes cbApparait{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.cb-ecrit{align-self:flex-start;display:flex;gap:4px;padding:.8rem .95rem;background:var(--cb-surface);border:1px solid var(--cb-border);border-radius:16px;border-bottom-left-radius:5px}
.cb-ecrit span{width:7px;height:7px;border-radius:50%;background:var(--cb-muted);opacity:.5;animation:cbPoint 1.2s infinite}
.cb-ecrit span:nth-child(2){animation-delay:.15s}.cb-ecrit span:nth-child(3){animation-delay:.3s}
@keyframes cbPoint{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}

/* --- Suggestions --- */
.cb-sugg{display:flex;flex-wrap:wrap;gap:.4rem;padding:.2rem 0 .3rem}
.cb-sugg button{border:1px solid var(--cb-border);background:var(--cb-surface);color:var(--cb-accent);font:inherit;font-size:.8rem;font-weight:600;
  padding:.4rem .75rem;border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s}
.cb-sugg button:hover{background:rgba(6,182,212,.08);border-color:rgba(6,182,212,.45)}

/* --- Saisie --- */
.cb-form{flex-shrink:0;display:flex;align-items:flex-end;gap:.5rem;padding:.7rem .8rem;border-top:1px solid var(--cb-border);background:var(--cb-surface)}
.cb-form textarea{flex:1;resize:none;border:1px solid var(--cb-border);border-radius:12px;padding:.6rem .8rem;font:inherit;font-size:.88rem;
  color:var(--cb-head);background:var(--cb-surface);max-height:110px;line-height:1.45;outline:none;transition:border-color .2s}
.cb-form textarea:focus{border-color:var(--cb-turq)}
.cb-envoyer{flex-shrink:0;width:40px;height:40px;border:none;border-radius:12px;background:var(--cb-grad);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s}
.cb-envoyer:disabled{opacity:.45;cursor:default}
.cb-envoyer svg{width:18px;height:18px}
.cb-mention{padding:0 .9rem .6rem;font-size:.68rem;color:var(--cb-muted);background:var(--cb-surface);line-height:1.45}
.cb-mention a{color:inherit}

/* --- Mobile : plein écran --- */
@media(max-width:520px){
  .cb-bulle{right:1rem;bottom:1rem;width:56px;height:56px}
  .cb-invite{right:1rem;bottom:5.3rem}
  .cb-fenetre{right:0;bottom:0;width:100vw;max-width:100vw;height:100dvh;border-radius:0;border:none}
  .cb-root.cb-ouvert .cb-bulle{display:none}
}
@media(prefers-reduced-motion:reduce){.cb-root *{animation:none!important;transition:none!important}}
