/* Live chat */
.chatbtn{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:62px;height:62px;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);background:var(--dark);color:var(--gold);display:grid;place-items:center;box-shadow:0 18px 40px -12px rgba(14,13,11,.55);transition:transform .35s var(--ease)}
.chatbtn:hover{transform:translateY(-3px)}
.chatbtn svg{width:26px;height:26px}
.chatbtn .dot{position:absolute;top:4px;right:4px;min-width:20px;height:20px;border-radius:10px;background:var(--brand);color:var(--dark);font-size:11px;font-weight:600;display:grid;place-items:center;padding:0 5px}
.chatbtn .tip{position:absolute;right:74px;white-space:nowrap;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:9px 14px;font-size:13px;box-shadow:0 10px 30px -12px rgba(0,0,0,.25);animation:rise .6s var(--ease) both}
.chatbox{position:fixed;right:20px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:61;width:min(390px,calc(100vw - 32px));height:min(600px,calc(100vh - 130px));background:var(--bg);border:1px solid var(--line);box-shadow:0 40px 80px -30px rgba(14,13,11,.5);display:flex;flex-direction:column;animation:rise .45s var(--ease)}
.chathead{background:var(--dark);color:#fff;padding:18px 20px;display:flex;align-items:center;gap:12px;position:relative}
.chathead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--foil)}
.chathead .av{width:40px;height:40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);display:grid;place-items:center;color:var(--gold);font-family:var(--display);font-size:18px;flex:none}
.chathead b{font-family:var(--display);font-weight:400;font-size:19px;display:block;line-height:1.2}
.chathead small{font-size:12px;color:#c9c0ab;display:flex;align-items:center;gap:6px}
.chathead small i{width:7px;height:7px;border-radius:50%;background:#8a8272}
.chathead small i.on{background:#2fa36b}
.chathead .cx{margin-left:auto;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:50%;width:34px;height:34px;flex:none}
.chatlog{flex:1;overflow:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.msg{max-width:84%;padding:10px 14px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.them{background:var(--bg);border:1px solid var(--line);align-self:flex-start;border-radius:2px 14px 14px 14px}
.msg.me{background:var(--dark);color:#fff;align-self:flex-end;border-radius:14px 2px 14px 14px}
.msg small{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.msg.sys{align-self:center;background:none;border:0;color:var(--muted);font-size:12.5px;text-align:center;padding:4px}
.qchips{display:flex;flex-wrap:wrap;gap:6px}
.qchips button{background:var(--bg);border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);padding:7px 12px;font-size:13px;border-radius:16px;text-align:left}
.qchips button:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.chatwho{padding:12px 16px;border-top:1px solid var(--line);display:grid;gap:8px;background:var(--bg)}
.chatwho p{margin:0;font-size:13px;color:var(--muted)}
.chatwho input{font:inherit;font-size:15px;border:0;border-bottom:1px solid var(--line);padding:8px 2px;background:transparent;color:var(--ink)}
.chatwho input:focus,.chatin textarea:focus{outline:none;border-color:var(--gold)}
.chatin{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--bg);align-items:flex-end}
.chatin textarea{flex:1;font:inherit;font-size:15px;border:1px solid var(--line);padding:10px 12px;resize:none;max-height:120px;background:var(--bg);color:var(--ink)}
.chatin button{width:44px;height:44px;border-radius:50%;border:0;background:var(--dark);color:var(--gold);display:grid;place-items:center;flex:none}
.chatin button svg{width:20px;height:20px}
.chatin button:disabled{opacity:.4}
@media (max-width:520px){.chatbox{right:0;left:0;bottom:0;width:100%;height:calc(100svh - 0px);border:0}.chatbtn .tip{display:none}}
body:has(.drawer:not([hidden])) .chatbtn,body:has(.modal:not([hidden])) .chatbtn{display:none}
@media print{.chatbtn,.chatbox{display:none!important}}
