/* public/style.css */

body {
    font-family: 'Vazirmatn', sans-serif; /* استفاده از یک فونت فارسی زیبا */
    margin: 0;
    padding: 0; /* حذف padding از body */
    background: linear-gradient(to bottom, #e2e8f0, #edf2f7); /* پس زمینه گرادیان */
    direction: rtl;
    text-align: right;
    line-height: 1.6;
    min-height: 100vh; /* حداقل ارتفاع کل صفحه */
    display: flex; /* استفاده از flexbox برای قرار دادن محتوا در مرکز */
    justify-content: center;
    /* align-items: center; /* این خط را حذف می‌کنیم تا محتوا به بالای صفحه بچسبد */
    padding-top: 20px; /* اضافه کردن کمی padding از بالا */
    padding-bottom: 20px; /* اضافه کردن کمی padding از پایین */
    box-sizing: border-box; /* مطمئن شوید padding در محاسبه ارتفاع کلی حساب می‌شود */
}

.container {
    width: 100%;
    max-width: 900px; /* افزایش حداکثر عرض کانتینر */
    margin: 0 auto; /* مرکز قرار گرفتن افقی */
    padding: 0 15px; /* padding داخلی برای جلوگیری از چسبیدن به کناره‌ها در صفحه کوچک */
    display: flex;
    flex-direction: column;
    gap: 20px; /* فاصله بین المنت‌ها */
    min-height: calc(100vh - 40px); /* ارتفاع کانتینر کل صفحه منهای padding بالا و پایین body */
    box-sizing: border-box;
}


#controls {
    text-align: center;
    background-color: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    justify-content: center; /* مدل و دکمه را در مرکز قرار می‌دهد */
    align-items: center;
    flex-wrap: wrap; /* اگر فضا کم بود آیتم‌ها به خط بعدی بروند */
    gap: 15px; /* فاصله بین label, select, button (اگر اضافه شوند) */
    flex-shrink: 0; /* جلوگیری از کوچک شدن در فضای کم */
}

#controls label {
    margin: 0; /* حذف margin قبلی */
    color: #4a5568;
    font-weight: bold;
    white-space: nowrap; /* جلوگیری از شکستن خط در لیبل */
}

#model-select {
    padding: 8px;
    border: 1px solid #cbd5e0;
    border-radius: 4px;
    font-size: 0.9rem;
    cursor: pointer;
    min-width: 150px; /* حداقل عرض برای dropdown مدل‌ها */
}

.chat-container {
    background-color: #fff;
    padding: 25px; /* افزایش padding */
    border-radius: 12px; /* گردتر کردن گوشه‌ها */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); /* سایه قوی‌تر */
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* اجازه رشد به chat-container برای پر کردن فضای موجود */
    overflow: hidden; /* مخفی کردن محتوای اضافی */
}

h1 {
    text-align: center;
    color: #333;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.8rem;
    flex-shrink: 0; /* جلوگیری از کوچک شدن در فضای کم */
}

/* استایل برای نمایش مدل فعلی */
.chat-container p {
    text-align: center;
    margin-bottom: 15px;
    color: #4a5568;
    font-size: 0.9rem;
    flex-shrink: 0; /* جلوگیری از کوچک شدن در فضای کم */
}

.chat-container p strong {
    color: #3182ce; /* رنگ آبی برای نام مدل */
}


#chatbox {
    border: 1px solid #e2e8f0;
    padding: 15px;
    flex-grow: 1; /* رشد کند تا فضای باقی مانده را پر کند */
    overflow-y: auto; /* اسکرول فقط برای داخل چت باکس */
    margin-bottom: 15px;
    border-radius: 6px;
    background-color: #f8fafc;
    display: flex; /* استفاده از flexbox برای مدیریت پیام‌ها */
    flex-direction: column;
}

.message {
    margin-bottom: 12px; /* افزایش فاصله بین پیام‌ها */
    padding: 10px 15px;
    border-radius: 18px; /* گردتر کردن گوشه‌های پیام */
    max-width: 85%; /* حداکثر عرض پیام کمی بیشتر شد */
    word-wrap: break-word; /* شکستن کلمات طولانی */
    line-height: 1.5;
    white-space: pre-wrap; /* **مهم:** حفظ خطوط جدید و فضاها */
}

.user-message {
    background-color: #9ae6b4; /* سبز روشن‌تر */
    color: #276749; /* متن سبز تیره */
    text-align: right;
    margin-left: auto; /* تراز به راست با margin auto */
    margin-right: 0;
}

.bot-message {
    background-color: #e2e8f0; /* خاکستری مایل به آبی */
    color: #2d3748; /* متن خاکستری تیره */
    text-align: left;
    margin-right: auto; /* تراز به چپ با margin auto */
    margin-left: 0;
}

.bot-message.loading {
    font-style: italic;
    color: #718096; /* رنگ متن برای نشانگر بارگذاری */
}

/* استایل برای پیام‌های خطا */
.bot-message.error {
    background-color: #feb2b2; /* قرمز روشن */
    color: #742a2a; /* متن قرمز تیره */
    font-weight: bold;
}


#input-area {
    display: flex;
    align-items: center; /* تراز عمودی المنت‌ها */
    gap: 8px; /* فاصله بین input و button */
    flex-shrink: 0; /* جلوگیری از کوچک شدن در فضای کم */
}

#user-input {
    flex-grow: 1;
    padding: 12px; /* افزایش padding */
    border: 1px solid #cbd5e0;
    border-radius: 6px; /* گردتر کردن گوشه‌ها */
    font-size: 1rem;
    box-sizing: border-box; /* مطمئن شوید padding در عرض حساب می‌شود */
}

#send-button {
    padding: 12px 20px; /* افزایش padding */
    background-color: #3182ce; /* آبی */
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease; /* افکت هاور نرم */
    flex-shrink: 0; /* جلوگیری از کوچک شدن دکمه در فضای کم */
}

#send-button:hover {
    background-color: #2b6cb0; /* آبی تیره‌تر در هاور */
}

#user-input:disabled, #send-button:disabled, #model-select:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Media query برای دستگاه‌های کوچک‌تر */
@media (max-width: 600px) {
    .container {
        padding: 0 10px;
        min-height: calc(100vh - 20px); /* تنظیم ارتفاع در صفحه کوچک */
    }
    body {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .chat-container {
        padding: 15px;
    }
    h1 {
        font-size: 1.5rem;
        margin-bottom: 10px;
    }
     .chat-container p {
         margin-bottom: 10px;
     }
    .message {
        max-width: 95%; /* عرض بیشتر پیام‌ها در صفحه کوچک */
    }
    #input-area {
        flex-direction: column; /* المنت‌های ورودی زیر هم قرار بگیرند */
        gap: 10px;
    }
    #user-input {
        width: 100%; /* عرض کامل در حالت ستونی */
        margin-left: 0;
    }
    #send-button {
        width: 100%; /* عرض کامل در حالت ستونی */
        padding: 10px; /* کاهش padding دکمه */
    }
     #controls {
        flex-direction: column;
        gap: 10px;
     }
}