:root{
  --ca-chat-primary:#063970;
  --ca-chat-primary-2:#0b63ce;
  --ca-chat-accent:#f58220;
  --ca-chat-ink:#122033;
  --ca-chat-muted:#667085;
  --ca-chat-line:#dfe7f1;
  --ca-chat-soft:#f4f7fb;
}
.ca-sr-only{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}
.ca-chatbot{position:fixed!important;top:auto!important;right:22px!important;bottom:22px!important;left:auto!important;width:auto!important;height:auto!important;margin:0!important;transform:none!important;z-index:12000;pointer-events:none;font-family:Inter,Arial,sans-serif;color:var(--ca-chat-ink);line-height:1.45}
.ca-chatbot *{box-sizing:border-box}
.ca-chatbot-launcher{pointer-events:auto;display:flex;align-items:center;gap:9px;min-width:62px;height:62px;padding:0 17px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--ca-chat-primary),var(--ca-chat-primary-2));color:#fff;cursor:pointer;box-shadow:0 14px 35px rgba(6,57,112,.32);transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}
.ca-chatbot-launcher:hover,.ca-chatbot-launcher:focus-visible{transform:translateY(-2px);box-shadow:0 18px 42px rgba(6,57,112,.4);outline:none}
.ca-chatbot-launcher-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto}
.ca-chatbot-launcher-icon svg{width:28px;height:28px;fill:currentColor}
.ca-chatbot-launcher-label{font-size:14px;font-weight:750;letter-spacing:.01em}
.ca-chatbot-panel{pointer-events:none;position:absolute;right:0;bottom:76px;display:flex;flex-direction:column;width:min(420px,calc(100vw - 30px));height:min(650px,calc(100vh - 120px));min-height:500px;background:#fff;border:1px solid rgba(6,57,112,.12);border-radius:20px;box-shadow:0 24px 80px rgba(15,35,65,.27);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px) scale(.96);transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.ca-chatbot.ca-chatbot-open .ca-chatbot-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.ca-chatbot.ca-chatbot-open .ca-chatbot-launcher{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.82)}
.ca-chatbot-header{display:flex;align-items:center;gap:11px;min-height:76px;padding:14px 14px 14px 16px;background:linear-gradient(135deg,#042d5d,#0a5bb7);color:#fff}
.ca-chatbot-brandmark,.ca-chatbot-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;overflow:hidden}
.ca-chatbot-brandmark{width:50px;height:50px;padding:5px;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.35),0 3px 10px rgba(0,0,0,.15)}
.ca-chatbot-brandmark img{display:block;width:78%;height:78%;object-fit:contain;object-position:center center}
.ca-chatbot-header>div:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}
.ca-chatbot-header strong{font-size:16px;line-height:1.2}
.ca-chatbot-header span{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11.5px;color:rgba(255,255,255,.82)}
.ca-chatbot-header span i{width:7px;height:7px;border-radius:50%;background:#39d98a;box-shadow:0 0 0 3px rgba(57,217,138,.17)}
.ca-chatbot-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:rgba(255,255,255,.11);color:#fff;font-size:27px;line-height:1;cursor:pointer}
.ca-chatbot-close:hover,.ca-chatbot-close:focus-visible{background:rgba(255,255,255,.2);outline:none}
.ca-chatbot-messages{flex:1;overflow-y:auto;padding:18px 14px 10px;background:linear-gradient(180deg,#f8fbff,#f3f6fa);scroll-behavior:smooth}
.ca-chatbot-message{display:flex;align-items:flex-end;gap:8px;margin:0 0 13px}
.ca-chatbot-message-user{justify-content:flex-end}
.ca-chatbot-avatar{width:32px;height:32px;padding:4px;background:#fff;border:1px solid #d6e2ef;box-shadow:0 2px 7px rgba(15,35,65,.1)}
.ca-chatbot-avatar img{display:block;width:78%;height:78%;object-fit:contain;object-position:center center}
.ca-chatbot-bubble{max-width:83%;padding:11px 13px;border-radius:15px;background:#fff;border:1px solid var(--ca-chat-line);box-shadow:0 4px 14px rgba(15,35,65,.06);font-size:13.5px;overflow-wrap:anywhere}
.ca-chatbot-message-user .ca-chatbot-bubble{background:var(--ca-chat-primary-2);color:#fff;border-color:transparent;border-bottom-right-radius:5px}
.ca-chatbot-message-bot .ca-chatbot-bubble{border-bottom-left-radius:5px}
.ca-chatbot-source-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.ca-chatbot-source-list a{display:inline-flex;align-items:center;max-width:100%;padding:6px 8px;border:1px solid #bfd2ea;border-radius:8px;background:#f7fbff;color:#064c9b!important;text-decoration:none!important;font-size:11.5px;font-weight:650;line-height:1.25}
.ca-chatbot-source-list a:hover{background:#eaf4ff;border-color:#8eb5df}
.ca-chatbot-quick-actions{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 15px 38px}
.ca-chatbot-quick-actions button,.ca-chatbot-quick-actions a{display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;border:1px solid #b9d0e9;border-radius:999px;background:#fff;color:#0756a5!important;font-size:11.5px;font-weight:650;line-height:1.2;text-decoration:none!important;cursor:pointer}
.ca-chatbot-quick-actions button:hover,.ca-chatbot-quick-actions a:hover{background:#eaf4ff}
.ca-chatbot-typing{display:flex;align-items:center;gap:4px;padding:8px 16px;background:#f4f7fb;color:var(--ca-chat-muted);font-size:11.5px;border-top:1px solid #edf1f6}
.ca-chatbot-typing span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#7590ac;animation:ca-chat-pulse 1s infinite ease-in-out}
.ca-chatbot-typing span:nth-child(2){animation-delay:.15s}.ca-chatbot-typing span:nth-child(3){animation-delay:.3s}
@keyframes ca-chat-pulse{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ca-chatbot-input-form{display:flex;align-items:flex-end;gap:8px;padding:11px 12px;background:#fff;border-top:1px solid var(--ca-chat-line)}
.ca-chatbot-input-form textarea{display:block;flex:1;min-height:42px;max-height:112px;padding:10px 11px;border:1px solid #cfd9e6;border-radius:12px;background:#fbfcfe;color:var(--ca-chat-ink);font:inherit;font-size:13.5px;line-height:1.4;resize:none;outline:none}
.ca-chatbot-input-form textarea:focus{border-color:#5a98db;box-shadow:0 0 0 3px rgba(11,99,206,.1)}
.ca-chatbot-input-form button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:0;border-radius:12px;background:var(--ca-chat-primary-2);color:#fff;cursor:pointer}
.ca-chatbot-input-form button:disabled{opacity:.55;cursor:not-allowed}
.ca-chatbot-input-form button svg{width:20px;height:20px;fill:currentColor}
.ca-chatbot-disclaimer{padding:0 12px 10px;background:#fff;color:#8390a2;text-align:center;font-size:10px}
.ca-chatbot-enquiry{margin:4px 0 15px 38px;padding:12px;border:1px solid #d6e2ef;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(15,35,65,.05)}
.ca-chatbot-enquiry strong{display:block;margin-bottom:3px;font-size:13px}
.ca-chatbot-enquiry p{margin:0 0 10px;color:var(--ca-chat-muted);font-size:11.5px}
.ca-chatbot-enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ca-chatbot-enquiry input,.ca-chatbot-enquiry textarea{width:100%;padding:8px 9px;border:1px solid #ccd8e5;border-radius:8px;background:#fff;font:inherit;font-size:12px;outline:none}
.ca-chatbot-enquiry textarea{grid-column:1/-1;min-height:76px;resize:vertical}
.ca-chatbot-enquiry input:focus,.ca-chatbot-enquiry textarea:focus{border-color:#5a98db;box-shadow:0 0 0 2px rgba(11,99,206,.09)}
.ca-chatbot-enquiry-actions{display:flex;align-items:center;gap:8px;margin-top:8px}
.ca-chatbot-enquiry-actions button,.ca-chatbot-enquiry-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border-radius:8px;font-size:11.5px;font-weight:700;text-decoration:none!important}
.ca-chatbot-enquiry-actions button{border:0;background:var(--ca-chat-primary);color:#fff;cursor:pointer}
.ca-chatbot-enquiry-actions a{border:1px solid #bfd2e8;color:#0756a5!important;background:#f7fbff}
.ca-chatbot-enquiry-status{margin-top:8px!important;font-size:11.5px!important}
.ca-chatbot-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:640px){
  .ca-chatbot{right:12px!important;bottom:12px!important}
  .ca-chatbot-launcher{height:58px;min-width:58px;padding:0 14px}
  .ca-chatbot-launcher-label{display:none}
  .ca-chatbot-panel{position:fixed;inset:8px;width:auto;height:auto;min-height:0;border-radius:16px;transform-origin:bottom right}
  .ca-chatbot-header{min-height:70px}
  .ca-chatbot-bubble{max-width:87%;font-size:13px}
  .ca-chatbot-enquiry{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.ca-chatbot-panel,.ca-chatbot-launcher{transition:none}.ca-chatbot-typing span{animation:none}}

/* Viewport portal: keeps the chatbot at the screen bottom on product pages. */
.ca-chatbot-viewport-layer,
#ca-chatbot-viewport-layer {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: none !important;
  transform: none !important;
  z-index: 12000 !important;
}
#ca-chatbot-viewport-layer > .ca-chatbot {
  position: absolute !important;
  top: auto !important;
  right: 22px !important;
  bottom: 22px !important;
  left: auto !important;
  z-index: 1 !important;
}
@media(max-width:640px){
  #ca-chatbot-viewport-layer > .ca-chatbot { right:12px!important; bottom:12px!important; }
}

/* OEM pages apply position:relative to every SECTION and legacy styles to HEADER.
   Strong scoped resets keep the chatbot launcher anchored to the viewport bottom. */
#ca-chatbot.ca-chatbot { position:fixed!important; top:auto!important; right:22px!important; bottom:22px!important; left:auto!important; width:auto!important; height:62px!important; min-height:0!important; margin:0!important; transform:none!important; }
#ca-chatbot .ca-chatbot-panel { position:absolute!important; top:auto!important; right:0!important; bottom:76px!important; left:auto!important; }
#ca-chatbot .ca-chatbot-header { position:relative!important; top:auto!important; right:auto!important; bottom:auto!important; left:auto!important; width:auto!important; height:auto!important; }
#ca-chatbot.ca-chatbot-open { width:min(420px,calc(100vw - 30px))!important; height:62px!important; }
@media(max-width:640px){
  #ca-chatbot.ca-chatbot { right:12px!important; bottom:12px!important; height:58px!important; }
  #ca-chatbot .ca-chatbot-panel { position:fixed!important; inset:8px!important; width:auto!important; height:auto!important; min-height:0!important; }
}
