:root{
  --lanx-bg:#ffffff;
  --lanx-border:#e2e8f0;
  --lanx-border-2:#cbd5e1;
  --lanx-muted:#f8fafc;
  --lanx-text:#0f172a;
  --lanx-sub:#64748b;
  --lanx-btn:#374151;         /* gris soutenu, ressort dans le footer */
  --lanx-btn-contrast:#ffffff;
}

.lanx-chat-panel{
  position:fixed; right:16px; bottom:88px;
  width:380px; max-width:92vw; height:560px;
  display:none; flex-direction:column;
  background:var(--lanx-bg);
  border:1px solid var(--lanx-border);
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  z-index:9999; color:var(--lanx-text);
}

.lanx-chat-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px; border-bottom:1px solid var(--lanx-border);
}
.lanx-title{ font-weight:700; }

.lanx-actions{ display:flex; gap:8px; }
.lanx-btn{
  border:1px solid var(--lanx-border-2); border-radius:10px;
  padding:6px 10px; background:#fff; cursor:pointer; font:inherit;
}
.lanx-btn-primary{
  background:var(--lanx-btn); color:var(--lanx-btn-contrast);
  border-color:var(--lanx-btn);
}

.lanx-chat-body{ flex:1; overflow:auto; padding:12px; }
.lanx-msg{ margin:8px 0; line-height:1.5; }
.lanx-msg.bot{
  background:var(--lanx-muted);
  border:1px solid var(--lanx-border);
  border-radius:12px; padding:10px;
}

.lanx-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.lanx-chip{
  border:1px solid var(--lanx-border-2); border-radius:9999px;
  padding:6px 10px; background:#fff; font-size:14px; cursor:pointer;
}

.lanx-input{
  display:flex; gap:8px; padding:10px; border-top:1px solid var(--lanx-border);
}
.lanx-input input{
  flex:1; border:1px solid var(--lanx-border-2); border-radius:10px; padding:10px;
}
.lanx-input button{ min-width:112px; }

.lanx-chat-bubble{
  position:fixed; right:16px; bottom:16px;
  border-radius:9999px; padding:12px 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  background:var(--lanx-btn); color:var(--lanx-btn-contrast);
  z-index:9999; cursor:pointer; border:0;
}

/* légende */
.lanx-privacy{ padding:8px 12px; font-size:12px; color:var(--lanx-sub); border-top:1px solid var(--lanx-border); }

/* CTA : plus homogènes et sobres */
.lanx-cta{ display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.lanx-cta a,.lanx-cta button{
  display:flex; align-items:center; justify-content:center; gap:8px;
  border-radius:10px; padding:10px 12px;
  border:1px solid var(--lanx-border-2); background:#fff;
  cursor:pointer; text-decoration:none;
  font-size:14px; font-weight:500;
}
.lanx-cta a.primary,.lanx-cta button.primary{
  background:var(--lanx-btn); color:var(--lanx-btn-contrast);
  border-color:var(--lanx-btn);
}

/* petits textes */
.lanx-small{ font-size:12px; color:var(--lanx-sub); }

/* Bloc documents (plus discret) */
.lanx-docs{
  font-size:13px; color:var(--lanx-sub);
  margin-top:10px;
}
.lanx-docs strong{
  display:block; margin-bottom:4px; font-weight:600; color:var(--lanx-text);
}
.lanx-docs ul{
  margin:4px 0 0 18px; padding:0; list-style:disc;
}
.lanx-docs li{ margin:2px 0; }
