.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; }
.chatbot { position:fixed; right:1rem; bottom:1rem; z-index:50; font-family:inherit; }
.chatbot-toggle { background:var(--brand-pink, #EC078D); color:#fff; box-shadow:0 12px 30px rgba(32,56,144,.24), 0 0 0 3px rgba(38,181,222,.16); margin:0; }
.chatbot-panel { width:min(390px, calc(100vw - 2rem)); max-height:min(690px, calc(100vh - 6rem)); background:#fff; border:1px solid var(--line, #d9e2e8); border-radius:18px; box-shadow:0 18px 55px rgba(22,35,46,.24); overflow:hidden; display:flex; flex-direction:column; }
.chatbot-header { background:linear-gradient(135deg, var(--brand-blue, #203890), #16276d); color:#fff; padding:.9rem 1rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; border-bottom:3px solid var(--brand-pink, #EC078D); }
.chatbot-header strong, .chatbot-header span { display:block; }
.chatbot-header span { font-size:.86rem; color:#dff7ff; }
.chatbot-close { margin:0; padding:.25rem .6rem; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); color:#fff; border-radius:999px; font-size:1.3rem; line-height:1; }
.chatbot-messages { padding:1rem; overflow:auto; display:flex; flex-direction:column; gap:.65rem; min-height:230px; }
.chatbot-message { max-width:88%; padding:.65rem .75rem; border-radius:14px; overflow-wrap:anywhere; white-space:pre-wrap; }
.chatbot-message.bot { align-self:flex-start; background:var(--soft, #f3f8ff); color:#16232e; border:1px solid var(--line, #dbe5f1); border-bottom-left-radius:5px; }
.chatbot-message.user { align-self:flex-end; background:var(--brand-blue, #203890); color:#fff; border-bottom-right-radius:5px; }
.chatbot-message.error { background:#fff4f6; color:#8a1230; border:1px solid #efb7c2; }
.chatbot-choices { display:flex; flex-wrap:wrap; gap:.4rem; padding:0 1rem .8rem; }
.chatbot-choices button { margin:0; padding:.52rem .7rem; border-radius:999px; border:1px solid var(--brand-blue, #203890); background:#fff; color:var(--brand-blue, #203890); font-size:.9rem; box-shadow:none; }
.chatbot-choices button:hover { background:var(--cyan-soft, #eefbff); }
.chatbot-form { margin:0; border:0; border-top:1px solid var(--line, #d9e2e8); border-radius:0; display:flex; gap:.45rem; padding:.75rem; background:#fff; }
.chatbot-form input { min-width:0; }
.chatbot-form button { margin:0; white-space:nowrap; }
.chatbot-status { min-height:1.3rem; margin:0; padding:0 .9rem .75rem; color:var(--muted, #5b6b78); font-size:.88rem; }
.chatbot.is-loading .chatbot-status::after { content:'Lerato is checking…'; }
.chatbot-panel :focus-visible, .chatbot-toggle:focus-visible { outline:3px solid var(--focus-ring, rgba(38,181,222,.28)); outline-offset:2px; }
@media (max-width:640px) { .chatbot { right:.75rem; left:.75rem; bottom:.75rem; } .chatbot-toggle { width:100%; } .chatbot-panel { width:100%; max-height:calc(100vh - 2rem); } .chatbot-messages { min-height:200px; } }
/* Respect native chatbot visibility state. */
.chatbot-panel[hidden],
.chatbot-toggle[hidden] {
    display: none !important;
}
