/* サイト右下のチャット（chat.js）。色はサイトの --accent を使う */
.chat{position:fixed;right:20px;bottom:20px;z-index:50;font-size:14px;line-height:1.65}
.chat__fab{width:58px;height:58px;border-radius:50%;border:0;background:var(--accent);color:#fff;box-shadow:0 8px 24px rgba(20,30,60,.28);cursor:pointer;display:grid;place-items:center;transition:transform .15s}
.chat__fab:hover{transform:scale(1.06)}.chat__fab svg{width:28px;height:28px}
.chat--open .chat__fab{transform:scale(.92)}
.chat__hint{position:absolute;right:68px;bottom:12px;white-space:nowrap;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:8px 10px 8px 14px;font-weight:700;font-size:13px;box-shadow:0 6px 18px rgba(20,30,60,.14);cursor:pointer}
.chat__hint button{border:0;background:none;color:var(--muted);font-size:15px;cursor:pointer;margin-left:4px}
.chat .chat__panel{padding:0;margin:0}
.chat__panel{position:absolute;right:0;bottom:72px;width:370px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 120px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(20,30,60,.25);display:flex;flex-direction:column;overflow:hidden}
.chat__panel[hidden]{display:none}
.chat__head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--accent);color:#fff}
.chat__head b{display:block;font-size:15px}.chat__head small{display:block;font-size:12px;opacity:.9}
.chat__avatar{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--accent);display:grid;place-items:center;font-weight:900;font-size:13px;flex:none}
.chat__x{margin-left:auto;border:0;background:none;color:#fff;font-size:22px;cursor:pointer;line-height:1}
.chat__log{flex:1;overflow-y:auto;padding:14px;background:var(--bg);display:flex;flex-direction:column;gap:10px}
.chat__msg{display:flex;flex-direction:column;gap:6px;max-width:92%}
.chat__msg--me{align-self:flex-end;align-items:flex-end}
.chat__bubble{background:#fff;border:1px solid var(--line);border-radius:12px 12px 12px 4px;padding:9px 12px;color:var(--ink);word-break:normal;overflow-wrap:anywhere}
.chat__msg--me .chat__bubble{background:var(--accent);border-color:var(--accent);color:#fff;border-radius:12px 12px 4px 12px}
.chat__bubble a{color:var(--accent);font-weight:700}
.chat__chips{display:flex;flex-wrap:wrap;gap:6px}.chat__chips span{width:100%;font-size:12px;color:var(--muted)}
.chat__chips button{border:1px solid var(--accent);background:#fff;color:var(--accent);border-radius:999px;padding:5px 11px;font:inherit;font-size:12.5px;cursor:pointer;text-align:left}
.chat__chips button:hover{background:var(--accent);color:#fff}
.chat__cta{align-self:flex-start;border:0;background:var(--accent);color:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}
.chat__input{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);background:#fff}
.chat__input input{flex:1;min-width:0;border:1px solid #cfd5de;border-radius:10px;padding:9px 11px;font:inherit}
.chat__input button{border:0;background:var(--accent);color:#fff;border-radius:10px;width:42px;cursor:pointer;display:grid;place-items:center}.chat__input svg{width:18px;height:18px}
.chat__human{border:0;border-top:1px solid var(--line);background:#fff;color:var(--muted);font:inherit;font-size:12.5px;padding:8px;cursor:pointer;text-decoration:underline}
.chat__form{display:grid;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.chat__form label{display:grid;gap:3px;font-size:12.5px;font-weight:700}.chat__form label span{font-weight:500;color:var(--muted);font-size:11px;margin-left:4px}
.chat__form input,.chat__form textarea{border:1px solid #cfd5de;border-radius:8px;padding:7px 9px;font:inherit;font-weight:400}
.chat__form .chat__consent{display:flex;gap:6px;align-items:center;font-weight:500}.chat__form .chat__consent input{width:auto}
.chat__form button{border:0;background:var(--accent);color:#fff;border-radius:10px;padding:9px;font:inherit;font-weight:700;cursor:pointer}.chat__form button:disabled{opacity:.6}
.chat__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.chat__err{color:#b3261e;font-size:12.5px;margin:0}
@media (max-width:640px){.chat{right:14px;bottom:14px}.chat__panel{position:fixed;right:8px;left:8px;bottom:84px;width:auto;max-width:none;height:auto;top:72px;max-height:none}.chat__hint{display:none}}
@media print{.chat{display:none}}
