/* ================= AI agent widget ================= */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.va-agent{position:fixed;right:24px;bottom:24px;z-index:2900;font-family:var(--font-body)}
.va-agent__launcher{position:relative;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border:0;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.34);transition:transform .2s ease,box-shadow .2s ease}
.va-agent__launcher:hover,.va-agent__launcher:focus-visible{transform:scale(1.07);box-shadow:0 16px 42px rgba(0,0,0,.42)}
.va-agent__launcher svg{width:30px;height:30px;display:block}
.va-agent__pulse{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(37,211,102,.55);animation:vaPulse 2.6s ease-out infinite}
@keyframes vaPulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.45);opacity:0}100%{opacity:0}}
.va-agent.is-open .va-agent__pulse{display:none}
.va-agent__panel{position:absolute;right:0;bottom:74px;width:376px;max-width:calc(100vw - 32px);height:min(560px,calc(100vh - 120px));display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(10,22,40,.28);overflow:hidden;animation:vaIn .22s ease-out}
/* The rule above sets display:flex, and an author-level display beats the user
   agent's [hidden]{display:none}. Without this the panel stayed on screen at load
   and the close button did nothing. Keep it whenever display is set here. */
.va-agent__panel[hidden]{display:none}
@keyframes vaIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.va-agent__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--navy-900);color:#fff}
.va-agent__id{display:flex;align-items:center;gap:10px;min-width:0}
.va-agent__avatar{display:block;width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:50% 22%;background:var(--navy-800);border:1.5px solid rgba(201,168,76,.55);flex:none}
.va-agent__name{margin:0;font-size:.9375rem;font-weight:700;line-height:1.2}
.va-agent__status{margin:2px 0 0;font-size:.75rem;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:6px}
.va-agent__dot{width:7px;height:7px;border-radius:50%;background:#4ade80;flex:none}
.va-agent__dot--off{background:#fbbf24}
.va-agent__close{background:transparent;border:0;color:rgba(255,255,255,.8);font-size:1.6rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}
.va-agent__close:hover,.va-agent__close:focus-visible{color:#fff;background:rgba(255,255,255,.12)}
.va-agent__log{flex:1;overflow-y:auto;padding:16px;background:#f8f9fa;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.va-agent__msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.va-agent__msg--bot{align-self:flex-start;background:#fff;color:var(--gray-800);border:1px solid #e6e9ef;border-bottom-left-radius:4px}
.va-agent__msg--user{align-self:flex-end;background:var(--navy-800);color:#fff;border-bottom-right-radius:4px}
.va-agent__typing{display:flex;gap:4px;align-items:center;padding:14px}
.va-agent__typing span{width:7px;height:7px;border-radius:50%;background:var(--navy-600);animation:vaBlink 1.2s infinite}
.va-agent__typing span:nth-child(2){animation-delay:.18s}
.va-agent__typing span:nth-child(3){animation-delay:.36s}
@keyframes vaBlink{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.va-agent__chips{display:flex;gap:8px;padding:0 16px 10px;background:#f8f9fa;flex-wrap:wrap}
.va-agent__chips:empty{display:none}
.va-agent__chip{background:#fff;border:1px solid var(--navy-600);color:var(--navy-800);font-size:.75rem;font-weight:700;padding:6px 11px;border-radius:20px;cursor:pointer;transition:background .15s,color .15s}
.va-agent__chip:hover,.va-agent__chip:focus-visible{background:var(--navy-800);color:#fff}
.va-agent__form{display:flex;gap:8px;padding:12px 16px;background:#fff;border-top:1px solid #e6e9ef}
.va-agent__input{flex:1;min-width:0;border:1px solid #d6dae2;border-radius:22px;padding:10px 14px;font:inherit;font-size:.875rem;color:var(--gray-800);background:#fff}
.va-agent__input:focus{outline:2px solid var(--navy-600);outline-offset:1px;border-color:transparent}
.va-agent__send{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--navy-800);color:#fff;cursor:pointer;display:grid;place-items:center}
.va-agent__send:hover,.va-agent__send:focus-visible{background:var(--navy-700)}
.va-agent__send svg{width:19px;height:19px}
.va-agent__wa{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 16px 8px;padding:11px;background:#25d366;color:#fff;font-weight:700;font-size:.875rem;border-radius:10px;text-decoration:none}
.va-agent__wa:hover,.va-agent__wa:focus-visible{background:#1eb455}
.va-agent__wa svg{width:19px;height:19px}
.va-agent__legal{margin:0 0 10px;text-align:center;font-size:.6875rem;color:#8b93a1}
@media (max-width:768px){
  .va-agent{right:16px;bottom:84px}
  .va-agent__launcher{width:54px;height:54px}
  .va-agent__launcher svg{width:27px;height:27px}
  .va-agent__panel{width:calc(100vw - 32px);height:min(520px,calc(100vh - 150px));bottom:68px}
}

/* ================= motion safety ================= */
@media (prefers-reduced-motion:reduce){
  .va-agent__pulse{animation:none}
  .va-agent__panel{animation:none}
  .va-agent__typing span{animation:none;opacity:.5}
  *{scroll-behavior:auto!important}
}
