/* ---------- Chatbot-Widget ---------- */
#cb{position:fixed;right:20px;bottom:20px;z-index:80;font-family:Roboto,sans-serif}
#cbBtn{display:flex;align-items:center;gap:10px;background:linear-gradient(140deg,var(--blue),var(--blue-2));
  color:#fff;border:none;border-radius:40px;padding:13px 20px;cursor:pointer;font-weight:500;font-size:14px;
  box-shadow:0 12px 30px rgba(11,103,176,.4);transition:transform .25s ease,box-shadow .25s}
#cbBtn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(11,103,176,.5)}
#cbBtn .dot{width:9px;height:9px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55)}70%{box-shadow:0 0 0 11px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
#cbWin{position:absolute;right:0;bottom:64px;width:min(392px,calc(100vw - 32px));height:min(560px,calc(100vh - 130px));
  background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(8,23,42,.28);display:none;flex-direction:column;overflow:hidden;
  border:1px solid rgba(11,103,176,.14)}
#cbWin.open{display:flex}
.cbHd{background:linear-gradient(140deg,var(--blue),var(--blue-2));color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px}
.cbHd img{height:30px;width:auto;object-fit:contain;border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.28)}
.cbHd .t{font-size:13.5px;line-height:1.3}
.cbHd .t b{display:block;font-weight:500}
.cbHd .t small{opacity:.8;font-size:11px}
.cbHd select{margin-left:auto;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3);
  border-radius:6px;padding:5px 7px;font-size:11.5px;cursor:pointer}
.cbHd select option{color:#1A202C}
.cbClose{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1;padding:0 2px;opacity:.85}
.cbClose:hover{opacity:1}
.cbMsgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:11px;background:#f7fafc}
.m{max-width:86%;padding:10px 13px;border-radius:13px;font-size:13.6px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
.m.u{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.m.a{align-self:flex-start;background:#fff;color:var(--ink);border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(8,23,42,.07)}
.m.ai{align-self:flex-start;background:#eef4fa;color:#3d556e;font-size:11.4px;padding:6px 11px;border-radius:8px;max-width:100%}
.cbCard{align-self:flex-start;background:#fff;border:1px solid rgba(11,103,176,.16);border-radius:11px;padding:10px 12px;
  display:flex;gap:11px;max-width:92%;box-shadow:0 2px 8px rgba(8,23,42,.06)}
.cbCard img{width:56px;height:56px;object-fit:cover;border-radius:7px;flex:none;background:#edf2f7}
.cbCard .ci{font-size:12.6px;line-height:1.45}
.cbCard .cn{font-weight:500;color:var(--ink)}
.cbCard .cs{color:var(--ink-dim);font-size:11.6px;margin-top:2px}
.cbCard a{color:var(--blue);font-size:11.6px;display:inline-block;margin-top:4px}
.cbAct{align-self:flex-start;background:#fff8e6;border:1px solid rgba(245,165,36,.5);color:#7a5200;
  border-radius:9px;padding:9px 13px;font-size:12.8px;cursor:pointer;margin-top:2px;text-align:left}
.cbAct:hover{background:#fff1cc}
.cbTyping{align-self:flex-start;color:#7d8fa3;font-size:12px;padding:2px 4px}
.cbTyping span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b3c2d1;margin-right:3px;animation:blink 1.3s infinite}
.cbTyping span:nth-child(2){animation-delay:.18s} .cbTyping span:nth-child(3){animation-delay:.36s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cbFt{padding:9px 12px;border-top:1px solid rgba(11,103,176,.12);background:#fff;display:flex;gap:8px;align-items:flex-end}
.cbFt textarea{flex:1;resize:none;border:1px solid rgba(45,55,72,.2);border-radius:10px;padding:9px 11px;
  font:inherit;font-size:13.4px;max-height:92px;outline:none}
.cbFt textarea:focus{border-color:var(--blue)}
.cbSend{background:var(--blue);color:#fff;border:none;width:38px;height:38px;border-radius:10px;cursor:pointer;flex:none;
  font-size:17px;line-height:1;transition:background .2s}
.cbSend:hover{background:var(--red)}
.cbSend:disabled{opacity:.45;cursor:default}
@media(max-width:520px){#cb{right:12px;bottom:12px}#cbWin{width:calc(100vw - 24px);height:calc(100vh - 100px)}}
