/* ===== DitoKa FAQ Chatbot Widget ===== */
#dk-chat-launcher{
  position:fixed;
  bottom:24px; right:24px;
  z-index:998;
  width:60px; height:60px;
  border-radius:50%;
  background:linear-gradient(145deg,var(--brass-light),var(--brass));
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow:0 14px 34px -10px rgba(20,17,12,0.45);
  border:none;
  transition:transform .25s ease, box-shadow .25s ease;
}
#dk-chat-launcher:hover{transform:translateY(-3px) scale(1.04); box-shadow:0 18px 40px -10px rgba(20,17,12,0.5);}
#dk-chat-launcher svg{width:26px; height:26px; stroke:#1B1917; fill:none; stroke-width:2;}
#dk-chat-launcher .dk-close-icon{display:none;}
#dk-chat-launcher.open .dk-chat-icon{display:none;}
#dk-chat-launcher.open .dk-close-icon{display:block;}
#dk-chat-launcher .dk-ping{
  position:absolute; top:-4px; right:-4px;
  width:16px; height:16px; border-radius:50%;
  background:#D1483F; border:2px solid var(--cream-2);
}
#dk-chat-launcher .dk-ping.hide{display:none;}

#dk-chat-panel{
  position:fixed;
  bottom:96px; right:24px;
  z-index:998;
  width:360px;
  max-width:calc(100vw - 32px);
  height:520px;
  max-height:calc(100vh - 140px);
  background:var(--cream-2);
  border-radius:20px;
  box-shadow:0 30px 70px -20px rgba(20,17,12,0.45);
  border:1px solid var(--line-dark);
  display:flex; flex-direction:column;
  overflow:hidden;
  opacity:0; transform:translateY(16px) scale(0.98);
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
  font-family:'Inter',sans-serif;
}
#dk-chat-panel.open{
  opacity:1; transform:translateY(0) scale(1);
  pointer-events:auto;
}

.dk-chat-header{
  background:var(--charcoal);
  color:#fff;
  padding:18px 20px;
  display:flex; align-items:center; gap:12px;
  flex:none;
}
.dk-chat-avatar{
  width:38px; height:38px; border-radius:50%; flex:none;
  background:linear-gradient(145deg,var(--brass-light),var(--brass));
  display:flex; align-items:center; justify-content:center;
  color:#1B1917; font-family:'Fraunces',serif; font-weight:700; font-size:15px;
}
.dk-chat-header-text{flex:1; min-width:0;}
.dk-chat-header-text strong{display:block; font-family:'Fraunces',serif; font-size:15px; font-weight:600;}
.dk-chat-header-text span{display:flex; align-items:center; gap:5px; font-size:11.5px; color:rgba(255,255,255,0.6); margin-top:1px;}
.dk-chat-header-text span::before{content:''; width:6px; height:6px; border-radius:50%; background:#5DBE7A; display:inline-block;}

.dk-chat-messages{
  flex:1; overflow-y:auto;
  padding:18px 16px;
  display:flex; flex-direction:column; gap:12px;
  background:var(--cream-2);
}
.dk-msg{max-width:84%; font-size:13.5px; line-height:1.55;}
.dk-msg-bot{align-self:flex-start;}
.dk-msg-user{align-self:flex-end;}
.dk-msg-bubble{
  padding:10px 14px; border-radius:14px;
}
.dk-msg-bot .dk-msg-bubble{
  background:var(--paper);
  border-bottom-left-radius:4px;
  color:var(--ink);
}
.dk-msg-user .dk-msg-bubble{
  background:var(--charcoal);
  color:#fff;
  border-bottom-right-radius:4px;
}
.dk-msg-bubble a{color:var(--brass); font-weight:600; text-decoration:underline;}
.dk-msg-user .dk-msg-bubble a{color:var(--brass-light);}

.dk-typing{align-self:flex-start; display:flex; gap:4px; padding:12px 14px; background:var(--paper); border-radius:14px; border-bottom-left-radius:4px;}
.dk-typing span{width:6px; height:6px; border-radius:50%; background:var(--muted); animation:dkTyping 1.1s infinite ease-in-out;}
.dk-typing span:nth-child(2){animation-delay:.15s;}
.dk-typing span:nth-child(3){animation-delay:.3s;}
@keyframes dkTyping{0%,60%,100%{opacity:.3; transform:translateY(0);} 30%{opacity:1; transform:translateY(-3px);}}

.dk-chips{
  display:flex; flex-wrap:wrap; gap:8px;
  padding:0 16px 14px;
  flex:none;
  background:var(--cream-2);
}
.dk-chip{
  font-size:12px; font-weight:600;
  padding:8px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line-dark);
  color:var(--ink);
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
  white-space:nowrap;
}
.dk-chip:hover{background:var(--sage-light); border-color:var(--sage);}

.dk-chat-input-row{
  flex:none;
  display:flex; align-items:center; gap:8px;
  padding:12px 14px;
  border-top:1px solid var(--line-dark);
  background:#fff;
}
.dk-chat-input-row input{
  flex:1;
  border:1.5px solid var(--line-dark);
  border-radius:999px;
  padding:11px 16px;
  font-family:'Inter',sans-serif;
  font-size:13.5px;
  color:var(--ink);
  background:var(--cream-2);
}
.dk-chat-input-row input:focus{outline:none; border-color:var(--brass);}
.dk-chat-send{
  flex:none;
  width:38px; height:38px; border-radius:50%;
  background:var(--brass);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background .2s ease;
}
.dk-chat-send:hover{background:var(--brass-light);}
.dk-chat-send svg{width:16px; height:16px; stroke:#1B1917; fill:none; stroke-width:2.4;}

@media (max-width:480px){
  #dk-chat-panel{
    right:12px; left:12px; bottom:88px;
    width:auto; max-width:none;
    height:calc(100vh - 160px);
  }
  #dk-chat-launcher{right:16px; bottom:16px;}
}
