/* ICEMS Chatbot. Styles are prefixed to avoid affecting the active WordPress theme. */
.icems-chat-root, .icems-inline-search, .icems-chat-inline-button { --icems-chat-accent:#7566f7; }
.icems-chat-root *, .icems-inline-search *, .icems-chat-inline-button { box-sizing:border-box; }
.icems-chat-root { position:relative; z-index:2147482000; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#1f202d; font-size:14px; line-height:1.55; }
.icems-chat-root button, .icems-inline-search button, .icems-chat-inline-button { font-family:inherit; cursor:pointer; }
.icems-chat-root button:focus-visible, .icems-chat-root a:focus-visible, .icems-chat-root input:focus-visible, .icems-inline-search input:focus-visible, .icems-inline-search button:focus-visible, .icems-chat-inline-button:focus-visible { outline:3px solid #4234cf; outline-offset:3px; }
.icems-chat-root .icems-chat-launcher { all:unset; box-sizing:border-box; position:fixed; right:24px; bottom:24px; z-index:2147482001; border:1px solid rgba(160,138,255,.6); border-radius:999px; background:linear-gradient(120deg,#15101d,#1b1630); color:#fff; box-shadow:0 15px 50px rgba(19,12,51,.27); display:flex; align-items:center; justify-content:center; gap:11px; min-height:56px; padding:0 19px; font-size:14px; font-weight:700; cursor:pointer; letter-spacing:.01em; transition:transform .15s,box-shadow .15s; }
.icems-chat-launcher:hover { transform:translateY(-2px); box-shadow:0 18px 55px rgba(19,12,51,.35); }
.icems-chat-launcher .icems-chat-mark { width:26px; height:26px; color:#c5b9ff; }
.icems-chat-launcher-spark { color:#d7c5ff; font-size:17px; }
.icems-chat-mark { display:block; flex:none; width:28px; height:28px; }
.icems-chat-backdrop { position:fixed; inset:0; background:rgba(13,10,32,.28); opacity:0; visibility:hidden; pointer-events:none; z-index:2147482002; transition:opacity .2s,visibility .2s; }
.icems-chat-panel { position:fixed; top:0; right:0; height:100vh; height:100dvh; width:min(430px,100vw); display:flex; flex-direction:column; min-height:0; z-index:2147482003; background:#fff; box-shadow:-16px 0 80px rgba(21,18,61,.2); transform:translateX(105%); opacity:0; visibility:hidden; pointer-events:none; transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s,visibility .2s; overflow:hidden; }
.icems-chat-open .icems-chat-backdrop { opacity:1; visibility:visible; pointer-events:auto; }
.icems-chat-open .icems-chat-panel { transform:translateX(0); opacity:1; visibility:visible; pointer-events:auto; }
.icems-chat-open .icems-chat-launcher { visibility:hidden; }
.icems-chat-header { min-height:68px; height:68px; padding:0 21px; border-bottom:1px solid #e7e1ff; flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; }
.icems-chat-brand { display:flex; align-items:center; gap:11px; font-size:15px; font-weight:740; letter-spacing:.01em; color:#1c1b26; }
.icems-chat-brand .icems-chat-mark { width:26px; height:26px; color:#111017; }
.icems-chat-close { all:unset; cursor:pointer; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:#49465e; }
.icems-chat-close:hover { background:#f2efff; }
.icems-chat-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.icems-chat-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#d2caff #fff; padding:26px 22px 18px; }
.icems-chat-intro { display:flex; flex-direction:column; align-items:center; }
.icems-chat-emblem { margin:15px auto 22px; width:95px; height:95px; display:grid; place-items:center; border-radius:27px; background:radial-gradient(circle at 30% 25%,#eeeaff 0,#dcd5ff 45%,#c3b8ff 100%); box-shadow:0 14px 35px rgba(112,91,244,.16),inset 1px 2px 2px rgba(255,255,255,.85); color:#7861f0; transform:rotate(-8deg); }
.icems-chat-emblem .icems-chat-mark { width:74px; height:74px; filter:drop-shadow(2px 4px 1px rgba(75,53,160,.13)); transform:rotate(8deg); }
.icems-chat-intro h2 { font-size:21px !important; line-height:1.35; color:#181821; font-weight:730; text-align:center; letter-spacing:-.02em; max-width:340px; margin:0 0 28px !important; padding:0; }
.icems-chat-feature { position:relative; width:100%; padding:19px 19px 23px; background:linear-gradient(135deg,#8875ff 0%,#7462ef 100%); border-radius:19px; box-shadow:0 12px 23px rgba(108,88,221,.23); color:#fff; }
.icems-chat-feature strong { display:block; max-width:280px; font-size:14px; line-height:1.5; font-weight:740; color:#fff; }
.icems-chat-feature p { margin:7px 0 0; padding:0; max-width:320px; color:#fff; opacity:.97; font-size:13px; line-height:1.65; }
.icems-chat-feature-star { position:absolute; right:21px; bottom:15px; font-size:26px; opacity:.86; }
.icems-chat-overline { align-self:stretch; margin:23px 0 12px !important; color:#7c778b; font-size:12px; }
.icems-chat-suggestions { width:100%; display:grid; gap:9px; }
.icems-chat-suggestion { all:unset; box-sizing:border-box; display:flex; align-items:center; gap:11px; width:100%; padding:13px 12px; border:1px solid #eeecf1; border-radius:13px; cursor:pointer; background:#fff; color:#292733; font-size:13px; line-height:1.4; text-align:left; transition:background .15s,border-color .15s; }
.icems-chat-suggestion:hover { background:#f8f6ff; border-color:#dad3ff; }
.icems-chat-suggestion-icon { flex:0 0 35px; display:grid; place-items:center; height:35px; border-radius:10px; background:#f0ecff; color:var(--icems-chat-accent); font-size:23px; font-weight:500; }
.icems-chat-suggestion > span:nth-child(2) { flex:1; }
.icems-chat-suggestion-chevron { color:#817b92; font-size:21px; line-height:1; }
.icems-chat-intro-compact { display:none; }
.icems-chat-thread { display:flex; flex-direction:column; gap:18px; }
.icems-chat-message { display:flex; align-items:flex-start; gap:9px; }
.icems-chat-message-user { flex-direction:row-reverse; }
.icems-chat-avatar { flex:0 0 28px; height:28px; width:28px; border-radius:50%; background:#eeeaff; color:#6654df; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; }
.icems-chat-message-user .icems-chat-avatar { background:#f0f0f3; color:#66616d; font-size:9px; }
.icems-chat-bubble { padding:12px 14px; background:#f6f5fa; border-radius:2px 14px 14px 14px; color:#262431; font-size:13px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; max-width:calc(100% - 38px); min-width:0; }
.icems-chat-message-user .icems-chat-bubble { background:var(--icems-chat-accent); color:#fff; border-radius:14px 2px 14px 14px; }
.icems-chat-typing { color:#858091; font-style:italic; }
.icems-chat-source-heading { margin:13px 0 9px; color:#5e5871; font-size:12px; font-weight:730; }
.icems-chat-results { display:grid; gap:8px; }
.icems-chat-result { position:relative; display:flex; flex-direction:column; gap:5px; border-radius:11px; background:#fff; border:1px solid #e5e1f1; padding:12px 28px 12px 12px; color:#1e1d2c !important; text-decoration:none !important; box-shadow:0 2px 7px rgba(40,25,89,.03); transition:border-color .15s,box-shadow .15s; }
.icems-chat-result:hover { border-color:#a89afd; box-shadow:0 5px 18px rgba(82,65,150,.1); }
.icems-chat-result-label { color:var(--icems-chat-accent); font-size:9px; letter-spacing:.085em; font-weight:770; }
.icems-chat-result-title { color:#262333; font-size:13px; line-height:1.45; font-weight:735; }
.icems-chat-result-excerpt { color:#706d7c; font-size:11px; line-height:1.55; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.icems-chat-result-arrow { position:absolute; top:11px; right:11px; font-size:17px; color:#8a7df6; }
.icems-chat-ai-label { display:block; margin-top:9px; font-size:10px; color:#777189; }
.icems-chat-footer { flex:none; padding:12px 15px 10px; background:#fff; border-top:1px solid #f0eef5; }
.icems-chat-compose { display:flex; gap:9px; align-items:center; min-height:46px; padding:5px 5px 5px 14px; border:1px solid #e5e3eb; border-radius:15px; box-shadow:0 2px 5px rgba(40,25,89,.025); }
.icems-chat-compose:focus-within { border-color:#b2a7ff; box-shadow:0 0 0 2px #f0ecff; }
.icems-chat-compose input[type=search] { flex:1; min-width:0; width:100%; border:0 !important; outline:0 !important; box-shadow:none !important; background:transparent !important; color:#292532 !important; font-size:13px !important; line-height:22px; font-weight:400; margin:0 !important; padding:0 !important; border-radius:0; }
.icems-chat-compose input[type=search]::placeholder { color:#928d9b; opacity:1; }
.icems-chat-compose button[type=submit] { display:grid; place-items:center; flex:0 0 34px; height:34px; width:34px; border-radius:12px; border:0; color:#fff; background:var(--icems-chat-accent); padding:0; }
.icems-chat-compose button:disabled { opacity:.55; cursor:wait; }
.icems-chat-compose svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.icems-chat-note { margin:9px 0 0 !important; font-size:10px; text-align:center; line-height:1.35; color:#9992a4; }
.icems-inline-search { max-width:850px; width:100%; display:flex; gap:8px; align-items:center; background:#fff; border:1px solid #ded9ed; border-radius:15px; padding:5px; box-shadow:0 3px 16px rgba(17,13,43,.08); }
.icems-inline-search input[type=search] { flex:1; min-width:80px; width:100%; border:0 !important; padding:12px 15px !important; margin:0 !important; font-size:14px !important; color:#221e2e !important; background:transparent !important; outline:0 !important; box-shadow:none !important; }
.icems-inline-search button, .icems-chat-inline-button { border:0 !important; color:#fff !important; background:var(--icems-chat-accent) !important; border-radius:11px !important; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:700; padding:12px 15px; text-decoration:none; line-height:1.4; }
.icems-inline-search button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.icems-chat-inline-button:hover, .icems-inline-search button:hover { filter:brightness(.94); }
@media (max-width:640px) {
  .icems-chat-panel { width:100vw; max-width:none; }
  .icems-chat-header { min-height:60px; height:60px; padding:0 16px; }
  .icems-chat-scroll { padding:18px 16px; }
  .icems-chat-emblem { margin-top:8px; margin-bottom:15px; width:82px; height:82px; }
  .icems-chat-emblem .icems-chat-mark { width:63px; height:63px; }
  .icems-chat-intro h2 { margin-bottom:20px !important; font-size:19px !important; }
  .icems-chat-feature { padding:16px 17px 19px; }
  .icems-chat-root .icems-chat-launcher { bottom:18px; right:16px; }
  body.icems-chat-body-open { overflow:hidden !important; }
  .icems-inline-search button span { display:none; }
  .icems-inline-search button { padding:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .icems-chat-panel,.icems-chat-backdrop,.icems-chat-root .icems-chat-launcher,.icems-chat-suggestion,.icems-chat-result { transition:none !important; }
}

.icems-inline-search .screen-reader-text,.icems-chat-root .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; }

/* Conversation controls and optional, collapsed supporting links. */
.icems-chat-header-actions { display:flex; align-items:center; gap:10px; }
.icems-chat-reset { background:#f5f2ff; border:1px solid #e2daff; border-radius:12px; padding:8px 10px; color:#6351c7; font-size:11px; font-weight:700; white-space:nowrap; }
.icems-chat-reset:hover { background:#ece7ff; }
.icems-chat-source-details { margin-top:14px; border-top:1px solid #e7e2f0; padding-top:9px; }
.icems-chat-source-details > summary { cursor:pointer; font-size:12px; font-weight:700; color:#6257ae; margin:0 0 8px; }
.icems-chat-source-details > summary:hover { color:#3e2caa; }
.icems-chat-source-details .icems-chat-results { padding-top:4px; }
