/* ============================================================
   Tais Brothers - AI Assistant Widget
   - Floating robot avatar at bottom of page
   - Slide-up chat panel with markdown-lite rendering
   - Adaptive to all 4 themes
   ============================================================ */

/* ---- Floating button ---- */
.tais-bot-launcher{
  position:fixed;
  bottom:24px;
  inset-inline-end:24px;   /* respects RTL */
  right:24px;              /* fallback for older browsers */
  left:auto;
  z-index:9990;
  width:68px; height:68px;
  border-radius:50%;
  background:var(--grad);
  color:#fff;
  border:none;
  cursor:pointer;
  display:flex !important; align-items:center; justify-content:center;
  font-size:1.85rem;
  box-shadow:0 10px 30px rgba(245,158,11,.45), 0 0 0 0 rgba(245,158,11,.55);
  transition: transform .25s ease, box-shadow .25s ease;
  animation: taisBotPulse 2.4s ease-in-out infinite;
  overflow:hidden;
  visibility:visible !important;
  opacity:1 !important;
}
html[dir="rtl"] .tais-bot-launcher{
  right:auto;
  left:24px;
}
.tais-bot-launcher::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(135deg, rgba(255,255,255,.25), transparent 60%);
  pointer-events:none;
}
.tais-bot-launcher:hover{
  transform:scale(1.08);
  box-shadow:0 14px 36px rgba(245,158,11,.55), 0 0 0 0 rgba(245,158,11,.7);
}
.tais-bot-launcher.open{
  /* dim background + rotate */
  background:var(--secondary);
  animation:none;
  transform:scale(.95);
}
.tais-bot-launcher .bot-face{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
}
.tais-bot-launcher .bot-face i,
.tais-bot-launcher .bot-face img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));}
.bot-avatar-img{width:auto;height:auto;max-width:90%;max-height:90%;object-fit:contain;display:block}
.tais-bot-launcher .bot-badge{
  position:absolute;top:-2px;inset-inline-end:-2px;
  background:#ef4444;color:#fff;
  font-size:.7rem;font-weight:700;
  min-width:20px;height:20px;padding:0 5px;
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;
  z-index:3;
  animation:botBadgePop 2.4s ease-in-out infinite;
}
.tais-bot-launcher .bot-label{
  position:absolute;
  bottom:78px;
  inset-inline-end:0;
  background:var(--secondary);
  color:#fff;
  padding:.5rem .9rem;
  border-radius:12px;
  font-size:.85rem;font-weight:700;
  white-space:nowrap;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  opacity:0;transform:translateY(8px);
  transition: all .3s ease;
  pointer-events:none;
}
.tais-bot-launcher .bot-label::after{
  content:'';position:absolute;bottom:-6px;inset-inline-end:18px;
  border:6px solid transparent;border-top-color:var(--secondary);
}
.tais-bot-launcher:hover .bot-label{opacity:1;transform:translateY(0)}

@keyframes taisBotPulse{
  0%,100%{ box-shadow:0 10px 30px rgba(245,158,11,.45), 0 0 0 0 rgba(245,158,11,.55); }
  50%   { box-shadow:0 10px 30px rgba(245,158,11,.45), 0 0 0 18px rgba(245,158,11,0); }
}
@keyframes botBadgePop{
  0%,100%{ transform:scale(1); }
  50%   { transform:scale(1.18); }
}

/* ---- Chat panel ---- */
.tais-bot-panel{
  position:fixed;
  bottom:110px;
  inset-inline-end:24px;
  z-index:9991;
  width:380px;
  max-width:calc(100vw - 32px);
  height:560px;
  max-height:calc(100vh - 140px);
  background:var(--card, #fff);
  border-radius:20px;
  box-shadow:0 25px 60px -10px rgba(0,0,0,.35), 0 0 0 1px var(--border);
  display:flex;flex-direction:column;
  overflow:hidden;
  transform:translateY(20px) scale(.95);
  opacity:0;visibility:hidden;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  color:var(--text);
}
.tais-bot-panel.open{
  transform:translateY(0) scale(1);
  opacity:1;visibility:visible;
}
@media (max-width:480px){
  .tais-bot-panel{
    bottom:0;inset-inline-end:0;
    width:100vw;height:100vh;
    max-width:100vw;max-height:100vh;
    border-radius:0;
  }
}

/* ---- Header ---- */
.tais-bot-header{
  background:var(--grad);
  color:#fff;
  padding:1rem 1.2rem;
  display:flex;align-items:center;gap:.8rem;
  position:relative;
}
.tais-bot-header::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.18), transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(0,0,0,.18), transparent 50%);
  pointer-events:none;
}
.tais-bot-header .bot-avatar{
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.95);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:var(--primary);
  position:relative;z-index:2;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  overflow:hidden;
}
.tais-bot-header .bot-avatar img{
  width:42px;height:42px;object-fit:contain;
}
.tais-bot-header .bot-avatar .blink{
  position:absolute;top:8px;right:8px;
  width:10px;height:10px;background:#22c55e;border-radius:50%;
  border:2px solid #fff;
  animation:botBlink 1.6s ease-in-out infinite;
}
@keyframes botBlink{0%,100%{opacity:1}50%{opacity:.4}}
.tais-bot-header .bot-info{position:relative;z-index:2;flex:1;min-width:0}
.tais-bot-header .bot-name{font-weight:800;font-size:1.05rem;line-height:1.2}
.tais-bot-header .bot-status{font-size:.78rem;opacity:.92;display:flex;align-items:center;gap:.3rem}
.tais-bot-header .bot-status::before{
  content:'';width:6px;height:6px;background:#22c55e;border-radius:50%;
  display:inline-block;animation:botBlink 1.6s infinite;
}
.tais-bot-header .bot-actions{display:flex;gap:.3rem;position:relative;z-index:2}
.tais-bot-header .bot-actions button{
  width:34px;height:34px;border-radius:50%;border:none;
  background:rgba(255,255,255,.15);color:#fff;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;
  font-size:.9rem;
}
.tais-bot-header .bot-actions button:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}

/* ---- Body / Messages ---- */
.tais-bot-body{
  flex:1;overflow-y:auto;
  padding:1rem;
  background:var(--bg);
  display:flex;flex-direction:column;gap:.7rem;
  scrollbar-width:thin;
}
.tais-bot-body::-webkit-scrollbar{width:6px}
.tais-bot-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.tais-bot-body::-webkit-scrollbar-track{background:transparent}

.tais-msg{
  max-width:85%;
  padding:.7rem 1rem;
  border-radius:18px;
  line-height:1.55;
  font-size:.92rem;
  word-wrap:break-word;
  animation:msgIn .3s ease;
  position:relative;
}
@keyframes msgIn{
  from{opacity:0;transform:translateY(6px)}
  to  {opacity:1;transform:translateY(0)}
}
.tais-msg.bot{
  align-self:flex-start;
  background:var(--card, #fff);
  color:var(--text);
  border:1px solid var(--border);
  border-bottom-left-radius:4px;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.tais-msg.user{
  align-self:flex-end;
  background:var(--grad);
  color:#fff;
  border-bottom-right-radius:4px;
  box-shadow:0 4px 12px rgba(245,158,11,.25);
}
body.rtl .tais-msg.bot{border-bottom-left-radius:18px;border-bottom-right-radius:4px}
body.rtl .tais-msg.user{border-bottom-right-radius:18px;border-bottom-left-radius:4px}
.tais-msg .msg-time{
  display:block;font-size:.7rem;opacity:.6;margin-top:.3rem;text-align:inherit;
}
.tais-msg.user .msg-time{color:rgba(255,255,255,.85)}

/* Markdown-lite */
.tais-msg strong{font-weight:800;color:inherit}
.tais-msg.bot strong{color:var(--primary-dark)}
.tais-msg code{background:rgba(0,0,0,.08);padding:.1rem .4rem;border-radius:4px;font-size:.85em;font-family:monospace}
.tais-msg.bot code{background:var(--bg)}
.tais-msg a{color:var(--primary);text-decoration:underline;font-weight:600}
.tais-msg.user a{color:#fff;text-decoration:underline}

/* Typing indicator */
.tais-typing{
  display:inline-flex;gap:.3rem;padding:.5rem 1rem;
  background:var(--card);border-radius:18px;
  border-bottom-left-radius:4px;
  border:1px solid var(--border);
  align-self:flex-start;
}
.tais-typing span{
  width:8px;height:8px;background:var(--primary);border-radius:50%;
  animation:typing 1.4s infinite ease-in-out;
}
.tais-typing span:nth-child(2){animation-delay:.2s}
.tais-typing span:nth-child(3){animation-delay:.4s}
@keyframes typing{
  0%,100%{opacity:.3;transform:scale(.8)}
  50%{opacity:1;transform:scale(1.2)}
}

/* Card (product/service/project) */
.tais-cards{
  display:flex;flex-direction:column;gap:.5rem;
  max-width:90%;
  align-self:flex-start;
  animation:msgIn .3s ease;
}
.tais-card{
  display:flex;gap:.7rem;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:.7rem;
  text-decoration:none;
  color:var(--text);
  transition:all .2s;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.tais-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.1);border-color:var(--primary)}
.tais-card .card-img{
  width:60px;height:60px;border-radius:8px;
  background:var(--grad-soft);
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);font-size:1.4rem;
  overflow:hidden;
}
.tais-card .card-img img{width:100%;height:100%;object-fit:cover}
.tais-card .card-body{flex:1;min-width:0}
.tais-card .card-title{font-weight:700;font-size:.9rem;margin-bottom:.2rem;line-height:1.3}
.tais-card .card-desc{font-size:.78rem;color:var(--text-soft, var(--muted));line-height:1.4;max-height:2.8em;overflow:hidden}
.tais-card .card-meta{font-size:.7rem;color:var(--primary);font-weight:600;margin-top:.2rem}

/* Quick suggestion chips */
.tais-suggestions{
  display:flex;flex-wrap:wrap;gap:.4rem;
  padding:.6rem .8rem 0;
  background:var(--bg);
}
.tais-suggestions .chip{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:.45rem .85rem;
  font-size:.8rem;
  color:var(--text);
  cursor:pointer;
  transition:all .2s;
  display:inline-flex;align-items:center;gap:.3rem;
  font-weight:600;
}
.tais-suggestions .chip i{color:var(--primary);font-size:.8rem}
.tais-suggestions .chip:hover{background:var(--grad-soft);border-color:var(--primary);transform:translateY(-1px)}

/* Study report box */
.tais-study{
  background:var(--card);
  border:2px solid var(--primary);
  border-radius:14px;
  padding:1rem;
  margin-top:.5rem;
  font-size:.88rem;
  align-self:flex-start;
  max-width:90%;
  animation:msgIn .3s ease;
}
.tais-study .study-head{
  font-weight:800;color:var(--primary);margin-bottom:.6rem;
  display:flex;align-items:center;gap:.4rem;font-size:.95rem;
  border-bottom:1px solid var(--border);padding-bottom:.5rem;
}
.tais-study .study-row{
  display:flex;justify-content:space-between;padding:.4rem 0;
  border-bottom:1px dashed var(--border);
}
.tais-study .study-row:last-child{border-bottom:none}
.tais-study .study-row .lbl{color:var(--text-soft, var(--muted))}
.tais-study .study-row .val{font-weight:800;color:var(--secondary)}
.tais-study .study-total{
  margin-top:.7rem;padding-top:.7rem;
  border-top:2px solid var(--primary);
  font-weight:800;text-align:center;
  background:var(--grad-soft);
  border-radius:8px;padding:.7rem;
  color:var(--primary-dark);
  font-size:1rem;
}

/* Action buttons */
.tais-actions{
  display:flex;flex-wrap:wrap;gap:.4rem;
  margin-top:.5rem;align-self:flex-start;max-width:90%;
  animation:msgIn .3s ease;
}
.tais-actions .btn-act{
  background:var(--card);
  border:1px solid var(--border);
  color:var(--text);
  padding:.5rem .9rem;
  border-radius:10px;
  font-size:.85rem;font-weight:600;
  cursor:pointer;
  transition:all .2s;
  text-decoration:none;
  display:inline-flex;align-items:center;gap:.3rem;
}
.tais-actions .btn-act:hover{background:var(--grad-soft);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}
.tais-actions .btn-act.primary{background:var(--grad);color:#fff;border-color:transparent}
.tais-actions .btn-act.primary:hover{box-shadow:0 6px 18px rgba(245,158,11,.35)}
.tais-actions .btn-act.success{background:#16a34a;color:#fff;border-color:transparent}
.tais-actions .btn-act.success:hover{background:#15803d}

/* Input area */
.tais-bot-input{
  border-top:1px solid var(--border);
  background:var(--card);
  padding:.6rem .8rem;
  display:flex;gap:.5rem;align-items:flex-end;
}
.tais-bot-input textarea{
  flex:1;min-height:42px;max-height:120px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:.55rem .8rem;
  font:inherit;font-size:.9rem;
  resize:none;
  background:var(--bg);
  color:var(--text);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.tais-bot-input textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent)}
.tais-bot-input .send-btn{
  background:var(--grad);
  color:#fff;
  border:none;
  width:42px;height:42px;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  font-size:1rem;
  transition:all .2s;
  flex-shrink:0;
}
.tais-bot-input .send-btn:hover{transform:scale(1.05);box-shadow:0 6px 18px rgba(245,158,11,.35)}
.tais-bot-input .send-btn:disabled{opacity:.5;cursor:not-allowed}

/* Loading state */
.tais-bot-panel.loading .tais-bot-input .send-btn{pointer-events:none}
.tais-bot-panel.loading .tais-bot-input textarea{opacity:.6}

/* Empty state */
.tais-empty{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:2rem 1rem;color:var(--text-soft, var(--muted));
}
.tais-empty .icon{font-size:3rem;background:var(--grad-soft);color:var(--primary);
  width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;}
.tais-empty h4{margin:.3rem 0;color:var(--secondary)}

/* Dark theme adjustments */
body[data-theme="deep-space"] .tais-bot-panel{
  background:#1e293b;border-color:#334155;color:#e2e8f0;
}
body[data-theme="deep-space"] .tais-msg.bot{
  background:#0f172a;border-color:#334155;color:#e2e8f0;
}
body[data-theme="deep-space"] .tais-card{
  background:#0f172a;border-color:#334155;color:#e2e8f0;
}
body[data-theme="deep-space"] .tais-suggestions .chip{
  background:#0f172a;border-color:#334155;color:#e2e8f0;
}
body[data-theme="deep-space"] .tais-bot-input{background:#0f172a;border-color:#334155}
body[data-theme="deep-space"] .tais-bot-input textarea{background:#1e293b;border-color:#334155;color:#e2e8f0}
body[data-theme="deep-space"] .tais-typing{background:#0f172a;border-color:#334155}
body[data-theme="deep-space"] .tais-study{background:#0f172a;border-color:#06b6d4}
body[data-theme="deep-space"] .tais-actions .btn-act{background:#0f172a;border-color:#334155;color:#e2e8f0}

/* Mobile responsive */
@media (max-width: 768px){
  .tais-bot-launcher{bottom:16px;inset-inline-end:16px;width:60px;height:60px;font-size:1.6rem}
  .tais-bot-launcher .bot-label{display:none}
}
