/* AI's Pro — Frontend Widget v5.2 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

.ais-chat-widget *{box-sizing:border-box;margin:0;padding:0;font-family:'Inter',-apple-system,sans-serif}

/* ── Launcher Button ── */
.ais-launcher{
  position:fixed;bottom:24px;z-index:99999;
  width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
  transition:transform .2s,box-shadow .2s;
  overflow:hidden;
}
.ais-launcher:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(0,0,0,.3)}
.ais-launcher img{width:38px;height:38px;object-fit:contain}
.ais-launcher-ico{font-size:26px;line-height:1}
.ais-launcher.right{right:24px}
.ais-launcher.left{left:24px}
.ais-unread-dot{
  position:absolute;top:4px;right:4px;
  width:14px;height:14px;background:#EF4444;border:2px solid #fff;
  border-radius:50%;display:none;
}

/* ── Window ── */
.ais-window{
  position:fixed;bottom:94px;z-index:99999;
  width:370px;height:580px;
  background:#fff;border-radius:20px;
  box-shadow:0 8px 40px rgba(0,0,0,.18);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s;
  transform:scale(0.9) translateY(20px);opacity:0;pointer-events:none;
}
.ais-window.right{right:24px}
.ais-window.left{left:24px}
.ais-window.open{transform:scale(1) translateY(0);opacity:1;pointer-events:all}

/* ── Header ── */
.ais-header{
  padding:14px 16px;display:flex;align-items:center;gap:11px;
  position:relative;overflow:hidden;flex-shrink:0;
}
.ais-header::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--ais-base),var(--ais-mid),var(--ais-light));
  background-size:300% 300%;
  animation:ais-grad 6s ease infinite;
}
@keyframes ais-grad{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.ais-header>*{position:relative;z-index:1}
.ais-hdr-ava{
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;
  border:2px solid rgba(255,255,255,.4);
}
.ais-hdr-ava img{width:34px;height:34px;object-fit:contain}
.ais-hdr-name{font-size:14.5px;font-weight:700;color:#fff}
.ais-hdr-status{font-size:11.5px;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:5px;margin-top:1px}
.ais-hdr-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 2px rgba(74,222,128,.3)}
.ais-close-btn{
  margin-left:auto;width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.2);border:none;cursor:pointer;
  color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;
  transition:.15s;flex-shrink:0;
}
.ais-close-btn:hover{background:rgba(255,255,255,.35)}

/* ── Messages ── */
.ais-messages{
  flex:1;overflow-y:auto;padding:14px 12px;
  display:flex;flex-direction:column;gap:10px;
  scroll-behavior:smooth;background:#f9fafb;
}
.ais-messages::-webkit-scrollbar{width:4px}
.ais-messages::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}

.ais-msg-row{display:flex;gap:7px;align-items:flex-end}
.ais-msg-row.user{flex-direction:row-reverse}
.ais-msg-ava{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:13px;
  background:#fff;border:1px solid #e5e7eb;overflow:hidden;
}
.ais-msg-ava img{width:22px;height:22px;object-fit:contain}
.ais-bubble{
  max-width:78%;padding:10px 14px;border-radius:14px;
  font-size:13.5px;line-height:1.55;position:relative;
  animation:ais-pop .2s cubic-bezier(.34,1.56,.64,1);
}
@keyframes ais-pop{from{transform:scale(0.85);opacity:0}to{transform:scale(1);opacity:1}}
.ais-bubble.bot{
  background:#fff;border:1px solid #e5e7eb;color:#111827;
  border-radius:14px 14px 14px 3px;
}
.ais-bubble.user{
  color:#fff;border-radius:14px 14px 3px 14px;
}
.ais-msg-time{font-size:10px;color:#d1d5db;align-self:flex-end;padding-bottom:2px}

/* TTS button */
.ais-tts-btn{
  background:none;border:none;cursor:pointer;
  font-size:13px;color:#9ca3af;padding:3px 5px;margin-top:4px;
  display:block;transition:.15s;
}
.ais-tts-btn:hover{color:#D97706}

/* ── Typing indicator ── */
.ais-typing{display:flex;gap:4px;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:14px 14px 14px 3px;width:60px}
.ais-typing span{width:6px;height:6px;background:#d1d5db;border-radius:50%;animation:ais-bounce .9s infinite}
.ais-typing span:nth-child(2){animation-delay:.15s}
.ais-typing span:nth-child(3){animation-delay:.3s}
@keyframes ais-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}

/* ── Quick Replies ── */
.ais-quick-wrap{padding:8px 12px;display:flex;gap:7px;flex-wrap:wrap;flex-shrink:0;background:#fff;border-top:1px solid #f3f4f6}
.ais-quick-btn{
  background:#FFF7ED;color:#D97706;border:1.5px solid #FCD34D;
  border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600;
  cursor:pointer;font-family:'Inter',sans-serif;transition:.15s;white-space:nowrap;
}
.ais-quick-btn:hover{background:#FEF3C7}

/* ── Input area ── */
.ais-input-area{
  padding:12px;border-top:1px solid #f3f4f6;background:#fff;
  display:flex;gap:8px;align-items:flex-end;flex-shrink:0;
}
.ais-text-input{
  flex:1;border:1.5px solid #e5e7eb;border-radius:12px;padding:9px 12px;
  font-size:13.5px;color:#111827;font-family:'Inter',sans-serif;
  outline:none;resize:none;transition:.15s;max-height:100px;line-height:1.5;
  background:#f9fafb;
}
.ais-text-input:focus{border-color:#D97706;background:#fff;box-shadow:0 0 0 3px rgba(217,119,6,.08)}
.ais-send-btn{
  width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;transition:.15s;flex-shrink:0;color:#fff;
}
.ais-send-btn:hover{filter:brightness(1.1)}
.ais-mic-btn{
  width:36px;height:36px;border-radius:50%;border:1.5px solid #e5e7eb;
  background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:16px;transition:.15s;flex-shrink:0;
}
.ais-mic-btn:hover{background:#FFF7ED;border-color:#D97706}
.ais-mic-btn.recording{background:#FEF2F2;border-color:#EF4444;animation:ais-pulse 1s infinite}
@keyframes ais-pulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.3)}50%{box-shadow:0 0 0 6px rgba(239,68,68,0)}}

/* ── Human Handoff ── */
.ais-handoff-btn{
  display:flex;align-items:center;gap:7px;
  background:#EFF6FF;color:#1D4ED8;border:1.5px solid #BFDBFE;
  border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:600;
  cursor:pointer;font-family:'Inter',sans-serif;transition:.15s;
  margin:8px 12px 4px;
}
.ais-handoff-btn:hover{background:#DBEAFE}
.ais-cancel-btn{
  display:flex;align-items:center;gap:7px;
  background:#FEF2F2;color:#DC2626;border:1.5px solid #FECACA;
  border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:600;
  cursor:pointer;font-family:'Inter',sans-serif;margin:4px 12px;
}

/* ── Rating ── */
.ais-rating-wrap{padding:12px;background:#FFFBEB;border-top:1px solid #FCD34D;text-align:center;flex-shrink:0}
.ais-rating-title{font-size:13px;font-weight:600;color:#92400E;margin-bottom:8px}
.ais-stars{display:flex;justify-content:center;gap:8px}
.ais-star{font-size:26px;cursor:pointer;transition:.15s;opacity:.4}
.ais-star:hover,.ais-star.active{opacity:1;transform:scale(1.2)}

/* ── Footer ── */
.ais-footer{padding:7px;text-align:center;font-size:10.5px;color:#d1d5db;background:#fff;flex-shrink:0;border-top:1px solid #f3f4f6}
.ais-footer a{color:#D97706;text-decoration:none}

/* ── Responsive ── */
@media(max-width:430px){
  .ais-window{width:calc(100vw - 20px);right:10px!important;left:10px!important;bottom:80px}
  .ais-launcher.right{right:14px}
  .ais-launcher.left{left:14px}
}
