/* ---------- WO2 Chat Widget ---------- */
.wo2chat-launcher{
  position:fixed; bottom:96px; right:24px; z-index:200;
  width:58px; height:58px; border-radius:50%;
  background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 30px -10px rgba(18,56,99,0.55);
  transition:transform .2s ease, opacity .2s ease;
  border:none; cursor:pointer;
}
.wo2chat-launcher:hover{background:var(--navy-deep); transform:scale(1.06);}
.wo2chat-launcher svg{width:26px; height:26px; stroke:#fff;}
.wo2chat-launcher.is-open svg.icon-chat{display:none;}
.wo2chat-launcher svg.icon-close{display:none;}
.wo2chat-launcher.is-open svg.icon-close{display:block;}

.wo2chat-panel{
  position:fixed; bottom:164px; right:24px; z-index:199;
  width:340px; max-width:calc(100vw - 32px);
  height:min(480px, calc(100vh - 200px));
  background:var(--white);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  display:flex; flex-direction:column;
  overflow:hidden;
  opacity:0; transform:translateY(12px) scale(.98);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.wo2chat-panel.is-open{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}

.wo2chat-head{
  background:linear-gradient(135deg,var(--navy) 0%, var(--navy-deep) 100%);
  color:#fff; padding:16px 18px;
  display:flex; align-items:center; gap:10px;
}
.wo2chat-head-badge{
  width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.wo2chat-head-badge svg{width:18px; height:18px; stroke:#fff;}
.wo2chat-head b{display:block; font-size:.92rem; font-family:'Inter',sans-serif;}
.wo2chat-head span{display:block; font-size:.74rem; color:#CFE0F2;}

.wo2chat-body{
  flex:1; overflow-y:auto; padding:16px;
  display:flex; flex-direction:column; gap:10px;
  background:var(--sand);
}
.wo2chat-msg{
  max-width:84%; padding:10px 13px; border-radius:14px;
  font-size:.87rem; line-height:1.45;
}
.wo2chat-msg.bot{
  background:var(--white); border:1px solid var(--line);
  color:var(--ink); border-bottom-left-radius:4px; align-self:flex-start;
}
.wo2chat-msg.user{
  background:var(--navy); color:#fff;
  border-bottom-right-radius:4px; align-self:flex-end;
}
.wo2chat-chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px;}
.wo2chat-chip{
  background:var(--white); border:1px solid var(--line);
  color:var(--navy-deep); font-size:.78rem; font-weight:600;
  padding:7px 12px; border-radius:999px; cursor:pointer;
  transition:background .15s ease;
}
.wo2chat-chip:hover{background:var(--sand-deep);}
.wo2chat-chip-menu{
  background:transparent; border:1px dashed var(--navy);
  color:var(--navy); font-weight:500;
}
.wo2chat-chip-menu:hover{background:var(--sand-deep);}

.wo2chat-launcher.is-hidden,
.wo2chat-panel.is-hidden{
  opacity:0;
  pointer-events:none;
  transform:scale(.8);
}

@media (max-width:480px){
  .wo2chat-launcher{bottom:88px; right:16px; width:52px; height:52px;}
  .wo2chat-panel{bottom:148px; right:16px; width:calc(100vw - 32px);}
}