/* assets/css/chatbot-style.css */
:root {
    --acb-primary-color: #0052cc;
    --acb-opener-color: #0052cc; 
    --acb-background-color: #ffffff;
    --acb-text-color: #333333;
    --acb-light-gray: #f4f5f7;
    --acb-border-color: #e0e0e0;
    --acb-font: 'Vazirmatn', sans-serif;
}

#acb-chat-opener {
    position: fixed; top: 50%; right: 0; transform: translateY(-50%); background-color: var(--acb-opener-color); color: white; padding: 15px 10px; cursor: pointer; box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.1); transition: right 0.3s ease, padding 0.3s ease, font-size 0.3s ease; z-index: 99998; writing-mode: vertical-rl; text-orientation: mixed; border-radius: 8px 0 0 8px; font-family: var(--acb-font); font-size: 15px; font-weight: 500;
}
#acb-chat-opener:hover { right: -5px; }

#acb-chatbox {
    position: fixed; bottom: 20px; right: 20px; width: 90%; max-width: 370px; height: 70vh; max-height: 700px; display: flex; flex-direction: column; background-color: var(--acb-background-color); border-radius: 16px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); overflow: hidden; font-family: var(--acb-font); transition: opacity 0.3s ease, transform 0.3s ease; transform: translateY(20px); opacity: 0; z-index: 99999;
}
#acb-chatbox:not(.acb-hidden) { transform: translateY(0); opacity: 1; }
.acb-hidden { display: none !important; }

#acb-chatbox-header {
    background-color: var(--acb-primary-color); color: white; padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0;
}
#acb-chatbox-header h3 { margin: 0; font-size: 16px; font-weight: 700; color: #ffffff; }
#acb-chatbox-header button { background: none; border: none; color: white; cursor: pointer; opacity: 0.8; transition: opacity 0.2s; }
#acb-chatbox-header button:hover { opacity: 1; }

.acb-messages-container { padding: 20px; overflow-y: auto; background-color: #fafafa; flex-grow: 1; }
.acb-inline-chat-container .acb-messages-container { height: 300px; }
.acb-messages-container::-webkit-scrollbar { width: 5px; }
.acb-messages-container::-webkit-scrollbar-track { background: transparent; }
.acb-messages-container::-webkit-scrollbar-thumb { background: #ccc; border-radius: 5px; }

.acb-chat-intro { text-align: center; padding-bottom: 20px; margin-bottom: 20px; font-size: 13px; font-weight: 500; color: #555; border-bottom: 1px solid var(--acb-border-color); }
.acb-chat-intro p { margin: 0; }

.acb-message { display: flex; margin-bottom: 12px; animation: acb-fade-in 0.4s ease; }
@keyframes acb-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.acb-message p { margin: 0; padding: 10px 14px; border-radius: 18px; max-width: 85%; line-height: 1.6; font-size: 14px; word-break: break-word; }
.acb-message.acb-message-bot { justify-content: flex-start; }
.acb-message.acb-message-bot p { background-color: #e9ecef; color: var(--acb-text-color); border-bottom-left-radius: 4px; }
.acb-message.acb-message-user { justify-content: flex-end; }
.acb-message.acb-message-user p { background-color: var(--acb-primary-color); color: white; border-bottom-right-radius: 4px; }
.acb-message.acb-message-error p { background-color: #fff5f5; color: #c53030; border: 1px solid #fed7d7; }

.acb-input-area { display: flex; padding: 12px; border-top: 1px solid var(--acb-border-color); background-color: var(--acb-background-color); flex-shrink: 0; }
.acb-user-input { flex-grow: 1; border: 1px solid var(--acb-border-color); border-radius: 20px; padding: 10px 16px; font-size: 14px; font-family: var(--acb-font); transition: border-color 0.2s; outline: none; }
.acb-user-input:focus { border-color: var(--acb-primary-color); }
.acb-send-btn { background: none; border: none; cursor: pointer; padding: 8px; margin-right: 8px; color: var(--acb-primary-color); transition: color 0.2s; }
.acb-send-btn:hover { color: #003a8a; }

@media (max-width: 768px) {
    #acb-chat-opener { padding: 12px 8px; font-size: 13px; }
    #acb-chatbox { 
        width: calc(100% - 20px); right: 10px; bottom: 10px; height: 85vh; max-height: calc(100vh - 20px); 
    }
}

/* --- Inline Shortcode Styles --- */
.acb-inline-chat-container { border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; font-family: var(--acb-font); margin: 2.5em 0; max-width: 100%; background: #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.acb-inline-chat-header { background-color: #fff; padding: 12px 20px; border-bottom: 1px solid #e5e7eb; }
.acb-inline-chat-header h3 { margin: 0; font-size: 15px; font-weight: 700; color: #111827; }
.acb-inline-chat-container .acb-messages-container { background-color: #f9fafb; }
.acb-inline-chat-container .acb-input-area { background-color: #fff; padding: 15px; }
.acb-inline-chat-container .acb-user-input { background-color: #f3f4f6; border-color: #e5e7eb; transition: all 0.2s ease; }
.acb-inline-chat-container .acb-user-input:focus { background-color: #fff; border-color: var(--acb-primary-color); box-shadow: 0 0 0 3px rgba(0, 82, 204, 0.15); }