.nbai-chat{--nbai-bg:#101727;--nbai-line:#2c3951;--nbai-fg:#eaf2fc;--nbai-muted:#aabbd0;width:100%;max-width:610px;margin:16px auto;border-radius:18px;overflow:hidden;background:var(--nbai-bg);border:1px solid var(--nbai-line);box-shadow:0 14px 38px #0002;color:var(--nbai-fg);font:inherit}
.nbai-chat *{box-sizing:border-box}.nbai-chat-head{padding:19px 20px;border-bottom:1px solid var(--nbai-line);background:linear-gradient(100deg,#19253a,#11182b);display:flex;align-items:center;gap:12px}.nbai-chat-head strong,.nbai-chat-head small{display:block}.nbai-chat-head strong{font-size:16px}.nbai-chat-head small{font-size:12px;color:var(--nbai-muted);margin-top:2px}.nbai-chat-spark{display:grid;place-items:center;border:1px solid #5179b4;background:#162c48;color:#9dc8ff;border-radius:11px;min-width:38px;height:38px;font-size:20px}
.nbai-chat-log{padding:20px;display:flex;flex-direction:column;gap:12px;min-height:225px;max-height:440px;overflow:auto}.nbai-bubble{padding:12px 14px;border-radius:13px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;max-width:90%}.nbai-assistant,.nbai-pending{background:#202d43;align-self:flex-start;border:1px solid #364761}.nbai-pending{color:var(--nbai-muted)}.nbai-user{align-self:flex-end;background:#254b78;border:1px solid #37699e}
.nbai-chat-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--nbai-line)}.nbai-chat-input{min-width:0;flex:1!important;background:#19253a!important;color:#fff!important;border:1px solid #41516b!important;border-radius:10px!important;min-height:44px!important;padding:9px 13px!important}.nbai-chat-form button{border:0!important;border-radius:10px;background:#5689d5!important;color:#fff!important;padding:0 17px;font:inherit;font-weight:700;cursor:pointer}.nbai-chat-form button:disabled{opacity:.6;cursor:wait}.nbai-chat-footer{padding:0 16px 17px;color:var(--nbai-muted);font-size:12px}.nbai-chat-footer a{color:#9fc9ff;text-decoration:underline}.nbai-chat-consent{display:flex;align-items:start;gap:8px;padding:1px 16px 12px;color:var(--nbai-muted);font-size:12px}.nbai-chat-consent input{margin-top:4px}
.nbai-products{align-self:stretch;display:grid;gap:7px}.nbai-product{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #3b526c;border-radius:9px;color:#eaf2fc!important;text-decoration:none!important;background:#18263d}.nbai-product:hover{border-color:#7faeee}.nbai-product strong{font-size:13px}.nbai-product small{font-size:12px;color:#afc4db}
@media(max-width:500px){.nbai-chat{border-radius:12px}.nbai-chat-log{padding:12px;min-height:170px}.nbai-bubble{max-width:94%}.nbai-chat-form{padding:10px}.nbai-chat-head{padding:15px}}

.nbai-links{align-self:stretch;display:flex;flex-wrap:wrap;gap:8px}.nbai-link{display:inline-flex;border-radius:9px;border:1px solid #4e78a6;background:#243b58;padding:10px 13px;color:#d7ebff!important;text-decoration:none!important;font-weight:600;font-size:13px}.nbai-link:hover{background:#2e517e;border-color:#91baf1}

/* NeuroDesk customer-confirmed ticket draft */
.nbai-ticket-tools{padding:12px 16px;border-top:1px solid rgba(130,150,170,.19)}
.nbai-ticket-tools button{cursor:pointer;border:1px solid rgba(124,147,173,.35);border-radius:9px;padding:9px 13px;background:transparent;color:inherit;font-weight:600}
.nbai-ticket-form{margin-top:12px;display:grid;gap:12px}
.nbai-ticket-form[hidden],.nbai-ticket-review[hidden]{display:none!important}
.nbai-ticket-form label{display:grid;gap:5px;font-size:.9em}
.nbai-ticket-form input,.nbai-ticket-form textarea{box-sizing:border-box;width:100%;max-width:100%;padding:10px;border-radius:9px;border:1px solid rgba(124,147,173,.45);background:transparent;color:inherit}
.nbai-ticket-form small,.nbai-ticket-review small{display:block;opacity:.8}
.nbai-ticket-review{margin-top:12px;padding:12px;border:1px solid rgba(124,147,173,.4);border-radius:12px}
.nbai-ticket-review .nbai-ticket-message{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow-y:auto}
.nbai-ticket-review button{margin:9px 8px 0 0}
.nbai-ticket-review .nbai-confirm{background:#157655;color:white}

/* Guided NeuroDesk support triage (browser-local until explicit preview). */
.nbai-support-choice{align-self:stretch;padding:12px 14px;background:#18283d;border:1px solid #43617f;border-radius:12px;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.nbai-support-choice small{display:block;flex-basis:100%;color:#b1cbe4;font-size:12px}
.nbai-support-choice button{background:#3c79b9;color:white;border:1px solid #6c98c5;border-radius:9px;padding:9px 12px;font-weight:650;cursor:pointer}
.nbai-support-choice button:disabled{opacity:.55;cursor:default}
.nbai-support-choice .nbai-support-cancel{background:transparent;color:#cce0f6}

/* Neurobytes AI 1.0 – reusable client UI, scoped to this widget only */
.nbai-widget{--nbai-accent:#5689d5;--nbai-background:#101727;--nbai-surface:#202d43;--nbai-text:#eaf2fc;--nbai-line:#34465f;color:var(--nbai-text);font-family:inherit}
.nbai-widget .nbai-chat{--nbai-bg:var(--nbai-background);--nbai-fg:var(--nbai-text);--nbai-muted:#abbdd2;background:var(--nbai-background);color:var(--nbai-text);margin:0 auto;max-width:680px;display:flex;flex-direction:column;min-height:360px}
.nbai-widget .nbai-chat[hidden],.nbai-widget .nbai-consent-dialog[hidden],.nbai-widget .nbai-launcher[hidden]{display:none!important}
.nbai-widget .nbai-chat-head{background:var(--nbai-surface);padding:14px 16px;flex-shrink:0}
.nbai-widget .nbai-chat-heading{flex:1;min-width:0}
.nbai-widget .nbai-head-actions{display:flex;gap:4px;margin-left:auto}
.nbai-widget .nbai-head-actions button{width:32px;height:32px;color:var(--nbai-text);background:transparent;border:1px solid transparent;border-radius:9px;font-size:18px;line-height:1;cursor:pointer}
.nbai-widget .nbai-head-actions button:hover,.nbai-widget .nbai-head-actions button:focus-visible{border-color:var(--nbai-accent);background:rgba(130,150,185,.16)}
.nbai-widget .nbai-chat-log{flex:1;max-height:unset;min-height:200px;overscroll-behavior:contain}
.nbai-widget .nbai-assistant,.nbai-widget .nbai-pending{background:var(--nbai-surface);color:var(--nbai-text)}
.nbai-widget .nbai-user{background:var(--nbai-accent);color:#fff;border-color:transparent}
.nbai-widget .nbai-chat-form button{background:var(--nbai-accent)!important}
.nbai-widget .nbai-chat-footer{display:flex;gap:5px;align-items:center;padding:0 15px 12px;font-size:11px}
.nbai-widget .nbai-footer-privacy{border:none;background:none;color:inherit;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}
.nbai-widget .nbai-products{display:grid;grid-template-columns:1fr;gap:7px}
.nbai-widget .nbai-product{display:flex;flex-direction:row;align-items:center;gap:11px;background:var(--nbai-surface);border-color:var(--nbai-line);color:var(--nbai-text)!important;min-height:70px;transition:border-color .15s,transform .15s}
.nbai-widget .nbai-product:hover{border-color:var(--nbai-accent);transform:translateY(-1px)}
.nbai-widget .nbai-product-body{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.nbai-widget .nbai-product-img{width:64px;height:64px;object-fit:cover;border-radius:9px;flex-shrink:0;background:#2b3950}
.nbai-widget .nbai-product strong,.nbai-widget .nbai-product small{overflow-wrap:anywhere}
.nbai-widget .nbai-link{display:inline-flex;align-items:center;gap:8px;color:var(--nbai-text)!important;background:var(--nbai-surface);border-color:var(--nbai-line);transition:border-color .15s}
.nbai-widget .nbai-link:hover{background:var(--nbai-surface);border-color:var(--nbai-accent)}
.nbai-widget .nbai-site-icon{height:20px;width:20px;object-fit:contain;border-radius:5px}
.nbai-widget .nbai-link-arrow{margin-left:3px;opacity:.75}
.nbai-widget--floating{position:fixed;z-index:2147481500;bottom:22px;right:22px;max-width:calc(100vw - 24px)}
.nbai-widget--floating.nbai-side-left{left:22px;right:auto}
.nbai-widget--floating .nbai-launcher{display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border:1px solid rgba(255,255,255,.16);border-radius:100px;background:var(--nbai-accent);color:#fff;cursor:pointer;box-shadow:0 8px 28px #0004;font-weight:700;font-size:14px}
.nbai-widget--floating .nbai-launcher-icon{font-size:18px}
.nbai-widget--floating .nbai-chat{width:min(405px,calc(100vw - 24px));height:min(640px,calc(100dvh - 64px));border-radius:17px;box-shadow:0 14px 48px #0007}
.nbai-widget--floating .nbai-chat-log{padding:14px;gap:10px}
.nbai-widget--floating .nbai-bubble{font-size:13px;line-height:1.5;padding:10px 12px}
.nbai-widget--floating .nbai-product-img{height:54px;width:54px}
.nbai-widget--inline{width:100%;max-width:680px;margin:16px auto}
.nbai-widget--inline .nbai-chat{max-width:none}
.nbai-widget .nbai-consent-dialog{position:fixed;inset:0;display:grid;place-items:center;z-index:2147481502;background:rgba(5,12,25,.7);padding:16px;backdrop-filter:blur(3px)}
.nbai-widget .nbai-consent-panel{width:min(450px,100%);padding:24px;background:var(--nbai-background);color:var(--nbai-text);border:1px solid var(--nbai-line);border-radius:17px;box-shadow:0 18px 60px #0007}
.nbai-widget .nbai-consent-panel h3{color:inherit;font-size:19px;margin:0 0 12px}
.nbai-widget .nbai-consent-panel p{color:inherit;line-height:1.6;font-size:14px;margin:0 0 12px}
.nbai-widget .nbai-consent-panel .nbai-consent-help{font-size:12px;opacity:.8}
.nbai-widget .nbai-consent-panel a{color:var(--nbai-accent)}
.nbai-widget .nbai-consent-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.nbai-widget .nbai-consent-actions button{flex:1;min-width:135px;border-radius:10px;border:1px solid var(--nbai-line);padding:10px;font-weight:700;cursor:pointer;color:var(--nbai-text);background:var(--nbai-surface)}
.nbai-widget .nbai-consent-actions .nbai-consent-allow{background:var(--nbai-accent);color:#fff;border-color:transparent}
@media(max-width:600px){
  .nbai-widget--floating{bottom:12px;right:12px;left:auto}
  .nbai-widget--floating.nbai-side-left{bottom:12px;left:12px}
  .nbai-widget--floating .nbai-chat{width:calc(100vw - 16px);height:calc(100dvh - 20px);max-height:none;border-radius:14px}
  .nbai-widget--floating.nbai-open{left:8px;right:8px;bottom:10px;max-width:none}
}
@media(prefers-reduced-motion:reduce){.nbai-widget *{transition:none!important;scroll-behavior:auto!important}}

/* Neurobytes AI 1.1: responsive product families inside the floating widget. */
.nbai-widget .nbai-product--group{align-items:flex-start}
.nbai-widget .nbai-product-title{font-size:13px;font-weight:700;color:var(--nbai-text)!important;text-decoration:none!important;overflow-wrap:anywhere}
.nbai-widget .nbai-product-title:hover{text-decoration:underline!important}
.nbai-widget .nbai-variant-toggle{align-self:start;margin-top:6px;background:transparent;color:var(--nbai-text);border:1px solid var(--nbai-line);border-radius:8px;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer;text-align:left}
.nbai-widget .nbai-variant-toggle:hover,.nbai-widget .nbai-variant-toggle:focus-visible{border-color:var(--nbai-accent)}
.nbai-widget .nbai-variant-list{display:grid;gap:5px;margin-top:7px}
.nbai-widget .nbai-variant-list[hidden]{display:none!important}
.nbai-widget .nbai-variant-row{display:flex;justify-content:space-between;align-items:start;gap:8px;border:1px solid var(--nbai-line);border-radius:7px;padding:7px;color:var(--nbai-text)!important;text-decoration:none!important;font-size:11px;overflow-wrap:anywhere}
.nbai-widget .nbai-variant-row:hover{border-color:var(--nbai-accent)}
.nbai-widget .nbai-variant-row span{min-width:0;flex:1}
.nbai-widget .nbai-variant-row small{white-space:nowrap;font-size:11px;color:var(--nbai-text)}

/* 1.2.2 — per-site brand avatar. No external CSS or hard-coded brand image. */
.nbai-widget .nbai-chat-spark,.nbai-widget .nbai-launcher-icon{overflow:hidden;flex-shrink:0}
.nbai-widget .nbai-chat-spark .nbai-avatar-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;object-position:center;border-radius:inherit;box-shadow:none;border:0}
.nbai-widget .nbai-launcher-icon{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;line-height:1}
.nbai-widget .nbai-launcher-icon .nbai-avatar-image{display:block!important;width:32px!important;height:32px!important;max-width:none!important;max-height:none!important;object-fit:cover;object-position:center;border-radius:50%;border:0;box-shadow:none}
.nbai-widget .nbai-chat-heading strong{overflow-wrap:anywhere}

/* 1.2.4: Fix intrinsic-size expansion of Media Library avatars in the open widget header.
   The launcher already had a fixed 32px frame; the open header must have its own
   fixed square frame too. Scope to our widget (never alter theme/other site images). */
.nbai-widget .nbai-chat-head{display:flex;align-items:center;gap:10px;min-width:0}
.nbai-widget .nbai-chat-head .nbai-chat-spark{
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;position:relative;isolation:isolate;
  width:40px!important;min-width:40px!important;max-width:40px!important;
  height:40px!important;min-height:40px!important;max-height:40px!important;
  flex:0 0 40px!important;aspect-ratio:1 / 1;
  padding:0!important;margin:0!important;overflow:hidden!important;
  border-radius:50%!important;line-height:1!important;
}
.nbai-widget .nbai-chat-head .nbai-chat-spark img.nbai-avatar-image{
  display:block!important;width:40px!important;min-width:40px!important;max-width:40px!important;
  height:40px!important;min-height:40px!important;max-height:40px!important;
  flex:0 0 40px!important;aspect-ratio:1 / 1;object-fit:cover!important;
  object-position:center center!important;border-radius:50%!important;
  margin:0!important;padding:0!important;transform:none!important;
}
.nbai-widget .nbai-chat-head .nbai-chat-heading{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
.nbai-widget .nbai-chat-head .nbai-chat-heading strong{line-height:1.25;white-space:normal;word-break:normal;overflow-wrap:break-word}
.nbai-widget .nbai-chat-head .nbai-chat-heading small{line-height:1.3;white-space:normal;overflow-wrap:break-word}
.nbai-widget .nbai-chat-head .nbai-head-actions{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap;margin-left:0}
@media(max-width:420px){
  .nbai-widget .nbai-chat-head{gap:8px;padding:12px}
  .nbai-widget .nbai-chat-head .nbai-head-actions{gap:0}
  .nbai-widget .nbai-chat-head .nbai-head-actions button{width:29px;height:32px;padding:0}
}

/* 1.3.0: user-initiated network retry; independent of page theme. */
.nbai-widget .nbai-retry{align-self:flex-start;border:1px solid var(--nbai-accent);background:var(--nbai-surface);color:var(--nbai-text);border-radius:9px;padding:9px 12px;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
.nbai-widget .nbai-retry:hover,.nbai-widget .nbai-retry:focus-visible{outline:2px solid var(--nbai-accent);outline-offset:2px}



/* 1.5.1: Type-scale polish, wider desktop chat, compact product facts. */
/* Only this plugin widget is affected; no site-wide typography changes. */
.nbai-widget .nbai-chat{box-sizing:border-box}
.nbai-widget{font-size:calc(1em + 1px)}
.nbai-widget .nbai-chat-head strong{font-size:17px}
.nbai-widget .nbai-chat-head small{font-size:13px}
.nbai-widget .nbai-head-actions button{font-size:19px}
.nbai-widget .nbai-chat-spark{font-size:21px}
.nbai-widget .nbai-bubble{font-size:15px}
.nbai-widget--floating .nbai-bubble{font-size:14px}
.nbai-widget .nbai-product strong,.nbai-widget .nbai-product-title{font-size:14px}
.nbai-widget .nbai-product small{font-size:13px}
.nbai-widget .nbai-link{font-size:14px}
.nbai-widget .nbai-chat-footer{font-size:12px}
.nbai-widget .nbai-support-choice small{font-size:13px}
.nbai-widget .nbai-launcher{font-size:15px}
.nbai-widget .nbai-consent-panel h3{font-size:20px}
.nbai-widget .nbai-consent-panel p{font-size:15px}
.nbai-widget .nbai-consent-panel .nbai-consent-help{font-size:13px}
.nbai-widget .nbai-variant-toggle{font-size:13px}
.nbai-widget .nbai-variant-row{font-size:12px}
.nbai-widget .nbai-variant-row small{font-size:12px}
.nbai-widget .nbai-retry{font-size:14px}
.nbai-widget .nbai-chat-input{font-size:inherit!important}
.nbai-widget .nbai-chat-form button{font-size:inherit!important}
.nbai-widget--floating .nbai-chat{width:min(445px,calc(100vw - 24px));}
/* Prices and stock labels are DOM text, not generated HTML. */
.nbai-widget .nbai-product-meta{display:flex;flex-wrap:wrap;align-items:center;column-gap:5px;row-gap:1px;line-height:1.45}
.nbai-widget .nbai-product .nbai-product-price,.nbai-widget .nbai-variant-row .nbai-product-price{
  color:var(--nbai-accent,#78b9ff)!important;font-weight:750;
}
.nbai-widget .nbai-product .nbai-in-stock,.nbai-widget .nbai-variant-row .nbai-in-stock{
  color:#53df9c!important;font-weight:650;
}
.nbai-widget .nbai-product .nbai-out-of-stock,.nbai-widget .nbai-variant-row .nbai-out-of-stock{
  color:#ff858f!important;font-weight:650;
}
.nbai-widget .nbai-product-separator{color:var(--nbai-text);opacity:.6}
.nbai-widget .nbai-variant-row .nbai-variant-meta{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:2px;max-width:45%}
.nbai-widget .nbai-variant-row .nbai-variant-meta small{text-align:right;white-space:normal}
@media(max-width:600px){
  /* Keep the existing mobile edge-to-edge behavior; do not create horizontal overflow. */
  .nbai-widget--floating .nbai-chat{width:calc(100vw - 24px)}
  .nbai-widget--floating.nbai-expanded .nbai-chat{width:calc(100vw - 16px)!important}
}

/* 1.5.2: expanded centered chat, with in-place return to the original widget size. */
.nbai-widget--floating .nbai-expand-backdrop[hidden]{display:none!important}
.nbai-widget--floating.nbai-expanded .nbai-expand-backdrop{
  position:fixed;inset:0;display:block;background:rgba(3,9,21,.65);
  backdrop-filter:blur(2px);z-index:0;
}
body.nbai-ai-modal-open{overflow:hidden!important}
.nbai-widget--floating .nbai-head-actions .nbai-expand{
  display:inline-flex;align-items:center;justify-content:center;padding:0;
}
.nbai-widget--floating .nbai-expand-icon{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nbai-widget--floating .nbai-expand-in{display:none}
.nbai-widget--floating.nbai-expanded .nbai-expand-out{display:none}
.nbai-widget--floating.nbai-expanded .nbai-expand-in{display:block}
.nbai-widget--floating.nbai-expanded .nbai-chat{
  position:fixed!important;left:50%!important;top:50%!important;bottom:auto!important;right:auto!important;
  transform:translate(-50%,-50%);width:min(780px,calc(100vw - 48px))!important;
  height:min(810px,calc(100dvh - 48px))!important;max-width:none!important;
  max-height:none!important;z-index:1;border-radius:18px;
  box-shadow:0 24px 95px #000b;
}
.nbai-widget--floating.nbai-expanded .nbai-chat-log{min-height:0;flex:1;overflow:auto}
.nbai-widget .nbai-product .nbai-product-price{color:#ffc15c!important;font-size:15px!important;font-weight:800;line-height:1.3}
.nbai-widget .nbai-variant-row .nbai-product-price{color:#ffc15c!important;font-size:14px!important;font-weight:800;line-height:1.3}
@media(max-width:600px){
  .nbai-widget--floating.nbai-expanded .nbai-chat{
    width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;
    max-height:none!important;border-radius:13px;
  }
}
@media(max-width:390px){
  /* Privacy remains available in the footer; free up header space for the expand control. */
  .nbai-widget--floating .nbai-chat-head .nbai-privacy-open{display:none}
}


/* 1.5.3: readability and breathing room. Scoped to the AI widget, not the theme.
   Increase visible type by 1px relative to 1.5.2, keep the floating widget
   usable on narrow phones, and avoid edge-hugging in expanded mode. */
.nbai-widget{font-size:calc(1em + 2px)}
.nbai-widget .nbai-chat-head strong{font-size:18px}
.nbai-widget .nbai-chat-head small{font-size:14px}
.nbai-widget .nbai-head-actions button{font-size:20px}
.nbai-widget .nbai-chat-spark{font-size:22px}
.nbai-widget .nbai-bubble{font-size:16px;line-height:1.58;padding:13px 16px}
.nbai-widget--floating .nbai-bubble{font-size:15px;line-height:1.58}
.nbai-widget .nbai-product strong,.nbai-widget .nbai-product-title{font-size:15px;line-height:1.38}
.nbai-widget .nbai-product small{font-size:14px;line-height:1.43}
.nbai-widget .nbai-product .nbai-product-price{font-size:16px!important}
.nbai-widget .nbai-variant-row .nbai-product-price{font-size:15px!important}
.nbai-widget .nbai-link{font-size:15px}
.nbai-widget .nbai-chat-footer{font-size:13px}
.nbai-widget .nbai-support-choice small{font-size:14px}
.nbai-widget .nbai-launcher{font-size:16px}
.nbai-widget .nbai-consent-panel h3{font-size:21px}
.nbai-widget .nbai-consent-panel p{font-size:16px}
.nbai-widget .nbai-consent-panel .nbai-consent-help{font-size:14px}
.nbai-widget .nbai-variant-toggle{font-size:14px}
.nbai-widget .nbai-variant-row,.nbai-widget .nbai-variant-row small{font-size:13px}
.nbai-widget .nbai-retry{font-size:15px}
.nbai-widget .nbai-chat-head{padding:16px 20px;gap:12px}
.nbai-widget .nbai-chat-log{gap:14px;padding:18px}
.nbai-widget--floating .nbai-chat-log{gap:13px;padding:18px}
.nbai-widget .nbai-products{gap:11px}
.nbai-widget .nbai-product{padding:13px 15px;gap:13px;min-height:78px;border-radius:11px}
.nbai-widget--floating .nbai-product-img{width:59px;height:59px}
.nbai-widget .nbai-product-body{gap:5px}
.nbai-widget .nbai-link{padding:11px 15px;line-height:1.45}
.nbai-widget .nbai-chat-form{padding:14px 18px;gap:10px}
.nbai-widget .nbai-chat-input{min-height:48px!important;padding:11px 14px!important}
.nbai-widget .nbai-chat-form button{padding:0 20px}
.nbai-widget .nbai-chat-footer{padding:0 18px 15px}
.nbai-widget .nbai-support-choice{padding:14px 16px;gap:11px}
.nbai-widget .nbai-variant-row{padding:9px 10px;gap:10px}
.nbai-widget .nbai-variant-list{gap:7px;margin-top:9px}
.nbai-widget--floating .nbai-chat{width:min(480px,calc(100vw - 28px))}
/* Centered mode gains working space while keeping a 36px outer margin on large screens. */
.nbai-widget--floating.nbai-expanded .nbai-chat{
  width:min(840px,calc(100vw - 72px))!important;
  height:min(830px,calc(100dvh - 72px))!important;
}
.nbai-widget--floating.nbai-expanded .nbai-chat-log{padding:25px 28px;gap:16px}
.nbai-widget--floating.nbai-expanded .nbai-chat-form{padding:17px 26px 13px}
.nbai-widget--floating.nbai-expanded .nbai-chat-footer{padding:0 26px 18px}
.nbai-widget--floating.nbai-expanded .nbai-bubble{padding:15px 18px}
.nbai-widget--floating.nbai-expanded .nbai-product{padding:15px 17px;gap:15px}
@media(max-width:600px){
  .nbai-widget--floating .nbai-chat{width:calc(100vw - 32px);height:min(780px,calc(100dvh - 46px));max-height:none}
  .nbai-widget--floating .nbai-chat-log{padding:15px;gap:12px}
  .nbai-widget .nbai-chat-head{padding:14px 13px;gap:9px}
  .nbai-widget .nbai-chat-form{padding:12px 13px;gap:9px}
  .nbai-widget .nbai-chat-form button{padding:0 15px}
  .nbai-widget .nbai-chat-footer{padding:0 13px 12px}
  .nbai-widget .nbai-product{padding:12px 13px;gap:11px}
  .nbai-widget--floating .nbai-product-img{width:56px;height:56px}
  .nbai-widget--floating.nbai-expanded .nbai-chat{
    width:calc(100vw - 20px)!important;
    height:calc(100dvh - 24px)!important;
  }
  .nbai-widget--floating.nbai-expanded .nbai-chat-log{padding:18px;gap:14px}
  .nbai-widget--floating.nbai-expanded .nbai-chat-form{padding:13px 17px 10px}
  .nbai-widget--floating.nbai-expanded .nbai-chat-footer{padding:0 17px 13px}
  .nbai-widget--floating.nbai-expanded .nbai-bubble{padding:13px 15px}
  .nbai-widget--floating.nbai-expanded .nbai-product{padding:12px 13px;gap:11px}
}
@media(max-width:360px){
  /* At 320px, preserve a visible gutter without squeezing the input or title. */
  .nbai-widget--floating .nbai-chat{width:calc(100vw - 24px)}
  .nbai-widget--floating.nbai-expanded .nbai-chat{width:calc(100vw - 16px)!important}
  .nbai-widget .nbai-chat-head{padding:12px 10px;gap:7px}
  .nbai-widget .nbai-chat-log{padding:12px}
  .nbai-widget .nbai-chat-form{padding:11px 10px;gap:7px}
  .nbai-widget .nbai-chat-form button{padding:0 12px}
  .nbai-widget .nbai-chat-footer{padding:0 10px 11px}
  .nbai-widget--floating.nbai-expanded .nbai-chat-log{padding:13px}
  .nbai-widget--floating.nbai-expanded .nbai-chat-form{padding:12px 12px 9px}
  .nbai-widget--floating.nbai-expanded .nbai-chat-footer{padding:0 12px 11px}
}
