/* ============ AZARITO CHATBOT ============ */
#azarito-fab { position:fixed; bottom:72px; right:20px; width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#1e5db5,#0d1b3e); border:3px solid #3b82f6; cursor:pointer; z-index:9000; display:flex; align-items:center; justify-content:center; overflow:visible; transition:transform 0.2s; box-shadow:0 4px 20px rgba(30,93,181,0.6); animation:azarito-pulse 2.5s infinite; }
#azarito-fab:hover { transform:scale(1.1) translateY(-2px); }
#azarito-fab img { width:58px; height:58px; object-fit:contain; border-radius:50%; overflow:hidden; }
@keyframes azarito-pulse { 0%{box-shadow:0 0 0 0 rgba(59,130,246,0.6),0 4px 20px rgba(30,93,181,0.6);} 70%{box-shadow:0 0 0 10px rgba(59,130,246,0),0 4px 20px rgba(30,93,181,0.6);} 100%{box-shadow:0 0 0 0 rgba(59,130,246,0),0 4px 20px rgba(30,93,181,0.6);} }

#azarito-window { position:fixed; bottom:148px; right:20px; width:420px; max-height:620px; background:#0d1b3e; border-radius:20px; border:1px solid rgba(59,130,246,0.4); box-shadow:0 20px 60px rgba(0,0,0,0.6); display:none; flex-direction:column; z-index:8999; overflow:hidden; font-family:'Rajdhani',sans-serif; }
#azarito-window.open { display:flex; animation:az-slide-in 0.25s ease; }
@keyframes az-slide-in { from{opacity:0;transform:translateY(20px) scale(0.95);} to{opacity:1;transform:translateY(0) scale(1);} }

#azarito-header { background:linear-gradient(135deg,#1e3a8a,#1e5db5); padding:14px 16px; display:flex; align-items:center; gap:12px; border-bottom:1px solid rgba(59,130,246,0.3); flex-shrink:0; }
#azarito-header img { width:42px; height:42px; object-fit:contain; border-radius:50%; }
#azarito-header-info { flex:1; }
#azarito-header-title { font-size:16px; font-weight:700; color:#fff; letter-spacing:1px; }
#azarito-header-sub { font-size:11px; color:rgba(255,255,255,0.6); }
#azarito-header-close { background:rgba(255,255,255,0.1); border:none; border-radius:50%; width:28px; height:28px; color:white; cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; }

#azarito-msgs { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; min-height:0; }

.az-msg { display:flex; gap:10px; align-items:flex-start; }
.az-msg.user { flex-direction:row-reverse; }
.az-msg-avatar { width:32px; height:32px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:rgba(59,130,246,0.2); border:1px solid rgba(59,130,246,0.3); overflow:hidden; }
.az-msg-avatar img { width:100%; height:100%; object-fit:contain; }
.az-msg-bubble { max-width:82%; padding:11px 15px; border-radius:16px; font-size:14px; line-height:1.65; color:#f1f5f9; word-break:break-word; overflow-wrap:break-word; font-family:'Exo 2',sans-serif; font-weight:400; letter-spacing:0.01em; }
.az-msg-bubble strong { color:#ffffff; font-weight:700; }
.az-msg-bubble em { color:#bfdbfe; font-style:normal; font-weight:600; }
.az-msg-bubble table { width:100%; border-collapse:collapse; margin:6px 0; font-size:13px; }
.az-msg-bubble table th { background:rgba(59,130,246,0.4); color:#fff; padding:5px 8px; text-align:left; font-weight:700; }
.az-msg-bubble table td { padding:4px 8px; border-bottom:1px solid rgba(255,255,255,0.08); color:#e2e8f0; }
.az-msg-bubble table tr:nth-child(even) td { background:rgba(255,255,255,0.04); }
.az-msg-bubble ul, .az-msg-bubble ol { margin:4px 0 4px 16px; padding:0; }
.az-msg-bubble li { margin:3px 0; color:#e2e8f0; }
.az-msg-bubble code { background:rgba(0,0,0,0.35); padding:1px 6px; border-radius:4px; font-size:12px; color:#86efac; font-family:monospace; }
.az-msg.bot .az-msg-bubble { background:rgba(15,40,100,0.85); border:1px solid rgba(99,140,255,0.25); border-top-left-radius:4px; box-shadow:0 2px 8px rgba(0,0,0,0.3); }
.az-msg.user .az-msg-bubble { background:linear-gradient(135deg,#1e5db5,#3b82f6); border-top-right-radius:4px; color:white; font-weight:500; }

.az-action-btn { display:inline-block; margin:6px 4px 0 0; padding:6px 14px; border-radius:20px; background:rgba(59,130,246,0.3); border:1px solid rgba(99,179,237,0.5); color:#bfdbfe; cursor:pointer; font-size:13px; font-family:'Exo 2',sans-serif; font-weight:600; transition:all 0.15s; }
.az-action-btn:hover { background:rgba(59,130,246,0.5); color:#fff; }

.az-typing { display:flex; gap:4px; align-items:center; padding:10px 14px; }
.az-typing span { width:7px; height:7px; border-radius:50%; background:#3b82f6; animation:az-bounce 1.2s infinite; }
.az-typing span:nth-child(2) { animation-delay:0.2s; }
.az-typing span:nth-child(3) { animation-delay:0.4s; }
@keyframes az-bounce { 0%,80%,100%{transform:translateY(0);opacity:0.5;} 40%{transform:translateY(-6px);opacity:1;} }

#azarito-quick-btns { padding:8px 12px; display:flex; flex-wrap:wrap; gap:6px; border-top:1px solid rgba(59,130,246,0.15); background:rgba(13,27,62,0.8); flex-shrink:0; }
.az-quick { padding:5px 10px; border-radius:20px; background:rgba(30,93,181,0.3); border:1px solid rgba(59,130,246,0.3); color:#93c5fd; cursor:pointer; font-size:11px; font-family:'Rajdhani',sans-serif; font-weight:600; }

#azarito-input-row { padding:12px 14px; display:flex; gap:8px; border-top:1px solid rgba(59,130,246,0.2); background:rgba(10,20,50,0.9); flex-shrink:0; }
#azarito-input { flex:1; background:rgba(255,255,255,0.08); border:1px solid rgba(99,150,255,0.4); border-radius:10px; padding:10px 14px; color:#f1f5f9; font-size:14px; font-family:'Exo 2',sans-serif; font-weight:400; outline:none; letter-spacing:0.01em; }
#azarito-input::placeholder { color:rgba(255,255,255,0.35); font-size:13px; }
#azarito-input:focus { border-color:rgba(99,179,237,0.7); background:rgba(255,255,255,0.1); }
#azarito-send { width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,#1e5db5,#3b82f6); border:none; color:white; cursor:pointer; font-size:16px; display:flex; align-items:center; justify-content:center; }

/* ── Responsive Azarito ─────────────────────────────────────── */
@media (max-width: 480px) {
  #azarito-window { width: calc(100vw - 24px); right: 12px; bottom: 130px; max-height: 70vh; }
  #azarito-fab { bottom: 60px; right: 12px; width: 54px; height: 54px; }
  #azarito-fab img { width: 48px; height: 48px; }
}
