/* Widget de discussion. Genere par chat_widget.py. */
.axv-chat{position:fixed;right:20px;bottom:20px;z-index:60;font-family:inherit}
.axv-chat__open{display:flex;align-items:center;gap:.55rem;border:0;cursor:pointer;
  background:#0E1D3D;color:#fff;border-radius:999px;padding:.8rem 1.15rem;
  font:600 .95rem/1 inherit;box-shadow:0 8px 26px rgba(14,29,61,.28)}
.axv-chat__open svg{width:20px;height:20px;stroke:#24D3C4;fill:none;stroke-width:2}
.axv-chat__panel{display:none;flex-direction:column;width:min(370px,calc(100vw - 32px));
  height:min(560px,calc(100vh - 96px));background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 18px 50px rgba(14,29,61,.28);border:1px solid #E8EDF5}
.axv-chat.is-open .axv-chat__panel{display:flex}
.axv-chat.is-open .axv-chat__open{display:none}
.axv-chat__head{display:flex;align-items:center;justify-content:space-between;
  background:#0E1D3D;color:#fff;padding:.85rem 1rem}
.axv-chat__who{font:600 .95rem/1.3 inherit}
.axv-chat__role{display:block;font:400 .78rem/1.3 inherit;color:#B9C6DE}
.axv-chat__close{background:0;border:0;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:.1rem .3rem}
.axv-chat__log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.85rem}
.axv-chat__msg{max-width:86%}
.axv-chat__msg p{margin:0;padding:.6rem .8rem;border-radius:14px;font-size:.9rem;line-height:1.5;
  background:#F4F6FA;color:#0E1D3D;white-space:pre-wrap;overflow-wrap:anywhere}
/* Aqua on white is 1.88:1, so the agent name uses the darker aqua. */
.axv-chat__name{display:block;font:600 .76rem/1.4 inherit;color:#0A7D74;margin:0 0 .2rem .1rem}
.axv-chat__msg--me{align-self:flex-end}
.axv-chat__msg--me p{background:#DCF7F4}
.axv-chat__dots{display:inline-flex;gap:4px;padding:.75rem .85rem;background:#F4F6FA;border-radius:14px}
.axv-chat__dots i{width:6px;height:6px;border-radius:50%;background:#8A9BB8;animation:axvb 1.2s infinite}
.axv-chat__dots i:nth-child(2){animation-delay:.2s}
.axv-chat__dots i:nth-child(3){animation-delay:.4s}
@keyframes axvb{0%,60%,100%{opacity:.3}30%{opacity:1}}
@media (prefers-reduced-motion:reduce){.axv-chat__dots i{animation:none;opacity:.6}}
.axv-chat__foot{border-top:1px solid #E8EDF5;padding:.7rem .8rem;background:#fff}
.axv-chat__row{display:flex;gap:.5rem;align-items:flex-end}
.axv-chat__row textarea{flex:1;resize:none;border:1px solid #D8E0EC;border-radius:12px;
  padding:.55rem .7rem;font:inherit;font-size:.9rem;line-height:1.4;max-height:100px;color:#0E1D3D}
.axv-chat__row textarea:focus{outline:2px solid #0A7D74;outline-offset:1px}
.axv-chat__send{border:0;cursor:pointer;background:#0E1D3D;color:#fff;border-radius:12px;
  padding:.6rem .85rem;font:600 .88rem/1 inherit}
.axv-chat__send[disabled]{opacity:.45;cursor:default}
.axv-chat__consent{display:flex;gap:.45rem;align-items:flex-start;margin:.55rem .1rem 0;
  font-size:.72rem;line-height:1.45;color:#5A6B85}
.axv-chat__consent a{color:#0A7D74}
.axv-chat__consent em{display:block;font-style:normal;opacity:.72;font-size:.92em}
.axv-chat__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Coche « recu » sur le message du visiteur : le seul signal pendant l attente
   avant les points. Discrete, et elle ne promet rien sur le delai. */
.axv-chat__vu{display:block;text-align:right;font-size:11px;line-height:1;
  color:#8A9BB8;margin:2px 2px 0}
/* Ligne d attribution : « Sara a rejoint la conversation ». Ce n est pas un
   message, c est un evenement du fil, d ou le centrage et la discretion. */
.axv-chat__sys{align-self:center;max-width:100%;font-size:.78rem;color:#6B7C99;
  text-align:center;padding:.1rem .4rem}
