/* China Mall AI chat widget — Imperial Lacquer (lacquer red + gold) */
.cm-chat-btn{position:fixed;right:24px;bottom:96px;z-index:61;display:flex;align-items:center;gap:8px;height:48px;padding:0 18px 0 14px;border-radius:999px;border:1px solid #c9a14a;background:linear-gradient(160deg,#7d0d1b,#5a0912 70%);color:#f1d48c;box-shadow:0 0 0 3px rgba(241,212,140,.35),0 14px 30px -12px rgba(58,5,11,.7);cursor:pointer;font:600 14px/1 var(--sans);letter-spacing:.06em;transition:transform .25s,box-shadow .25s}
.cm-chat-btn:hover{transform:translateY(-2px);box-shadow:0 0 0 3px rgba(241,212,140,.6),0 18px 34px -12px rgba(58,5,11,.8)}
.cm-chat-btn:focus-visible{outline:2px solid #f1d48c;outline-offset:3px}
html[data-lang="zh"] .cm-chat-btn{font-family:var(--serif-zh);letter-spacing:.16em}
.cm-chat-btn.on{opacity:0;pointer-events:none}
.cm-chat{position:fixed;right:24px;bottom:96px;z-index:80;width:372px;max-width:calc(100vw - 32px);height:min(560px,calc(100vh - 140px));display:flex;flex-direction:column;background:#fbf7ef;border:1px solid #c9a14a;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(40,5,10,.55);font-family:var(--sans);color:#2a1d17}
.cm-chat[hidden]{display:none}
.cm-h{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:linear-gradient(160deg,#7d0d1b,#5a0912 75%);color:#f6e7c4;border-bottom:2px solid #c9a14a}
.cm-seal{flex:none;width:38px;height:38px;display:grid;place-items:center;border:1.5px solid #c9a14a;border-radius:8px;color:#f1d48c;font:700 20px/1 var(--serif-zh);background:rgba(0,0,0,.15)}
.cm-ht{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.cm-ht strong{font:600 17px/1.2 var(--serif);color:#f1d48c;letter-spacing:.02em}
html[data-lang="zh"] .cm-ht strong{font-family:var(--serif-zh);letter-spacing:.1em;font-size:16px}
.cm-ht small{font-size:11.5px;line-height:1.3;color:rgba(246,231,196,.78)}
.cm-x{flex:none;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#f1d48c;cursor:pointer}
.cm-x:hover{background:rgba(241,212,140,.15)}
.cm-log{flex:1;overflow-y:auto;padding:16px 14px 6px;display:flex;flex-direction:column;gap:10px;background:#fbf7ef radial-gradient(circle at 100% 0,rgba(201,161,74,.10),transparent 40%)}
.cm-m{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.55;word-wrap:break-word}
.cm-m p{margin:0;white-space:pre-wrap}
.cm-a{align-self:flex-start;background:#fff;border:1px solid #eadfc8;border-bottom-left-radius:4px}
.cm-u{align-self:flex-end;background:#7d0d1b;color:#fff6e3;border-bottom-right-radius:4px}
.cm-wait p{color:#8a7a68;font-style:italic}
.cm-see{margin:9px 0 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a07b2e}
.cm-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.cm-items li{display:flex;justify-content:space-between;gap:8px;padding:6px 9px;border:1px solid #eadfc8;border-radius:8px;background:#fdfaf3;font-size:13px}
.cm-items a{color:#7d0d1b;font-weight:600;text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-items a:hover{text-decoration:underline}
.cm-items span{flex:none;color:#8a7a68;font-size:12px}
.cm-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 10px;background:#fbf7ef}
.cm-chip{border:1px solid #c9a14a;background:#fff;color:#7d0d1b;border-radius:999px;padding:6px 12px;font:600 12.5px/1.2 var(--sans);cursor:pointer}
html[data-lang="zh"] .cm-chip{letter-spacing:.06em}
.cm-chip:hover{background:#7d0d1b;color:#f1d48c}
.cm-f{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid #eadfc8;background:#fff}
.cm-f textarea{flex:1;resize:none;min-height:40px;max-height:96px;padding:10px 12px;border:1px solid #dccfb3;border-radius:10px;font:15px/1.35 var(--sans);color:#2a1d17;background:#fffdf8}
.cm-f textarea:focus{outline:none;border-color:#a30f24;box-shadow:0 0 0 3px rgba(163,15,36,.12)}
.cm-send{flex:none;width:42px;height:42px;display:grid;place-items:center;border:1px solid #c9a14a;border-radius:10px;background:#7d0d1b;color:#f1d48c;cursor:pointer}
.cm-send:hover{background:#5a0912}
.cm-wa{display:block;padding:8px 12px 10px;text-align:center;font-size:12.5px;font-weight:600;color:#1f7a45;background:#fff;text-decoration:none}
.cm-wa:hover{text-decoration:underline}
@media (max-width:900px){
  .cm-chat-btn{right:14px;bottom:calc(68px + env(safe-area-inset-bottom,0px));height:46px;padding:0 15px 0 12px;font-size:13px}
  .cm-chat{right:0;left:0;bottom:0;width:auto;max-width:none;height:min(86vh,100% - 40px);height:86dvh;border-radius:16px 16px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}
  .cm-f textarea{font-size:16px}
  html.cm-open .tabbar{visibility:hidden}
}
@media (max-width:380px){.cm-chat-btn-l{display:none}.cm-chat-btn{width:48px;padding:0;justify-content:center}}
@media print{.cm-chat-btn,.cm-chat{display:none!important}}
