
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');

*{
    font-family:'Cairo',Tahoma,Arial,sans-serif !important;
}

/* Scrollbar احترافي لكل المشروع */
*{
    scrollbar-width:thin;
    scrollbar-color:var(--button-color,#8b0000) #f1f3f6;
}

/* Chrome / Edge / Safari */
::-webkit-scrollbar{
    width:8px;
    height:8px;
}

::-webkit-scrollbar-track{
    background:#f1f3f6;
    border-radius:20px;
}

::-webkit-scrollbar-thumb{
    background:linear-gradient(
        180deg,
        var(--button-color,#8b0000),
        var(--theme-color,#001b4e)
    );
    border-radius:20px;
    border:2px solid #f1f3f6;
}

::-webkit-scrollbar-thumb:hover{
    background:var(--button-color,#8b0000);
}

::-webkit-scrollbar-corner{
    background:transparent;
}

/* Scrollbar داخل الكاتيجوري يكون أنعم */
.categories-scroll::-webkit-scrollbar{
    height:5px;
}

.categories-scroll::-webkit-scrollbar-track{
    background:transparent;
}

.categories-scroll::-webkit-scrollbar-thumb{
    background:rgba(0,0,0,.18);
    border:0;
}

html{
    font-size:13px;
}

body{
    font-size:13px;
    font-weight:600;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Tahoma,sans-serif;
}

body{
background:#f5f6f8;
padding-bottom:90px;
}

.header{
background:#fff;
padding:15px;
display:flex;
justify-content:space-between;
align-items:center;
box-shadow:0 2px 10px rgba(0,0,0,.05);
position:sticky;
top:0;
z-index:100;
}

.logo{
font-size:28px;
font-weight:bold;
color:#001b4e;
}

.table-box{
display:flex;
gap:10px;
align-items:center;
font-weight:bold;
}

.table-box strong{
background:#001b4e;
color:#fff;
padding:8px 15px;
border-radius:10px;
}

.hero{
margin:15px;
height:180px;
border-radius:20px;
overflow:hidden;
background:linear-gradient(
135deg,
#001b4e,
#0d2c72
);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

.hero h1{
font-size:32px;
margin-bottom:10px;
}

.categories{
padding:10px 15px;
}

.categories-scroll{
display:flex;
overflow-x:auto;
gap:10px;
padding-bottom:10px;
}

.category-btn{
background:#fff;
border:none;
padding:12px 18px;
border-radius:14px;
white-space:nowrap;
cursor:pointer;
font-weight:bold;
}

.category-btn.active{
background:#001b4e;
color:#fff;
}

.search-section{
padding:0 15px 15px;
}

.search-section input{
width:100%;
height:50px;
border:1px solid #ddd;
border-radius:14px;
padding:0 15px;
font-size:16px;
}

.products{
padding:15px;
}

.products-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:15px;
}

.product-card{
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.product-image{
height:150px;
background:#eee;
}

.product-image img{
width:100%;
height:100%;
object-fit:cover;
}

.product-body{
padding:12px;
}

.product-name{
font-size:16px;
font-weight:bold;
margin-bottom:8px;
}

.product-price{
color:#e53935;
font-weight:bold;
margin-bottom:10px;
}

.add-btn{
width:100%;
height:42px;
border:none;
background:#001b4e;
color:#fff;
border-radius:12px;
cursor:pointer;
font-size:15px;
}

.cart-bar{
position:fixed;
bottom:0;
left:0;
right:0;
height:65px;
background:#001b4e;
color:#fff;
display:flex;
justify-content:space-between;
align-items:center;
padding:0 20px;
font-weight:bold;
cursor:pointer;
}

@media(min-width:768px){

.products-grid{
grid-template-columns:
repeat(3,1fr);
}

}

@media(min-width:1200px){

.products-grid{
grid-template-columns:
repeat(5,1fr);
}

}
.popup-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.65);
display:flex;
align-items:center;
justify-content:center;
z-index:99999;
padding:15px;
}

.popup-card{
background:#fff;
width:100%;
max-width:520px;
border-radius:20px;
overflow:hidden;
max-height:90vh;
overflow-y:auto;
}

.popup-image{
width:100%;
height:260px;
object-fit:cover;
}

.popup-body{
padding:20px;
}

.popup-title{
font-size:24px;
font-weight:700;
margin-bottom:10px;
}

.popup-price{
font-size:22px;
font-weight:700;
color:#001b4e;
margin-bottom:15px;
}

.popup-old-price{
text-decoration:line-through;
color:#999;
margin-left:10px;
}

.popup-section{
margin-top:15px;
}

.popup-section h4{
margin-bottom:10px;
}

.popup-option{
padding:12px;
border:1px solid #ddd;
border-radius:10px;
margin-bottom:8px;
cursor:pointer;
}

.popup-option.active{
border-color:#001b4e;
background:#eef3ff;
}

.popup-notes{
width:100%;
height:90px;
border:1px solid #ddd;
border-radius:10px;
padding:10px;
}

.popup-qty{
display:flex;
justify-content:center;
align-items:center;
gap:15px;
margin:20px 0;
}

.popup-qty button{
width:40px;
height:40px;
border:none;
background:#001b4e;
color:#fff;
border-radius:8px;
cursor:pointer;
}

.popup-add{
width:100%;
padding:15px;
border:none;
background:#001b4e;
color:#fff;
border-radius:10px;
font-size:18px;
cursor:pointer;
}

.popup-close{

position:fixed;

top:25px;

right:25px;

width:50px;

height:50px;

background:#fff;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:28px;

font-weight:bold;

cursor:pointer;

z-index:999999;
}
.old-price{
    text-decoration:line-through;
    color:#999;
    font-size:14px;
    display:block;
    margin-bottom:3px;
}

.new-price{
    color:#e53935;
    font-weight:bold;
    font-size:20px;
    display:block;
}

.addons-container{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:10px 0;
}

.addon-item{
    display:flex;
    align-items:center;
    gap:5px;
    border:1px solid #ddd;
    border-radius:8px;
    padding:8px 12px;
    background:#f8f8f8;
}
.popup-addon{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    margin:5px;
    border:1px solid #ddd;
    border-radius:8px;
    background:#f8f8f8;
    cursor:pointer;
    font-size:14px;
}

.popup-addon input{
    margin:0;
}

#addsBox{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}
.product-price-row{
display:flex;
gap:10px;
align-items:center;
justify-content:flex-end;
}

.old-price{
text-decoration:line-through;
color:#999;
font-size:14px;
}

.new-price{
color:#e53935;
font-weight:bold;
font-size:28px;
}
/* ========================= */
/* FINAL MODERN DESIGN */
/* ========================= */

.products-grid{
display:grid !important;
grid-template-columns:
repeat(auto-fill,minmax(220px,1fr));
gap:20px;
}

.product-card{

background:#fff !important;

border-radius:18px !important;

overflow:hidden;

position:relative;

box-shadow:
0 10px 25px rgba(0,0,0,.08) !important;

transition:.3s;
}

.product-card:hover{

transform:translateY(-4px);

box-shadow:
0 20px 35px rgba(0,0,0,.15);
}

.product-image{
height:120px !important;
}

.product-image img{

width:100%;
height:100%;
object-fit:cover;
transition:.3s;
}

.product-card:hover img{
transform:scale(1.05);
}

.product-body{
padding:15px !important;
}

.product-name{
font-size:12px !important;
line-height:1.4;
height:40px;
overflow:hidden;
}

.product-price-row{

display:flex !important;

justify-content:flex-start !important;

align-items:center;

gap:10px;

margin-bottom:15px;
}

.old-price{

font-size:13px !important;

color:#999;

text-decoration:line-through;
}

.new-price{

font-size:15px !important;

font-weight:800;

color:#e60000;
}

.add-btn{

height:50px !important;

font-size:17px !important;

font-weight:700;

border-radius:12px !important;
}

/* badge */

.product-card.featured-item{

border:3px solid #3f82ff;

box-shadow:
0 0 25px rgba(63,130,255,.45);
}



/* popup modern */

.popup-card{

max-width:900px !important;

border-radius:30px !important;
}

.popup-body{

padding:30px !important;
}

.popup-title{

font-size:38px !important;

color:#001b4e;
}

.popup-price{

font-size:32px !important;
}

.popup-option{

padding:16px !important;

border-radius:14px !important;
}

.popup-addon{

padding:14px !important;

border-radius:14px !important;
}

.popup-add{

height:60px !important;

font-size:22px !important;

font-weight:bold;
}

/* mobile */

@media(max-width:768px){

.products-grid{
grid-template-columns:
repeat(2,1fr);

gap:12px;
}

.product-image{
height:140px !important;
}

.product-name{
font-size:16px !important;
}

.new-price{
font-size:15px !important;
}

.old-price{
font-size:11px !important;
}

.add-btn{
height:42px !important;
font-size:14px !important;
}

.hero{
height:120px !important;
}

.hero-content h1{
font-size:28px !important;
}

.hero-content p{
font-size:16px !important;
}

.popup-card{

min-width:0;

max-width:95% !important;
}

.popup-title{
font-size:24px !important;
}

.popup-price{
font-size:20px !important;
}

}
.hero{

background-image:
linear-gradient(
rgba(0,27,78,.85),
rgba(0,27,78,.85)
),
url('/assets/images/banner.jpg');

background-size:cover;
background-position:center;
}

.search-wrapper{

padding:20px;

margin-top:-25px;
position:relative;
z-index:5;
}

.search-wrapper input{

width:100%;

height:60px;

border:none;

border-radius:18px;

padding:0 20px;

font-size:18px;

box-shadow:
0 8px 25px rgba(0,0,0,.08);
}

.product-card{

border-radius:22px !important;

overflow:hidden;

background:#fff;

box-shadow:
0 10px 25px rgba(0,0,0,.08);

transition:.3s;
}

.product-card:hover{

transform:translateY(-4px);
}

.product-image{

height:220px !important;
}

.product-image img{

width:100%;
height:100%;
object-fit:cover;
}

.product-name{

font-size:18px !important;

font-weight:700;

line-height:1.4;
}

.new-price{

font-size:16px !important;
}

.old-price{

font-size:12px !important;
}

.add-btn{

height:50px !important;

font-size:16px !important;

font-weight:700;
}
/* ===== MOBILE POPUP FIX ===== */

@media(max-width:768px){

.popup-card{
width:95% !important;
max-width:95% !important;
border-radius:20px !important;
}

.popup-image{
height:220px !important;
}

.popup-body{
padding:15px !important;
}

.popup-title{
font-size:18px !important;
text-align:center;
}

.popup-price{
font-size:16px !important;
text-align:center;
margin-bottom:15px;
}

.popup-section{
margin-top:15px;
}

.popup-option{
display:block !important;
width:100% !important;
margin-bottom:8px !important;
font-size:14px !important;
}

#sizesBox label,
#addsBox label{
display:flex !important;
justify-content:space-between;
align-items:center;
width:100%;
}

.popup-notes{
height:90px;
}

.popup-qty{
margin:15px 0;
}

.popup-add{
height:50px !important;
font-size:18px !important;
}

}
/* ========================= */
/* POPUP FIXED FOOTER */
/* ========================= */

.popup-card{
position:relative;
}

.popup-body{
padding-bottom:130px !important;
}

.popup-fixed-footer .popup-qty{
margin:0 0 15px 0;
}

.popup-fixed-footer .popup-add{
margin:0;
}
.riyal-icon{
display:inline-block !important;
width:16px !important;
height:16px !important;
vertical-align:middle;
margin:0 3px;
object-fit:contain;
}
.popup-image{
position:sticky;
top:0;
z-index:100;
background:#fff;
}

.popup-title{

display:block;

width:100%;

padding-right:20px;

padding-left:20px;

margin:0 0 10px 0;

line-height:1.5;

font-size:26px !important;

font-weight:bold;

text-align:right;

word-break:break-word;
}

.popup-price{

display:block;

clear:both;

width:100%;

padding-right:20px;

padding-left:20px;

margin-top:10px;

font-size:24px !important;

font-weight:bold;

color:#001b4e;

text-align:right;

box-sizing:border-box;
}

.popup-card{
display:flex !important;
flex-direction:column !important;
max-height:90vh !important;
overflow:hidden !important;
}

.popup-sticky-header{
flex-shrink:0;
background:#fff;
border-bottom:1px solid #eee;
z-index:20;
}

.popup-body{
flex:1;
overflow-y:auto;
padding:20px !important;
padding-bottom:220px !important;
}
.size-row{

display:flex;

justify-content:space-between;

align-items:center;

width:100%;
}

.size-name{
font-weight:600;
}

.size-price{

display:flex;

align-items:center;

gap:4px;
}

.size-price .riyal-icon{
margin:0 !important;
}
.popup-option{

display:flex !important;

align-items:center !important;

justify-content:space-between !important;

gap:15px;
}

.popup-option input[type="radio"],
.popup-option input[type="checkbox"]{

margin-right:15px !important;

flex-shrink:0;
}
.size-name{
margin-left:25px;
}

.popup-option{
padding:14px 20px !important;
}
.popup-fixed-footer{

border-top-left-radius:20px;

border-top-right-radius:20px;

border-bottom-left-radius:20px;

border-bottom-right-radius:20px;

box-shadow:0 -5px 25px rgba(0,0,0,.12);
}
.skeleton-card{
height:240px;
border-radius:16px;
background:#f2f2f2;
overflow:hidden;
position:relative;
}

.skeleton-card::after{
content:'';
position:absolute;
top:0;
left:-150px;
width:150px;
height:100%;
background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.6),
transparent
);
animation:skeleton 1.2s infinite;
}

@keyframes skeleton{
100%{
left:100%;
}
}
.skeleton-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.skeleton-image{
    height:180px;
    background:linear-gradient(
        90deg,
        #f1f1f1 25%,
        #e7e7e7 50%,
        #f1f1f1 75%
    );
    background-size:200% 100%;
    animation:skeletonLoading 1.2s infinite;
}

.skeleton-line{
    height:16px;
    border-radius:8px;
    margin:12px 20px;
    background:linear-gradient(
        90deg,
        #f1f1f1 25%,
        #e7e7e7 50%,
        #f1f1f1 75%
    );
    background-size:200% 100%;
    animation:skeletonLoading 1.2s infinite;
}

.skeleton-line.short{
    width:45%;
}

.skeleton-line.price{
    width:30%;
}

.skeleton-btn{
    height:48px;
    margin:15px;
    border-radius:12px;
    background:linear-gradient(
        90deg,
        #f1f1f1 25%,
        #e7e7e7 50%,
        #f1f1f1 75%
    );
    background-size:200% 100%;
    animation:skeletonLoading 1.2s infinite;
}

@keyframes skeletonLoading{
    0%{
        background-position:200% 0;
    }
    100%{
        background-position:-200% 0;
    }
}

/* ===================================
   EZSOFT MENU SKELETON
=================================== */

.skeleton-card{


background:#fff;

border-radius:22px;

overflow:hidden;

box-shadow:
0 10px 25px rgba(0,0,0,.08);

height:383px;

display:flex;

flex-direction:column;

}

.skeleton-image{

height:220px;

display:flex;

align-items:center;

justify-content:center;

font-size:64px;

background:linear-gradient(
90deg,
#f2f2f2 25%,
#fafafa 50%,
#f2f2f2 75%
);

background-size:200% 100%;

animation:ezShimmer 1.2s infinite;

}

.skeleton-title{

height:40px;

width:80%;

margin:15px;

border-radius:8px;

background:linear-gradient(
90deg,
#f2f2f2 25%,
#fafafa 50%,
#f2f2f2 75%
);

background-size:200% 100%;

animation:ezShimmer 1.2s infinite;

}

.skeleton-button{

height:50px;

margin:15px;

border-radius:12px;

background:linear-gradient(
90deg,
#f2f2f2 25%,
#fafafa 50%,
#f2f2f2 75%
);

background-size:200% 100%;

animation:ezShimmer 1.2s infinite;
}

@keyframes ezShimmer{

0%{
background-position:200% 0;
}

100%{
background-position:-200% 0;
}

}
.skeleton-image img{

width:70px;

height:70px;

opacity:.25;

object-fit:contain;

animation:pulse 1.2s infinite;
}

@keyframes pulse{

0%{opacity:.15;}
50%{opacity:.35;}
100%{opacity:.15;}

}
:root{
    --theme-color:#001b4e;
    --button-color:#001b4e;
}

.header{
    border-bottom:4px solid var(--theme-color);
}

.logo img{
    max-height:55px;
    max-width:160px;
    object-fit:contain;
}

.table-box strong,
.category-btn.active,
.add-btn,
.cart-bar,
.popup-qty button,
.popup-add{
    background:var(--button-color) !important;
}

.popup-price,
.popup-title{
    color:var(--theme-color) !important;
}

.hero{
margin:15px;
height:180px;
border-radius:20px;
overflow:hidden;

background-size:cover !important;
background-position:center center !important;
background-repeat:no-repeat !important;
}

.hero-overlay,
.hero-content{
display:none !important;
}

.hero{
background-size:contain !important;
background-repeat:no-repeat !important;
background-color:#fff !important;
}

.hero{
height:220px !important;
background-size:cover !important;
background-position:center !important;
background-repeat:no-repeat !important;
background-color:#fff !important;
}

.hero::before,
.hero::after,
.hero-overlay,
.hero-content,
.hero h1,
.hero p{
display:none !important;
background:none !important;
opacity:0 !important;
}

.categories{
position:sticky !important;
top:75px !important;
z-index:9999 !important;
background:#f5f6f8 !important;
padding:10px 15px !important;
margin:0 !important;
box-shadow:0 8px 18px rgba(0,0,0,.08) !important;
}

.categories-scroll{
display:flex !important;
overflow-x:auto !important;
gap:10px !important;
padding-bottom:8px !important;
}

.category-btn{
flex:0 0 auto !important;
}

.products{
padding-top:15px !important;
}

/* ================================
   CLEAN MENU LIST DESIGN
================================ */

.menu-clean{
    background:#f8fafc !important;
    padding-bottom:110px !important;
}

.clean-header{
    height:90px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 22px;
    position:sticky;
    top:0;
    z-index:10000;
    box-shadow:0 8px 30px rgba(15,23,42,.08);
}

.header-icon{
    width:56px;
    height:56px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:var(--theme-color);
    box-shadow:0 10px 25px rgba(15,23,42,.12);
    font-size:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    position:relative;
}

.cart-mini span{
    position:absolute;
    top:-5px;
    right:-3px;
    background:#f59e0b;
    color:#fff;
    width:24px;
    height:24px;
    border-radius:50%;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
}

.clean-logo{
    font-size:30px;
    font-weight:900;
    color:var(--theme-color);
    display:flex;
    align-items:center;
    justify-content:center;
}

.clean-logo img{
    max-height:62px;
    max-width:180px;
    object-fit:contain;
}

.hero{
    height:150px !important;
    margin:18px 22px 5px !important;
    border-radius:28px !important;
    background-size:cover !important;
    background-position:center !important;
    box-shadow:0 12px 30px rgba(15,23,42,.08);
}

.clean-categories{
    position:sticky !important;
    top:90px !important;
    background:#f8fafc !important;
    padding:18px 22px 12px !important;
    box-shadow:none !important;
    z-index:9999 !important;
}

.categories-scroll{
    gap:14px !important;
}

.category-btn{
    background:#fff !important;
    color:#64748b !important;
    border-radius:18px !important;
    padding:14px 22px !important;
    font-size:16px !important;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}

.category-btn.active{
    background:#fff !important;
    color:var(--theme-color) !important;
    border-bottom:4px solid var(--theme-color) !important;
}

.clean-products{
    padding:10px 22px 30px !important;
}

.products-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
}

.product-card{
    display:grid !important;
    grid-template-columns:150px 1fr 54px !important;
    align-items:center !important;
    gap:18px !important;
    background:#fff !important;
    border-radius:24px !important;
    padding:18px !important;
    min-height:170px !important;
    box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
    overflow:hidden !important;
    transform:none !important;
}

.product-card:hover{
    transform:none !important;
}

.product-image{
    width:150px !important;
    height:130px !important;
    border-radius:20px !important;
    overflow:hidden !important;
    background:#f1f5f9 !important;
}

.product-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:20px !important;
}

.product-body{
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
}

.product-name{
    height:auto !important;
    font-size:28px !important;
    font-weight:800 !important;
    color:#111827 !important;
    margin-bottom:14px !important;
    line-height:1.4 !important;
    text-align:right !important;
    overflow:visible !important;
}

.product-price-row{
    justify-content:flex-start !important;
    margin:0 !important;
    gap:10px !important;
}

.new-price{
    color:var(--theme-color) !important;
    font-size:28px !important;
    font-weight:500 !important;
}

.old-price{
    font-size:16px !important;
}

.add-btn{
    width:54px !important;
    height:54px !important;
    border-radius:50% !important;
    background:#fff !important;
    border:2px solid #94a3b8 !important;
    color:var(--theme-color) !important;
    font-size:0 !important;
    padding:0 !important;
    box-shadow:none !important;
}

.add-btn::before{
    content:"+";
    font-size:34px;
    line-height:1;
    font-weight:300;
}

.clean-cart-bar{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    height:78px !important;
    border-radius:999px !important;
    background:var(--button-color) !important;
    padding:0 24px !important;
    box-shadow:0 16px 40px rgba(0,27,78,.28) !important;
}

.cart-side{
    display:flex;
    align-items:center;
    gap:8px;
}

.riyal-icon{
    width:18px !important;
    height:18px !important;
}

@media(max-width:600px){

    .clean-header{
        height:82px;
        padding:0 16px;
    }

    .header-icon{
        width:52px;
        height:52px;
        font-size:25px;
    }

    .hero{
        height:120px !important;
        margin:14px 16px 4px !important;
    }

    .clean-categories{
        top:82px !important;
        padding:14px 16px 10px !important;
    }

    .clean-products{
        padding:8px 16px 25px !important;
    }

    .product-card{
        grid-template-columns:125px 1fr 48px !important;
        gap:14px !important;
        padding:14px !important;
        min-height:150px !important;
        border-radius:22px !important;
    }

    .product-image{
        width:125px !important;
        height:115px !important;
        border-radius:18px !important;
    }

    .product-name{
        font-size:23px !important;
    }

    .new-price{
        font-size:23px !important;
    }

    .add-btn{
        width:48px !important;
        height:48px !important;
    }

    .add-btn::before{
        font-size:30px;
    }
}

/* ===== FIX PRODUCT LIST NOTES ===== */

.product-card{
    grid-template-columns:125px 1fr !important;
    direction:ltr !important;
    cursor:pointer !important;
}

.product-image{
    position:relative !important;
    grid-column:1 !important;
}

.product-body{
    grid-column:2 !important;
    direction:rtl !important;
    align-items:flex-start !important;
    text-align:right !important;
}

.product-name{
    text-align:right !important;
    width:100% !important;
}

.product-price-row{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
}

.new-price,
.old-price{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
}

.old-price{
    font-size:15px !important;
}

.add-btn{
    position:absolute !important;
    right:10px !important;
    bottom:10px !important;
    width:42px !important;
    height:42px !important;
    z-index:5 !important;
    background:#fff !important;
}

.product-image img,
.lazy-img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

.product-image:empty,
.product-image img[src=""],
.product-image img:not([src]){
    background:#eef2f7 !important;
}

/* ================================
   FINAL CLEAN MOBILE MENU FIXES
================================ */

.menu-clean{
    background:#f3f6f9 !important;
    padding-bottom:115px !important;
}

.clean-header{
    height:82px !important;
    background:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 16px !important;
    position:sticky !important;
    top:0 !important;
    z-index:10000 !important;
    box-shadow:0 8px 28px rgba(15,23,42,.08) !important;
}

.header-icon{
    width:52px !important;
    height:52px !important;
    border:none !important;
    border-radius:50% !important;
    background:#fff !important;
    color:var(--theme-color) !important;
    box-shadow:0 8px 22px rgba(15,23,42,.12) !important;
    font-size:25px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    position:relative !important;
}

.cart-mini span{
    position:absolute !important;
    top:-4px !important;
    right:-3px !important;
    background:#f59e0b !important;
    color:#fff !important;
    width:23px !important;
    height:23px !important;
    border-radius:50% !important;
    font-size:13px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-weight:bold !important;
}

.clean-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.clean-logo img{
    max-height:58px !important;
    max-width:160px !important;
    object-fit:contain !important;
}

.hero{
    height:120px !important;
    min-height:120px !important;
    max-height:120px !important;
    margin:14px 16px 6px !important;
    border-radius:24px !important;
    background-color:#fff !important;
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    box-shadow:0 8px 22px rgba(15,23,42,.08) !important;
}

.clean-categories{
    position:sticky !important;
    top:82px !important;
    background:#f3f6f9 !important;
    padding:12px 16px 10px !important;
    box-shadow:none !important;
    z-index:9999 !important;
}

.categories-scroll{
    display:flex !important;
    overflow-x:auto !important;
    gap:12px !important;
    padding-bottom:8px !important;
}

.category-btn{
    flex:0 0 auto !important;
    background:#fff !important;
    color:#64748b !important;
    border-radius:16px !important;
    padding:13px 20px !important;
    font-size:15px !important;
    box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
}

.category-btn.active{
    background:#fff !important;
    color:var(--theme-color) !important;
    border-bottom:4px solid var(--theme-color) !important;
}

.clean-products{
    padding:8px 16px 28px !important;
}

.products-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
}

.product-card{
    display:grid !important;
    grid-template-columns:125px 1fr !important;
    direction:ltr !important;
    align-items:center !important;
    gap:14px !important;
    background:#fff !important;
    border-radius:22px !important;
    padding:14px !important;
    min-height:148px !important;
    box-shadow:0 8px 24px rgba(15,23,42,.08) !important;
    cursor:pointer !important;
    overflow:hidden !important;
    transform:none !important;
}

.product-card:hover{
    transform:none !important;
}

.product-image{
    grid-column:1 !important;
    position:relative !important;
    width:125px !important;
    min-width:125px !important;
    height:115px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#eef2f7 !important;
}

.product-image img,
.product-image .lazy-img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:18px !important;
}

.product-body{
    grid-column:2 !important;
    direction:rtl !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:right !important;
    min-width:0 !important;
}

.product-name{
    width:100% !important;
    height:auto !important;
    font-size:22px !important;
    font-weight:900 !important;
    color:#111827 !important;
    line-height:1.4 !important;
    margin:0 0 10px !important;
    text-align:right !important;
    overflow:visible !important;
}

.product-price-row{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:9px !important;
    flex-wrap:nowrap !important;
    margin:0 !important;
}

.new-price,
.old-price{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    white-space:nowrap !important;
}

.new-price{
    color:var(--theme-color) !important;
    font-size:20px !important;
    font-weight:700 !important;
}

.old-price{
    color:#94a3b8 !important;
    font-size:15px !important;
    text-decoration:line-through !important;
}

.add-btn{
    position:absolute !important;
    right:8px !important;
    bottom:8px !important;
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    background:#fff !important;
    border:2px solid #94a3b8 !important;
    color:var(--theme-color) !important;
    font-size:0 !important;
    padding:0 !important;
    z-index:10 !important;
    box-shadow:0 6px 16px rgba(15,23,42,.18) !important;
}

.add-btn::before{
    content:"+" !important;
    font-size:30px !important;
    line-height:1 !important;
    font-weight:400 !important;
}

.clean-cart-bar{
    left:16px !important;
    right:16px !important;
    bottom:14px !important;
    width:auto !important;
    height:76px !important;
    border-radius:999px !important;
    background:var(--button-color) !important;
    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    padding:0 22px !important;
    box-shadow:0 16px 40px rgba(0,27,78,.28) !important;
    font-size:17px !important;
}

.clean-cart-bar .cart-side{
    order:2 !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
}

.clean-cart-bar #cartTotal{
    order:1 !important;
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    font-size:18px !important;
    font-weight:900 !important;
}

.riyal-icon{
    width:17px !important;
    height:17px !important;
    object-fit:contain !important;
    vertical-align:middle !important;
}

.add-btn{
    left:8px !important;
    right:auto !important;
}

.clean-cart-bar{
    border-radius:22px !important;
}

.clean-header{
    justify-content:center !important;
    position:sticky !important;
}

.table-box{
    position:absolute !important;
    right:16px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    display:flex !important;
}

.table-box span{
    display:none !important;
}

.table-box strong{
    background:var(--button-color) !important;
    color:#fff !important;
    border-radius:14px !important;
    padding:8px 13px !important;
}

.header-icon,
.cart-mini{
    display:none !important;
}

.product-card{
    overflow:visible !important;
    position:relative !important;
}

.product-image{
    overflow:visible !important;
}

.product-image img{
    overflow:hidden !important;
}

.add-btn{
    left:8px !important;
    right:auto !important;
    bottom:8px !important;
    background:var(--button-color) !important;
    color:#fff !important;
    border:2px solid #fff !important;
    z-index:30 !important;
}

.add-btn::before{
    color:#fff !important;
}

.new-price{
    color:var(--button-color) !important;
}

.category-btn.active{
    color:var(--button-color) !important;
    border-bottom-color:var(--button-color) !important;
}

.clean-cart-bar{
    border-radius:22px !important;
    background:var(--button-color) !important;
    direction:ltr !important;
}

.clean-cart-bar .cart-side{
    order:2 !important;
    direction:rtl !important;
}

.clean-cart-bar #cartTotal{
    order:1 !important;
    direction:rtl !important;
}

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');

*{
    font-family:'Cairo',Tahoma,sans-serif !important;
}

.clean-header{
    justify-content:space-between !important;
    height:82px !important;
}

.clean-logo{
    order:1 !important;
    margin-right:auto !important;
    margin-left:0 !important;
}

.table-box{
    order:2 !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    position:static !important;
    transform:none !important;
}

.table-box span{
    display:inline-block !important;
    font-size:12px !important;
    color:#64748b !important;
}

.table-box strong{
    background:var(--button-color) !important;
    color:#fff !important;
    border-radius:14px !important;
    padding:8px 12px !important;
    min-width:34px !important;
    text-align:center !important;
}

.product-card{
    overflow:hidden !important;
    position:relative !important;
    z-index:1 !important;
}

.product-image{
    overflow:hidden !important;
    position:relative !important;
    z-index:2 !important;
}

.add-btn{
    left:8px !important;
    right:auto !important;
    bottom:8px !important;
    top:auto !important;
    z-index:20 !important;
    background:var(--button-color) !important;
    color:#fff !important;
    border:2px solid #fff !important;
}

.add-btn::before{
    color:#fff !important;
}

.product-card + .product-card{
    margin-top:0 !important;
}

.skeleton-card{
    display:grid !important;
    grid-template-columns:125px 1fr !important;
    gap:14px !important;
    align-items:center !important;
    height:148px !important;
    min-height:148px !important;
    padding:14px !important;
    border-radius:22px !important;
}

.skeleton-image{
    width:125px !important;
    min-width:125px !important;
    height:115px !important;
    border-radius:18px !important;
}

.skeleton-title{
    height:28px !important;
    width:85% !important;
    margin:0 0 12px 0 !important;
}

.skeleton-price{
    height:22px !important;
    width:45% !important;
    border-radius:8px !important;
    background:#f1f1f1 !important;
}

.skeleton-button{
    display:none !important;
}

.clean-cart-bar{
    border-radius:22px !important;
    background:var(--button-color) !important;
}

.new-price,
.category-btn.active{
    color:var(--button-color) !important;
}

.category-btn.active{
    border-bottom-color:var(--button-color) !important;
}

/* FINAL POSITION FIX */

.clean-header{
    height:82px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 16px !important;
}

.clean-logo{
    order:1 !important;
    margin:0 !important;
}

.table-box{
    order:2 !important;
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    margin:0 !important;
    position:static !important;
    transform:none !important;
}

.table-box span{
    display:inline-block !important;
    font-size:12px !important;
    color:#64748b !important;
    white-space:nowrap !important;
}

.table-box strong{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:34px !important;
    height:34px !important;
    padding:0 10px !important;
    border-radius:14px !important;
    background:var(--button-color) !important;
    color:#fff !important;
    font-size:14px !important;
}

/* خلي الشعار يسار والطاولة يمين في RTL */
.clean-header{
    direction:ltr !important;
}

.clean-logo{
    direction:rtl !important;
}

.table-box{
    direction:rtl !important;
}

/* السلة فوق كل شيء */
.clean-cart-bar{
    z-index:99999 !important;
    bottom:18px !important;
}

/* لا تخلي آخر الأصناف تختفي خلف السلة */
.menu-clean{
    padding-bottom:150px !important;
}

.clean-products{
    padding-bottom:160px !important;
}

/* السكرول عند تغيير الكاتوجري */
.products{
    scroll-margin-top:180px !important;
}

/* الزائد لا يطلع برا الكرت */
.product-card{
    overflow:hidden !important;
}

.product-image{
    overflow:hidden !important;
}

.add-btn{
    left:8px !important;
    right:auto !important;
    bottom:8px !important;
    top:auto !important;
}

/* table number box fix */
.table-box{
    background:#fff !important;
    border-radius:18px !important;
    padding:7px 10px !important;
    box-shadow:0 8px 22px rgba(15,23,42,.08) !important;
    gap:8px !important;
}

.table-box strong{
    margin:0 !important;
}

/* skeleton fully visible under categories */
.skeleton-card{
    margin-top:0 !important;
}

.products-grid{
    padding-top:16px !important;
}

.categories{
    scroll-margin-top:0 !important;
}

.clean-categories{
    top:82px !important;
}

.clean-products{
    padding-top:14px !important;
}

.clean-categories{
    top:82px !important;
    margin-bottom:0 !important;
}

.clean-products{
    padding-top:14px !important;
}

.products-grid{
    padding-top:0 !important;
}

.product-card:first-child{
    margin-top:0 !important;
}

.app-popup-overlay{
position:fixed;
inset:0;
background:rgba(15,23,42,.55);
display:flex;
align-items:center;
justify-content:center;
z-index:999999;
animation:popupFadeIn .25s ease;
}

.app-popup-box{
width:90%;
max-width:430px;
background:#fff;
border-radius:24px;
padding:26px 22px;
text-align:center;
box-shadow:0 24px 70px rgba(0,0,0,.22);
animation:popupScaleIn .28s cubic-bezier(.2,.8,.2,1);
direction:rtl;
}

.app-popup-icon{
width:70px;
height:70px;
border-radius:50%;
margin:0 auto 16px;
display:flex;
align-items:center;
justify-content:center;
font-size:36px;
background:#f1f5f9;
}

.app-popup-title{
font-size:22px;
font-weight:900;
color:var(--theme-color,#001b4e);
margin-bottom:10px;
}

.app-popup-message{
font-size:16px;
line-height:1.9;
color:#475569;
margin-bottom:22px;
}

.app-popup-btn{
width:100%;
height:54px;
border:none;
border-radius:15px;
background:var(--button-color,#001b4e);
color:#fff;
font-size:18px;
font-weight:800;
cursor:pointer;
}

.app-popup-success .app-popup-icon{background:#dcfce7;color:#16a34a;}
.app-popup-error .app-popup-icon{background:#fee2e2;color:#dc2626;}
.app-popup-warning .app-popup-icon{background:#fef3c7;color:#d97706;}
.app-popup-info .app-popup-icon{background:#dbeafe;color:#2563eb;}

@keyframes popupFadeIn{
from{opacity:0}
to{opacity:1}
}

@keyframes popupScaleIn{
from{opacity:0;transform:scale(.88) translateY(18px)}
to{opacity:1;transform:scale(1) translateY(0)}
}

@keyframes popupFadeOut{
from{opacity:1}
to{opacity:0}
}

.app-popup-overlay.closing{
animation:popupFadeOut .2s ease forwards;
}

.success-overlay{
animation: overlayFadeIn .25s ease forwards;
}

.success-card{
animation: successPopIn .42s cubic-bezier(.18,.89,.32,1.28) forwards;
transform-origin:center;
}

.success-icon{
animation: iconBounce .75s ease forwards;
}

@keyframes overlayFadeIn{
from{opacity:0}
to{opacity:1}
}

@keyframes successPopIn{
0%{opacity:0;transform:scale(.82) translateY(35px)}
70%{opacity:1;transform:scale(1.04) translateY(0)}
100%{opacity:1;transform:scale(1) translateY(0)}
}

@keyframes iconBounce{
0%{opacity:0;transform:scale(.3) rotate(-12deg)}
55%{opacity:1;transform:scale(1.18) rotate(5deg)}
100%{opacity:1;transform:scale(1) rotate(0)}
}

/* popup نفس حركة رسالة النجاح */
.popup-overlay{
    animation:overlayFadeIn .45s ease forwards;
}

.popup-card{
    animation:successPop .85s cubic-bezier(.18,.89,.32,1.18) forwards;
    transform-origin:center;
}

/* هزة السلة */
.cart-shake{
    animation:cartShake .55s ease;
}

@keyframes cartShake{
    0%,100%{transform:translateX(0)}
    15%{transform:translateX(-7px)}
    30%{transform:translateX(7px)}
    45%{transform:translateX(-5px)}
    60%{transform:translateX(5px)}
    75%{transform:translateX(-3px)}
}

/* شاشة اللوقو أول فتح */
.client-loader{
    position:fixed;
    inset:0;
    background:#fff;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.45s ease;
}

.client-loader.hide{
    opacity:0;
    visibility:hidden;
}

.client-loader img{
    max-width:180px;
    max-height:180px;
    object-fit:contain;
    animation:loaderLogo 1.2s ease infinite alternate;
}

@keyframes loaderLogo{
    from{
        opacity:.65;
        transform:scale(.88);
    }
    to{
        opacity:1;
        transform:scale(1.05);
    }
}

.busy-popup-card{
    width:90%;
    max-width:360px;
    background:#fff;
    border-radius:24px;
    padding:24px 20px;
    text-align:center;
    box-shadow:0 18px 55px rgba(15,23,42,.16);

    animation:successPop .85s cubic-bezier(.18,.89,.32,1.18) forwards;
    transform-origin:center;
}

.busy-popup-body{
    padding:0;
}

.busy-icon{
    font-size:48px;
    margin-bottom:12px;
    animation:iconBounce 1.15s ease forwards;
}

.busy-title{
    color:var(--theme-color,#001b4e);
    margin:0 0 12px;
    font-size:26px;
    font-weight:800;
}

.busy-text{
    font-size:17px;
    line-height:1.8;
    color:#555;
    margin:0;
}

.popup-overlay{
    animation:overlayFadeIn .45s ease forwards;
}

@keyframes overlayFadeIn{
    from{opacity:0}
    to{opacity:1}
}

@keyframes successPop{
    0%{
        opacity:0;
        transform:scale(.78) translateY(45px);
    }
    65%{
        opacity:1;
        transform:scale(1.04) translateY(0);
    }
    100%{
        opacity:1;
        transform:scale(1) translateY(0);
    }
}

@keyframes iconBounce{
    0%{
        opacity:0;
        transform:scale(.25) rotate(-18deg);
    }
    55%{
        opacity:1;
        transform:scale(1.22) rotate(6deg);
    }
    80%{
        transform:scale(.94) rotate(-2deg);
    }
    100%{
        opacity:1;
        transform:scale(1) rotate(0);
    }
}

.popup-overlay,
.popup-card,
.app-popup-overlay,
.app-popup-box,
.success-card,
.busy-popup-card,
#customerInfoOverlay,
#customerInfoOverlay *{
    font-family:'Cairo',Tahoma,sans-serif !important;
}

.mysr-form,
.mysr-form *{
    font-family:'Cairo',Tahoma,Arial,sans-serif !important;
}

.popup-card{
    display:flex !important;
    flex-direction:column !important;
    max-height:88vh !important;
    overflow:hidden !important;
}

.popup-sticky-header{
    flex:0 0 auto !important;
}

.popup-body{
    flex:1 1 auto !important;
    overflow-y:auto !important;
    padding:20px !important;
    padding-bottom:20px !important;
}

.popup-fixed-footer{
    flex:0 0 auto !important;

    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;

    width:100% !important;
    max-width:100% !important;

    background:#fff !important;
    padding:14px 18px 18px !important;
    box-sizing:border-box !important;

    border-top:1px solid #eee !important;
    box-shadow:0 -8px 24px rgba(15,23,42,.12) !important;
    z-index:50 !important;
}

.popup-fixed-footer .popup-qty{
    margin:0 0 10px 0 !important;
    gap:12px !important;
}

.popup-fixed-footer .popup-qty button{
    width:38px !important;
    height:38px !important;
    font-size:14px !important;
}

.popup-fixed-footer #popupQty{
    font-size:14px !important;
    font-weight:700 !important;
}

.popup-fixed-footer .popup-add{
    width:100% !important;
    height:48px !important;
    font-size:15px !important;
    font-weight:800 !important;
    border-radius:14px !important;
    padding:0 !important;
}

/* Menu stability patch */
.product-card.opening-item {
    pointer-events: none;
    opacity: 0.72;
    position: relative;
}

.product-card.opening-item::after {
    content: "";
    position: absolute;
    width: 34px;
    height: 34px;
    border: 4px solid rgba(0,0,0,0.15);
    border-top-color: rgba(0,0,0,0.65);
    border-radius: 50%;
    left: 50%;
    top: 50%;
    margin-left: -17px;
    margin-top: -17px;
    animation: menuItemSpin 0.8s linear infinite;
    z-index: 20;
}

.product-card.opening-item .add-btn {
    opacity: 0.8;
}

@keyframes menuItemSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Final menu stability cache patch */
.product-card.opening-item {
    pointer-events: none;
    opacity: 0.72;
    position: relative;
}

.product-card.opening-item::after {
    content: "";
    position: absolute;
    width: 34px;
    height: 34px;
    border: 4px solid rgba(0,0,0,0.15);
    border-top-color: rgba(0,0,0,0.65);
    border-radius: 50%;
    left: 50%;
    top: 50%;
    margin-left: -17px;
    margin-top: -17px;
    animation: menuItemSpin 0.8s linear infinite;
    z-index: 20;
}

.product-card.opening-item .add-btn {
    opacity: 0.8;
}

@keyframes menuItemSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}


