/* NEXORA — chat de soporte */
.nx-chat-fab{
  position:fixed;right:20px;bottom:20px;z-index:9990;
  width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;
  background:var(--orange,#fe6605);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px -8px rgba(254,102,5,.55);
  transition:transform .15s ease;
}
.nx-chat-fab:hover{transform:scale(1.06)}
.nx-chat-fab svg{width:26px;height:26px}
.nx-chat-fab .nx-chat-close{display:none}
.nx-chat-fab .nx-chat-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}
.nx-chat-fab.open .nx-chat-bubble{display:none}
.nx-chat-fab.open .nx-chat-photo{display:none}
.nx-chat-fab.open .nx-chat-close{display:block}
.nx-chat-panel{
  position:fixed;right:20px;bottom:90px;z-index:9990;
  width:360px;max-width:calc(100vw - 40px);height:480px;max-height:calc(100vh - 130px);
  background:#fff;border-radius:18px;overflow:hidden;display:none;flex-direction:column;
  box-shadow:0 24px 60px -18px rgba(20,17,12,.35);
  border:1px solid var(--line,#e9e1d2);
  font-family:var(--font-body,"Inter",system-ui,sans-serif);
}
.nx-chat-panel.open{display:flex}
.nx-chat-head{
  background:var(--dark,#14110c);color:#fff;padding:14px 16px;
  display:flex;align-items:center;gap:10px;
}
.nx-chat-head .nx-chat-avatar{
  width:34px;height:34px;border-radius:50%;background:var(--orange,#fe6605);
  overflow:hidden;flex-shrink:0;
}
.nx-chat-head .nx-chat-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.nx-chat-head strong{font-size:.95rem;display:block}
.nx-chat-head small{opacity:.7;font-size:.75rem}
.nx-chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--cream,#faf6ef)}
.nx-msg{max-width:82%;padding:9px 13px;border-radius:14px;font-size:.88rem;line-height:1.45;white-space:pre-wrap}
.nx-msg.bot{background:#fff;border:1px solid var(--line,#e9e1d2);align-self:flex-start;border-bottom-left-radius:4px;color:var(--ink,#161819)}
.nx-msg.user{background:var(--orange,#fe6605);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.nx-msg.typing{opacity:.65}
.nx-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px;background:var(--cream,#faf6ef)}
.nx-quick button{
  border:1px solid var(--orange,#fe6605);background:#fff;color:var(--orange-dark,#d95304);
  border-radius:999px;padding:6px 12px;font-size:.78rem;cursor:pointer;font-weight:600;
}
.nx-quick button:hover{background:var(--orange-soft,#fff1e6)}
.nx-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line,#e9e1d2);background:#fff}
.nx-chat-form input{
  flex:1;border:1px solid var(--line,#e9e1d2);border-radius:999px;padding:10px 14px;
  font-size:.88rem;outline:none;font-family:inherit;
}
.nx-chat-form input:focus{border-color:var(--orange,#fe6605)}
.nx-chat-form button{
  width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;flex-shrink:0;
  background:var(--orange,#fe6605);color:#fff;display:flex;align-items:center;justify-content:center;
}
.nx-chat-form button:disabled{opacity:.5;cursor:default}
.nx-chat-form button svg{width:18px;height:18px}
@media (max-width:420px){
  .nx-chat-panel{right:12px;bottom:84px}
  .nx-chat-fab{right:12px;bottom:12px}
}
