/* CareTales Widget — messages, bubbles, typing, bubble style variants */

#ct-messages { flex:1; overflow-y:auto; overflow-x:hidden; padding:20px 16px 24px; display:flex; flex-direction:column; gap:10px; background:#fafafa; scroll-behavior:smooth; }
#ct-messages::-webkit-scrollbar { width:4px; }
#ct-messages::-webkit-scrollbar-track { background:transparent; }
#ct-messages::-webkit-scrollbar-thumb { background:#e5e5e5; border-radius:4px; }

/* Message base */
#ct-widget #ct-messages .ct-msg {
  max-width:78%; padding:11px 16px calc(11px + var(--ct-depth));
  border-radius:max(8px,calc(var(--ct-radius) - 2px));
  font-size:14px; line-height:1.6; word-break:break-word; display:block;
}

/* User bubble */
#ct-widget #ct-messages .ct-user { background:var(--ct-user-bubble); color:#1a1a1a; align-self:flex-end; border:none; box-shadow:0 var(--ct-depth) 0 var(--ct-user-shadow); }

/* Assistant bubble */
#ct-widget #ct-messages .ct-assistant { background:#fff; color:var(--ct-text-color,#404040); align-self:flex-start; border:none; box-shadow:0 var(--ct-depth) 0 #e5e5e5; }

/* Bubble style — Pill (rounded with directional tail corner) */
#ct-widget.ct-bubble-pill #ct-messages .ct-msg           { border-radius:18px; }
#ct-widget.ct-bubble-pill #ct-messages .ct-user          { border-bottom-right-radius:4px; }
#ct-widget.ct-bubble-pill #ct-messages .ct-assistant     { border-bottom-left-radius:4px; }

/* Bubble style — Sharp (minimal corners) */
#ct-widget.ct-bubble-sharp #ct-messages .ct-msg          { border-radius:4px; }
#ct-widget.ct-bubble-sharp #ct-messages .ct-user         { border-top-right-radius:12px; }

/* Formatted content inside assistant bubbles */
#ct-widget #ct-messages .ct-assistant a { color:var(--ct-accent-dark,#5bb8b6); text-decoration:underline; word-break:break-all; }
#ct-widget #ct-messages .ct-assistant a:hover { opacity:0.8; }
#ct-widget #ct-messages .ct-assistant strong { font-weight:700; color:#262626; }
#ct-widget #ct-messages .ct-assistant em { font-style:italic; }
#ct-widget #ct-messages .ct-assistant ul,
#ct-widget #ct-messages .ct-assistant ol { margin:6px 0 2px; padding-left:18px; display:block; }
#ct-widget #ct-messages .ct-assistant li { margin-bottom:3px; display:list-item; }
#ct-widget #ct-messages .ct-assistant ul { list-style-type:disc; }
#ct-widget #ct-messages .ct-assistant ol { list-style-type:decimal; }

/* Typing indicator */
#ct-widget #ct-messages .ct-typing { display:flex!important; flex-direction:row!important; align-items:center!important; gap:5px; padding:13px 16px calc(13px + var(--ct-depth))!important; }
#ct-widget #ct-messages .ct-typing span { width:7px; height:7px; min-width:7px; background:#d4d4d4; border-radius:50%; display:inline-block; animation:ct-bounce 1.1s infinite ease-in-out; }
#ct-widget #ct-messages .ct-typing span:nth-child(2) { animation-delay:0.18s; }
#ct-widget #ct-messages .ct-typing span:nth-child(3) { animation-delay:0.36s; }

@keyframes ct-bounce {
  0%,80%,100% { transform:scale(0.65); opacity:0.45; }
  40%          { transform:scale(1); opacity:1; }
}

/* Suggested prompts */
#ct-widget .ct-suggestions { align-self:stretch; display:flex; flex-direction:column; gap:8px; margin-top:4px; }
#ct-widget .ct-suggestion-group { display:flex; flex-direction:column; gap:6px; }
#ct-widget .ct-suggestion-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#a3a3a3; padding:0 2px; }
#ct-widget .ct-suggestion-items { display:flex; flex-direction:column; gap:6px; }
#ct-widget .ct-suggestion-btn {
  background:#fff; border:1.5px solid #e5e5e5; border-radius:20px;
  padding:9px 16px; font-size:13px; color:#404040; font-weight:500;
  cursor:pointer; text-align:left; line-height:1.4; width:100%;
  font-family:var(--ct-font,"Montserrat"),-apple-system,BlinkMacSystemFont,sans-serif;
  transition:border-color 0.15s, background 0.15s, color 0.15s;
}
#ct-widget .ct-suggestion-btn:hover {
  border-color:var(--ct-accent-dark,#6fd8d6);
  background:var(--ct-accent,#99F3F1);
  color:#1a1a1a;
}
