/* Bid to Care — AI Chat Widget standalone CSS */
:root{
  --teal:#1E7A99;--teal-dark:#155E77;--teal-light:#2F8EAE;
  --teal-soft:#E4F2F6;--coral:#E74C48;--coral-dark:#C6383A;
  --coral-soft:#FCE9E8;--cream:#F9F9F5;--cream-deep:#F2F1E9;
  --ink:#20302F;--charcoal:#1B2322;--gray:#5E6B6A;--line:#E6E4DA;
  --bg:#F9F9F5;--white:#FFFFFF;--shadow:0 10px 30px rgba(30,122,153,.10);
  --shadow-lg:0 20px 50px rgba(30,122,153,.16);--radius:18px;
}
*{margin:0;padding:0;box-sizing:border-box}

/* ═══════════════════════════════════════════════════════════════
   BID TO CARE — AI ASSISTANT WIDGET (spectacular chat)
   Floating launcher + slide-up panel, brand teal/coral/cream
   ═══════════════════════════════════════════════════════════════ */

/* ── Floating Launcher Button ─────────────────────────────────── */
.btc-chat-launcher{
  position:fixed;bottom:24px;right:24px;z-index:9998;
  display:flex;align-items:center;gap:10px;
  padding:14px 22px 14px 16px;
  background:linear-gradient(135deg,var(--teal),var(--teal-light));
  color:#fff;border:none;border-radius:50px;cursor:pointer;
  font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.2px;
  box-shadow:0 8px 28px rgba(30,122,153,.35);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
  animation:btc-launcher-pulse 3s ease-in-out infinite;
}
.btc-chat-launcher:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 14px 40px rgba(30,122,153,.45);
}
.btc-chat-launcher:active{transform:translateY(-1px) scale(.99)}
.btc-chat-launcher:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.btc-chat-launcher.active{
  background:linear-gradient(135deg,var(--coral),var(--coral-dark));
  animation:none;padding:14px 18px;border-radius:50%;
}
@keyframes btc-launcher-pulse{
  0%,100%{box-shadow:0 8px 28px rgba(30,122,153,.35)}
  50%{box-shadow:0 8px 28px rgba(30,122,153,.35),0 0 0 12px rgba(30,122,153,.08)}
}

.btc-launcher-icon{font-size:22px;line-height:1}
.btc-launcher-text{white-space:nowrap}
.btc-launcher-badge{
  background:var(--coral);color:#fff;font-size:10px;font-weight:900;
  padding:2px 7px;border-radius:20px;letter-spacing:.5px;text-transform:uppercase;
}

/* ── Chat Panel ──────────────────────────────────────────────── */
.btc-chat-panel{
  position:fixed;bottom:92px;right:24px;z-index:9999;
  width:380px;max-width:calc(100vw - 32px);
  height:580px;max-height:calc(100vh - 130px);
  background:var(--white);border-radius:20px;
  box-shadow:0 24px 60px rgba(30,122,153,.28);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(30px) scale(.96);
  transform-origin:bottom right;
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease;
}
.btc-chat-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}

/* ── Header ──────────────────────────────────────────────────── */
.btc-chat-header{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:#fff;flex-shrink:0;
}
.btc-chat-avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.18);display:flex;align-items:center;
  justify-content:center;font-size:22px;
}
.btc-chat-header-info{flex:1;min-width:0}
.btc-chat-header-info h3{font-size:16px;font-weight:800;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btc-status{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.9;margin-top:2px}
.btc-status-dot{
  width:8px;height:8px;border-radius:50%;background:#4ade80;
  box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:btc-dot-pulse 2s infinite;
}
@keyframes btc-dot-pulse{
  0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}
  70%{box-shadow:0 0 0 8px rgba(74,222,128,0)}
  100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}
}
.btc-chat-close{
  background:rgba(255,255,255,.15);border:none;color:#fff;cursor:pointer;
  font-size:24px;line-height:1;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .2s ease;
}
.btc-chat-close:hover{background:rgba(255,255,255,.3)}

/* ── Messages Area ───────────────────────────────────────────── */
.btc-chat-messages{
  flex:1;overflow-y:auto;padding:18px 16px 6px;
  background:var(--cream);
  display:flex;flex-direction:column;gap:10px;
  scroll-behavior:smooth;
}
.btc-chat-messages::-webkit-scrollbar{width:6px}
.btc-chat-messages::-webkit-scrollbar-track{background:transparent}
.btc-chat-messages::-webkit-scrollbar-thumb{background:var(--teal-soft);border-radius:10px}

.btc-msg{max-width:82%;line-height:1.55;font-size:14px;animation:btc-msg-in .35s ease}
@keyframes btc-msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.btc-msg.bot{
  align-self:flex-start;
  background:var(--white);color:var(--ink);
  padding:12px 15px;border-radius:16px 16px 16px 4px;
  border:1px solid var(--line);box-shadow:0 2px 8px rgba(30,122,153,.06);
}
.btc-msg.bot strong{color:var(--teal-dark);font-weight:700}
.btc-msg.bot a{color:var(--teal);font-weight:600;text-decoration:underline}

.btc-msg.user{
  align-self:flex-end;
  background:linear-gradient(135deg,var(--teal),var(--teal-light));color:#fff;
  padding:12px 15px;border-radius:16px 16px 4px 16px;
  box-shadow:0 4px 14px rgba(30,122,153,.25);
}

/* ── Data Tag (source label) ─────────────────────────────────── */
.btc-data-tag{
  margin-top:10px;padding:6px 10px;
  background:var(--teal-soft);border-radius:8px;
  font-size:11px;font-weight:600;color:var(--teal-dark);
  border-left:3px solid var(--teal);
}

/* ── CTA Button inside bot message ───────────────────────────── */
.btc-contact-cta{
  display:inline-block;margin-top:10px;
  padding:9px 16px;background:var(--coral);color:#fff !important;
  border-radius:10px;font-size:13px;font-weight:700;text-decoration:none !important;
  transition:background .2s ease,transform .2s ease;
}
.btc-contact-cta:hover{background:var(--coral-dark);transform:translateY(-1px)}

/* ── Typing Indicator ────────────────────────────────────────── */
.btc-typing{align-self:flex-start;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-radius:16px 16px 16px 4px;display:flex;gap:4px;box-shadow:0 2px 8px rgba(30,122,153,.06)}
.btc-typing span{width:8px;height:8px;border-radius:50%;background:var(--teal);opacity:.4;animation:btc-typing-bounce 1.3s infinite}
.btc-typing span:nth-child(2){animation-delay:.2s}
.btc-typing span:nth-child(3){animation-delay:.4s}
@keyframes btc-typing-bounce{
  0%,60%,100%{opacity:.4;transform:translateY(0)}
  30%{opacity:1;transform:translateY(-6px)}
}

/* ── Quick Reply Chips ───────────────────────────────────────── */
.btc-quick-replies{
  flex-shrink:0;display:flex;flex-wrap:wrap;gap:7px;
  padding:8px 16px;background:var(--cream);
}
.btc-quick-reply{
  padding:8px 14px;background:var(--white);border:1.5px solid var(--teal);
  color:var(--teal-dark);border-radius:20px;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:600;
  transition:all .2s ease;white-space:nowrap;
}
.btc-quick-reply:hover{
  background:var(--teal);color:#fff;border-color:var(--teal);
  transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,122,153,.2);
}
.btc-quick-reply:active{transform:translateY(0) scale(.97)}

/* ── Input Area ──────────────────────────────────────────────── */
.btc-chat-input-area{
  flex-shrink:0;display:flex;align-items:flex-end;gap:8px;
  padding:12px 14px;background:var(--white);
  border-top:1px solid var(--line);
}
.btc-chat-input{
  flex:1;resize:none;border:1.5px solid var(--line);border-radius:12px;
  padding:11px 14px;font-family:inherit;font-size:14px;color:var(--ink);
  background:var(--cream);line-height:1.4;max-height:80px;overflow-y:auto;
  transition:border-color .2s ease;
}
.btc-chat-input:focus{outline:none;border-color:var(--teal);background:var(--white)}
.btc-chat-input::placeholder{color:var(--gray)}
.btc-chat-send{
  flex-shrink:0;width:44px;height:44px;border-radius:12px;border:none;
  background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;
  font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:transform .2s ease,box-shadow .2s ease;
}
.btc-chat-send:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(231,76,72,.35)}
.btc-chat-send:active{transform:translateY(0) scale(.95)}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:480px){
  .btc-chat-launcher{bottom:16px;right:16px;padding:12px 18px 12px 14px}
  .btc-chat-panel{
    bottom:0;right:0;left:0;width:100%;max-width:100%;
    height:100vh;max-height:100vh;border-radius:0;
  }
  .btc-chat-panel.open{transform:translateY(0) scale(1)}
  .btc-chat-launcher.active{bottom:16px;right:16px}
}
