/* Floating customer-support chat. Loaded on public pages only. */
.schat-dock{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--font);pointer-events:none}
.schat-dock>*{pointer-events:auto}
.schat-btn{width:58px;height:58px;border:0;border-radius:50%;background:var(--accent);color:#fffdf9;box-shadow:var(--shadow-lg);cursor:pointer;display:grid;place-items:center}
.schat-btn[hidden]{display:none}
.schat-btn svg{width:26px;height:26px}
.schat-btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
:root[data-theme="dark"] .schat-btn{color:#0f191d}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .schat-btn{color:#0f191d}}
.schat-panel{width:min(380px,calc(100vw - 28px));height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);overflow:hidden}
.schat-panel[hidden]{display:none}
.schat-h{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 18px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.schat-h strong{flex:1;font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.02em}
.schat-x{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.schat-x:hover{background:var(--surface)}
.schat-log{flex:1;overflow:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px}
.schat-greet,.schat-b{max-width:92%;padding:10px 13px;border-radius:16px;font-size:15.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.schat-greet,.schat-b-assistant,.schat-b-staff{align-self:flex-start;background:var(--bg-2);border-bottom-left-radius:6px}
.schat-b-user{align-self:flex-end;background:var(--accent);color:#fffdf9;border-bottom-right-radius:6px}
:root[data-theme="dark"] .schat-b-user{color:#0f191d}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .schat-b-user{color:#0f191d}}
.schat-b small{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
.schat-wait{align-self:flex-start;color:var(--muted);font-size:14px;padding:0 4px}
.schat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 10px}
.schat-chips[hidden]{display:none}
.schat-chips button{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:6px 12px;font:600 13.5px/1.3 inherit;cursor:pointer}
.schat-chips button:hover{border-color:var(--accent);color:var(--accent)}
.schat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 14px 8px;align-items:end}
.schat-form textarea{resize:none;min-height:46px;max-height:120px;padding:10px 12px;border:1px solid var(--line-2);border-radius:14px;background:var(--bg);color:var(--ink);font:400 15.5px/1.4 inherit}
.schat-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.schat-form button[type="submit"]{height:46px;padding:0 14px;border:0;border-radius:14px;background:var(--accent);color:#fffdf9;font:600 15px/1 inherit;cursor:pointer}
:root[data-theme="dark"] .schat-form button[type="submit"]{color:#0f191d}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .schat-form button[type="submit"]{color:#0f191d}}
.schat-form button:disabled{opacity:.55;cursor:default}
.schat-mail{display:block;margin:0 14px 8px}
.schat-mail input{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--ink);font:400 14px/1.3 inherit}
.schat-fine{margin:0;padding:0 16px 14px;font-size:12.5px;color:var(--muted)}
.schat-fine a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.schat-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.schat-err{margin:0 16px 8px;color:var(--danger);font-size:14px}
@media (max-width:640px){
  .schat-dock{right:12px;bottom:12px}
  .schat-panel{height:min(70vh,560px)}
}
@media (prefers-reduced-motion:reduce){.schat-panel,.schat-btn{transition:none}}
