/* CuraWell FAQ Chatbot */
#cw-chat *{box-sizing:border-box}
#cw-chat{position:fixed;right:24px;bottom:24px;z-index:99999;
  font-family:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* ---------- Launcher ---------- */
#cw-chat-toggle{position:relative;display:flex;align-items:center;gap:10px;border:0;cursor:pointer;
  background:linear-gradient(135deg,#bcd61a 0%,#9db408 100%);color:#16240a;font-weight:800;font-size:16px;
  padding:15px 24px;border-radius:999px;
  box-shadow:0 10px 28px rgba(124,140,0,.45),0 2px 6px rgba(0,0,0,.15);
  transition:transform .18s ease,box-shadow .18s ease}
#cw-chat-toggle:hover{transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 34px rgba(124,140,0,.55),0 3px 8px rgba(0,0,0,.2)}
#cw-chat-toggle:active{transform:translateY(0) scale(.99)}
.cw-chat-toggle__icon{flex:0 0 auto}
.cw-chat-toggle__label{white-space:nowrap;letter-spacing:.2px}

/* pulsing attention ring behind the launcher */
.cw-chat-toggle__ring{position:absolute;inset:0;border-radius:999px;background:#b0c911;
  z-index:-1;opacity:.55;animation:cw-pulse 2.2s ease-out infinite}
@keyframes cw-pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.35);opacity:0}100%{opacity:0}}

/* unread badge */
.cw-chat-badge{position:absolute;top:-6px;right:-4px;min-width:22px;height:22px;padding:0 6px;
  background:#e8453c;color:#fff;font-size:12px;font-weight:800;border-radius:999px;
  display:flex;align-items:center;justify-content:center;border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.25)}
#cw-chat.cw-open .cw-chat-badge,#cw-chat.cw-seen .cw-chat-badge{display:none}
#cw-chat.cw-open .cw-chat-toggle__ring{animation:none;opacity:0}

@media (max-width:480px){
  #cw-chat{right:16px;bottom:16px}
  .cw-chat-toggle__label{display:none}
  #cw-chat-toggle{padding:16px}
}

/* ---------- Panel ---------- */
#cw-chat-panel{position:absolute;right:0;bottom:78px;width:380px;max-width:calc(100vw - 32px);
  height:560px;max-height:calc(100vh - 130px);display:flex;flex-direction:column;
  background:#fff;border-radius:20px;overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.28);border:1px solid #e6e9d8;
  transform-origin:bottom right;animation:cw-in .26s cubic-bezier(.18,.89,.32,1.28)}
#cw-chat-panel[hidden]{display:none}
@keyframes cw-in{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}

#cw-chat-head{display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#bcd61a 0%,#9db408 100%);color:#16240a;padding:16px 18px}
.cw-chat-avatar{flex:0 0 auto;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.9);color:#7a8c00;display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,.12)}
.cw-chat-head__text{flex:1;min-width:0}
#cw-chat-head strong{display:block;font-size:17px;line-height:1.2}
#cw-chat-head span{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.85}
.cw-chat-dot{width:8px;height:8px;border-radius:50%;background:#1f7a1f;display:inline-block;
  box-shadow:0 0 0 0 rgba(31,122,31,.6);animation:cw-blink 2s infinite}
@keyframes cw-blink{0%{box-shadow:0 0 0 0 rgba(31,122,31,.55)}70%{box-shadow:0 0 0 6px rgba(31,122,31,0)}100%{box-shadow:0 0 0 0 rgba(31,122,31,0)}}
#cw-chat-close{flex:0 0 auto;background:none;border:0;color:#16240a;font-size:28px;line-height:1;
  cursor:pointer;padding:0 4px;opacity:.7;transition:opacity .12s}
#cw-chat-close:hover{opacity:1}

/* ---------- Log ---------- */
#cw-chat-log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:#f6f8ef}
.cw-msg{max-width:86%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;
  white-space:pre-wrap;animation:cw-msg-in .22s ease both}
@keyframes cw-msg-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cw-msg.bot{align-self:flex-start;background:#fff;border:1px solid #e6e9d8;color:#2a2a2a;
  border-bottom-left-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.cw-msg.user{align-self:flex-end;background:linear-gradient(135deg,#bcd61a,#9db408);color:#16240a;
  border-bottom-right-radius:5px}
.cw-msg a{color:#7a8c00;font-weight:700;text-decoration:underline}

/* typing indicator */
.cw-typing{align-self:flex-start;background:#fff;border:1px solid #e6e9d8;border-radius:16px;
  border-bottom-left-radius:5px;padding:13px 16px;display:flex;gap:5px}
.cw-typing i{width:7px;height:7px;border-radius:50%;background:#b9c08a;animation:cw-bounce 1.2s infinite}
.cw-typing i:nth-child(2){animation-delay:.18s}.cw-typing i:nth-child(3){animation-delay:.36s}
@keyframes cw-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

/* ---------- Suggestion chips ---------- */
#cw-chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:12px;border-top:1px solid #eee;
  background:#fff;max-height:148px;overflow-y:auto}
.cw-chip{border:1.5px solid #b0c911;background:#fbfdf3;color:#566900;font-size:13px;font-weight:700;
  padding:7px 13px;border-radius:999px;cursor:pointer;transition:background .14s,color .14s,transform .1s}
.cw-chip:hover{background:linear-gradient(135deg,#bcd61a,#9db408);color:#16240a;border-color:transparent}
.cw-chip:active{transform:scale(.96)}
.cw-chip--topic{background:linear-gradient(135deg,#f4f8dc,#eef4c8);border-color:#9db408;font-size:13.5px;padding:9px 15px}
.cw-chip--back{border-color:#d6dac4;background:#fff;color:#7a7a6a;font-weight:600}
.cw-chip--back:hover{background:#f0f2e4;color:#566900;border-color:#b0c911}

/* ---------- Input ---------- */
#cw-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid #eee;background:#fff}
#cw-chat-input{flex:1;border:1.5px solid #d6dac4;border-radius:999px;padding:11px 16px;font-size:14px;outline:none;
  transition:border-color .14s,box-shadow .14s}
#cw-chat-input:focus{border-color:#b0c911;box-shadow:0 0 0 3px rgba(176,201,17,.18)}
#cw-chat-form button{flex:0 0 auto;border:0;cursor:pointer;
  background:linear-gradient(135deg,#bcd61a,#9db408);color:#16240a;
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:transform .12s}
#cw-chat-form button:hover{transform:scale(1.06)}
#cw-chat-form button:active{transform:scale(.95)}

@media (prefers-reduced-motion:reduce){
  .cw-chat-toggle__ring,.cw-chat-dot,.cw-msg,#cw-chat-panel,.cw-typing i{animation:none}
}
