/* Catalogue chat: scoped styles using the existing MUZIRIS theme tokens. */
.muziris-chat {font-family:var(--muziris-font-body);font-size:16px;line-height:1.4;color:var(--muziris-ink)}
.muziris-chat *, .muziris-chat *::before, .muziris-chat *::after {box-sizing:border-box}
.muziris-chat button,.muziris-chat input {font:inherit}
.muziris-chat button {cursor:pointer}
.muziris-chat button:focus-visible,.muziris-chat input:focus-visible {outline:3px solid var(--muziris-ocean);outline-offset:3px}
.m-chat-toggle {position:fixed;right:16px;bottom:24px;z-index:60;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:2px solid var(--muziris-mist);border-radius:50%;background:var(--muziris-blue);color:var(--muziris-white);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.m-chat-toggle svg {width:24px;height:24px}
.m-chat-window {position:fixed;right:16px;bottom:96px;z-index:60;width:min(384px,calc(100vw - 32px));max-height:calc(100dvh - 128px);flex-direction:column;overflow:hidden;border:1px solid var(--muziris-muted);background:var(--muziris-white);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.m-chat-window.hidden {display:none}
.m-chat-window.flex {display:flex}
.m-chat-header {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:14px 16px;border-bottom:3px solid var(--muziris-blue);background:var(--muziris-navy);color:var(--muziris-white)}
.m-chat-header span {font-family:var(--muziris-font-heading);font-size:13px;font-weight:600;letter-spacing:.08em}
.m-chat-header button {background:none;border:0;color:var(--muziris-white);font-size:26px;line-height:1;padding:0 4px}
.m-chat-messages {height:320px;min-height:0;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:var(--muziris-mist)}
.m-chat-message {flex-shrink:0;max-width:90%;padding:12px;border:1px solid var(--muziris-mist);border-radius:0 12px 12px 12px;align-self:flex-start;background:var(--muziris-white);color:var(--muziris-ink);font-size:14px;line-height:1.5;overflow-wrap:anywhere;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.m-chat-message.m-chat-user {align-self:flex-end;border-radius:12px 0 12px 12px;background:var(--muziris-navy);color:var(--muziris-white)}
.m-chat-footer {flex-shrink:0;padding:12px;border-top:1px solid var(--muziris-mist);background:var(--muziris-white)}
.m-chat-input-row {display:flex;gap:8px}
.m-chat-input-row input {min-width:0;flex:1;width:100%;padding:12px;border:1px solid var(--muziris-mist);border-radius:2px;background:var(--muziris-mist);color:var(--muziris-ink);font-size:16px}
.m-chat-input-row button {display:flex;align-items:center;justify-content:center;padding:0 16px;border:0;background:var(--muziris-blue);color:var(--muziris-white)}
.m-chat-input-row svg {width:20px;height:20px}
.muziris-chat button:disabled {opacity:.5;cursor:default}
.m-chat-enquiry {display:block;margin:10px 0 0;padding:2px 0;background:none;border:0;color:var(--muziris-blue);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.m-chat-thinking {align-self:flex-start;display:flex;gap:5px;padding:14px;border-radius:0 12px 12px 12px;background:var(--muziris-white)}
.m-chat-thinking span {width:6px;height:6px;border-radius:50%;background:var(--muziris-muted);animation:m-chat-bounce 1s infinite alternate}
.m-chat-thinking span:nth-child(2) {animation-delay:.15s}
.m-chat-thinking span:nth-child(3) {animation-delay:.3s}
.muziris-chat .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes m-chat-bounce {to{transform:translateY(-4px);opacity:.5}}
@media(min-width:768px) {.m-chat-toggle {right:40px;bottom:40px;border-radius:0}.m-chat-window {right:40px;bottom:112px;max-height:calc(100dvh - 144px)}}
@media(prefers-reduced-motion:reduce) {.m-chat-thinking span {animation:none}}
