#oxs-chat .oxs-fab{position:fixed;right:16px;bottom:16px;z-index:50;border:0;border-radius:999px;background:var(--palm,#b07a00);color:#fff;font:inherit;font-weight:700;padding:12px 18px;box-shadow:0 4px 16px rgba(0,0,0,.18);cursor:pointer}
#oxs-chat .oxs-box{position:fixed;right:16px;bottom:16px;z-index:51;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 32px));display:flex;flex-direction:column;background:var(--paper,#fff);border:1px solid var(--line,#ddd);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.2);overflow:hidden}
#oxs-chat .oxs-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--palm,#b07a00);color:#fff}
#oxs-chat .oxs-head button{background:none;border:0;color:#fff;font-size:1.3rem;cursor:pointer}
#oxs-chat .oxs-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
#oxs-chat .oxs-m{max-width:85%;padding:8px 11px;border-radius:12px;white-space:pre-wrap;word-wrap:break-word;line-height:1.4;font-size:.95rem}
#oxs-chat .oxs-m.user{align-self:flex-end;background:var(--palm,#b07a00);color:#fff}
#oxs-chat .oxs-m.assistant{align-self:flex-start;background:#f1efe8;color:#1d1d1b}
#oxs-chat .oxs-m.staff{align-self:flex-start;background:#e3f1e7;color:#123}
#oxs-chat .oxs-m small{display:block;opacity:.7;font-size:.75rem;margin-bottom:2px}
#oxs-chat .oxs-m a{color:inherit;text-decoration:underline}
#oxs-chat form{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line,#ddd)}
#oxs-chat input{flex:1;min-width:0;padding:10px;border:1px solid var(--line,#ccc);border-radius:8px;font:inherit}
#oxs-chat form button{border:0;border-radius:8px;background:var(--palm,#b07a00);color:#fff;font:inherit;font-weight:700;padding:0 14px;cursor:pointer}
#oxs-chat .oxs-contact{padding:8px;border-top:1px dashed var(--line,#ddd);font-size:.85rem}
#oxs-chat .oxs-note{font-size:.75rem;color:#777;padding:0 12px 8px}
@media print{#oxs-chat{display:none}}
#oxs-chat form .oxs-mic{background:var(--paper,#fff);color:inherit;border:1px solid var(--line,#ccc);padding:0 12px;font-size:1.1rem}
#oxs-chat form .oxs-mic.on{background:#c0392b;border-color:#c0392b;color:#fff;animation:oxs-pulse 1s ease-in-out infinite}
@keyframes oxs-pulse{50%{opacity:.6}}
@media (prefers-reduced-motion:reduce){#oxs-chat form .oxs-mic.on{animation:none}}
/* Phones and tablets: the button is a small tab on the right edge, half-way down, so it never covers a shop page's
   "Add to my order", basket or checkout buttons at the bottom of the screen. The chat opens over the whole screen. */
@media (max-width:1120px){
#oxs-chat .oxs-fab{right:0;bottom:auto;top:58%;transform:translateY(-50%);border-radius:12px 0 0 12px;padding:12px 7px;writing-mode:vertical-rl;font-size:.8rem;line-height:1;max-height:42vh;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:-2px 2px 10px rgba(0,0,0,.18)}
}
@media (max-width:480px){
#oxs-chat .oxs-box{inset:0;right:0;bottom:0;width:100vw;height:100%;border-radius:0;border:0}
}
