/* ── CHATBOT WIDGET ──────────────────────────────────────────── */
#chatbot-btn { position: fixed; bottom: 28px; right: 28px; z-index: 900; width: 58px; height: 58px; background: #C45E3A; border-radius: 50%; border: 2px solid rgba(232,168,56,.5); box-shadow: 0 8px 28px rgba(26,93,168,.45); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .22s; }
#chatbot-btn:hover { background: #D4714A; transform: scale(1.08); }
#chatbot-btn svg { width: 26px; height: 26px; fill: #fff; }
#chatbot-badge { position: absolute; top: -3px; right: -3px; width: 16px; height: 16px; background: #E8A838; border-radius: 50%; border: 2px solid #1C2B3A; }
#chatbot-panel { position: fixed; bottom: 96px; right: 28px; z-index: 900; width: 340px; background: #1C2B3A; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; box-shadow: 0 24px 64px rgba(0,0,0,.5); overflow: hidden; display: none; flex-direction: column; max-height: 480px; }
#chatbot-panel.open { display: flex; }
.chat-head { background: #253342; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.07); }
.chat-head-left { display: flex; align-items: center; gap: 10px; }
.chat-avatar { width: 34px; height: 34px; border-radius: 50%; background: #C45E3A; border: 1.5px solid rgba(232,168,56,.4); display: flex; align-items: center; justify-content: center; font-size: 16px; }
.chat-head-name { font-size: 14px; font-weight: 700; color: #fff; font-family: 'Montserrat', sans-serif; }
.chat-head-status { font-size: 11px; color: #22C55E; display: flex; align-items: center; gap: 4px; }
.chat-head-status::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #22C55E; }
.chat-close-btn { background: rgba(255,255,255,.07); border: none; border-radius: 50%; width: 28px; height: 28px; cursor: pointer; font-size: 14px; color: #8E9399; display: flex; align-items: center; justify-content: center; transition: background .15s; }
.chat-close-btn:hover { background: rgba(255,255,255,.14); }
.chat-msgs { flex: 1; padding: 14px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; }
.chat-msg { max-width: 85%; padding: 10px 13px; border-radius: 12px; font-size: 13px; line-height: 1.5; }
.chat-msg-bot { background: rgba(255,255,255,.07); color: #F5D8CC; border-radius: 12px 12px 12px 3px; }
.chat-msg-user { background: #C45E3A; color: #fff; border-radius: 12px 12px 3px 12px; align-self: flex-end; }
.chat-input-wrap { padding: 12px; border-top: 1px solid rgba(255,255,255,.07); display: flex; gap: 8px; }
.chat-input { flex: 1; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 9px; padding: 9px 13px; color: #fff; font-size: 13px; font-family: 'Montserrat', sans-serif; outline: none; }
.chat-input::placeholder { color: rgba(255,255,255,.3); }
.chat-input:focus { border-color: #C45E3A; }
.chat-send { background: #C45E3A; border: none; border-radius: 9px; width: 36px; height: 36px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s; flex-shrink: 0; }
.chat-send:hover { background: #D4714A; }
.chat-send svg { width: 16px; height: 16px; fill: #fff; }

/* Typing indicator */
.chat-typing { display: flex; align-items: center; gap: 5px; padding: 10px 14px; background: rgba(255,255,255,.07); border-radius: 12px 12px 12px 3px; max-width: 70px; }
.chat-typing span { width: 7px; height: 7px; border-radius: 50%; background: #C45E3A; opacity: 0.6; animation: chatBounce 1.2s infinite ease-in-out; }
.chat-typing span:nth-child(2) { animation-delay: 0.2s; }
.chat-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes chatBounce { 0%,60%,100% { transform: translateY(0); opacity:.4; } 30% { transform: translateY(-5px); opacity:1; } }

/* Bot message formatting */
.chat-msg-bot a { color: #E8A838; text-decoration: underline; }
.chat-msg-bot strong { color: #fff; font-weight: 700; }

/* New chat / clear button */
.chat-new-btn { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 3px 9px; font-size: 11px; color: #8E9399; font-family: 'Montserrat', sans-serif; cursor: pointer; transition: all .15s; white-space: nowrap; }
.chat-new-btn:hover { background: rgba(255,255,255,.14); color: #fff; }

/* Disabled input state */
.chat-input:disabled { opacity: .5; cursor: not-allowed; }
.chat-send:disabled { opacity: .5; cursor: not-allowed; }
