.wpkb-chat { --wpkb-bg:#fff; --wpkb-surface:#f5f7fb; --wpkb-text:#172033; --wpkb-muted:#70798b; --wpkb-border:#e4e8f0; --wpkb-shadow:0 24px 70px rgba(20,28,50,.22); position:relative; z-index:999999; font:400 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--wpkb-text); }
.wpkb-chat *, .wpkb-chat *::before, .wpkb-chat *::after { box-sizing:border-box; }
.wpkb-chat button, .wpkb-chat textarea { font:inherit; }
.wpkb-placement-bottom-right, .wpkb-placement-bottom-left { position:fixed; bottom:var(--wpkb-y); }
.wpkb-placement-bottom-right { right:var(--wpkb-x); }
.wpkb-placement-bottom-left { left:var(--wpkb-x); }
.wpkb-launcher { display:flex; align-items:center; gap:10px; min-height:58px; padding:7px 18px 7px 7px; border:0; border-radius:999px; color:#fff; background-color:var(--wpkb-primary); background-image:linear-gradient(135deg,var(--wpkb-primary),color-mix(in srgb,var(--wpkb-primary),#111 18%)); box-shadow:0 12px 30px rgba(20,28,50,.2); cursor:pointer; transition:transform .2s,box-shadow .2s; }
.wpkb-launcher:hover { transform:translateY(-2px); box-shadow:0 16px 38px color-mix(in srgb,var(--wpkb-primary),transparent 58%); }
.wpkb-launcher:focus-visible, .wpkb-chat button:focus-visible, .wpkb-chat textarea:focus-visible { outline:3px solid color-mix(in srgb,var(--wpkb-accent),white 25%); outline-offset:2px; }
.wpkb-launcher-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.16); }
.wpkb-launcher svg { width:24px; height:24px; fill:currentColor; }
.wpkb-launcher-label { font-weight:700; letter-spacing:.01em; }
.wpkb-panel { position:absolute; bottom:72px; width:min(var(--wpkb-width),calc(100vw - 24px)); height:min(var(--wpkb-height),calc(100vh - 110px)); overflow:hidden; border:1px solid var(--wpkb-border); border-radius:var(--wpkb-radius); color:var(--wpkb-text); background:var(--wpkb-bg); box-shadow:var(--wpkb-shadow); opacity:0; transform:translateY(12px) scale(.98); transform-origin:bottom; transition:opacity .18s,transform .18s; }
.wpkb-placement-bottom-right .wpkb-panel { right:0; }
.wpkb-placement-bottom-left .wpkb-panel { left:0; }
.wpkb-chat.is-open .wpkb-panel { opacity:1; transform:translateY(0) scale(1); }
.wpkb-header { display:flex; align-items:center; gap:11px; min-height:76px; padding:13px 15px; color:#fff; background-color:var(--wpkb-primary); background-image:linear-gradient(130deg,var(--wpkb-primary),color-mix(in srgb,var(--wpkb-primary),#111 18%)); }
.wpkb-avatar { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:color-mix(in srgb,var(--wpkb-accent),transparent 15%); box-shadow:inset 0 1px rgba(255,255,255,.2); }
.wpkb-avatar span { font-size:20px; }
.wpkb-heading { min-width:0; flex:1; }
.wpkb-heading strong, .wpkb-heading small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wpkb-heading strong { font-size:15px; }
.wpkb-heading small { margin-top:2px; color:rgba(255,255,255,.72); font-size:11px; }
.wpkb-heading i { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#4ade80; box-shadow:0 0 0 3px rgba(74,222,128,.15); }
.wpkb-close { display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:10px; color:#fff; background:rgba(255,255,255,.1); font-size:25px; font-weight:300; cursor:pointer; }
.wpkb-close:hover { background:rgba(255,255,255,.18); }
.wpkb-messages { position:absolute; inset:76px 0 91px; overflow-y:auto; padding:18px 16px 24px; background:var(--wpkb-surface); scrollbar-width:thin; scrollbar-color:#c8ceda transparent; }
.wpkb-message { display:flex; flex-direction:column; align-items:flex-start; margin:0 0 13px; animation:wpkb-in .2s ease-out; }
.wpkb-message-user { align-items:flex-end; }
.wpkb-bubble { max-width:86%; padding:10px 13px; border:1px solid var(--wpkb-border); border-radius:15px 15px 15px 4px; color:var(--wpkb-text); background:var(--wpkb-bg); box-shadow:0 2px 8px rgba(20,28,50,.045); white-space:pre-wrap; overflow-wrap:anywhere; }
.wpkb-message-user .wpkb-bubble { border-color:transparent; border-radius:15px 15px 4px 15px; color:#fff; background:var(--wpkb-primary); box-shadow:none; }
.wpkb-message.is-error .wpkb-bubble { border-color:#fecaca; color:#991b1b; background:#fff1f2; }
.wpkb-sources { display:flex; flex-wrap:wrap; gap:5px; max-width:90%; margin-top:7px; }
.wpkb-sources > span { width:100%; color:var(--wpkb-muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.wpkb-sources a, .wpkb-sources b { display:inline-block; max-width:100%; overflow:hidden; padding:4px 7px; border:1px solid var(--wpkb-border); border-radius:7px; color:var(--wpkb-primary); background:var(--wpkb-bg); font-size:10px; font-weight:600; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.wpkb-sources a:hover { border-color:var(--wpkb-primary); }
.wpkb-typing .wpkb-bubble { display:flex; gap:4px; padding:13px 15px; }
.wpkb-typing i { width:6px; height:6px; border-radius:50%; background:var(--wpkb-muted); animation:wpkb-dot 1.1s infinite ease-in-out; }
.wpkb-typing i:nth-child(2) { animation-delay:.16s; }.wpkb-typing i:nth-child(3) { animation-delay:.32s; }
.wpkb-composer-wrap { position:absolute; inset:auto 0 0; padding:10px 12px 8px; border-top:1px solid var(--wpkb-border); background:var(--wpkb-bg); }
.wpkb-composer { display:flex; align-items:flex-end; gap:7px; min-height:46px; padding:5px 5px 5px 11px; border:1px solid var(--wpkb-border); border-radius:14px; background:var(--wpkb-bg); transition:border-color .2s,box-shadow .2s; }
.wpkb-composer:focus-within { border-color:var(--wpkb-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--wpkb-primary),transparent 87%); }
.wpkb-composer textarea { width:100%; max-height:112px; min-height:34px; resize:none; padding:7px 0; border:0!important; outline:0!important; color:var(--wpkb-text); background:transparent; box-shadow:none!important; line-height:20px; }
.wpkb-composer textarea::placeholder { color:var(--wpkb-muted); }
.wpkb-composer button { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border:0; border-radius:10px; color:#fff; background:var(--wpkb-primary); cursor:pointer; }
.wpkb-composer button:disabled { opacity:.5; cursor:wait; }
.wpkb-composer button svg { width:17px; height:17px; fill:currentColor; }
.wpkb-disclaimer { display:block; margin-top:5px; color:var(--wpkb-muted); font-size:9px; text-align:center; }
.wpkb-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.wpkb-chat .screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.wpkb-placement-inline { z-index:1; width:100%; max-width:var(--wpkb-width); margin:20px auto; }
.wpkb-placement-inline .wpkb-panel { position:relative; bottom:auto; width:100%; height:var(--wpkb-height); opacity:1; transform:none; box-shadow:0 14px 38px rgba(20,28,50,.12); }
.wpkb-theme-dark { --wpkb-bg:#172033; --wpkb-surface:#101827; --wpkb-text:#f4f7fb; --wpkb-muted:#9ca6b8; --wpkb-border:#2d3a4f; }
@media (prefers-color-scheme:dark) { .wpkb-theme-auto { --wpkb-bg:#172033;--wpkb-surface:#101827;--wpkb-text:#f4f7fb;--wpkb-muted:#9ca6b8;--wpkb-border:#2d3a4f; } }
@media (max-width:520px) { .wpkb-placement-bottom-right,.wpkb-placement-bottom-left { right:12px;bottom:12px;left:12px; } .wpkb-panel { position:fixed; inset:12px 12px 82px; width:auto; height:auto; } .wpkb-launcher { margin-left:auto; } .wpkb-placement-bottom-left .wpkb-launcher { margin-left:0; } }
@keyframes wpkb-in { from { opacity:0; transform:translateY(5px); } }
@keyframes wpkb-dot { 0%,60%,100% { transform:translateY(0); opacity:.35; } 30% { transform:translateY(-3px); opacity:1; } }

/* Theme isolation: keep builders and global button rules out of the widget. */
.wpkb-chat.wpkb-chat { isolation:isolate!important; text-align:left!important; text-transform:none!important; letter-spacing:normal!important; }
.wpkb-chat.wpkb-chat .wpkb-panel { margin:0!important; padding:0!important; text-align:left!important; font:400 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; border-style:solid!important; outline:0!important; }
.wpkb-chat.wpkb-chat .wpkb-panel[hidden] { display:none!important; }
.wpkb-chat.wpkb-chat .wpkb-header { position:relative!important; display:flex!important; flex-flow:row nowrap!important; align-items:center!important; width:100%!important; height:76px!important; min-height:76px!important; margin:0!important; padding:14px 16px!important; border:0!important; border-radius:0!important; text-align:left!important; background-color:var(--wpkb-primary)!important; }
.wpkb-chat.wpkb-chat button.wpkb-launcher { appearance:none!important; -webkit-appearance:none!important; position:relative!important; display:inline-flex!important; flex-flow:row nowrap!important; align-items:center!important; justify-content:flex-start!important; gap:11px!important; width:auto!important; min-width:0!important; max-width:none!important; height:60px!important; min-height:60px!important; max-height:60px!important; margin:0!important; padding:7px 20px 7px 7px!important; overflow:visible!important; border:0!important; border-radius:999px!important; outline:0!important; color:#fff!important; background-color:var(--wpkb-primary)!important; background-image:linear-gradient(135deg,var(--wpkb-primary),rgba(24,34,48,.3))!important; box-shadow:0 14px 36px rgba(24,34,48,.22)!important; font:700 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-align:left!important; text-decoration:none!important; text-indent:0!important; text-transform:none!important; letter-spacing:.01em!important; white-space:nowrap!important; cursor:pointer!important; }
.wpkb-chat.wpkb-chat button.wpkb-launcher:hover { transform:translateY(-2px)!important; box-shadow:0 18px 42px rgba(24,34,48,.28)!important; }
.wpkb-chat.wpkb-chat button.wpkb-launcher:focus-visible, .wpkb-chat.wpkb-chat button.wpkb-close:focus-visible, .wpkb-chat.wpkb-chat .wpkb-composer button:focus-visible { outline:3px solid var(--wpkb-accent)!important; outline-offset:3px!important; }
.wpkb-chat.wpkb-chat .wpkb-launcher-icon { position:relative!important; display:grid!important; flex:0 0 46px!important; place-items:center!important; width:46px!important; min-width:46px!important; max-width:46px!important; height:46px!important; min-height:46px!important; max-height:46px!important; margin:0!important; padding:0!important; border:1px solid rgba(255,255,255,.16)!important; border-radius:50%!important; color:#fff!important; background:rgba(255,255,255,.14)!important; box-shadow:inset 0 1px rgba(255,255,255,.18)!important; }
.wpkb-chat.wpkb-chat .wpkb-launcher-label { display:inline-block!important; width:auto!important; margin:0!important; padding:0!important; color:#fff!important; font:700 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-transform:none!important; white-space:nowrap!important; }
.wpkb-chat.wpkb-chat .wpkb-launcher svg { display:block!important; width:23px!important; min-width:23px!important; max-width:23px!important; height:23px!important; min-height:23px!important; max-height:23px!important; margin:0!important; padding:0!important; fill:currentColor!important; }
.wpkb-chat.wpkb-chat .wpkb-avatar { display:grid!important; flex:0 0 44px!important; place-items:center!important; width:44px!important; height:44px!important; margin:0!important; padding:0!important; }
.wpkb-chat.wpkb-chat .wpkb-heading { display:block!important; flex:1 1 auto!important; margin:0!important; padding:0!important; text-align:left!important; }
.wpkb-chat.wpkb-chat .wpkb-heading strong { margin:0!important; padding:0!important; color:#fff!important; font:700 15px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-transform:none!important; }
.wpkb-chat.wpkb-chat .wpkb-heading small { margin:3px 0 0!important; padding:0!important; font:400 11px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-transform:none!important; }
.wpkb-chat.wpkb-chat button.wpkb-close { appearance:none!important; -webkit-appearance:none!important; position:relative!important; display:grid!important; flex:0 0 36px!important; place-items:center!important; width:36px!important; min-width:36px!important; max-width:36px!important; height:36px!important; min-height:36px!important; max-height:36px!important; margin:0!important; padding:0!important; border:1px solid rgba(255,255,255,.16)!important; border-radius:11px!important; outline:0!important; color:#fff!important; background:rgba(255,255,255,.1)!important; box-shadow:none!important; text-decoration:none!important; cursor:pointer!important; }
.wpkb-chat.wpkb-chat button.wpkb-close:hover { background:rgba(255,255,255,.2)!important; }
.wpkb-chat.wpkb-chat button.wpkb-close svg { display:block!important; width:18px!important; height:18px!important; margin:0!important; padding:0!important; fill:currentColor!important; }
.wpkb-chat.wpkb-chat .wpkb-messages { margin:0!important; text-align:left!important; background-color:var(--wpkb-surface)!important; background-image:radial-gradient(circle at 10% 0,rgba(91,91,214,.055),transparent 34%)!important; }
.wpkb-chat.wpkb-chat .wpkb-message { width:100%!important; margin:0 0 14px!important; padding:0!important; border:0!important; }
.wpkb-chat.wpkb-chat .wpkb-bubble { width:auto!important; min-width:0!important; margin:0!important; padding:11px 14px!important; color:var(--wpkb-text)!important; font:400 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-align:left!important; text-transform:none!important; letter-spacing:normal!important; }
.wpkb-chat.wpkb-chat .wpkb-message-user .wpkb-bubble { color:#fff!important; background:var(--wpkb-primary)!important; }
.wpkb-chat.wpkb-chat .wpkb-message.is-error .wpkb-bubble { color:#991b1b!important; background:#fff5f5!important; }
.wpkb-chat.wpkb-chat .wpkb-composer-wrap { margin:0!important; text-align:left!important; }
.wpkb-chat.wpkb-chat form.wpkb-composer { position:relative!important; display:flex!important; flex-flow:row nowrap!important; align-items:flex-end!important; width:100%!important; min-height:48px!important; margin:0!important; padding:5px 5px 5px 12px!important; border:1px solid var(--wpkb-border)!important; border-radius:15px!important; background:var(--wpkb-bg)!important; box-shadow:none!important; }
.wpkb-chat.wpkb-chat form.wpkb-composer:focus-within { border-color:var(--wpkb-primary)!important; box-shadow:0 0 0 3px rgba(91,91,214,.12)!important; }
.wpkb-chat.wpkb-chat .wpkb-composer textarea { appearance:none!important; -webkit-appearance:none!important; display:block!important; flex:1 1 auto!important; width:100%!important; min-width:0!important; max-width:none!important; min-height:36px!important; margin:0!important; padding:8px 0!important; border:0!important; border-radius:0!important; outline:0!important; color:var(--wpkb-text)!important; background:transparent!important; box-shadow:none!important; font:400 14px/20px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-align:left!important; text-transform:none!important; letter-spacing:normal!important; }
.wpkb-chat.wpkb-chat .wpkb-composer button[type=submit] { appearance:none!important; -webkit-appearance:none!important; position:relative!important; display:grid!important; flex:0 0 38px!important; place-items:center!important; width:38px!important; min-width:38px!important; max-width:38px!important; height:38px!important; min-height:38px!important; max-height:38px!important; margin:0!important; padding:0!important; border:0!important; border-radius:11px!important; outline:0!important; color:#fff!important; background:var(--wpkb-primary)!important; box-shadow:none!important; cursor:pointer!important; }
.wpkb-chat.wpkb-chat .wpkb-composer button[type=submit] svg { display:block!important; width:17px!important; height:17px!important; margin:0!important; padding:0!important; fill:currentColor!important; }
.wpkb-chat.wpkb-chat .wpkb-disclaimer { margin:6px 0 0!important; padding:0!important; color:var(--wpkb-muted)!important; font:400 9px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; text-align:center!important; text-transform:none!important; }
@media (max-width:520px) { .wpkb-chat.wpkb-chat button.wpkb-launcher { margin-left:auto!important; } .wpkb-chat.wpkb-chat.wpkb-placement-bottom-left button.wpkb-launcher { margin-left:0!important; } }
