/* FamilyCourtDad triage chat widget — matches site tokens (navy #1F2D3D, gold #B47E3A).
   Spec: 03_FRONT_PAGE_CHATBOT_OPENROUTER_SPEC.md §6.2. Motion: transform/opacity only,
   <=200ms ease-out, prefers-reduced-motion respected (site-wide standard). */
:root { --cwd-navy: #1F2D3D; --cwd-gold: #B47E3A; --cwd-ink: #1f2937; --cwd-line: #e5e7eb; }
#cwa-chat-widget { position: fixed; bottom: 18px; right: 18px; z-index: 9999;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
#cwa-chat-toggle { display: flex; align-items: center; gap: 8px; background: var(--cwd-navy);
  color: #fff; border: 2px solid var(--cwd-gold); border-radius: 30px; padding: 12px 20px;
  font-size: 15px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,.25);
  transition: transform .18s cubic-bezier(.23,1,.32,1), box-shadow .18s cubic-bezier(.23,1,.32,1); }
#cwa-chat-toggle:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.3); }
#cwa-chat-toggle:active { transform: scale(.97); }
.cwa-chat-box { width: min(360px, calc(100vw - 36px)); height: min(520px, 72vh);
  background: #fff; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.3);
  display: flex; flex-direction: column; overflow: hidden; border: 1px solid #ddd; }
.cwa-chat-header { background: var(--cwd-navy); color: #fff; padding: 12px 16px;
  display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.cwa-chat-title strong { display: block; font-size: 14.5px; }
.cwa-chat-status { display: block; font-size: 10.5px; color: #cbd5e1; line-height: 1.35; }
.cwa-chat-close { background: none; border: none; color: #fff; font-size: 17px; cursor: pointer; padding: 4px; }
.cwa-chat-close:focus-visible, #cwa-chat-toggle:focus-visible, #cwa-chat-input:focus-visible, #cwa-chat-send:focus-visible {
  outline: 2px solid var(--cwd-gold); outline-offset: 2px; }
#cwa-chat-messages { flex: 1; padding: 14px; overflow-y: auto; font-size: 13.5px; line-height: 1.5;
  display: flex; flex-direction: column; gap: 10px; background: #f9fafb; }
.cwa-msg { padding: 10px 13px; border-radius: 9px; max-width: 88%; overflow-wrap: break-word; }
.cwa-assistant { background: #fff; border: 1px solid var(--cwd-line); color: var(--cwd-ink); align-self: flex-start; }
.cwa-user { background: var(--cwd-navy); color: #fff; align-self: flex-end; }
.cwa-typing { color: #6b7280; align-self: flex-start; }
.cwa-msg strong { color: inherit; }
.cwa-msg a { color: var(--cwd-gold); text-decoration: underline; }
#cwa-chat-form { display: flex; padding: 8px 10px; border-top: 1px solid var(--cwd-line); background: #fff; }
#cwa-chat-input { flex: 1; min-width: 0; border: 1px solid #d1d5db; padding: 8px 12px;
  border-radius: 6px; font-size: 13px; outline: none; }
#cwa-chat-send { background: var(--cwd-gold); color: #fff; border: none; border-radius: 6px;
  padding: 0 14px; margin-left: 6px; cursor: pointer; font-weight: 700; }
#cwa-chat-send:disabled { opacity: .6; cursor: wait; }
.cwa-chat-disclaimer { font-size: 10px; color: #9ca3af; text-align: center; padding: 4px 10px 6px; background: #fff; margin: 0; }
.cwa-crisis-banner { background: #fee2e2; color: #991b1b; padding: 6px 12px; font-size: 11px;
  text-align: center; border-bottom: 1px solid #fecaca; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 480px) { .cwa-chat-box { position: fixed; inset: auto 12px 12px 12px; width: auto; } }
@media (prefers-reduced-motion: reduce) { #cwa-chat-toggle { transition: none; }
  #cwa-chat-toggle:hover { transform: none; } #cwa-chat-toggle:active { transform: none; } }
