/* Theme tokens inherit each host site's visual design. Accessible defaults. */
.ca-root {--ca-text:var(--color-text,#152825);--ca-accent:var(--color-accent,#287862);--ca-surface:var(--color-surface,#fff);--ca-border:rgba(100,125,117,.3);font:inherit;color:var(--ca-text);position:fixed;z-index:2147483000;bottom:calc(18px + env(safe-area-inset-bottom,0px));right:18px;box-sizing:border-box}
.ca-root *, .ca-root *:before, .ca-root *:after {box-sizing:inherit}
.ca-launch,.ca-send {border:0;border-radius:999px;padding:12px 18px;background:var(--ca-accent);color:white;font:inherit;font-weight:650;cursor:pointer;box-shadow:0 7px 22px rgba(0,0,0,.22)}
.ca-panel {position:absolute;bottom:calc(100% + 12px);right:0;width:min(360px,calc(100vw - 24px));height:min(510px,calc(100dvh - 100px));display:flex;flex-direction:column;border:1px solid var(--ca-border);border-radius:22px;background:var(--ca-surface);background:color-mix(in srgb,var(--ca-surface) 92%,transparent);backdrop-filter:blur(18px);box-shadow:0 16px 55px rgba(0,0,0,.25);overflow:hidden}
.ca-panel[hidden]{display:none}
.ca-header {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px;border-bottom:1px solid var(--ca-border)}
.ca-close {background:transparent;border:1px solid var(--ca-border);border-radius:14px;padding:8px 12px;color:var(--ca-text);font:inherit;cursor:pointer}
.ca-messages {flex:1;overflow:auto;padding:15px;display:flex;flex-direction:column;gap:10px}
.ca-message {max-width:92%;line-height:1.5;padding:10px 14px;border-radius:15px;margin:0;overflow-wrap:anywhere}
.ca-customer{background:var(--ca-accent);color:white;align-self:flex-end}
.ca-bot{background:color-mix(in srgb,var(--ca-surface) 83%,var(--ca-text));align-self:flex-start}
.ca-tools{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--ca-border)}
.ca-cart-toggle,.ca-order-link{border:1px solid var(--ca-border);border-radius:999px;padding:7px 11px;background:var(--ca-surface);color:var(--ca-text);font:inherit;font-size:.9em;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.ca-cart-toggle:disabled{opacity:.55;cursor:wait}
.ca-cart-link{display:inline-block;align-self:flex-start;color:var(--ca-accent);font-weight:650;text-decoration:underline;padding:4px}
.ca-tools{flex-wrap:wrap}
.ca-search-toggle{border:1px solid var(--ca-border);border-radius:999px;padding:7px 11px;background:var(--ca-surface);color:var(--ca-text);font:inherit;font-size:.9em;font-weight:600;cursor:pointer}
.ca-search-toggle[aria-pressed="true"]{border-color:var(--ca-accent);box-shadow:inset 0 0 0 1px var(--ca-accent)}
.ca-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--ca-border)}
.ca-input{min-width:0;flex:1;border:1px solid var(--ca-border);border-radius:12px;background:var(--ca-surface);color:var(--ca-text);padding:12px;font:inherit}
.ca-send{padding:10px 13px}
.ca-human{border:1px solid var(--ca-accent);border-radius:14px;padding:10px;background:transparent;color:var(--ca-text);font:inherit;cursor:pointer}
.ca-product{display:flex;flex-direction:column;gap:4px;border:1px solid var(--ca-border);padding:12px;border-radius:14px;background:var(--ca-surface)}
.ca-product-image{display:block;width:100%;max-height:145px;object-fit:contain;border-radius:10px;background:color-mix(in srgb,var(--ca-surface) 90%,var(--ca-text))}
.ca-product-title{font-weight:650}
.ca-product-price{font-variant-numeric:tabular-nums}
.ca-product-stock{font-size:.83em;opacity:.8}
.ca-product-open{color:var(--ca-accent);font-weight:650;text-decoration:underline;text-underline-offset:3px}
.ca-product-open:hover{text-decoration-thickness:2px}
.ca-root :is(button,input):focus-visible{outline:3px solid var(--ca-accent);outline-offset:2px}
@media (max-width:480px){.ca-root{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.ca-panel{width:calc(100vw - 24px);height:min(70dvh,600px)}}
@media (prefers-reduced-motion:reduce){.ca-root *{transition:none!important;animation:none!important}}

.ca-human-consent{display:flex;flex-direction:column;gap:8px;align-self:flex-start;max-width:95%;padding:12px;border:1px solid var(--ca-border);border-radius:14px;background:var(--ca-surface)}
.ca-human-label{display:flex;align-items:flex-start;gap:9px;font:inherit;font-size:.88em;line-height:1.4;cursor:pointer}
.ca-human-checkbox{accent-color:var(--ca-accent);min-width:17px;min-height:17px;margin:2px 0 0}
.ca-human:disabled{opacity:.5;cursor:not-allowed}

.ca-support-open{display:inline-flex;align-items:center;align-self:flex-start;border:1px solid var(--ca-border);border-radius:12px;padding:9px 12px;text-decoration:underline;color:var(--ca-accent);font:inherit;font-weight:600;background:var(--ca-surface)}
.ca-support-open:hover{text-decoration-thickness:2px}
