/* Assistant BPC France : bulle + panneau de discussion */
.cgn-chat{position:fixed;right:18px;bottom:calc(18px + var(--cgn-chat-clavier, 0px));z-index:70;font-family:Helvetica, Arial, sans-serif;
  transition:bottom .25s ease}
.cgn-chat__bulle{display:inline-flex;align-items:center;gap:10px;padding:13px 20px 13px 16px;border:0;border-radius:999px;
  background:#c9a227;color:#0a0a0a;font:600 14px/1 Helvetica, Arial, sans-serif;letter-spacing:.01em;cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.28);transition:transform .35s cubic-bezier(.22,1,.36,1),background-color .3s,opacity .3s}
.cgn-chat__bulle:hover{background:#e2c874;transform:translateY(-2px)}
.cgn-chat__bulle-icone{display:grid;place-items:center;width:22px;height:22px}
.cgn-chat__bulle-icone svg{width:22px;height:22px}
.cgn-chat.est-ouvert .cgn-chat__bulle{opacity:0;pointer-events:none;transform:translateY(8px)}
.cgn-chat__panneau[hidden]{display:none}
.cgn-chat__panneau{display:flex;flex-direction:column;width:min(380px,calc(100vw - 32px));height:min(560px,calc(var(--cgn-chat-hauteur, 100dvh) - 110px));
  max-height:calc(var(--cgn-chat-hauteur, 100dvh) - 24px);
  overflow:hidden;border:1px solid #2a2a2a;border-radius:18px;background:#141414;
  box-shadow:0 26px 60px rgba(0,0,0,.26);opacity:0;transform:translateY(14px) scale(.98);transform-origin:bottom right;
  transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.cgn-chat.est-ouvert .cgn-chat__panneau{opacity:1;transform:none}
.cgn-chat__tete{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#0a0a0a;color:#fff}
.cgn-chat__marque{margin:0;font:600 14px/1.2 Georgia, serif;letter-spacing:.06em}
.cgn-chat__sous{margin:4px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e2c874}
.cgn-chat__fermer{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.28);
  border-radius:8px;background:none;color:#fff;font:400 19px/1 Helvetica, Arial, sans-serif;cursor:pointer;transition:border-color .3s,background-color .3s}
.cgn-chat__fermer:hover{border-color:#e2c874;background:rgba(255,255,255,.08)}
.cgn-chat__fil{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px;overflow-y:auto;overscroll-behavior:contain;background:#0a0a0a}
.cgn-chat__msg{max-width:86%;padding:11px 14px;border-radius:14px;font-size:14.5px;line-height:1.6;white-space:pre-wrap}
.cgn-chat__msg--bot{align-self:flex-start;border:1px solid #2a2a2a;background:#141414;color:#f2efe9}
.cgn-chat__msg--moi{align-self:flex-end;background:#c9a227;color:#fff}
.cgn-chat__msg--attente{display:inline-flex;gap:5px;align-items:center}
.cgn-chat__msg--attente span{width:6px;height:6px;border-radius:50%;background:#c9a227;animation:cgn-chat-point 1.1s infinite ease-in-out}
.cgn-chat__msg--attente span:nth-child(2){animation-delay:.15s}
.cgn-chat__msg--attente span:nth-child(3){animation-delay:.3s}
@keyframes cgn-chat-point{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.cgn-chat__suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.cgn-chat__suggestion{padding:8px 12px;border:1px solid #3d3d3d;border-radius:999px;background:#141414;
  color:#c9a227;font:500 12.5px/1.2 Helvetica, Arial, sans-serif;text-align:left;cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}
.cgn-chat__suggestion:hover{border-color:#c9a227;background:#c9a227;color:#fff}
.cgn-chat__forme{display:flex;gap:8px;padding:12px;border-top:1px solid #2a2a2a;background:#141414}
.cgn-chat__forme input{flex:1;min-width:0;padding:11px 12px;border:1px solid #3d3d3d;border-radius:10px;
  background:#0a0a0a;color:#f2efe9;font:400 16px/1.3 Helvetica, Arial, sans-serif;outline:none;transition:border-color .3s}
.cgn-chat__forme input:focus{border-color:#c9a227}
.cgn-chat__forme button{width:44px;border:0;border-radius:10px;background:#c9a227;color:#fff;font-size:18px;cursor:pointer;transition:background-color .3s}
.cgn-chat__forme button:hover{background:#e2c874}
.cgn-chat__forme button[disabled]{opacity:.55;cursor:wait}
.cgn-chat__note{margin:0;padding:0 14px 12px;background:#141414;font-size:11px;line-height:1.5;color:#8d867c}
@media (max-width:480px){.cgn-chat{right:12px;bottom:calc(12px + var(--cgn-chat-clavier, 0px))}
  .cgn-chat__panneau{width:calc(100vw - 24px);height:min(560px,calc(var(--cgn-chat-hauteur, 100dvh) - 24px))}.cgn-chat__bulle-texte{display:none}
  .cgn-chat__bulle{padding:15px}}
@media (prefers-reduced-motion:reduce){.cgn-chat__panneau,.cgn-chat__bulle{transition:none}}
/* Clavier mobile ouvert : on rend au fil tout l'espace disponible */
.cgn-chat.est-clavier .cgn-chat__panneau{height:calc(var(--cgn-chat-hauteur, 100dvh) - 20px)}
.cgn-chat.est-clavier .cgn-chat__tete{padding:10px 14px}
.cgn-chat.est-clavier .cgn-chat__sous{display:none}
.cgn-chat.est-clavier .cgn-chat__fil{padding:12px 14px}
.cgn-chat.est-clavier .cgn-chat__note{display:none}
.cgn-chat.est-clavier .cgn-chat__forme{padding:10px}
