/* ============================================================
   BROWARD IMPACT — AI Assistant widget
   Floating concierge. Answers questions, routes to call/form.
   ============================================================ */
.bia{ position:fixed; right:22px; bottom:22px; z-index:90; font-family:'Inter',sans-serif; }
@media (max-width:760px){ .bia{ bottom:84px; right:14px; } }  /* clear the sticky mobile CTA bar */

.bia__fab{ display:flex; align-items:center; gap:10px; border:none; cursor:pointer;
  background:linear-gradient(135deg,#c8102e,#8d0a1f); color:#fff; padding:13px 18px 13px 15px;
  border-radius:999px; box-shadow:0 12px 30px -8px rgba(200,16,46,.6); font-weight:700; font-size:15px;
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s; }
.bia__fab:hover{ transform:translateY(-2px); box-shadow:0 16px 36px -8px rgba(200,16,46,.7); }
.bia__fab svg{ width:22px; height:22px; fill:#fff; }
.bia__fab-dot{ position:absolute; top:10px; right:14px; width:9px; height:9px; border-radius:50%;
  background:#27d07c; box-shadow:0 0 0 3px rgba(39,208,124,.3); }
.bia.is-open .bia__fab{ display:none; }

.bia__panel{ position:absolute; right:0; bottom:0; width:min(380px,calc(100vw - 28px));
  height:min(560px,calc(100vh - 110px)); background:#fff; border-radius:18px; overflow:hidden;
  display:none; flex-direction:column; box-shadow:0 30px 70px -20px rgba(0,0,0,.45);
  transform:translateY(16px) scale(.98); opacity:0; transition:opacity .3s,transform .3s; }
.bia.is-open .bia__panel{ display:flex; }
.bia.is-in .bia__panel{ opacity:1; transform:none; }

.bia__head{ background:linear-gradient(135deg,#0d1b2a,#15304f); color:#fff; padding:16px 18px;
  display:flex; align-items:center; gap:12px; }
.bia__head-mark{ width:38px; height:38px; border-radius:10px; background:#c8102e; display:flex;
  align-items:center; justify-content:center; flex:none; }
.bia__head-mark svg{ width:22px; height:22px; fill:#fff; }
.bia__head-title{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:15px; line-height:1.1; }
.bia__head-sub{ font-size:11.5px; opacity:.7; display:flex; align-items:center; gap:6px; margin-top:2px; }
.bia__head-sub i{ width:7px; height:7px; border-radius:50%; background:#27d07c; display:inline-block; }
.bia__close{ margin-left:auto; background:transparent; border:none; color:#fff; opacity:.7; cursor:pointer;
  font-size:22px; line-height:1; padding:4px; }
.bia__close:hover{ opacity:1; }

.bia__log{ flex:1; overflow-y:auto; padding:16px; background:#f5f7fa; display:flex; flex-direction:column; gap:10px; }
.bia__msg{ max-width:84%; padding:11px 14px; border-radius:14px; font-size:14px; line-height:1.5; white-space:pre-wrap; }
.bia__msg.bot{ background:#fff; color:#1a2433; align-self:flex-start; border-bottom-left-radius:5px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.bia__msg.me{ background:#0d1b2a; color:#fff; align-self:flex-end; border-bottom-right-radius:5px; }
.bia__typing{ align-self:flex-start; display:flex; gap:4px; padding:12px 14px; }
.bia__typing span{ width:7px; height:7px; border-radius:50%; background:#c1c9d4; animation:bia-bounce 1.2s infinite; }
.bia__typing span:nth-child(2){ animation-delay:.15s; } .bia__typing span:nth-child(3){ animation-delay:.3s; }
@keyframes bia-bounce{ 0%,60%,100%{ transform:translateY(0); opacity:.5 } 30%{ transform:translateY(-5px); opacity:1 } }

.bia__chips{ display:flex; flex-wrap:wrap; gap:7px; padding:0 16px 4px; }
.bia__chip{ background:#fff; border:1.5px solid #e0e5ec; color:#0d1b2a; border-radius:999px;
  padding:7px 12px; font-size:12.5px; font-weight:600; cursor:pointer; transition:border-color .2s,background .2s; }
.bia__chip:hover{ border-color:#c8102e; background:rgba(200,16,46,.05); }

.bia__cta{ display:flex; gap:8px; padding:8px 16px; }
.bia__cta a{ flex:1; text-align:center; text-decoration:none; font-weight:700; font-size:13px; padding:10px;
  border-radius:10px; }
.bia__cta a.call{ background:#c8102e; color:#fff; }
.bia__cta a.form{ background:#fff; color:#0d1b2a; border:1.5px solid #d7dde5; }

.bia__form{ display:flex; gap:8px; padding:12px 14px; border-top:1px solid #eceff3; background:#fff; }
.bia__form input{ flex:1; border:1.5px solid #d7dde5; border-radius:10px; padding:11px 13px; font-size:14px; outline:none; }
.bia__form input:focus{ border-color:#c8102e; }
.bia__form button{ border:none; background:#c8102e; color:#fff; border-radius:10px; width:44px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.bia__form button svg{ width:20px; height:20px; fill:#fff; }
.bia__form button:disabled{ opacity:.5; cursor:default; }
.bia__disc{ font-size:10.5px; color:#9aa4b2; text-align:center; padding:0 14px 10px; background:#fff; }

@media (prefers-reduced-motion:reduce){
  .bia__panel{ transition:none; } .bia__typing span{ animation:none; }
}
