.sc-chat-launcher{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border:0;border-radius:50%;background:#d7352d;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:1001;box-shadow:0 10px 28px rgba(111,20,16,.36);transition:transform .18s ease,background .18s ease}.sc-chat-launcher:hover{background:#b92721;transform:translateY(-2px)}.sc-chat-launcher:focus-visible{outline:4px solid #ffd54a;outline-offset:3px}.sc-chat-launcher svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.sc-chat-launcher[aria-expanded=true] .sc-chat-open-icon{display:none}.sc-chat-launcher[aria-expanded=false] .sc-chat-close-icon{display:none}.sc-chat-close-icon{font-size:29px;font-weight:700;line-height:1}
.sc-chat{position:fixed;right:22px;bottom:96px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 125px));background:#fff;border:1px solid #b9d8e8;border-radius:22px;z-index:1000;box-shadow:0 22px 70px rgba(2,31,34,.3);overflow:hidden;display:none;grid-template-rows:auto 1fr auto}.sc-chat.is-open{display:grid}.sc-chat-header{background:linear-gradient(135deg,#064f4d,#087d78);color:#fff;padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.sc-chat-header strong{display:block;font-size:1.05rem}.sc-chat-header span{display:block;color:#d9f5f2;font-size:.78rem}.sc-chat-status{display:flex!important;align-items:center;gap:.4rem}.sc-chat-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#73e4a3}
.sc-chat-log{overflow-y:auto;padding:1rem;background:#f2f8f8;scroll-behavior:smooth}.sc-message{max-width:88%;margin:0 0 .75rem;padding:.72rem .85rem;border-radius:15px;line-height:1.45;font-size:.92rem;white-space:pre-line}.sc-message.bot{background:#fff;border:1px solid #d2e7e5;border-bottom-left-radius:5px}.sc-message.user{margin-left:auto;background:#0871c1;color:#fff;border-bottom-right-radius:5px}.sc-message a{color:#075f9f;font-weight:800}.sc-quick-replies{display:flex;flex-wrap:wrap;gap:.45rem;margin:.25rem 0 .9rem}.sc-quick-replies button{border:1px solid #0871c1;background:#fff;color:#075b97;border-radius:999px;padding:.48rem .7rem;font:inherit;font-size:.79rem;font-weight:800;cursor:pointer}.sc-quick-replies button:hover{background:#e8f4fc}.sc-chat-cta{display:block;background:#d7352d!important;color:#fff!important;text-align:center;text-decoration:none;border-radius:11px;padding:.72rem .9rem;margin:.35rem 0 .9rem;font-weight:900}.sc-chat-cta:hover{background:#b92721!important}.sc-chat-source{font-size:.76rem;color:#647a7b;margin:-.35rem 0 .8rem}.sc-chat-form{background:#fff;border-top:1px solid #d5e7e5;padding:.75rem;display:grid;grid-template-columns:1fr auto;gap:.5rem}.sc-chat-form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sc-chat-form input{margin:0;padding:.72rem .8rem;border:1px solid #9fc8c5;border-radius:10px;min-width:0}.sc-chat-form button{border:0;border-radius:10px;background:#0871c1;color:#fff;padding:.7rem .9rem;font-weight:900;cursor:pointer}.sc-chat-form button:hover{background:#05558f}.sc-chat-disclaimer{grid-column:1/-1;margin:0;color:#6a7c7d;font-size:.68rem;text-align:center}
.sc-chat-detail{display:block;width:max-content;max-width:100%;margin:-.3rem 0 .8rem;padding:.54rem .75rem;border:1px solid #0871c1;border-radius:9px;background:#fff;color:#075b97!important;text-decoration:none;font-size:.8rem;font-weight:900}.sc-chat-detail:hover{background:#e8f4fc}.sc-chat-review{display:block;width:100%;margin:.15rem 0 .9rem;padding:.72rem .85rem;border:0;border-radius:10px;background:#d7352d;color:#fff;font:inherit;font-size:.84rem;font-weight:900;cursor:pointer}.sc-chat-review:hover{background:#b92721}
@media(max-width:520px){.sc-chat-launcher{right:14px;bottom:14px;width:58px;height:58px}.sc-chat{right:14px;bottom:82px;height:min(620px,calc(100vh - 105px))}}
@media(prefers-reduced-motion:reduce){.sc-chat-launcher,.sc-chat-log{transition:none;scroll-behavior:auto}}

/* Vapi voice assistant: positioned directly above the red text chatbot. */
.sc-voice-launcher{position:fixed;right:22px;bottom:96px;width:62px;height:62px;border:0;border-radius:50%;background:#159447;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:1002;box-shadow:0 10px 28px rgba(10,91,42,.34);transition:transform .18s ease,background .18s ease,opacity .18s ease}.sc-voice-launcher:hover{background:#0d7737;transform:translateY(-2px)}.sc-voice-launcher:focus-visible{outline:4px solid #ffd54a;outline-offset:3px}.sc-voice-launcher svg{width:31px;height:31px;fill:currentColor}.sc-voice-launcher[data-state=loading]{background:#a36a00;animation:sc-voice-pulse 1.2s infinite}.sc-voice-launcher[data-state=active]{background:#087d46;animation:sc-voice-pulse 1.5s infinite}.sc-voice-launcher[data-state=error]{background:#a9231d}.sc-voice-label{position:absolute;right:72px;white-space:nowrap;background:#fff;color:#124d2b;border:1px solid #b9dfc8;border-radius:9px;padding:.42rem .65rem;font-size:.76rem;font-weight:900;box-shadow:0 6px 18px rgba(2,31,34,.15);opacity:0;pointer-events:none;transform:translateX(5px);transition:opacity .16s ease,transform .16s ease}.sc-voice-launcher:hover .sc-voice-label,.sc-voice-launcher:focus-visible .sc-voice-label{opacity:1;transform:none}.sc-voice-status{position:fixed;right:94px;bottom:108px;max-width:min(310px,calc(100vw - 120px));z-index:1003;background:#fff;color:#174b2c;border:1px solid #acd8bd;border-radius:11px;padding:.58rem .75rem;font-size:.78rem;font-weight:800;box-shadow:0 8px 24px rgba(2,31,34,.18)}.sc-voice-status[hidden]{display:none}.sc-text-chat-open .sc-voice-launcher,.sc-text-chat-open .sc-voice-status{opacity:0;pointer-events:none}@keyframes sc-voice-pulse{0%,100%{box-shadow:0 10px 28px rgba(10,91,42,.34)}50%{box-shadow:0 10px 28px rgba(10,91,42,.34),0 0 0 9px rgba(21,148,71,.17)}}
@media(max-width:520px){.sc-voice-launcher{right:14px;bottom:82px;width:58px;height:58px}.sc-voice-status{right:82px;bottom:92px}}
@media(prefers-reduced-motion:reduce){.sc-voice-launcher{transition:none;animation:none!important}}

/* The official Vapi HTML client creates its own control; SmartCane uses the
   accessible green custom control above instead. */
.vapi-btn{display:none!important}
