/* IA Conseiller Maison Bois — widget de discussion (palette du site) */
#cmb-ia-root{
  --f:#2D4A2A; --f2:#1a2e18; --bois:#C4894A; --bois2:#E8B07A;
  --creme:#F7F3EC; --blanc:#FAFAF7; --txt:#2C3340; --gris:#6b7280;
  --r:16px; --ombre:0 18px 48px rgba(20,40,20,.24);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
#cmb-ia-root *{box-sizing:border-box}

/* Bouton flottant */
.cmb-ia-fab{
  position:fixed;right:22px;bottom:22px;z-index:99998;
  display:flex;align-items:center;gap:.55rem;
  background:var(--f);color:#fff;border:none;cursor:pointer;
  padding:.7rem 1.05rem .7rem .8rem;border-radius:999px;
  box-shadow:var(--ombre);font-size:.9rem;font-weight:600;
  transition:transform .2s ease, box-shadow .2s ease;
}
.cmb-ia-fab:hover{transform:translateY(-2px)}
.cmb-ia-fab img{width:30px;height:30px;background:var(--creme);border-radius:50%;padding:3px}
.cmb-ia-fab .cmb-ia-fab-txt{white-space:nowrap}
.cmb-ia-fab:focus-visible{outline:3px solid var(--bois2);outline-offset:2px}

/* Panneau */
.cmb-ia-panel{
  position:fixed;right:22px;bottom:22px;z-index:99999;
  width:min(390px,calc(100vw - 32px));height:min(600px,calc(100vh - 40px));
  background:var(--blanc);border-radius:var(--r);box-shadow:var(--ombre);
  display:none;flex-direction:column;overflow:hidden;
  border:1px solid rgba(196,137,74,.25);
}
.cmb-ia-panel.open{display:flex;animation:cmb-ia-in .22s ease}
@keyframes cmb-ia-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* En-tête */
.cmb-ia-head{background:linear-gradient(140deg,var(--f),var(--f2));color:#fff;padding:.95rem 1rem;display:flex;align-items:center;gap:.65rem}
.cmb-ia-head img{width:34px;height:34px;background:var(--creme);border-radius:50%;padding:3px;flex:0 0 auto}
.cmb-ia-head .cmb-ia-h-t{font-weight:700;font-size:.95rem;line-height:1.1}
.cmb-ia-head .cmb-ia-h-s{font-size:.72rem;opacity:.7;margin-top:2px}
.cmb-ia-close{margin-left:auto;background:transparent;border:none;color:#fff;opacity:.8;cursor:pointer;font-size:1.5rem;line-height:1;padding:.2rem .4rem;border-radius:6px}
.cmb-ia-close:hover{opacity:1;background:rgba(255,255,255,.12)}
.cmb-ia-close:focus-visible{outline:2px solid var(--bois2);outline-offset:1px}

/* Fil de discussion */
.cmb-ia-body{flex:1;overflow-y:auto;padding:1rem;background:var(--creme);display:flex;flex-direction:column;gap:.7rem}
.cmb-ia-msg{max-width:85%;padding:.6rem .8rem;border-radius:14px;font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.cmb-ia-msg.bot{align-self:flex-start;background:#fff;color:var(--txt);border:1px solid #eadfce;border-bottom-left-radius:4px}
.cmb-ia-msg.me{align-self:flex-end;background:var(--f);color:#fff;border-bottom-right-radius:4px}
.cmb-ia-msg.err{align-self:center;background:#fdeceb;color:#a3352f;border:1px solid #f3c4c0;font-size:.8rem}
.cmb-ia-typing{align-self:flex-start;display:flex;gap:4px;padding:.7rem .9rem;background:#fff;border:1px solid #eadfce;border-radius:14px}
.cmb-ia-typing span{width:7px;height:7px;border-radius:50%;background:var(--bois);opacity:.5;animation:cmb-ia-bounce 1s infinite}
.cmb-ia-typing span:nth-child(2){animation-delay:.15s}
.cmb-ia-typing span:nth-child(3){animation-delay:.3s}
@keyframes cmb-ia-bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}

/* Barre de saisie */
.cmb-ia-foot{border-top:1px solid #eadfce;background:#fff;padding:.6rem}
.cmb-ia-cta{width:100%;margin-bottom:.5rem;background:var(--bois);color:#fff;border:none;border-radius:10px;padding:.55rem;font-size:.82rem;font-weight:600;cursor:pointer}
.cmb-ia-cta:hover{background:#b3792f}
.cmb-ia-inrow{display:flex;gap:.5rem;align-items:flex-end}
.cmb-ia-inrow textarea{flex:1;resize:none;border:1px solid #dcd3c4;border-radius:10px;padding:.55rem .7rem;font-family:inherit;font-size:.88rem;max-height:110px;color:var(--txt)}
.cmb-ia-inrow textarea:focus{outline:none;border-color:var(--bois)}
.cmb-ia-send{flex:0 0 auto;background:var(--f);color:#fff;border:none;border-radius:10px;width:42px;height:42px;cursor:pointer;font-size:1.1rem}
.cmb-ia-send:hover{background:var(--f2)}
.cmb-ia-send:disabled{opacity:.5;cursor:default}
.cmb-ia-legal{font-size:.66rem;color:var(--gris);text-align:center;margin-top:.45rem;line-height:1.3}

/* Formulaire prospect */
.cmb-ia-lead{padding:1rem;background:#fff;border-top:1px solid #eadfce;display:none;flex-direction:column;gap:.5rem}
.cmb-ia-lead.open{display:flex}
.cmb-ia-lead h4{font-size:.9rem;color:var(--f);margin:0 0 .1rem}
.cmb-ia-lead input,.cmb-ia-lead textarea{border:1px solid #dcd3c4;border-radius:9px;padding:.5rem .65rem;font-family:inherit;font-size:.85rem;color:var(--txt)}
.cmb-ia-lead input:focus,.cmb-ia-lead textarea:focus{outline:none;border-color:var(--bois)}
.cmb-ia-lead .cmb-ia-hp{position:absolute;left:-9999px;width:1px;height:1px}
.cmb-ia-lead-actions{display:flex;gap:.5rem}
.cmb-ia-lead-actions button{flex:1;border:none;border-radius:9px;padding:.55rem;font-size:.82rem;font-weight:600;cursor:pointer}
.cmb-ia-lead-send{background:var(--f);color:#fff}
.cmb-ia-lead-cancel{background:#ece7dd;color:var(--txt)}
.cmb-ia-ok{padding:1.2rem;text-align:center;color:var(--f);font-size:.9rem;font-weight:600}

@media (max-width:480px){
  .cmb-ia-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 16px)}
  .cmb-ia-fab .cmb-ia-fab-txt{display:none}
  .cmb-ia-fab{padding:.7rem}
}
@media (prefers-reduced-motion:reduce){
  .cmb-ia-panel.open,.cmb-ia-typing span{animation:none}
  .cmb-ia-fab{transition:none}
}
