/* Farah Kitchen — Side Cart Drawer */
.cart-overlay{
    position:fixed;
    inset:0;
    z-index:90;
    background:rgba(0,0,0,.62);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
}
.cart-drawer{
    position:fixed;
    top:0;
    bottom:0;
    right:0;
    width:min(430px,92vw);
    z-index:100;
    display:flex;
    flex-direction:column;
    background:#11100f;
    color:#fff;
    box-shadow:-12px 0 40px rgba(0,0,0,.45);
    transform:translateX(105%);
    visibility:hidden;
    transition:transform .3s ease,visibility .3s ease;
    direction:rtl;
}
html[dir="ltr"] .cart-drawer{
    right:auto;
    left:0;
    transform:translateX(-105%);
    direction:ltr;
    box-shadow:12px 0 40px rgba(0,0,0,.45);
}
body.cart-open .cart-overlay{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
body.cart-open .cart-drawer{
    transform:translateX(0);
    visibility:visible;
}
.cart-drawer-head{
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:20px 24px;
    background:#0d0c0b;
    border-bottom:1px solid #493c29;
}
.cart-drawer-head span{
    display:block;
    color:var(--gold);
    font-size:13px;
    font-weight:700;
}
.cart-drawer-head h2{
    margin:2px 0 0;
    font-size:25px;
}
.cart-close{
    width:40px;
    height:40px;
    border:1px solid #6b531a;
    border-radius:50%;
    background:#191612;
    color:#fff;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}
.cart-drawer-body{
    flex:1;
    overflow-y:auto;
    padding:18px;
}
.drawer-item{
    display:grid;
    grid-template-columns:82px 1fr 32px;
    align-items:center;
    gap:12px;
    padding:10px;
    margin-bottom:10px;
    background:#1b1815;
    border:1px solid #332a20;
    border-radius:15px;
}
html[dir="ltr"] .drawer-item{
    grid-template-columns:32px 1fr 82px;
}
.drawer-item img{
    width:82px;
    height:70px;
    object-fit:cover;
    border-radius:11px;
}
html[dir="ltr"] .drawer-item img{grid-column:3}
.drawer-item-info{min-width:0}
.drawer-item-info strong{
    display:block;
    font-size:15px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.drawer-item-info>span{
    display:block;
    margin-top:3px;
    color:var(--gold);
    font-weight:700;
}
.drawer-qty{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:8px;
}
.drawer-qty button{
    width:27px;
    height:27px;
    border:1px solid #69531c;
    border-radius:50%;
    background:#15120f;
    color:#fff;
    cursor:pointer;
}
.drawer-qty b{min-width:18px;text-align:center}
.drawer-remove{
    width:30px;
    height:30px;
    border:0;
    border-radius:50%;
    background:#2a2520;
    color:#ddd;
    cursor:pointer;
}
html[dir="ltr"] .drawer-remove{grid-column:1}
.cart-drawer-foot{
    padding:18px 20px 20px;
    background:#0d0c0b;
    border-top:1px solid #493c29;
}
.drawer-total{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
    font-size:17px;
}
.drawer-total strong{
    color:var(--gold);
    font-size:22px;
}
.drawer-checkout{width:100%}
.drawer-clear{
    width:100%;
    margin-top:9px;
    padding:10px;
    border:1px solid #493c29;
    border-radius:22px;
    background:transparent;
    color:#ddd;
    font:700 14px Farah;
    cursor:pointer;
}
.cart-empty{
    min-height:55vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.cart-empty b{
    font-size:55px;
    color:var(--gold);
}
.cart-empty h3{font-size:20px;margin:8px 0 18px}
@media(max-width:560px){
    .cart-drawer{width:94vw}
    .cart-drawer-head{min-height:78px;padding:16px}
    .cart-drawer-body{padding:12px}
    .drawer-item{grid-template-columns:65px 1fr 30px;gap:9px}
    html[dir="ltr"] .drawer-item{grid-template-columns:30px 1fr 65px}
    .drawer-item img{width:65px;height:58px}
}
