/* =============================================
   هوية مقهى «چاهي» — بيج / بني / ذهبي / أبيض
   ============================================= */
:root {
    --chahi-beige:      #F1E6D3;   /* خلفية عامة */
    --chahi-beige-soft: #F8F1E4;   /* خلفية أفتح للبطاقات الثانوية */
    --chahi-brown-dark: #4A3222;   /* نصوص وعناوين وشريط جانبي */
    --chahi-brown:      #6B4A32;   /* درجات وسطى */
    --chahi-brown-soft: #8B6B4F;   /* حدود وعناصر ثانوية */
    --chahi-gold:       #B37B2E;   /* الأزرار والتمييز */
    --chahi-gold-soft:  #D4A659;   /* hover وتفاصيل ذهبية */
    --chahi-white:      #FFFFFF;
    --chahi-success:    #d9f2df;   /* أخضر فاتح — متاح */
    --chahi-danger:     #f8d9d9;   /* أحمر فاتح — محجوز */
}

html { font-size: 15px; }

body {
    font-family: 'Rubik', sans-serif;
    background-color: var(--chahi-beige);
    color: var(--chahi-brown-dark);
    min-height: 100vh;
}

/* ---------- الشريط الجانبي ---------- */
.chahi-sidebar {
    background-color: var(--chahi-brown-dark);
    color: var(--chahi-beige);
    height: 100vh;
    height: 100dvh;   /* يعالج شريط عناوين متصفح الجوال */
    width: 250px;
    position: fixed;
    inset-inline-start: 0;
    top: 0;
    z-index: 1030;
    transition: transform .25s ease;
    display: flex;
    flex-direction: column;
}

.chahi-sidebar .brand {
    padding: 1.25rem 1rem .75rem;
    text-align: center;
}

.chahi-sidebar .brand img { max-height: 56px; }

.chahi-sidebar .brand-name {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--chahi-beige);
    margin-top: .35rem;
}

/* الفاصل الزخرفي المستوحى من الشعار ◆—❖—◆ */
.chahi-divider {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--chahi-gold);
    margin: .5rem 1.25rem 1rem;
    font-size: .7rem;
}
.chahi-divider::before,
.chahi-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--chahi-gold);
    opacity: .6;
}

.chahi-sidebar .nav-link {
    color: var(--chahi-beige);
    padding: .65rem 1.25rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    border-inline-start: 3px solid transparent;
    transition: background .15s, border-color .15s;
}
.chahi-sidebar .nav-link i { color: var(--chahi-gold-soft); width: 1.25rem; text-align: center; }
.chahi-sidebar .nav-link:hover { background: rgba(255,255,255,.06); }
.chahi-sidebar .nav-link.active {
    background: rgba(179,123,46,.18);
    border-inline-start-color: var(--chahi-gold);
    font-weight: 500;
}

.chahi-sidebar nav { padding-bottom: .5rem; }

.chahi-sidebar .sidebar-footer {
    margin-top: auto;
    flex-shrink: 0;
    padding: 1rem 1.25rem;
    border-top: 1px solid rgba(255,255,255,.08);
    font-size: .85rem;
}

/* ---------- المحتوى ---------- */
.chahi-content {
    margin-inline-start: 250px;
    padding: 1.25rem 1.5rem 2rem;
    transition: margin .25s ease;
}

.chahi-topbar {
    background: var(--chahi-white);
    border-radius: .75rem;
    padding: .7rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 1px 4px rgba(74,50,34,.08);
    margin-bottom: 1.25rem;
}

/* ---------- البطاقات والأزرار ---------- */
.card {
    border: none;
    border-radius: .75rem;
    box-shadow: 0 1px 4px rgba(74,50,34,.08);
}
.card-header {
    background: var(--chahi-white);
    border-bottom: 1px solid var(--chahi-beige);
    font-weight: 600;
    border-radius: .75rem .75rem 0 0 !important;
}

.btn-chahi {
    background-color: var(--chahi-gold);
    border-color: var(--chahi-gold);
    color: #fff;
}
.btn-chahi:hover, .btn-chahi:focus {
    background-color: var(--chahi-brown);
    border-color: var(--chahi-brown);
    color: #fff;
}

.btn-outline-chahi {
    border-color: var(--chahi-gold);
    color: var(--chahi-gold);
}
.btn-outline-chahi:hover {
    background-color: var(--chahi-gold);
    color: #fff;
}

/* ---------- الجداول ---------- */
.table { --bs-table-hover-bg: var(--chahi-beige-soft); }
.table thead th {
    background: var(--chahi-brown-dark);
    color: var(--chahi-beige);
    font-weight: 500;
    white-space: nowrap;
}

/* ---------- بطاقات الطاولات ---------- */
.table-card {
    border-radius: .75rem;
    padding: 1.1rem;
    text-align: center;
    transition: transform .12s ease;
}
.table-card:hover { transform: translateY(-2px); }
.table-card.available { background: var(--chahi-success); }
.table-card.booked    { background: var(--chahi-danger); }
.table-card .table-number { font-size: 1.9rem; font-weight: 600; }

/* ---------- تسجيل الدخول ---------- */
.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--chahi-beige);
}
.login-card {
    width: 100%;
    max-width: 400px;
    background: var(--chahi-white);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 6px 24px rgba(74,50,34,.12);
}

/* ---------- الجوال ---------- */
@media (max-width: 991.98px) {
    .chahi-sidebar { transform: translateX(100%); }
    [dir="ltr"] .chahi-sidebar { transform: translateX(-100%); }
    .chahi-sidebar.show { transform: translateX(0); }
    .chahi-content { margin-inline-start: 0; }
    .sidebar-overlay {
        display: none;
        position: fixed; inset: 0;
        background: rgba(0,0,0,.45);
        z-index: 1029;
    }
    .sidebar-overlay.show { display: block; }
}

/* ---------- طباعة 80 ملم (تُستخدم لاحقًا مع قالب الفاتورة) ---------- */
@media print {
    .chahi-sidebar, .chahi-topbar, .no-print { display: none !important; }
    .chahi-content { margin: 0; padding: 0; }
}

/* ---------- شاشة البيع POS ---------- */
.pos-cart { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); }
.pos-cart .card-body { overflow: hidden; }
.cart-items { overflow-y: auto; min-height: 120px; max-height: 38vh; }

.product-card {
    background: var(--chahi-white);
    border: 1px solid var(--chahi-beige);
    border-radius: .75rem;
    padding: .5rem;
    text-align: center;
    cursor: pointer;
    height: 100%;
    transition: transform .1s ease, border-color .1s;
    user-select: none;
}
.product-card:hover { transform: translateY(-2px); border-color: var(--chahi-gold); }
.product-card:active { transform: scale(.97); }
.product-card.out-of-stock { opacity: .5; cursor: not-allowed; }

.product-image {
    position: relative;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--chahi-beige-soft);
    border-radius: .5rem;
    overflow: hidden;
    margin-bottom: .4rem;
}
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.product-image i { font-size: 2rem; color: var(--chahi-brown-soft); }
.discount-badge { position: absolute; top: 4px; inset-inline-start: 4px; font-size: .65rem; }

.product-name { font-size: .85rem; font-weight: 500; min-height: 2.2em; }
.product-price { color: var(--chahi-gold); font-weight: 600; }

.payment-btn {
    border: 2px solid var(--chahi-beige);
    background: var(--chahi-white);
    color: var(--chahi-brown-dark);
    font-size: .8rem;
    padding: .4rem .2rem;
}
.payment-btn.active {
    border-color: var(--chahi-gold);
    background: var(--chahi-beige-soft);
    font-weight: 600;
}

/* ---------- بطاقات حجوزات البلوت ---------- */
.baloot-card { border-inline-start: 4px solid var(--chahi-gold); }
.baloot-card.finished { border-inline-start-color: #adb5bd; opacity: .85; }

/* ---------- سكرول عمودي للشريط الجانبي ---------- */
.chahi-sidebar {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--chahi-gold) transparent;
}
.chahi-sidebar::-webkit-scrollbar { width: 6px; }
.chahi-sidebar::-webkit-scrollbar-thumb { background: var(--chahi-gold); border-radius: 3px; }
.chahi-sidebar::-webkit-scrollbar-track { background: transparent; }

/* ---------- محاذاة موحدة لجداول السجلات ---------- */
.table th, .table td {
    text-align: right;            /* محاذاة يمين مطابقة لرؤوس الأعمدة في RTL */
    vertical-align: middle;
}
.table td[dir="ltr"], .table th[dir="ltr"] {
    text-align: right;            /* الأرقام تبقى LTR لكن محاذاتها تحت العمود */
}
.table th.text-center, .table td.text-center { text-align: center; }
.table td.num, .table th.num { text-align: left; }

/* ---------- توست چاهي ---------- */
.chahi-toast {
    font-family: 'Rubik', sans-serif !important;
    border-inline-start: 4px solid var(--chahi-gold) !important;
}

/* ---------- شعار بحواف منحنية كالبطاقات ---------- */
.chahi-sidebar .brand img,
.login-card img {
    border-radius: .75rem;
}

/* ---------- الفوتر الثابت أسفل الشاشة ---------- */
.chahi-footer {
    position: fixed;
    bottom: 0;
    inset-inline-start: 250px;   /* بمحاذاة القائمة الجانبية */
    inset-inline-end: 0;
    z-index: 1020;
    background: var(--chahi-white);
    box-shadow: 0 -1px 4px rgba(74,50,34,.08);
    padding: .5rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    color: var(--chahi-brown-soft);
    font-size: .82rem;
}
.chahi-footer .footer-sep { color: var(--chahi-gold); font-size: .6rem; }
.chahi-content { padding-bottom: 4.5rem; }   /* حتى لا يغطي الفوتر آخر المحتوى */
@media (max-width: 991.98px) {
    .chahi-footer { inset-inline-start: 0; }  /* عرض كامل عند إخفاء القائمة */
}
.chahi-footer a {
    color: var(--chahi-gold);
    text-decoration: none;
    font-weight: 500;
}
.chahi-footer a:hover {
    color: var(--chahi-brown);
    text-decoration: underline;
}

/* ---------- طي القائمة الجانبية ---------- */
.chahi-sidebar { transition: transform .25s ease; }
.chahi-footer { transition: inset-inline-start .25s ease; }

.sidebar-toggle {
    position: fixed;
    top: 12px;
    inset-inline-start: 250px;
    transform: translateX(50%);              /* نصفه على حافة القائمة */
    z-index: 1040;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: var(--chahi-gold);
    color: #fff;
    box-shadow: 0 2px 6px rgba(74,50,34,.35);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: inset-inline-start .25s ease, transform .25s ease;
}
.sidebar-toggle:hover { background: var(--chahi-brown); }
.sidebar-toggle i { transition: transform .25s ease; }

/* الحالة المطوية: القائمة تنزلق خارج الشاشة والمحتوى يتمدد */
body.sidebar-collapsed .chahi-sidebar { transform: translateX(100%); }
body.sidebar-collapsed .chahi-content { margin-inline-start: 0; }
body.sidebar-collapsed .chahi-footer { inset-inline-start: 0; }
body.sidebar-collapsed .sidebar-toggle { inset-inline-start: 0; transform: translateX(35%); }
body.sidebar-collapsed .sidebar-toggle i { transform: rotate(180deg); }

/* الزر لسطح المكتب فقط — يختفي على الجوال والآيباد */
@media (max-width: 1024px) {
    .sidebar-toggle { display: none; }
}

/* ---------- ضبط الجوال: شاشتا البيع والمرتجعات ---------- */
html, body { overflow-x: hidden; }          /* يمنع أي انزياح أفقي للصفحة */

@media (max-width: 767.98px) {
    /* بطاقات الأصناف أكبر وأوضح للمس */
    .product-image { height: 110px; }
    .product-name { font-size: 1rem; font-weight: 500; }
    .product-price { font-size: .95rem; }
    .product-card { padding: .65rem; }

    /* أزرار الأقسام تكبر قليلًا وتلتف بانتظام */
    #categoryTabs .btn { font-size: .95rem; padding: .35rem .8rem; }

    /* السلة تتصرف طبيعيًا أسفل الأصناف (بلا التصاق يسبب تراكبًا) */
    .pos-cart { position: static; max-height: none; }
}
