
:root{
  --ast-bot-blue:#213570;
  --ast-bot-blue-2:#16264f;
  --ast-bot-gold:#e6ac1b;
  --ast-bot-ink:#202126;
  --ast-bot-muted:#70737b;
  --ast-bot-bg:#f6f7fa;
  --ast-bot-line:rgba(33,53,112,.13);
  --ast-bot-shadow:0 24px 70px rgba(15,25,56,.24);
}
.ast-bot-launcher{
  position:fixed;left:24px;bottom:24px;z-index:2147483000;
  width:64px;height:64px;border:0;border-radius:50%;
  background:linear-gradient(145deg,var(--ast-bot-blue),var(--ast-bot-blue-2));
  color:#fff;box-shadow:0 14px 36px rgba(21,38,83,.36);
  display:grid;place-items:center;cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}
.ast-bot-launcher:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 42px rgba(21,38,83,.42)}
.ast-bot-launcher:focus-visible,.ast-bot-panel button:focus-visible,.ast-bot-panel input:focus-visible{
  outline:3px solid rgba(230,172,27,.65);outline-offset:2px;
}
.ast-bot-launcher svg{width:29px;height:29px}
.ast-bot-launcher .ast-bot-dot{
  position:absolute;top:4px;right:4px;width:13px;height:13px;border-radius:50%;
  background:#38b66b;border:3px solid #fff;
}
.ast-bot-panel{
  position:fixed;left:24px;bottom:100px;z-index:2147482999;
  width:min(410px,calc(100vw - 32px));height:min(690px,calc(100vh - 128px));
  background:#fff;border:1px solid var(--ast-bot-line);border-radius:24px;
  box-shadow:var(--ast-bot-shadow);overflow:hidden;display:none;flex-direction:column;
  font-family:Arial,Helvetica,sans-serif;color:var(--ast-bot-ink);
}
.ast-bot-panel.is-open{display:flex;animation:astBotIn .18s ease-out both}
@keyframes astBotIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.ast-bot-header{
  flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:15px 16px;
  background:linear-gradient(135deg,var(--ast-bot-blue),#2d478e);color:#fff;
}
.ast-bot-avatar{
  width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ast-bot-blue);
  display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:0 6px 16px rgba(0,0,0,.14);
}
.ast-bot-title{min-width:0;flex:1}
.ast-bot-title strong{display:block;font-size:15px;line-height:1.15}
.ast-bot-title span{display:block;margin-top:4px;font-size:11px;opacity:.82}
.ast-bot-close,.ast-bot-reset{
  width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;
  display:grid;place-items:center;cursor:pointer;font-size:18px;
}
.ast-bot-reset{font-size:16px}
.ast-bot-messages{
  flex:1 1 auto;overflow:auto;padding:18px 15px 14px;background:
  radial-gradient(circle at 100% 0,rgba(230,172,27,.08),transparent 38%),
  var(--ast-bot-bg);
  scroll-behavior:smooth;
}
.ast-bot-row{display:flex;margin:0 0 12px}
.ast-bot-row.user{justify-content:flex-end}
.ast-bot-bubble{
  max-width:86%;padding:11px 13px;border-radius:16px;font-size:13.5px;line-height:1.45;
  word-wrap:break-word;white-space:pre-line;
}
.ast-bot-row.bot .ast-bot-bubble{
  background:#fff;border:1px solid rgba(33,53,112,.10);border-bottom-left-radius:5px;
  box-shadow:0 4px 14px rgba(27,40,77,.06);
}
.ast-bot-row.user .ast-bot-bubble{
  background:var(--ast-bot-blue);color:#fff;border-bottom-right-radius:5px;
}
.ast-bot-bubble b{font-weight:800}
.ast-bot-bubble a{color:var(--ast-bot-blue);font-weight:800;text-decoration:none}
.ast-bot-row.user .ast-bot-bubble a{color:#fff;text-decoration:underline}
.ast-bot-muted{color:var(--ast-bot-muted);font-size:11px;margin-top:6px}
.ast-bot-actions{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 14px 2px}
.ast-bot-action{
  border:1px solid rgba(33,53,112,.18);background:#fff;color:var(--ast-bot-blue);
  border-radius:999px;padding:8px 11px;font-size:11.5px;font-weight:800;cursor:pointer;
  transition:.18s ease;display:inline-flex;align-items:center;text-decoration:none;
}
.ast-bot-action:hover{border-color:var(--ast-bot-gold);transform:translateY(-1px)}
.ast-bot-product{
  display:grid;grid-template-columns:1fr auto;gap:8px 10px;background:#fff;
  border:1px solid rgba(33,53,112,.12);border-radius:15px;padding:12px;margin:8px 0;
  box-shadow:0 4px 14px rgba(27,40,77,.05);
}
.ast-bot-product-title{font-weight:900;font-size:13px;line-height:1.25;color:#222}
.ast-bot-product-code{font-size:10px;color:#7a7d85;white-space:nowrap}
.ast-bot-product-meta{grid-column:1/-1;color:#62656e;font-size:11px;line-height:1.4}
.ast-bot-product a{
  grid-column:1/-1;justify-self:start;color:var(--ast-bot-blue);font-size:11px;font-weight:900;
  text-decoration:none;border-bottom:1px solid rgba(33,53,112,.25)
}
.ast-bot-location{
  background:#fff;border:1px solid rgba(33,53,112,.12);border-radius:15px;padding:11px 12px;margin:8px 0;
}
.ast-bot-location strong{display:block;color:#222;font-size:13px;margin-bottom:4px}
.ast-bot-location span{font-size:11px;color:#686b73}
.ast-bot-location a{color:var(--ast-bot-blue);font-weight:800;text-decoration:none}
.ast-bot-typing{display:flex;gap:4px;padding:8px 0 12px 2px}
.ast-bot-typing i{width:7px;height:7px;border-radius:50%;background:#9da2ad;animation:astType 1.05s infinite ease-in-out}
.ast-bot-typing i:nth-child(2){animation-delay:.12s}.ast-bot-typing i:nth-child(3){animation-delay:.24s}
@keyframes astType{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.ast-bot-input-wrap{
  flex:0 0 auto;background:#fff;border-top:1px solid rgba(33,53,112,.11);padding:10px 11px 11px;
}
.ast-bot-form{display:flex;gap:8px;align-items:center}
.ast-bot-input{
  min-width:0;flex:1;height:44px;border:1px solid rgba(33,53,112,.17);border-radius:999px;
  padding:0 15px;background:#fafbfc;color:#222;font-size:13px;
}
.ast-bot-input::placeholder{color:#999ca4}
.ast-bot-send{
  flex:0 0 auto;width:44px;height:44px;border:0;border-radius:50%;background:var(--ast-bot-gold);
  color:#1d2b50;display:grid;place-items:center;cursor:pointer;
}
.ast-bot-send svg{width:19px;height:19px}
.ast-bot-disclaimer{margin:7px 4px 0;text-align:center;font-size:9.5px;color:#8b8e95;line-height:1.3}
@media(max-width:640px){
  .ast-bot-launcher{left:16px;bottom:16px;width:58px;height:58px}
  .ast-bot-panel{
    right:8px;left:8px;bottom:82px;width:auto;height:min(74vh,650px);border-radius:20px;
  }
  .ast-bot-bubble{max-width:90%;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .ast-bot-panel.is-open,.ast-bot-launcher,.ast-bot-action{animation:none;transition:none}
}

/* V9 local: long replies, keyboard focus and busy states. */
.ast-bot-bubble{overflow-wrap:anywhere;white-space:pre-wrap}
.ast-bot-action:disabled,.ast-bot-send:disabled{opacity:.6;cursor:wait}
.ast-bot-action:focus-visible,.ast-bot-launcher:focus-visible,.ast-bot-close:focus-visible,.ast-bot-reset:focus-visible{outline:3px solid #e7a31a;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.ast-bot-panel,.ast-bot-launcher,.ast-bot-typing i{animation:none!important;transition:none!important}}
