/* Comptoir Motard – assistante */
.cm-launch{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:20;display:flex;align-items:flex-end;gap:8px;background:none;border:0;padding:0;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.cm-face{position:relative;display:block;border-radius:50%;overflow:hidden;background:#222;flex:0 0 auto;border:3px solid var(--red);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.cm-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;image-rendering:auto}
.cm-face[data-f="0"] img:nth-child(1),.cm-face[data-f="1"] img:nth-child(2),.cm-face[data-f="2"] img:nth-child(3){opacity:1}
.cm-launch .cm-face{width:66px;height:66px}
.cm-tip{position:relative;background:#fff;color:#16161a;font-weight:700;font-size:14px;padding:9px 13px;border-radius:14px 14px 14px 4px;box-shadow:0 4px 14px rgba(0,0,0,.25);margin-bottom:22px;white-space:nowrap}
.cm-open .cm-launch{display:none}

.cm-panel{position:fixed;z-index:30;left:0;right:0;bottom:0;height:min(86dvh,680px);display:none;flex-direction:column;background:var(--bg);color:var(--text);border-radius:18px 18px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.4);overflow:hidden}
.cm-open .cm-panel{display:flex}
@media(min-width:640px){.cm-panel{left:18px;right:auto;bottom:18px;width:390px;height:min(80vh,660px);border-radius:18px}}
.cm-head{display:flex;align-items:center;gap:12px;background:#111;color:#fff;padding:12px 12px 12px 14px}
.cm-head .cm-face{width:84px;height:84px}
.cm-who{flex:1;min-width:0}
.cm-who b{display:block;font-size:16px}
.cm-who span{font-size:12.5px;color:#bbb}
.cm-langs{display:flex;gap:6px;margin-top:7px}
.cm-langs button{border:1px solid #555;background:transparent;color:#eee;font:inherit;font-size:12.5px;padding:4px 10px;border-radius:99px;cursor:pointer}
.cm-langs button.on{background:var(--red);border-color:var(--red);font-weight:700}
.cm-x{align-self:flex-start;background:transparent;border:0;color:#fff;font-size:26px;line-height:1;padding:4px 8px;cursor:pointer}
.cm-log{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.cm-msg{max-width:86%;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.cm-bot{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:4px 16px 16px 16px}
.cm-me{align-self:flex-end;background:var(--red);color:#fff;border-radius:16px 16px 4px 16px}
.cm-msg a{color:var(--red);font-weight:600}
.cm-order{display:block;margin-top:10px;background:#25d366;color:#fff!important;text-decoration:none;text-align:center;font-weight:700;padding:10px 12px;border-radius:10px}
.cm-src{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
.cm-src a{font-weight:500;color:var(--muted)}
.cm-dots{display:inline-flex;gap:4px;align-items:center;height:1.2em}
.cm-dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:cmd 1s infinite}
.cm-dots i:nth-child(2){animation-delay:.15s}.cm-dots i:nth-child(3){animation-delay:.3s}
@keyframes cmd{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.cm-dots i{animation:none;opacity:.6}}
.cm-form{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--bg)}
.cm-form input{flex:1;min-width:0;font:inherit;font-size:16px;padding:11px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.cm-form button{flex:0 0 auto;border:0;background:var(--red);color:#fff;font:inherit;font-weight:700;padding:0 18px;border-radius:99px;cursor:pointer}
.cm-form button:disabled{opacity:.5}
.cm-v{font-size:20px;padding:6px 6px}
.cm-mic{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;padding:0}
.cm-mic.on{background:var(--red);border-color:var(--red);color:#fff;animation:cmmic 1.1s infinite}
@keyframes cmmic{0%{box-shadow:0 0 0 0 rgba(216,32,31,.55)}100%{box-shadow:0 0 0 12px rgba(216,32,31,0)}}
@media(prefers-reduced-motion:reduce){.cm-mic.on{animation:none}}
.cm-form button[type=submit]{padding:0 14px}
