/* ===== NEXIRA – verejný chat widget ===== */
.nx-chat-fab{
  position:fixed; right:22px; bottom:22px; z-index:1200;
  width:60px; height:60px; border-radius:50%; border:0; cursor:pointer;
  background:var(--accent,linear-gradient(135deg,#2b6fff,#19c3c3));
  color:#fff; font-size:26px; line-height:1; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px rgba(43,111,255,.42); transition:transform .18s ease, box-shadow .18s ease;
}
.nx-chat-fab:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 14px 34px rgba(43,111,255,.5); }
.nx-chat-fab.hidden{ display:none; }

.nx-chat-panel{
  position:fixed; right:22px; bottom:22px; z-index:1201;
  width:min(380px, calc(100vw - 32px)); height:min(560px, calc(100vh - 100px));
  background:var(--card,#141a2c); color:var(--text,#e8ecf6);
  border:1px solid var(--line,rgba(255,255,255,.08)); border-radius:18px;
  display:flex; flex-direction:column; overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  /* slide-up "downUP" animácia – pomaly vypláva zospodu nahor */
  opacity:0; transform:translateY(100%); pointer-events:none;
  transition:opacity .45s ease, transform .55s cubic-bezier(.22,.61,.36,1);
}
.nx-chat-panel.open{ opacity:1; transform:translateY(0); pointer-events:auto; }

.nx-chat-head{
  display:flex; align-items:center; gap:10px; padding:14px 16px;
  background:var(--accent,linear-gradient(135deg,#2b6fff,#19c3c3)); color:#fff;
}
.nx-chat-head .nx-chat-title{ font-weight:700; font-size:.98rem; }
.nx-chat-head .nx-chat-sub{ font-size:.74rem; opacity:.85; }
.nx-chat-head .nx-chat-close{
  margin-left:auto; background:rgba(255,255,255,.18); border:0; color:#fff;
  width:30px; height:30px; border-radius:8px; cursor:pointer; font-size:18px; line-height:1;
}
.nx-chat-head .nx-chat-close:hover{ background:rgba(255,255,255,.3); }

.nx-chat-body{
  flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px;
  background:var(--bg-alt,#0f1424);
}
.nx-msg{ max-width:85%; padding:10px 13px; border-radius:14px; font-size:.9rem; line-height:1.45; white-space:pre-wrap; word-wrap:break-word; }
.nx-msg.bot{ align-self:flex-start; background:var(--card-hover,#1a2238); border:1px solid var(--line,rgba(255,255,255,.08)); border-bottom-left-radius:4px; }
.nx-msg.me{ align-self:flex-end; background:var(--blue,#2b6fff); color:#fff; border-bottom-right-radius:4px; }
.nx-msg a{ color:var(--teal,#19c3c3); }
.nx-msg.typing{ color:var(--muted,#9aa6c0); font-style:italic; }

.nx-chat-foot{ display:flex; gap:8px; padding:12px; border-top:1px solid var(--line,rgba(255,255,255,.08)); background:var(--card,#141a2c); }
.nx-chat-foot textarea{
  flex:1; resize:none; max-height:90px; min-height:42px; padding:10px 12px; border-radius:12px;
  border:1px solid var(--line,rgba(255,255,255,.12)); background:var(--bg,#0a0d16); color:var(--text,#e8ecf6);
  font:inherit; font-size:.9rem; outline:none;
}
.nx-chat-foot textarea:focus{ border-color:var(--blue,#2b6fff); }
.nx-chat-foot button{
  width:44px; border:0; border-radius:12px; cursor:pointer; color:#fff; font-size:18px;
  background:var(--accent,linear-gradient(135deg,#2b6fff,#19c3c3));
}
.nx-chat-foot button:disabled{ opacity:.5; cursor:default; }
