/* Dedicated namespace to avoid interference with Boldman or Elementor UI. */
#vipas-root { --vipas-accent:#bf1d2e; --vipas-ink:#17233a; --vipas-border:#e9edf2; --vipas-bg:#fff; font-family: inherit; font-size:14px; line-height:1.55; color:var(--vipas-ink); }
#vipas-root *, #vipas-root *::before, #vipas-root *::after { box-sizing:border-box; }
#vipas-root button, #vipas-root textarea, #vipas-root a { font:inherit; }
#vipas-root .vipas-fab { position:fixed; right:24px; bottom:24px; z-index:2147482900; width:58px; height:58px; border:0; border-radius:14px; background:var(--vipas-accent); color:#fff; box-shadow:0 14px 34px rgba(19,34,48,.18); font-size:30px; cursor:pointer; display:grid; place-items:center; line-height:1; transition:transform .2s ease; padding:0; }
#vipas-root.vipas-is-open .vipas-fab { display:none; }
#vipas-root .vipas-fab:hover { transform:translateY(-2px); }
#vipas-root .vipas-fab:focus-visible, #vipas-root button:focus-visible, #vipas-root a:focus-visible, #vipas-root textarea:focus-visible { outline:3px solid #113b70; outline-offset:2px; }
#vipas-root .vipas-panel { position:fixed; z-index:2147482901; right:24px; bottom:92px; width:min(390px,calc(100vw - 28px)); height:min(585px,calc(100dvh - 125px)); min-height:300px; display:flex; flex-direction:column; background:#fff; color:var(--vipas-ink); border:0; border-radius:14px; overflow:hidden; box-shadow:0 18px 55px rgba(19,34,48,.16); }
#vipas-root .vipas-panel[hidden] { display:none !important; }
#vipas-root .vipas-head { display:flex; gap:11px; align-items:center; flex:0 0 auto; background:var(--vipas-accent); color:white; padding:14px 16px; }
#vipas-root .vipas-emblem { border-radius:12px; width:40px; height:40px; background:rgba(255,255,255,.14); color:#fff; display:grid; place-items:center; flex:0 0 40px; overflow:hidden; }
#vipas-root .vipas-head-title { display:flex; flex-direction:column; min-width:0; flex:1; line-height:1.3; }
#vipas-root .vipas-head-title strong { color:#fff; font-size:15px; font-weight:700; letter-spacing:.01em; }
#vipas-root .vipas-head-title span { color:#fff; font-size:11px; opacity:.92; margin-top:2px; }
#vipas-root .vipas-close { font-size:26px; line-height:1; padding:2px 7px; color:#fff; background:transparent; border:0; cursor:pointer; }
#vipas-root .vipas-feed { flex:1 1 auto; overflow-y:auto; padding:16px 14px 14px; overscroll-behavior:contain; background:#f3f5f7; }
#vipas-root .vipas-entry { display:flex; flex-direction:column; align-items:flex-start; margin-bottom:16px; }
#vipas-root .vipas-entry--user { align-items:flex-end; }
#vipas-root .vipas-bubble { max-width:95%; padding:12px 13px; background:#fff; border:1px solid #e4e8ee; border-radius:10px 10px 10px 4px; color:var(--vipas-ink); font-size:13px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
#vipas-root .vipas-entry--user .vipas-bubble { background:var(--vipas-accent); color:#fff; border-color:var(--vipas-accent); border-radius:10px 10px 4px 10px; }
#vipas-root .vipas-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
#vipas-root .vipas-link { color:var(--vipas-accent); text-decoration:none; background:#fff; border:1px solid currentColor; border-radius:6px; padding:7px 10px; font-weight:600; font-size:12px; line-height:1.25; transition:background .15s ease; }
#vipas-root .vipas-link:link, #vipas-root .vipas-link:visited { color:var(--vipas-accent); }
#vipas-root .vipas-link:hover { background:#fbeef0; color:var(--vipas-accent); }
#vipas-root .vipas-link-arrow { margin-left:7px; }
#vipas-root .vipas-typing { font-size:12px; color:#687388; margin:12px 0; }
#vipas-root .vipas-chips { display:flex; flex-wrap:wrap; gap:7px; padding:10px 13px; border-top:1px solid var(--vipas-border); background:white; }
#vipas-root .vipas-chip { color:#5c2430; border:1px solid #e6cfd4; padding:7px 10px; border-radius:6px; font-size:11px; background:#fff; cursor:pointer; line-height:1.35; }
#vipas-root .vipas-chip:hover { background:#fbeef0; }
#vipas-root button:disabled { opacity:.5; cursor:not-allowed; }
#vipas-root .vipas-form { display:flex; align-items:flex-end; gap:8px; padding:9px 12px 8px; background:white; border-top:1px solid var(--vipas-border); margin:0; }
#vipas-root .vipas-input { flex:1; width:100%; min-width:0; height:42px; min-height:42px; max-height:42px; resize:none; font-size:13px; line-height:1.35; padding:10px 11px; background:#fff; color:var(--vipas-ink); border:1px solid #d6dce5; border-radius:6px; box-shadow:none; }
#vipas-root .vipas-send { width:42px; height:42px; flex:0 0 42px; background:var(--vipas-accent); color:#fff; border:none; border-radius:6px; font-size:18px; cursor:pointer; padding:0; line-height:1; }
#vipas-root .vipas-foot { color:#79818f; font-size:10px; line-height:1.4; text-align:center; padding:0 14px 9px; margin:0; background:white; }
/* Mobile: stack the existing Boldman back-to-top button ABOVE the assistant. */
@media (max-width: 767px) {
  #vipas-root .vipas-fab {
    right:14px !important;
    bottom:calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    width:58px;
    height:58px;
    border-radius:14px;
  }
  /* Theme button stays functional and retains its original appearance/visibility. */
  body #totop, body .themetechmount-back-to-top, body .ttm-back-to-top,
  body .tm-back-to-top, body #back-to-top, body .back-to-top {
    right:20px !important;
    bottom:calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }
  html.vipas-mobile-chat-open, html.vipas-mobile-chat-open body {
    overflow:hidden !important;
    overscroll-behavior:none;
  }
  #vipas-root .vipas-panel {
    position:fixed !important;
    top:var(--vipas-visible-top, 0px) !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:var(--vipas-visible-height, 100dvh) !important;
    max-height:var(--vipas-visible-height, 100dvh) !important;
    min-height:0;
    border:0;
    border-radius:0;
    padding-bottom:0;
    display:flex;
    flex-direction:column;
  }
  #vipas-root .vipas-head { flex:0 0 auto; position:relative; z-index:1; min-height:62px; }
  #vipas-root .vipas-feed { flex:1 1 auto; min-height:0; overflow-y:auto; }
  #vipas-root .vipas-chips { flex:0 0 auto; }
  #vipas-root .vipas-form {
    flex:0 0 auto;
    padding-bottom:calc(9px + env(safe-area-inset-bottom, 0px));
  }
  #vipas-root.vipas-is-open .vipas-fab { display:none; }
}

@media (prefers-reduced-motion: reduce) { #vipas-root .vipas-fab, #vipas-root .vipas-link { transition:none; } }
/* VIP 1.1.1 icon treatment */
#vipas-root .vipas-brand-image { display:block; width:100%; height:100%; object-fit:contain; }
#vipas-root .vipas-fab .vipas-brand-image { width:28px; height:28px; }
#vipas-root .vipas-svg-icon { display:block; width:28px; height:28px; }
#vipas-root .vipas-emblem .vipas-svg-icon { width:22px; height:22px; }
#vipas-root .vipas-feed { white-space:normal; }
@media (max-width:767px) { html.vipas-mobile-chat-open body #totop, html.vipas-mobile-chat-open body .themetechmount-back-to-top, html.vipas-mobile-chat-open body .ttm-back-to-top, html.vipas-mobile-chat-open body .tm-back-to-top, html.vipas-mobile-chat-open body #back-to-top, html.vipas-mobile-chat-open body .back-to-top { visibility:hidden !important; pointer-events:none !important; } }
