:root{
  --wowcb-accent:#5699D2;
  --wowcb-accent-secondary:#68AD9D;
  --wowcb-bg:#F5F8FA;
  --wowcb-panel-bg:#FFFFFF;
  --wowcb-chip-bg:#EEF5FA;
  --wowcb-text:#17212B;
  --wowcb-muted:#6B7B8B;
  --wowcb-border:#CFE0EB;
  --wowcb-header-bg:#FFFFFF;
  --wowcb-assistant-bubble-bg:#FFFFFF;
  --wowcb-user-bubble-bg:#EEF5FA;
  --wowcb-border-width:1px;
  --wowcb-radius:24px;
  --wowcb-shadow:0 24px 60px rgba(20,48,72,.18);
}

.wowcb{
  position:fixed !important;
  z-index:2147483000 !important;
  bottom:18px !important;
  top:auto !important;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease;
  font-family:inherit;
  color:var(--wowcb-text);
  line-height:1.5;
  isolation:isolate;
}
.wowcb[data-position="right"]{right:18px !important;left:auto !important}
.wowcb[data-position="left"]{left:18px !important;right:auto !important}
.wowcb.is-ready{opacity:1;pointer-events:auto;transform:none}
.wowcb *{box-sizing:border-box}
.wowcb button,.wowcb input{font:inherit}
.wowcb button{margin:0;text-transform:none;letter-spacing:normal}

/* Hidden must always win over themes/page builders. */
.wowcb__panel[hidden],
.wowcb[data-state="minimized"] .wowcb__panel,
.wowcb:not(.is-open) .wowcb__panel{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.wowcb[data-state="open"] .wowcb__panel,
.wowcb.is-open .wowcb__panel{
  display:flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.wowcb[data-state="open"] .wowcb__fab,
.wowcb.is-open .wowcb__fab{display:none !important}
.wowcb[data-state="minimized"] .wowcb__fab{display:grid !important}

.wowcb__fab{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  min-height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  padding:8px !important;
  border-radius:22px !important;
  border:var(--wowcb-border-width) solid var(--wowcb-border) !important;
  background:var(--wowcb-panel-bg) !important;
  box-shadow:var(--wowcb-shadow) !important;
  color:var(--wowcb-accent) !important;
  cursor:pointer;
  place-items:center;
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease;
}
.wowcb__fab:hover{transform:translateY(-2px);box-shadow:0 28px 66px rgba(20,48,72,.22) !important}
.wowcb__fab:focus-visible{outline:3px solid color-mix(in srgb,var(--wowcb-accent) 30%,transparent);outline-offset:3px}

.wowcb__panel{
  width:min(430px,calc(100vw - 32px)) !important;
  height:min(690px,calc(100dvh - 44px)) !important;
  max-height:calc(100dvh - 44px) !important;
  margin:0 !important;
  padding:0 !important;
  flex-direction:column;
  overflow:hidden !important;
  position:relative;
  background:var(--wowcb-bg) !important;
  border:var(--wowcb-border-width) solid var(--wowcb-border) !important;
  border-radius:var(--wowcb-radius) !important;
  box-shadow:var(--wowcb-shadow) !important;
}
.wowcb__panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,var(--wowcb-accent),var(--wowcb-accent-secondary));
  z-index:4;
}

.wowcb__header{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:24px 20px 20px !important;
  background:var(--wowcb-header-bg) !important;
  border-bottom:1px solid color-mix(in srgb,var(--wowcb-border) 65%,transparent);
  position:relative;
  z-index:3;
}
.wowcb__brand{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  border:1px solid color-mix(in srgb,var(--wowcb-border) 80%,transparent);
  background:#fff;
  overflow:hidden;
}
.wowcb__brandImg{width:100%;height:100%;display:block;object-fit:contain;padding:6px;border-radius:inherit}
.wowcb__brandImg--fab{padding:2px}
.wowcb__headerText{min-width:0}
.wowcb__title{
  margin:0;
  color:var(--wowcb-text);
  font-size:clamp(19px,2.2vw,25px);
  line-height:1.2;
  font-weight:750;
  overflow-wrap:anywhere;
}
.wowcb__title strong{font-weight:800}
.wowcb__headerActions{position:relative;display:flex;align-items:center;gap:10px}
.wowcb__menuBtn,.wowcb__close{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:15px !important;
  cursor:pointer;
  box-shadow:none !important;
}
.wowcb__menuBtn{
  border:1px solid color-mix(in srgb,var(--wowcb-border) 85%,transparent) !important;
  background:#fff !important;
  color:var(--wowcb-text) !important;
}
.wowcb__close{
  border:0 !important;
  background:linear-gradient(135deg,var(--wowcb-accent),var(--wowcb-accent-secondary)) !important;
  color:#fff !important;
  font-size:27px !important;
  line-height:1 !important;
}
.wowcb__menuBtn:hover{background:var(--wowcb-chip-bg) !important}
.wowcb__close:hover{filter:brightness(.97)}
.wowcb__menuBtn:focus-visible,.wowcb__close:focus-visible{outline:3px solid color-mix(in srgb,var(--wowcb-accent) 28%,transparent);outline-offset:2px}
.wowcb__menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:100;
  width:210px;
  padding:7px;
  background:#fff;
  border:1px solid var(--wowcb-border);
  border-radius:15px;
  box-shadow:0 18px 45px rgba(20,48,72,.18);
}
.wowcb__menu[hidden]{display:none !important}
.wowcb__menuItem{
  width:100% !important;
  min-height:42px;
  padding:10px 12px !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  color:var(--wowcb-text) !important;
  cursor:pointer;
  text-align:left !important;
  font-size:14px !important;
}
.wowcb__menuItem:hover{background:var(--wowcb-chip-bg) !important}

.wowcb__messages{
  min-height:0;
  flex:1 1 auto;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:20px 20px 8px !important;
  background:var(--wowcb-bg) !important;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--wowcb-accent) 38%,transparent) transparent;
}
.wowcb__messages::-webkit-scrollbar{width:7px}
.wowcb__messages::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--wowcb-accent) 35%,transparent);border-radius:10px}

.wowcb__msg{width:100%;margin:0 0 16px;display:grid}
.wowcb__msg--assistant{justify-items:start}
.wowcb__msg--user{justify-items:end}
.wowcb__bubble{
  width:auto;
  max-width:92%;
  min-width:0;
  padding:15px 17px;
  border:1px solid color-mix(in srgb,var(--wowcb-border) 72%,transparent);
  border-radius:20px 20px 20px 6px;
  background:var(--wowcb-assistant-bubble-bg);
  color:var(--wowcb-text);
  box-shadow:0 9px 24px rgba(20,48,72,.055);
  overflow-wrap:anywhere;
  word-break:normal;
}
.wowcb__msg--user .wowcb__bubble{
  border-radius:20px 20px 6px 20px;
  background:var(--wowcb-user-bubble-bg);
  border-color:color-mix(in srgb,var(--wowcb-accent) 22%,var(--wowcb-border));
}
.wowcb__content{font-size:16px;line-height:1.58;min-width:0}
.wowcb__content>*:first-child{margin-top:0 !important}
.wowcb__content>*:last-child{margin-bottom:0 !important}
.wowcb__content p{margin:0 0 .75em}
.wowcb__content h3,.wowcb__content h4,.wowcb__content h5{margin:1em 0 .45em;line-height:1.25;color:var(--wowcb-text)}
.wowcb__content h3{font-size:1.12em}.wowcb__content h4{font-size:1.04em}.wowcb__content h5{font-size:1em}
.wowcb__content strong,.wowcb__content b{font-weight:760}
.wowcb__content em,.wowcb__content i{font-style:italic}
.wowcb__content ul,.wowcb__content ol{margin:.6em 0 .8em;padding-left:1.35em}
.wowcb__content li{margin:.28em 0;padding-left:.15em}
.wowcb__content blockquote{margin:.8em 0;padding:.25em 0 .25em .9em;border-left:3px solid var(--wowcb-accent);color:var(--wowcb-muted)}
.wowcb__content code{padding:.12em .32em;border-radius:5px;background:color-mix(in srgb,var(--wowcb-chip-bg) 76%,#fff);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}
.wowcb__content pre{max-width:100%;overflow:auto;padding:12px;border-radius:10px;background:#13202b;color:#f5f8fa}
.wowcb__content pre code{padding:0;background:transparent;color:inherit}
.wowcb__content a{color:color-mix(in srgb,var(--wowcb-accent) 82%,#164d72);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.wowcb__content a:hover{color:var(--wowcb-accent-secondary)}
.wowcb__meta{margin-top:6px;color:var(--wowcb-muted);font-size:12px;line-height:1.2}

.wowcb__typing .wowcb__bubble{min-width:64px}
.wowcb__dots{display:inline-flex;align-items:center;gap:6px;height:16px}
.wowcb__dots span{width:7px;height:7px;border-radius:50%;background:var(--wowcb-accent);animation:wowcbDot 1.15s infinite ease-in-out}
.wowcb__dots span:nth-child(2){animation-delay:.14s}.wowcb__dots span:nth-child(3){animation-delay:.28s}
@keyframes wowcbDot{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:1}}

.wowcb__suggest{margin-top:16px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--wowcb-border) 72%,transparent)}
.wowcb__suggestTitle{margin:0 0 10px;color:var(--wowcb-muted);font-size:12px;font-weight:750;letter-spacing:.035em;text-transform:uppercase}
.wowcb__sourceGrid{display:grid;gap:9px}
.wowcb__sourceCard{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:11px;
  border:1px solid var(--wowcb-border);
  border-radius:14px;
  background:#fff;
  color:var(--wowcb-text) !important;
  text-decoration:none !important;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.wowcb__sourceCard:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--wowcb-accent) 55%,var(--wowcb-border));box-shadow:0 8px 20px rgba(20,48,72,.08)}
.wowcb__sourceThumb{width:64px;height:54px;object-fit:cover;border-radius:10px;background:var(--wowcb-chip-bg)}
.wowcb__sourceBody{display:flex;min-width:0;flex-direction:column;gap:3px}
.wowcb__sourceTitle{display:block;font-size:14px;line-height:1.25;white-space:normal}
.wowcb__sourceExcerpt{display:-webkit-box;overflow:hidden;color:var(--wowcb-muted);font-size:12px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wowcb__sourceCta{color:var(--wowcb-accent);font-size:12px;font-weight:700}
.wowcb__imgGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wowcb__img{display:block;min-width:0;color:var(--wowcb-text) !important;text-decoration:none !important}
.wowcb__img img{display:block;width:100%;height:82px;object-fit:cover;border:1px solid var(--wowcb-border);border-radius:12px;background:var(--wowcb-chip-bg)}
.wowcb__imgCap{display:-webkit-box;overflow:hidden;margin-top:4px;font-size:11px;line-height:1.25;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.wowcb__chips{
  flex:0 0 auto;
  display:flex;
  gap:9px;
  min-width:0;
  padding:10px 20px 12px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  background:var(--wowcb-bg);
  scrollbar-width:thin;
}
.wowcb__chip{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:42px;
  padding:9px 15px !important;
  border:1px solid color-mix(in srgb,var(--wowcb-accent-secondary) 50%,var(--wowcb-border)) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--wowcb-text) !important;
  box-shadow:none !important;
  cursor:pointer;
  font-size:14px !important;
  line-height:1.25 !important;
  white-space:nowrap;
}
.wowcb__chip:hover{background:var(--wowcb-chip-bg) !important}
.wowcb__chip:disabled{cursor:wait;opacity:.55}

.wowcb__composer{
  flex:0 0 auto;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 52px !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
  padding:14px 20px 18px !important;
  border-top:1px solid color-mix(in srgb,var(--wowcb-border) 72%,transparent) !important;
  background:var(--wowcb-panel-bg) !important;
}
.wowcb__input{
  min-width:0 !important;
  width:100% !important;
  height:52px !important;
  margin:0 !important;
  padding:0 17px !important;
  border:1px solid var(--wowcb-border) !important;
  border-radius:16px !important;
  outline:none !important;
  background:#fff !important;
  color:var(--wowcb-text) !important;
  box-shadow:none !important;
  font-size:16px !important;
  line-height:1 !important;
  appearance:none;
}
.wowcb__input::placeholder{color:color-mix(in srgb,var(--wowcb-muted) 85%,transparent);opacity:1}
.wowcb__input:focus{border-color:var(--wowcb-accent) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--wowcb-accent) 15%,transparent) !important}
.wowcb__input:disabled{opacity:.7;cursor:wait}
.wowcb__send{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:16px !important;
  display:grid !important;
  place-items:center !important;
  align-self:center !important;
  background:linear-gradient(135deg,var(--wowcb-accent),var(--wowcb-accent-secondary)) !important;
  color:#fff !important;
  box-shadow:none !important;
  cursor:pointer;
  line-height:1 !important;
  overflow:hidden;
}
.wowcb__send svg{display:block;width:23px;height:23px;flex:none}
.wowcb__send:hover{filter:brightness(.97)}
.wowcb__send:focus-visible{outline:3px solid color-mix(in srgb,var(--wowcb-accent) 28%,transparent);outline-offset:2px}
.wowcb__send:disabled{cursor:wait;filter:grayscale(.15);opacity:.65}

.wowcb__srOnly{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}

@media (max-width:600px){
  .wowcb{bottom:8px !important}
  .wowcb[data-position="right"]{right:8px !important}.wowcb[data-position="left"]{left:8px !important}
  .wowcb__panel{width:calc(100vw - 16px) !important;height:calc(100dvh - 16px) !important;max-height:calc(100dvh - 16px) !important;border-radius:22px !important}
  .wowcb__header{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:20px 14px 15px !important}
  .wowcb__brand{width:44px;height:44px;border-radius:14px}
  .wowcb__title{font-size:19px}
  .wowcb__menuBtn,.wowcb__close{width:43px !important;height:43px !important;min-width:43px !important;max-width:43px !important;min-height:43px !important;max-height:43px !important;border-radius:14px !important}
  .wowcb__headerActions{gap:7px}
  .wowcb__messages{padding:16px 14px 6px !important}
  .wowcb__bubble{max-width:94%;padding:13px 14px}
  .wowcb__content{font-size:15.5px}
  .wowcb__chips{padding:8px 14px 10px !important}
  .wowcb__composer{grid-template-columns:minmax(0,1fr) 48px !important;gap:9px !important;padding:12px 14px 14px !important}
  .wowcb__input{height:48px !important;padding:0 14px !important}
  .wowcb__send{width:48px !important;height:48px !important;min-width:48px !important;max-width:48px !important;min-height:48px !important;max-height:48px !important;border-radius:15px !important}
  .wowcb__imgGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (prefers-reduced-motion:reduce){
  .wowcb,.wowcb__fab,.wowcb__sourceCard{transition:none !important}
  .wowcb__messages{scroll-behavior:auto}
}
