/* ===== SK Wealth Virtual Assistant (predefined chatbot) ===== */
.cb-fab { position: fixed; right: 18px; bottom: 18px; z-index: 960; display: flex; align-items: center; gap: 10px; background: linear-gradient(135deg, var(--blue), var(--purple)); color: #fff; border: 0; border-radius: 99px; padding: 12px 18px; font-weight: 600; box-shadow: 0 10px 28px rgba(37, 99, 235, .45); }
.cb-fab i { font-size: 1.3rem; animation: float-y 3s ease-in-out infinite; }
.cb-fab:hover { transform: translateY(-3px); }
.cb-window { position: fixed; right: 18px; bottom: 82px; z-index: 970; width: 380px; max-width: calc(100vw - 24px); height: 560px; max-height: calc(100vh - 110px); background: #fff; border-radius: 18px; box-shadow: var(--shadow-lg); display: none; flex-direction: column; overflow: hidden; border: 1px solid var(--line); }
.cb-window.open { display: flex; animation: fade-up .3s both; }
.cb-head { background: linear-gradient(135deg, var(--navy), var(--blue)); color: #fff; padding: 14px 16px; display: flex; align-items: center; gap: 12px; }
.cb-head .av { width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .18); display: grid; place-items: center; font-size: 1.2rem; }
.cb-head b { display: block; font-family: var(--font-head); font-size: .98rem; }
.cb-head small { opacity: .8; font-size: .72rem; }
.cb-head button { margin-left: auto; background: none; border: 0; color: #fff; font-size: 1.1rem; }
.cb-body { flex: 1; overflow: auto; padding: 14px; background: var(--bg); display: flex; flex-direction: column; gap: 10px; }
.cb-msg { max-width: 88%; padding: 10px 13px; border-radius: 14px; font-size: .9rem; line-height: 1.5; }
.cb-msg.bot { background: #fff; border: 1px solid var(--line); align-self: flex-start; border-bottom-left-radius: 4px; }
.cb-msg.user { background: var(--blue); color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.cb-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cb-links a { font-size: .76rem; padding: 4px 10px; border-radius: 99px; background: var(--accent-soft, #eaf1ff); color: var(--blue); font-weight: 600; }
.cb-links a.wa { background: #e6f9ee; color: #128C4A; }
.cb-quick { padding: 10px 12px; border-top: 1px solid var(--line); background: #fff; display: flex; gap: 6px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
.cb-quick button { flex: none; border: 1px solid var(--line); background: #fff; border-radius: 99px; padding: 6px 12px; font-size: .78rem; font-weight: 600; color: var(--navy); }
.cb-quick button:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
.cb-foot { padding: 6px 12px 10px; font-size: .68rem; color: var(--muted); text-align: center; background: #fff; }
.cb-input { display: flex; gap: 6px; padding: 8px 12px; background: #fff; border-top: 1px solid var(--line); }
.cb-input input { flex: 1; border: 1px solid var(--line); border-radius: 99px; padding: 8px 14px; font: inherit; font-size: .88rem; }
.cb-input button { border: 0; background: var(--orange); color: #fff; border-radius: 50%; width: 36px; height: 36px; }
