/* VitalogicAI assistant widget (uses the site's colour tokens from styles.css). */
.chatw { position: fixed; right: 20px; bottom: 20px; z-index: 50; font-family: var(--font); }
.chatw-open { display: inline-flex; align-items: center; gap: 10px; padding: 13px 18px; border-radius: 999px; border: 0;
  background: var(--ink); color: #fff; font: inherit; font-weight: 650; cursor: pointer; box-shadow: 0 8px 24px rgba(20, 33, 61, .25); }
.chatw-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 4px rgba(247, 162, 27, .25); }
.chatw-panel { position: absolute; right: 0; bottom: 0; width: min(380px, calc(100vw - 32px)); height: min(560px, calc(100vh - 40px));
  display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 18px 48px rgba(20, 33, 61, .22); overflow: hidden; }
.chatw-panel[hidden] { display: none; }
.chatw-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 18px; background: var(--ink); color: #fff; }
.chatw-head small { display: block; color: #C9D2E6; font-size: .78rem; margin-top: 2px; }
.chatw-close { background: none; border: 0; color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.chatw-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: var(--tint); }
.chatw-msg { margin: 0; padding: 10px 13px; border-radius: 14px; max-width: 85%; font-size: .95rem; line-height: 1.45; white-space: pre-wrap; }
.chatw-bot { background: #fff; border: 1px solid var(--line); align-self: flex-start; border-bottom-left-radius: 4px; }
.chatw-rep { background: #E7F5F3; border: 1px solid #BFE3DE; align-self: flex-start; border-bottom-left-radius: 4px; }
.chatw-rep::before { content: "From our team"; display: block; font-size: .72rem; font-weight: 700; color: var(--teal); margin-bottom: 3px; }
.chatw-me { background: var(--amber); color: var(--amber-ink); align-self: flex-end; border-bottom-right-radius: 4px; }
.chatw-typing { color: var(--muted); }
.chatw-form, .chatw-email { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--line); background: #fff; }
.chatw-email { flex-direction: column; font-size: .88rem; font-weight: 600; }
.chatw-email[hidden] { display: none; }   /* the flex rule above would otherwise override `hidden` */
.chatw-email label { display: grid; gap: 6px; }
.chatw-form input, .chatw-email input { flex: 1; font: inherit; padding: 10px 12px; border: 1px solid #C9D0DD; border-radius: 10px; min-width: 0; }
.chatw-form button, .chatw-email button { font: inherit; font-weight: 650; border: 0; border-radius: 10px; padding: 10px 14px; background: var(--amber); color: var(--amber-ink); cursor: pointer; }
.chatw-fine { margin: 0; padding: 0 12px 10px; font-size: .75rem; color: var(--muted); background: #fff; }
@media print { .chatw { display: none !important; } }
