

/* ═══════════════════════════════════════════════════════════
   REALTOR007.AI — ENHANCED AI CHAT SYSTEM
   All phases: personality, triggers, multilingual, lead capture
═══════════════════════════════════════════════════════════ */

/* FAB BUTTON */
#chat-fab{will-change:transform;position:fixed;bottom:80px;right:28px;width:58px;height:58px;
  background:var(--red,#C8102E);border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;z-index:8000;
  box-shadow:0 4px 20px rgba(200,16,46,0.4);overflow:hidden;
  transform:scale(0);opacity:0;transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1),
  opacity 0.3s,background 0.2s;}
#chat-fab.ready{transform:scale(1);opacity:1;}
#chat-fab:hover{background:#a00c24;transform:scale(1.08);}
#chat-fab.heartbeat{animation:fabHeartbeat 2.8s ease-in-out infinite;}
#chat-fab.bounce{animation:fabBounce 0.5s ease 3;}
@keyframes fabHeartbeat{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
@keyframes fabBounce{0%,100%{transform:scale(1);}40%{transform:scale(1.18) translateY(-6px);}70%{transform:scale(0.95) translateY(2px);}}
#chat-fab img{width:58px;height:58px;object-fit:cover;object-position:center center;
  border-radius:50%;position:absolute;top:0;left:0;}
.fab-badge{position:absolute;top:-3px;right:-3px;width:18px;height:18px;
  background:var(--teal,#00C2A8);border-radius:50%;font-family:'Barlow Condensed',sans-serif;
  font-size:8px;font-weight:700;color:#031f1b;display:flex;align-items:center;
  justify-content:center;letter-spacing:0;z-index:1;}

/* CHAT WINDOW */
#chat-window{position:fixed;bottom:152px;right:28px;width:380px;height:560px;
  background:#0e0e0e;border:1px solid rgba(0,194,168,0.2);border-top:3px solid var(--teal,#00C2A8);
  display:flex;flex-direction:column;z-index:7500;
  box-shadow:0 20px 60px rgba(0,0,0,0.7);
  transform:scale(0.88) translateY(24px);opacity:0;pointer-events:none;
  transition:all 0.32s cubic-bezier(0.16,1,0.3,1);transform-origin:bottom right;
  border-radius:8px 8px 0 0;}
#chat-window.open{transform:scale(1) translateY(0);opacity:1;pointer-events:all;}

/* MOBILE FULL SCREEN */
@media(max-width:640px){
  #chat-window{right:0;left:0;width:100%;bottom:0;height:85vh;
    border-radius:16px 16px 0 0;transform-origin:bottom center;}
  #chat-fab{bottom:140px;right:16px;z-index:9500;}
}

/* HEADER */
#chat-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.06);
  display:flex;align-items:center;gap:11px;flex-shrink:0;background:#111;}
#chat-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;
  flex-shrink:0;background:#080808;display:block;}
#chat-avatar img{width:38px;height:38px;object-fit:cover;
  object-position:center top;display:block;border-radius:50%;}
#chat-header-info{flex:1;min-width:0;}
#chat-name{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;color:var(--white,#F5F0EB);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#chat-status{font-family:'Barlow Condensed',sans-serif;font-size:10px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--teal,#00C2A8);
  display:flex;align-items:center;gap:5px;margin-top:2px;}
#chat-status::before{content:'';width:6px;height:6px;background:var(--teal,#00C2A8);
  border-radius:50%;display:inline-block;animation:pulse-dot 2s infinite;}
#chat-lang-badge{font-family:'Barlow Condensed',sans-serif;font-size:9px;
  font-weight:600;letter-spacing:1px;color:var(--gray,#7A7A72);margin-top:1px;}
#chat-close{margin-left:auto;background:none;border:none;color:var(--gray,#7A7A72);
  font-size:20px;cursor:pointer;transition:color 0.2s;padding:4px;flex-shrink:0;}
#chat-close:hover{color:var(--white,#F5F0EB);}

/* MESSAGES */
#chat-messages{flex:1;overflow-y:auto;padding:14px;display:flex;
  flex-direction:column;gap:10px;scroll-behavior:smooth;}
#chat-messages::-webkit-scrollbar{width:2px;}
#chat-messages::-webkit-scrollbar-thumb{background:var(--teal,#00C2A8);}
.cmsg{max-width:88%;font-size:17px;line-height:1.7;padding:11px 14px;
  animation:msgIn 0.25s ease;font-family:'Barlow',sans-serif;word-wrap:break-word;}
.cmsg.bot{background:#1c1c1c;color:#ccc5bb;border-left:2px solid var(--teal,#00C2A8);
  align-self:flex-start;border-radius:0 8px 8px 0;}
.cmsg.user{background:var(--red,#C8102E);color:white;
  align-self:flex-end;border-radius:8px 0 0 8px;}
.cmsg.thinking{background:#1c1c1c;color:var(--gray,#7A7A72);
  border-left:2px solid rgba(255,255,255,0.1);align-self:flex-start;
  font-style:italic;font-size:16px;border-radius:0 8px 8px 0;}
@keyframes msgIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* TYPING DOTS */
.typing-dots{display:inline-flex;gap:4px;align-items:center;padding:4px 0;}
.typing-dots span{width:7px;height:7px;background:var(--teal,#00C2A8);
  border-radius:50%;animation:dotPulse 1.2s infinite;}
.typing-dots span:nth-child(2){animation-delay:0.2s;}
.typing-dots span:nth-child(3){animation-delay:0.4s;}
@keyframes dotPulse{0%,80%,100%{transform:scale(0.6);opacity:0.4;}40%{transform:scale(1);opacity:1;}}

/* SUGGESTION CHIPS */
#chat-suggestions{padding:0 14px 10px;display:flex;flex-wrap:wrap;
  gap:6px;flex-shrink:0;}
.chat-chip{background:rgba(0,194,168,0.08);border:1px solid rgba(0,194,168,0.25);
  color:#9AD8CF;padding:5px 10px;border-radius:20px;font-size:14px;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:0.5px;
  cursor:pointer;transition:all 0.2s;white-space:nowrap;}
.chat-chip:hover{background:rgba(0,194,168,0.18);color:var(--white,#F5F0EB);}

/* INPUT ROW */
#chat-input-row{padding:10px 14px;border-top:1px solid rgba(255,255,255,0.05);
  display:flex;gap:7px;flex-shrink:0;background:#111;align-items:center;}
#chat-input{flex:1;background:#1c1c1c;border:1px solid rgba(255,255,255,0.08);
  color:var(--white,#F5F0EB);padding:9px 13px;font-family:'Barlow',sans-serif;
  font-size:17px;outline:none;transition:border-color 0.2s;border-radius:4px;}
#chat-input:focus{border-color:rgba(0,194,168,0.35);}
#chat-input::placeholder{color:var(--gray,#7A7A72);font-size:15px;}
#chat-mic{background:none;border:none;color:var(--gray,#7A7A72);
  font-size:18px;cursor:pointer;padding:4px 6px;transition:color 0.2s;
  flex-shrink:0;line-height:1;}
#chat-mic:hover{color:var(--teal,#00C2A8);}
#chat-mic.listening{color:var(--red,#C8102E);animation:micPulse 1s infinite;}
@keyframes micPulse{0%,100%{opacity:1;}50%{opacity:0.4;}}
#chat-send{background:var(--teal,#00C2A8);border:none;color:#031f1b;
  width:36px;height:36px;cursor:pointer;font-size:17px;transition:background 0.2s;
  border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
#chat-send:hover{background:#00a890;}

/* FOOTER */
#chat-footer{padding:5px 14px 8px;font-family:'Barlow Condensed',sans-serif;
  font-size:9px;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(122,122,114,0.5);text-align:center;flex-shrink:0;}

/* LEAD FORM inside chat */
.chat-lead-field{width:100%;background:#1c1c1c;border:1px solid rgba(255,255,255,0.1);
  color:var(--white,#F5F0EB);padding:8px 12px;margin-top:6px;
  font-family:'Barlow',sans-serif;font-size:16px;outline:none;
  border-radius:4px;box-sizing:border-box;}
.chat-lead-field:focus{border-color:rgba(0,194,168,0.4);}
.chat-submit-btn{background:var(--teal,#00C2A8);color:#031f1b;border:none;
  padding:9px 20px;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:15px;letter-spacing:1px;cursor:pointer;margin-top:8px;
  border-radius:4px;width:100%;transition:background 0.2s;}
.chat-submit-btn:hover{background:#00a890;}
.chat-save-btn{background:rgba(0,194,168,0.1);color:var(--teal,#00C2A8);
  border:1px solid rgba(0,194,168,0.3);padding:6px 14px;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11px;
  letter-spacing:1px;cursor:pointer;border-radius:20px;margin-top:6px;
  transition:all 0.2s;}
.chat-save-btn:hover{background:rgba(0,194,168,0.2);}

