/* Listing Studio chat bot widget */
#ls-bot{position:fixed;right:20px;bottom:20px;z-index:9999;font-family:'Inter',system-ui,sans-serif}

#ls-bot-toggle{
  width:60px;height:60px;border:none;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,#2DD4BF,#0EA5A0);color:#062B2A;
  box-shadow:0 12px 30px rgba(14,165,160,.45);
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
#ls-bot-toggle:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 38px rgba(14,165,160,.55)}
#ls-bot-toggle .ls-bot-toggle-close{display:none}
#ls-bot.open #ls-bot-toggle .ls-bot-toggle-open{display:none}
#ls-bot.open #ls-bot-toggle .ls-bot-toggle-close{display:flex}
#ls-bot.open #ls-bot-toggle{background:#0A2540;color:#fff}

#ls-bot-panel{
  position:absolute;right:0;bottom:74px;width:370px;max-width:calc(100vw - 40px);
  height:560px;max-height:calc(100vh - 120px);
  background:#fff;border-radius:20px;overflow:hidden;
  box-shadow:0 30px 80px rgba(10,37,64,.28);
  display:flex;flex-direction:column;
  opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
#ls-bot.open #ls-bot-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}

.ls-bot-head{
  background:linear-gradient(135deg,#0A2540,#16395E);color:#fff;
  padding:16px 18px;display:flex;align-items:center;gap:12px;flex-shrink:0;
}
.ls-bot-head-avatar{
  width:40px;height:40px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,#2DD4BF,#0EA5A0);color:#062B2A;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;
}
.ls-bot-head-txt{display:flex;flex-direction:column;line-height:1.2}
.ls-bot-head-txt strong{font-size:15px}
.ls-bot-head-txt span{font-size:12px;opacity:.7;margin-top:2px}

.ls-bot-body{
  flex:1;overflow-y:auto;padding:18px 16px;background:#F5F8FB;
  display:flex;flex-direction:column;gap:10px;
}
.ls-msg{
  max-width:82%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.45;
  white-space:pre-line;word-wrap:break-word;
  animation:ls-in .25s ease;
}
@keyframes ls-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ls-bot-msg{align-self:flex-start;background:#fff;color:#0B1B2B;border:1px solid #E5EAF0;border-bottom-left-radius:5px}
.ls-user-msg{align-self:flex-end;background:linear-gradient(135deg,#2DD4BF,#0EA5A0);color:#062B2A;font-weight:600;border-bottom-right-radius:5px}

.ls-video{padding:6px;max-width:92%}
.ls-video video{width:100%;border-radius:12px;display:block}

.ls-typing{display:flex;gap:4px;align-items:center;padding:14px}
.ls-typing span{width:7px;height:7px;border-radius:50%;background:#9db2c4;animation:ls-bounce 1.1s infinite}
.ls-typing span:nth-child(2){animation-delay:.15s}
.ls-typing span:nth-child(3){animation-delay:.3s}
@keyframes ls-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

.ls-opts{display:flex;flex-direction:column;gap:8px;margin-top:2px;align-self:stretch}
.ls-opt{
  display:block;text-align:left;text-decoration:none;cursor:pointer;
  background:#fff;color:#0A2540;border:1.5px solid #2DD4BF;
  border-radius:12px;padding:10px 14px;font-size:13.5px;font-weight:600;font-family:inherit;
  transition:background .15s ease, transform .1s ease;
}
.ls-opt:hover{background:#EAFBF8;transform:translateX(2px)}
.ls-opt-primary{background:linear-gradient(135deg,#2DD4BF,#0EA5A0);color:#062B2A;border-color:transparent}
.ls-opt-primary:hover{background:linear-gradient(135deg,#2DD4BF,#0EA5A0);filter:brightness(1.05)}

.ls-bot-foot{
  padding:8px;text-align:center;font-size:11px;color:#9db2c4;background:#fff;
  border-top:1px solid #E5EAF0;flex-shrink:0;
}

@media (max-width:420px){
  #ls-bot{right:14px;bottom:14px}
  #ls-bot-panel{bottom:70px}
}
