/* ==========================================================================
   HJ Assistant — rule-based FAQ chatbot widget
   ========================================================================== */
.hj-chat-launcher{
  position:fixed; right:1.4rem; bottom:1.4rem; z-index:90;
  width:60px; height:60px; border-radius:50%;
  background:var(--copper); color:#fff; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(14,34,51,.28);
  font-size:1.5rem;
}
.hj-chat-launcher:hover{ background:var(--copper-dk); }
.hj-chat-launcher .badge{
  position:absolute; top:-4px; right:-4px; background:var(--aqua);
  color:#fff; font-size:.65rem; font-weight:700; border-radius:50%;
  width:18px; height:18px; display:flex; align-items:center; justify-content:center;
}

.hj-chat-panel{
  position:fixed; right:1.4rem; bottom:5.4rem; z-index:91;
  width:min(360px, calc(100vw - 2.4rem)); height:min(520px, calc(100vh - 8rem));
  background:#fff; border-radius:10px; box-shadow:0 20px 50px rgba(14,34,51,.28);
  display:flex; flex-direction:column; overflow:hidden;
  opacity:0; transform:translateY(16px) scale(.98); pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.hj-chat-panel.is-open{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }

.hj-chat-head{
  background:var(--ink); color:#fff; padding:1rem 1.2rem;
  display:flex; align-items:center; gap:.7rem;
}
.hj-chat-head .dot{ width:9px; height:9px; border-radius:50%; background:#3FD17E; }
.hj-chat-head strong{ display:block; font-size:.95rem; }
.hj-chat-head span{ font-size:.75rem; color:#9FB0B6; }
.hj-chat-close{ margin-left:auto; background:none; border:0; color:#B9C6CC; font-size:1.2rem; cursor:pointer; }
.hj-chat-close:hover{ color:#fff; }

.hj-chat-body{ flex:1; overflow-y:auto; padding:1rem 1.1rem; background:var(--paper); }
.hj-msg{ display:flex; margin-bottom:.9rem; }
.hj-msg.bot{ justify-content:flex-start; }
.hj-msg.user{ justify-content:flex-end; }
.hj-bubble{
  max-width:82%; padding:.7em .95em; border-radius:12px; font-size:.9rem; line-height:1.45;
}
.hj-msg.bot .hj-bubble{ background:#fff; border:1px solid var(--line); color:var(--text); border-bottom-left-radius:3px; }
.hj-msg.user .hj-bubble{ background:var(--aqua); color:#fff; border-bottom-right-radius:3px; }
.hj-bubble a{ color:var(--copper); font-weight:700; }

.hj-chips{ display:flex; flex-wrap:wrap; gap:.5em; padding:0 1.1rem .9rem; background:var(--paper); }
.hj-chip{
  background:#fff; border:1px solid var(--line); color:var(--ink);
  font-size:.78rem; font-weight:600; padding:.45em .8em; border-radius:20px; cursor:pointer;
}
.hj-chip:hover{ border-color:var(--copper); color:var(--copper); }

.hj-chat-input{
  display:flex; gap:.6rem; padding:.9rem; border-top:1px solid var(--line); background:#fff;
}
.hj-chat-input input{
  flex:1; border:1.5px solid var(--line); border-radius:20px; padding:.6em 1em;
  font-family:var(--font-body); font-size:.9rem;
}
.hj-chat-input input:focus{ outline:none; border-color:var(--aqua); }
.hj-chat-input button{
  background:var(--copper); color:#fff; border:0; border-radius:50%;
  width:38px; height:38px; cursor:pointer; font-size:1rem;
}
.hj-chat-input button:hover{ background:var(--copper-dk); }

@media (max-width:480px){
  .hj-chat-panel{ right:1rem; bottom:5.1rem; }
  .hj-chat-launcher{ right:1rem; bottom:1rem; }
}
