/* Website chat (chat.js). Uses the site's colours; works without us.css too. */
.sc-launch { position: fixed; right: 20px; bottom: 20px; z-index: 900; display: flex; align-items: center; gap: 10px;
  border: 0; border-radius: 999px; padding: 12px 18px 12px 14px; background: #004D5B; color: #fff; cursor: pointer;
  font-family: inherit; font-weight: 600; font-size: 15px; line-height: 1; box-shadow: 0 10px 30px rgba(0,36,52,.25); }
.sc-launch:hover { background: #0b5f6e; }
.sc-launch:focus-visible, .sc-panel button:focus-visible, .sc-panel textarea:focus-visible { outline: 3px solid #F4B400; outline-offset: 2px; }
.sc-launch .sc-dot { width: 26px; height: 26px; border-radius: 50%; background: #F4B400; display: grid; place-items: center; }
.sc-launch .sc-dot::before { content: ""; width: 12px; height: 4px; border-radius: 2px;
  background: radial-gradient(circle, #004D5B 1.6px, transparent 2px) 0 0 / 4px 4px repeat-x; }
.sc-launch[hidden] { display: none; }

.sc-panel { position: fixed; right: 20px; bottom: 20px; z-index: 901; width: 370px; max-width: calc(100vw - 32px);
  height: 540px; max-height: calc(100vh - 40px); display: flex; flex-direction: column; background: #fff; color: #002434;
  border: 1px solid #dde6e7; border-radius: 18px; box-shadow: 0 18px 50px rgba(0,36,52,.22); overflow: hidden; font-family: inherit; }
.sc-panel[hidden] { display: none; }
.sc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: #004D5B; color: #fff; }
.sc-head b { display: block; font-size: 16px; }
.sc-head small { display: block; font-size: 12.5px; opacity: .85; margin-top: 2px; }
.sc-close { border: 0; background: transparent; color: #fff; font-size: 24px; line-height: 1; width: 36px; height: 36px; border-radius: 10px; cursor: pointer; }
.sc-close:hover { background: rgba(255,255,255,.12); }

.sc-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #f2f6f6; }
.sc-msg { max-width: 85%; padding: 10px 13px; border-radius: 14px; font-size: 14.5px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.sc-msg.bot { align-self: flex-start; background: #fff; border: 1px solid #dde6e7; border-bottom-left-radius: 4px; }
.sc-msg.me { align-self: flex-end; background: #004D5B; color: #fff; border-bottom-right-radius: 4px; }
.sc-msg a { color: inherit; text-decoration: underline; }
.sc-msg.typing { color: #4f5f66; font-style: italic; }
.sc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sc-chips button { border: 1px solid #004D5B; background: #fff; color: #004D5B; border-radius: 999px; padding: 7px 12px; font: inherit; font-size: 13.5px; cursor: pointer; }
.sc-chips button:hover { background: #004D5B; color: #fff; }

.sc-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #dde6e7; background: #fff; }
.sc-form textarea { flex: 1; resize: none; border: 1px solid #dde6e7; border-radius: 12px; padding: 10px 12px; font: inherit; font-size: 14.5px; color: #002434; min-height: 42px; max-height: 110px; }
.sc-form button { border: 0; border-radius: 12px; padding: 0 16px; background: #F4B400; color: #1b1300; font: inherit; font-weight: 600; cursor: pointer; }
.sc-form button[disabled] { opacity: .5; cursor: default; }
.sc-note { padding: 0 14px 10px; font-size: 11.5px; color: #4f5f66; background: #fff; }

@media (max-width: 520px) {
  .sc-launch { right: 14px; bottom: 14px; padding: 11px 15px 11px 12px; }
  .sc-panel { right: 0; bottom: 0; width: 100vw; max-width: 100vw; height: 100%; max-height: 100%; border-radius: 0; border: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .sc-panel:not([hidden]) { animation: sc-in .18s ease-out; }
  @keyframes sc-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}
@media print { .sc-launch, .sc-panel { display: none !important; } }
