/* Preserve WP HVAC's navy/cream palette and existing site typography. */
#wp-finn-launcher, #wp-vapi-widget { display: none !important; }
#wpgi-launcher, #wpgi-dialog {
  --wpgi-navy: #071457;
  --wpgi-cream: #f5f2ea;
  font-family: inherit;
  font-size: 16px;
  color: #11182b;
}
#wpgi-launcher {
  position: fixed; right: 20px; bottom: 20px; z-index: 2147483000;
  display: flex; align-items: center; gap: 12px; border: 0; border-radius: 60px;
  background: var(--wpgi-navy); color: white; padding: 12px 22px 12px 12px;
  box-shadow: 0 8px 24px #07145744; cursor: pointer; text-align: left;
}
#wpgi-launcher img { width: 56px; height: 56px; border-radius: 50%; background: var(--wpgi-cream); }
#wpgi-launcher small, #wpgi-dialog header small { display: block; font-size: 12px; margin-top: 4px; }
#wpgi-dialog { padding: 0; width: min(420px, calc(100vw - 24px)); max-height: calc(100dvh - 24px);
  border: 1px solid #bbc5dd; border-radius: 16px; background: white; overflow: hidden; }
#wpgi-dialog[open] { display: flex; flex-direction: column; }
#wpgi-dialog::backdrop { background: #07145755; }
#wpgi-dialog header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; background:var(--wpgi-navy); color:white; }
#wpgi-close { border:0; background:transparent; color:white; padding:8px; cursor:pointer; font-size:28px; line-height:1; min-width:44px; }
.wpgi-safety { margin:0; padding:12px 20px; background:var(--wpgi-cream); font-size:12px; line-height:1.5; }
#wpgi-messages { overflow:auto; min-height:160px; height:min(330px, 42dvh); padding:16px; }
.wpgi-message { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.5; font-size:16px; padding:12px; margin:0 0 12px; border-radius:12px; background:#f0f3fa; }
.wpgi-user { background:var(--wpgi-navy); color:white; margin-left:24px; }
.wpgi-assistant { margin-right:12px; }
#wpgi-status { padding:0 16px; font-size:13px; line-height:1.5; }
#wpgi-chat-form { display:flex; gap:8px; padding:16px; margin:0; }
#wpgi-input { min-width:0; flex:1; resize:none; padding:10px; border:1px solid #bbc5dd; border-radius:8px; font:inherit; color:inherit; background:white; }
#wpgi-send { align-self:center; background:var(--wpgi-navy); color:white; border:0; border-radius:8px; padding:12px; min-height:44px; cursor:pointer; }
#wpgi-send:disabled { opacity:.5; cursor:wait; }
#wpgi-dialog footer { padding:0 16px 16px; font-size:13px; }
#wpgi-dialog a { color:var(--wpgi-navy); text-decoration:underline; }
.wpgi-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); }
#wpgi-launcher:focus-visible, #wpgi-dialog button:focus-visible, #wpgi-input:focus-visible { outline:3px solid #63cbed; outline-offset:3px; }
@media(max-width:520px) { #wpgi-launcher { right:12px; bottom:12px; padding:8px 14px 8px 8px; } #wpgi-launcher img { width:40px; height:40px; } }
