/*  Chatbot – minimal, mobile-first  */
#chatbotWidget{position:fixed; bottom:20px; right:20px; z-index:1000;}
.chatbot-toggle{width:70px; height:70px; background:linear-gradient(135deg,#192d5f,#ff4d04); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; cursor:pointer; box-shadow:0 8px 25px rgba(25,45,95,.3); border:3px solid #fff; transition:transform .3s;}
.chatbot-toggle:hover{transform:scale(1.1);}
.chatbot-avatar{width:100%; height:100%; object-fit:cover; border-radius:50%;}
.chatbot-pulse{position:absolute; top:-5px; right:-5px; width:20px; height:20px; background:#ff4d04; border-radius:50%; animation:pulse 2s infinite; border:2px solid #fff;}
@keyframes pulse{0%,100%{transform:scale(.8); opacity:1;} 50%{transform:scale(1.2); opacity:.7;}}

.chatbot-container{position:absolute; bottom:85px; right:0; width:380px; height:550px; background:#fff; border-radius:15px; box-shadow:0 10px 40px rgba(0,0,0,.2); display:none; flex-direction:column; overflow:hidden; border:2px solid #192d5f; transition:transform .3s, opacity .3s;}
.chatbot-container.active{display:flex; transform:translateY(0); opacity:1;}
.chatbot-header{background:linear-gradient(135deg,#192d5f,#2c3e50); color:#fff; padding:15px; display:flex; justify-content:space-between; align-items:center;}
.assistant-info{display:flex; align-items:center; gap:10px;}
.header-avatar{width:40px; height:40px; border-radius:50%; border:2px solid #fff;}
.status-indicator{font-size:.75rem; opacity:.8;}
.status-indicator i{color:#4caf50; font-size:.5rem; margin-right:5px;}

.chatbot-messages{flex:1; padding:15px; overflow-y:auto; background:#f8f9fa; display:flex; flex-direction:column; gap:10px;}
.chat-message{display:flex; align-items:flex-start; gap:10px; max-width:85%; animation:messageSlide .3s;}
@keyframes messageSlide{from{transform:translateY(10px); opacity:0;} to{transform:translateY(0); opacity:1;}}
.bot-message{align-self:flex-start;}
.user-message{align-self:flex-end; flex-direction:row-reverse;}
.message-avatar{width:35px; height:35px; border-radius:50%; overflow:hidden; flex-shrink:0;}
.message-avatar img{width:100%; height:100%; object-fit:cover;}
.message-content{background:#fff; padding:12px 15px; border-radius:18px; box-shadow:0 2px 8px rgba(0,0,0,.1);}
.bot-message .message-content{border-radius:18px 18px 18px 4px;}
.user-message .message-content{border-radius:18px 18px 4px 18px; background:linear-gradient(135deg,#192d5f,#ff4d04); color:#fff;}
.message-content p{margin:0; line-height:1.4;}

.typing-indicator{display:none; align-items:center; gap:10px; padding:10px 15px; background:#f8f9fa;}
.typing-indicator.active{display:flex;}
.typing-content{background:#fff; padding:10px 15px; border-radius:18px 18px 18px 4px; font-size:.85rem; color:#666;}
.typing-dots{display:inline-flex; gap:3px; margin-left:5px;}
.typing-dots span{width:6px; height:6px; border-radius:50%; background:#999; animation:typingBounce 1.4s infinite ease-in-out;}
.typing-dots span:nth-child(1){animation-delay:-.32s;} .typing-dots span:nth-child(2){animation-delay:-.16s;}
@keyframes typingBounce{0%,80%,100%{transform:scale(.8); opacity:.5;} 40%{transform:scale(1); opacity:1;}}

.chatbot-input{display:flex; padding:15px; border-top:1px solid #e9ecef; background:#fff; gap:10px;}
.chatbot-input input{flex:1; border:2px solid #e9ecef; border-radius:25px; padding:12px 20px; outline:none;}
.chatbot-input input:focus{border-color:#192d5f;}
.chatbot-input button{background:linear-gradient(135deg,#192d5f,#ff4d04); color:#fff; border:none; border-radius:50%; width:45px; height:45px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .3s;}
.chatbot-input button:hover{transform:scale(1.1);}

.chatbot-quick-questions{padding:12px 15px; background:#f8f9fa; border-top:1px solid #e9ecef; display:flex; flex-direction:column; gap:8px;}
.quick-question{background:#fff; border:2px solid #e9ecef; border-radius:20px; padding:8px 15px; font-size:.85rem; cursor:pointer; transition:all .3s; display:flex; align-items:center; gap:8px; color:#192d5f;}
.quick-question:hover{background:#192d5f; color:#fff; border-color:#192d5f; transform:translateY(-2px);}

/*  bubble message  */
.chatbot-bubble-message{position:fixed; bottom:100px; right:20px; max-width:300px; z-index:10003; opacity:0; transform:translateY(20px); transition:all .3s; pointer-events:none;}
.chatbot-bubble-message.show{opacity:1; transform:translateY(0); pointer-events:all;}
.bubble-content{background:#fff; border-radius:18px 18px 4px 18px; box-shadow:0 8px 25px rgba(0,0,0,.15); padding:15px; display:flex; align-items:flex-start; gap:10px; border:2px solid #192d5f; cursor:pointer;}
.bubble-content:hover{transform:translateY(-2px);}
.bubble-avatar{width:40px; height:40px; border-radius:50%; overflow:hidden; flex-shrink:0; border:2px solid #192d5f;}
.bubble-avatar img{width:100%; height:100%; object-fit:cover;}
.bubble-text{flex:1;}
.bubble-text p{margin:0; font-size:.9rem; line-height:1.4; color:#192d5f; font-weight:500;}
.bubble-close{position:absolute; top:8px; right:8px; background:#ff4d04; border:none; border-radius:50%; width:20px; height:20px; color:#fff; font-size:.7rem; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.bubble-close:hover{background:#e04400;}
.chatbot-bubble-message.minimize-bubble .bubble-content{background:linear-gradient(135deg,#192d5f,#2c3e50); color:#fff;}
.chatbot-bubble-message.minimize-bubble .bubble-text p{color:#fff; font-size:.85rem;}

/*  mobile  */
@media(max-width:768px){
  #chatbotWidget{bottom:15px; right:15px;}
  .chatbot-toggle{width:60px; height:60px;}
  .chatbot-container{position:fixed !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; width:95vw !important; height:80vh !important; max-height:600px !important; bottom:auto !important; right:auto !important;}
  .chatbot-bubble-message{bottom:80px; right:15px; left:15px; max-width:none;}
}
/*  flashing  */
.chatbot-toggle.flashing{animation:flash 5s infinite;}
@keyframes flash{0%,100%{box-shadow:0 8px 25px rgba(25,45,95,.3);} 50%{box-shadow:0 8px 25px rgba(255,77,4,.6);}}