/* تنظیمات عمومی و فونت */
body {
    font-family: 'Vazirmatn', sans-serif; /* فونت مدرن و خوانا برای فارسی */
    margin: 0;
    padding: 0;
    background-color: #fcfcfc; /* پس‌زمینه خیلی روشن و کمی گرم */
    color: #333;
    direction: rtl; /* جهت راست به چپ */
    text-align: right; /* تراز متن به راست */
    line-height: 1.7; /* افزایش کمی خطوط برای خوانایی بهتر در طراحی مینیمال */
    padding-top: 80px; /* فضای بالا برای Navbar ثابت */
    overflow-x: hidden; /* جلوگیری از اسکرول افقی ناخواسته */
}

/* Navbar استایل جدید - حفظ لوکس بودن با مینیمالیسم */
.navbar {
    background-color: #1a1a1a; /* مشکی تیره‌تر و خالص‌تر */
    border-bottom: none; /* حذف بوردر پایین */
    padding-top: 15px; /* پدینگ بیشتر */
    padding-bottom: 15px; /* پدینگ بیشتر */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); /* سایه ظریف‌تر */
}

.navbar-brand {
    font-weight: 700; /* */
    font-size: 1.8em; /* کمی بزرگتر */
    color: #fff !important; /* */
    display: flex; /* */
    align-items: center; /* */
    margin-left: 0; /* برای حالت rtl */
}

.logo-img {
    height: 45px; /* کمی کوچکتر */
    margin-left: 10px; /* */
    border-radius: 50%; /* */
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.3); /* سایه طلایی ظریف‌تر */
}

.restaurant-name {
    color: #FFD700; /* رنگ طلایی برای نام رستوران (Gold) */
    font-weight: 700; /* */
    text-shadow: none; /* حذف افکت نئون برای مینیمالیسم */
}

.navbar .nav-link {
    color: rgba(255, 255, 255, 0.7) !important; /* رنگ سفید مایل به خاکستری روشن‌تر */
    font-size: 1.0em; /* کمی کوچکتر */
    padding: 0.5rem 1rem; /* پدینگ کمتر */
    position: relative; /* */
    transition: color 0.3s ease, transform 0.3s ease; /* */
}

.navbar .nav-link::after { /* خط زیرین متحرک */
    content: ''; /* */
    position: absolute; /* */
    bottom: 0; /* کمی بالاتر */
    left: 50%; /* */
    transform: translateX(-50%) scaleX(0); /* */
    width: 80%; /* خط کوتاه‌تر */
    height: 1.5px; /* خط ظریف‌تر */
    background-color: #FFD700; /* خط طلایی */
    transition: transform 0.3s ease; /* */
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: #FFD700 !important; /* رنگ طلایی هنگام هاور یا فعال */
    transform: none; /* حذف ترنسفورم Y */
}

.navbar .nav-link.active::after,
.navbar .nav-link:hover::after {
    transform: translateX(-50%) scaleX(1); /* */
}

/* استایل برای آیکون همبرگر Navbar در حالت موبایل */
.navbar-toggler-icon {
    /* تغییر رنگ آیکون همبرگر به سفید برای دیده شدن روی پس‌زمینه تیره */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; /* رنگ سفید کامل */
}

/* برای دکمه تگلر، اگر لازم بود، یک بوردر یا پس زمینه روشن‌تر اضافه کنید */
.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.2) !important; /* بوردر ظریف‌تر */
}

/* عنوان اصلی منو */
.menu-title {
    color: #36454F; /* رنگ خاکستری ذغالی تیره */
    font-weight: 700; /* */
    margin-top: 50px; /* فاصله بیشتر */
    position: relative; /* */
    padding-bottom: 10px; /* پدینگ کمتر */
    text-shadow: none; /* حذف سایه */
}

.menu-title::after {
    content: ''; /* */
    position: absolute; /* */
    bottom: 0; /* */
    right: 50%; /* */
    transform: translateX(50%); /* */
    width: 80px; /* خط کوتاه‌تر */
    height: 3px; /* خط ظریف‌تر */
    background-color: #FFD700; /* خط طلایی */
    border-radius: 1.5px; /* */
}

/* دکمه های فیلتر - مینیمال و تمیزتر */
.filter-buttons-container {
    gap: 10px; /* فاصله کمتر */
    margin-bottom: 40px; /* فاصله بیشتر تا آیتم ها */
}

.filter-btn {
    font-weight: 500; /* کمی سبک‌تر */
    padding: 8px 20px; /* پدینگ کمتر */
    border-radius: 20px; /* گردتر */
    border: 1px solid #ddd; /* بوردر روشن و ظریف */
    color: #555; /* متن خاکستری ملایم */
    background-color: #fff; /* */
    transition: all 0.2s ease; /* */
    box-shadow: none; /* حذف سایه اولیه */
}

.filter-btn:hover {
    background-color: #f0f0f0; /* پس‌زمینه کمی تیره‌تر هنگام هاور */
    color: #333;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* سایه ظریف هنگام هاور */
    transform: none; /* حذف ترنسفورم Y */
}

.filter-btn.active {
    background-color: #FFD700; /* دکمه فعال طلایی پررنگ */
    color: #262626; /* متن مشکی برای دکمه فعال */
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.3); /* سایه طلایی ظریف‌تر */
    transform: none; /* حذف ترنسفورم Y */
    border-color: #FFD700; /* بوردر هم طلایی */
}

/* آیتم‌های منو - مینیمال و تمیزتر */
.menu-item-wrapper {
    /* */
}

.card.menu-item {
    border: none; /* حذف بوردر */
    border-radius: 8px; /* کمی کمتر گرد */
    overflow: hidden; /* */
    background-color: #fff; /* */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06); /* سایه بسیار ظریف‌تر */
    transition: transform 0.2s ease, box-shadow 0.2s ease; /* انیمیشن سریع‌تر */
    display: flex; /* */
    flex-direction: column; /* */
    height: 100%; /* */
}

.card.menu-item:hover {
    transform: translateY(-3px); /* حرکت ملایم‌تر */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); /* سایه کمی عمیق‌تر */
}

.card-img-top {
    height: 160px; /* کمی کوچکتر */
    object-fit: cover; /* */
    transition: transform 0.3s ease; /* */
    border-radius: 8px 8px 0 0; /* گوشه‌های گرد بالا */
}

.card.menu-item:hover .card-img-top {
    transform: scale(1.02); /* زوم کمتر */
}

.card-body {
    padding: 15px; /* پدینگ کمتر */
    display: flex; /* */
    flex-direction: column; /* */
    justify-content: space-between; /* */
    flex-grow: 1; /* */
}

.card-title {
    font-size: 1.4em; /* کمی کوچکتر */
    font-weight: 600; /* کمی سبک‌تر */
    color: #333; /* خاکستری استاندارد */
    margin-bottom: 5px; /* فاصله کمتر */
}

.description {
    font-size: 0.85em; /* کمی کوچکتر */
    color: #777; /* خاکستری روشن‌تر */
    margin-bottom: 12px; /* کمی فاصله بیشتر */
    line-height: 1.6; /* */
    flex-grow: 1; /* */
    overflow: hidden; /* */
    text-overflow: ellipsis; /* */
    display: -webkit-box; /* */
    -webkit-line-clamp: 2; /* نمایش حداکثر 2 خط در حالت عادی */
    -webkit-box-orient: vertical; /* */
}

/* بخش قیمت و کنترل تعداد */
.d-flex.justify-content-between.align-items-center.mt-auto.w-100 {
    margin-top: 15px !important; /* فاصله بیشتر از توضیحات */
    padding-top: 10px; /* پدینگ داخلی برای جدا شدن از توضیحات */
    border-top: 1px solid #eee; /* خط جداکننده ظریف */
}

.price {
    font-size: 1.3em; /* کمی کوچکتر */
    font-weight: bold; /* */
    color: #262626; /* متن تیره برای قیمت */
    background: none; /* حذف گرادیانت */
    padding: 0; /* حذف پدینگ */
    border-radius: 0; /* حذف گردی */
    display: inline-block; /* */
    box-shadow: none; /* حذف سایه */
    letter-spacing: 0; /* حذف فاصله بین حروف */
    margin-left: auto; /* */
}

.food-quantity-controls {
    gap: 8px; /* کمی فاصله بیشتر */
    margin-right: auto; /* */
}

.food-quantity-input {
    width: 50px; /* کمی کوچکتر */
    padding: 0.15rem 0.3rem; /* پدینگ کوچکتر */
    border-radius: 4px; /* گوشه‌های گرد کمتر */
    border: 1px solid #ccc; /* */
    background-color: #fff; /* پس زمینه سفید */
    color: #333; /* */
    font-weight: 500; /* سبک‌تر */
}

.quantity-btn-card {
    width: 25px; /* کوچکتر */
    height: 25px; /* کوچکتر */
    border-radius: 50% !important; /* */
    font-size: 1em; /* */
    font-weight: normal; /* نرمال */
    color: #6c757d !important; /* خاکستری تیره بوت‌استرپ */
    border: 1px solid #6c757d !important; /* */
    background-color: transparent !important; /* پس‌زمینه شفاف */
    transition: all 0.2s ease; /* */
}

.quantity-btn-card:hover {
    background-color: #6c757d !important; /* خاکستری تیره هنگام هاور */
    color: white !important; /* */
    transform: none; /* حذف ترنسفورم */
}

.select-food-btn {
    font-size: 1em; /* */
    padding: 8px 15px; /* پدینگ کمتر */
    border-radius: 25px !important; /* کمی کمتر گرد */
    margin-top: 15px !important; /* فاصله کمتر */
    box-shadow: none; /* حذف سایه اولیه */
}

.select-food-btn.btn-outline-success {
    border-color: #28a745; /* سبز استاندارد بوت‌استرپ */
    color: #28a745; /* */
    background-color: transparent; /* */
}
.select-food-btn.btn-outline-success:hover {
    background-color: #28a745; /* */
    color: white; /* */
    transform: none; /* حذف ترنسفورم Y */
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2); /* سایه ظریف‌تر */
}

.select-food-btn.btn-danger {
    background-color: #dc3545; /* قرمز استاندارد بوت‌استرپ */
    border-color: #dc3545; /* */
    color: white; /* */
}
.select-food-btn.btn-danger:hover {
    background-color: #c82333; /* */
    border-color: #bd2130; /* */
    transform: none; /* حذف ترنسفورم Y */
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2); /* سایه ظریف‌تر */
}


/* فوتر - مینیمال و تمیزتر */
footer {
    background-color: #1a1a1a; /* مشکی تیره‌تر و خالص‌تر */
    color: #ecf0f1; /* */
    padding: 25px 20px; /* پدینگ کمتر */
    margin-top: 80px; /* فاصله بیشتر */
    font-size: 0.9em; /* کمی کوچکتر */
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.2); /* سایه ظریف‌تر */
}

footer p {
    margin: 3px 0; /* */
    color: rgba(255, 255, 255, 0.7); /* رنگ روشن‌تر */
}

/* رسپانسیو بودن Navbar (تغییرات جزئی برای مینیمالیسم) */
@media (max-width: 991.98px) { /* breakpoint for Bootstrap lg */
    .navbar-collapse {
        background-color: #1a1a1a; /* پس‌زمینه تیره برای منوی باز شده در موبایل */
        border-top: 1px solid #333; /* بوردر ظریف‌تر */
        padding: 10px 0; /* پدینگ کمتر */
        margin-top: 8px; /* */
        border-radius: 6px; /* کمتر گرد */
        box-shadow: 0 3px 10px rgba(0,0,0,0.1); /* سایه ظریف‌تر */
        text-align: right; /* */
    }
    .navbar-nav {
        width: 100%; /* */
        align-items: flex-start; /* */
    }
    .navbar .nav-link {
        color: #f8f9fa !important; /* رنگ کاملاً سفید/نقره‌ای روشن برای خوانایی بهتر */
        padding: 8px 15px !important; /* پدینگ کمتر */
        font-size: 1.0em; /* */
        border-bottom: none !important; /* */
    }
    .navbar .nav-link.active {
        color: #FFD700 !important; /* طلایی برای لینک فعال در موبایل */
    }
    .navbar .nav-link.active::after,
    .navbar .nav-link:hover::after {
        transform: translateX(-50%) scaleX(0); /* */
    }
    /* تنظیم ترتیب برای RTL در موبایل */
    .navbar-brand {
        order: 0; /* */
        margin-right: 0; /* */
        margin-left: auto; /* */
    }
    .navbar-toggler {
        order: 1; /* */
        margin-left: 0; /* */
        margin-right: 15px; /* */
    }
    .navbar-collapse {
        order: 2; /* */
    }
}

@media (max-width: 767.98px) {
    body {
        padding-top: 65px; /* */
    }
    .menu-title {
        font-size: 2em; /* */
        margin-top: 40px;
    }
    .filter-btn {
        padding: 7px 18px; /* */
        font-size: 0.85em; /* */
    }
    .card-body {
        padding: 12px; /* */
    }
    .card-title {
        font-size: 1.3em; /* */
    }
    .price {
        font-size: 1.2em; /* */
    }
    .food-quantity-input {
        width: 45px; /* */
    }
    .quantity-btn-card {
        width: 24px; /* */
        height: 24px; /* */
        font-size: 0.9em; /* */
    }
    .select-food-btn {
        font-size: 0.9em; /* */
        padding: 6px 10px; /* */
    }
}
@media (max-width: 575.98px) {
    body {
        padding-top: 55px; /* */
    }
    .navbar-brand {
        font-size: 1.6em; /* */
    }
    .logo-img {
        height: 30px; /* */
    }
    .menu-title {
        font-size: 1.6em; /* */
        margin-bottom: 25px; /* */
    }
    .filter-buttons-container {
        flex-direction: column; /* */
        align-items: center; /* */
        gap: 8px; /* */
    }
    .filter-btn {
        width: 90%; /* کمی عریض‌تر */
    }
    .card-img-top {
        height: 140px; /* */
    }
    .card-title {
        font-size: 1.2em; /* */
    }
    .description {
        font-size: 0.8em; /* */
        -webkit-line-clamp: 2; /* */
    }
    .price {
        font-size: 1.1em; /* */
    }
    .food-quantity-input {
        width: 40px; /* */
    }
    .quantity-btn-card {
        width: 22px; /* */
        height: 22px; /* */
        font-size: 0.8em; /* */
    }
    .select-food-btn {
        font-size: 0.85em; /* */
        padding: 5px 10px; /* */
    }
}
/* استایل‌دهی به دکمه "لیست سفارش" در Navbar */
.view-order-list-btn {
    color: #FFD700 !important; /* رنگ طلایی برای متن دکمه */
    font-weight: 600; /* */
    transition: all 0.3s ease; /* */
    padding: 0.5rem 1rem !important; /* پدینگ برای دکمه لینک */
    border-radius: 20px; /* */
    background-color: rgba(255, 215, 0, 0.1); /* پس‌زمینه طلایی ملایم */
    border: 1px solid rgba(255, 215, 0, 0.3); /* */
}

.view-order-list-btn:hover {
    background-color: rgba(255, 215, 0, 0.2); /* */
    color: #FFD700 !important; /* */
    transform: none; /* حذف ترنسفورم Y */
    box-shadow: none; /* حذف سایه */
}

.order-counter {
    font-size: 0.7em; /* کوچکتر */
    position: relative; /* */
    top: -2px; /* */
    background-color: #B8860B !important; /* رنگ نارنجی/طلایی تیره */
    color: white !important; /* */
    padding: 2px 6px; /* پدینگ کمتر */
    border-radius: 10px; /* بیشتر گرد */
}

/* استایل‌دهی به دکمه‌های "انتخاب غذا" در کارت‌ها و مودال */
/* .select-food-btn قبلاً در بالای این قسمت تعریف شد و تغییراتش اعمال شده است. */
.select-food-btn-modal { /* این کلاس فقط برای مودال است */
    border-radius: 25px; /* دکمه‌های گردتر */
    font-weight: 600; /* */
    transition: all 0.3s ease; /* */
    padding: 10px 25px; /* */
}

/* استایل‌دهی Offcanvas لیست سفارش - مینیمال و تمیزتر */
.offcanvas.offcanvas-start {
    background-color: #262626 !important; /* پس‌زمینه تیره هماهنگ با Navbar و فوتر */
    color: #fff; /* */
    width: 320px; /* عرض کمی کمتر */
    border-left: none; /* حذف بوردر */
}

.offcanvas-header {
    border-bottom: 1px solid #333; /* بوردر ظریف‌تر */
    padding: 15px 20px;
}

.offcanvas-title {
    color: #FFD700 !important; /* عنوان طلایی */
    font-weight: 700; /* */
}

.offcanvas-header .btn-close {
    filter: invert(1) brightness(1.5); /* آیکون بستن کمی روشن‌تر */
    margin-right: auto; /* */
    margin-left: 0; /* */
}

.offcanvas-body {
    padding: 20px; /* */
    display: flex; /* */
    flex-direction: column; /* */
}

#selected-items-list {
    list-style: none; /* */
    padding: 0; /* */
    margin: 0; /* */
}

#selected-items-list .list-group-item {
    background-color: transparent !important; /* */
    border: none; /* حذف بوردر */
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1); /* خط چین ظریف‌تر */
    color: #fff; /* */
    padding: 10px 0; /* پدینگ کمتر */
    font-size: 1em; /* کمی کوچکتر */
    display: flex; /* */
    justify-content: space-between; /* */
    align-items: center; /* */
    flex-wrap: wrap; /* */
}

#selected-items-list .list-group-item:last-child {
    border-bottom: none; /* حذف خط چین از آخرین آیتم */
}

/* استایل برای دکمه های افزایش/کاهش و نمایش تعداد در Offcanvas */
.quantity-btn {
    width: 28px; /* کمی کوچکتر */
    height: 28px; /* کمی کوچکتر */
    border-radius: 50% !important; /* */
    font-size: 1.1em; /* */
    font-weight: bold; /* */
    color: #FFD700 !important; /* رنگ طلایی */
    border: 1px solid #FFD700 !important; /* بوردر طلایی */
    background-color: transparent !important; /* پس‌زمینه شفاف */
    transition: all 0.2s ease; /* */
}

.quantity-btn:hover {
    background-color: #FFD700 !important; /* */
    color: #262626 !important; /* */
    transform: scale(1.05); /* */
}

.quantity-display {
    min-width: 28px; /* کمی کوچکتر */
    font-size: 0.9em; /* کوچکتر */
    background-color: #B8860B !important; /* رنگ نارنجی/طلایی تیره */
    padding: 3px 6px; /* پدینگ کمتر */
    border-radius: 4px; /* کمتر گرد */
}

#empty-list-message {
    font-style: italic; /* */
    color: rgba(255, 255, 255, 0.5) !important; /* کمرنگ‌تر */
    padding-top: 15px; /* */
    font-size: 1em; /* */
}

.remove-food-btn {
    background-color: #dc3545 !important; /* */
    border-color: #dc3545 !important; /* */
    color: white !important; /* */
    font-size: 0.7em; /* کوچکتر */
    padding: 2px 6px; /* پدینگ کمتر */
    border-radius: 4px; /* کمتر گرد */
}

#total-order-price {
    font-size: 1.6em !important; /* کمی کوچکتر */
    color: #FFD700 !important; /* */
    margin-right: 5px; /* */
}

/* دکمه‌های چاپ و کپی در فوتر Offcanvas - مینیمال */
#print-order-btn {
    background-color: #28a745 !important; /* سبز استاندارد بوت‌استرپ */
    border-color: #28a745 !important; /* */
    font-weight: 600; /* */
    border-radius: 20px; /* کمتر گرد */
    transition: all 0.2s ease; /* */
    box-shadow: none; /* حذف سایه */
}
#print-order-btn:hover {
    background-color: #218838 !important; /* */
    border-color: #1e7e34 !important; /* */
    transform: none; /* حذف ترنسفورم Y */
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2);
}

#copy-order-btn {
    background-color: #007bff !important; /* آبی استاندارد بوت‌استرپ */
    border-color: #007bff !important; /* */
    font-weight: 600; /* */
    border-radius: 20px; /* کمتر گرد */
    transition: all 0.2s ease; /* */
    box-shadow: none; /* حذف سایه */
}
#copy-order-btn:hover {
    background-color: #0069d9 !important; /* */
    border-color: #0062cc !important; /* */
    transform: none; /* حذف ترنسفورم Y */
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
}

/* رسپانسیو بودن Offcanvas */
@media (max-width: 575.98px) {
    .offcanvas.offcanvas-start {
        width: 90%; /* عرض بیشتر در موبایل */
    }
}

/* Toast Notification Styles (اضافه شده جدید یا تغییر یافته) */
.toast-container {
    z-index: 1080; /* اطمینان از نمایش روی سایر عناصر */
}
.toast {
    background-color: rgba(255, 215, 0, 0.9); /* پس‌زمینه طلایی با شفافیت */
    color: #262626; /* متن تیره */
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    font-size: 0.95em;
    font-weight: 500;
    backdrop-filter: blur(3px); /* افکت بلور برای پس‌زمینه (اختیاری) */
}
.toast-body {
    padding: 12px 18px;
    text-align: right;
}
.toast .btn-close {
    filter: none; /* حذف فیلتر برای آیکون بستن */
    opacity: 0.7;
    margin-right: 5px !important;
    margin-left: 0 !important; /* برای RTL */
    color: #262626; /* رنگ مشکی */
}
.toast.text-bg-success {
    background-color: rgba(40, 167, 69, 0.9) !important; /* سبز موفقیت با شفافیت */
    color: white !important;
}
.toast.text-bg-danger {
    background-color: rgba(220, 53, 69, 0.9) !important; /* قرمز خطا با شفافیت */
    color: white !important;
}