/* ── Chatbot widget ────────────────────────────── */
.nhf-chatbot-widget{
  position:fixed;right:18px;bottom:18px;
  z-index:1200;font-family:inherit;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px;
}
.nhf-chatbot-toggle{
  display:inline-flex;align-items:center;gap:8px;
  border:0;border-radius:999px;
  background:#00b36b;color:#fff;
  padding:12px 20px;font-size:14px;font-weight:700;
  box-shadow:0 6px 24px rgba(0,179,107,.3);
  cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;
  white-space:nowrap;font-family:inherit;
}
.nhf-chatbot-toggle:hover{
  background:#047857;transform:translateY(-2px);
  box-shadow:0 10px 32px rgba(0,179,107,.4);
}
.nhf-chatbot-toggle:focus-visible{outline:3px solid rgba(0,179,107,.4);outline-offset:2px}
.nhf-chatbot-panel{
  width:min(360px,calc(100vw - 28px));
  border:1px solid #e2e8f0;border-radius:18px;
  background:#fff;
  box-shadow:0 16px 48px rgba(15,23,42,.13);
  overflow:hidden;
}
.nhf-chatbot-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;
  background:linear-gradient(135deg,#047857,#00b36b);color:#fff;
}
.nhf-chatbot-header span{font-size:14px;font-weight:700}
.nhf-chatbot-close{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.18);border:0;
  color:#fff;font-size:16px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s;font-family:inherit;
}
.nhf-chatbot-close:hover{background:rgba(255,255,255,.32)}
.nhf-chatbot-messages{
  max-height:300px;overflow-y:auto;
  padding:14px;display:flex;flex-direction:column;gap:8px;
}
.nhf-chatbot-message{
  padding:9px 13px;border-radius:12px;
  line-height:1.5;font-size:13.5px;max-width:88%;
}
.nhf-chatbot-message--bot{
  background:#f1f5f9;color:#0f172a;
  border-radius:4px 12px 12px 12px;align-self:flex-start;
}
.nhf-chatbot-message--user{
  background:#ecfdf5;color:#065f46;
  border-radius:12px 12px 4px 12px;align-self:flex-end;
}
.nhf-chatbot-typing{
  display:flex;align-items:center;gap:4px;
  padding:9px 13px;background:#f1f5f9;
  border-radius:4px 12px 12px 12px;align-self:flex-start;
}
.nhf-chatbot-typing span{
  width:6px;height:6px;border-radius:50%;
  background:#94a3b8;
  animation:nhf-typing-dot 1.2s infinite ease-in-out;
}
.nhf-chatbot-typing span:nth-child(2){animation-delay:.2s}
.nhf-chatbot-typing span:nth-child(3){animation-delay:.4s}
@keyframes nhf-typing-dot{
  0%,100%{transform:translateY(0);opacity:.4}
  50%{transform:translateY(-4px);opacity:1}
}
.nhf-chatbot-cta{
  display:inline-flex;align-self:flex-start;
  margin-top:4px;padding:7px 13px;
  border-radius:8px;background:#00b36b;
  color:#fff;text-decoration:none;font-size:13px;font-weight:700;
  transition:background .15s;
}
.nhf-chatbot-cta:hover{background:#047857;color:#fff}

/* ── Formulaire de saisie ── */
.nhf-chatbot-form{
  display:flex;align-items:center;gap:0;
  border-top:1px solid #e2e8f0;
  background:#f8fafc;
}
.nhf-chatbot-form input{
  flex:1;min-width:0;
  border:0;background:transparent;
  font-size:13.5px;font-family:inherit;
  color:#0f172a;outline:0;
  padding:12px 14px;
}
.nhf-chatbot-form input::placeholder{color:#9aa5b4}

/* Bouton envoi — loupe/flèche minimaliste, vert cohérent */
.nhf-chatbot-form button[type=submit]{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;flex-shrink:0;
  border:0;
  background:transparent;
  color:#00b36b;
  cursor:pointer;
  border-radius:0;
  transition:color .15s,background .15s;
}
.nhf-chatbot-form button[type=submit]:hover{
  color:#047857;
  background:rgba(0,179,107,.08);
}
.nhf-chatbot-form button[type=submit]:focus-visible{
  outline:2px solid rgba(0,179,107,.4);outline-offset:0;
}
.nhf-chatbot-form button[type=submit] svg{
  width:18px;height:18px;
}

@media(max-width:640px){
  .nhf-chatbot-widget{right:10px;bottom:10px}
  .nhf-chatbot-panel{width:calc(100vw - 20px)}
}
