@font-face {
  font-family: 'Dinar';
  src: url('fonts/dinar/dinar.eot');
  src: url('fonts/dinar/dinar.eot?#iefix') format('embedded-opentype'),
       url('fonts/dinar/dinar.woff') format('woff'),
       url('fonts/dinar/dinar.ttf') format('truetype');
}
@font-face {
  font-family: 'mitra';
  src: url('fonts/mitra/mitra.eot');
  src: url('fonts/mitra/mitra.eot?#iefix') format('embedded-opentype'),
       url('fonts/mitra/mitra.woff') format('woff'),
       url('fonts/mitra/mitra.ttf') format('truetype');
}

:root { --ink:#4d4d1f; --muted:#777670; --line:#cfcec6; --paper:#f3f1e1; --soft:#eeece3; --accent:#5b5a55; }
* { box-sizing:border-box; }
html { scroll-behavior:auto; }
body { 
  margin:0; 
  direction:rtl; 
  color:var(--ink); 
  background:linear-gradient(135deg,#e9e9e6,#f6f6f4 52%,#e5e5e1); 
  font-family:Dinar,Tahoma,sans-serif; 
  font-size:90%;
}

.menu-page { 
  width:min(100% - 28px,980px); 
  min-height:100vh; 
  margin:22px auto; 
  padding:38px clamp(20px,5vw,62px); 
  background:var(--paper); 
  border:1px solid #dad8cc; 
  box-shadow:0 16px 45px #25252120, inset 0 0 0 5px #f3f1e8; 
  position:relative; 
}

.menu-page:before,
.menu-page:after { 
  content:''; 
  position:absolute; 
  inset:14px; 
  pointer-events:none; 
  border:1px solid #d4d1c3; 
}
.menu-page:after { 
  inset:20px; 
  border-color:#e4e1d7; 
}

.menu-header,.category-nav,#menuContainer,.menu-footer { position:relative; z-index:1; }
.menu-header { text-align:center; padding:10px 0 19px; }
.eyebrow { 
  color:var(--muted); 
  letter-spacing:2px; 
  font-size:0.756rem;
  margin:0 0 4px; 
  direction:ltr; 
}
h1 { 
  font-size:1.836rem;
  margin:0; 
  font-weight:800; 
}
.header-note { 
  margin:6px 0 0; 
  color:var(--muted); 
  font-size:0.828rem;
}
.category-nav { 
  display:flex; 
  gap:10px; 
  align-items:center; 
  position:sticky; 
  top:8px; 
  padding:9px; 
  border:1px solid #deddd6; 
  background:#fbfaf4e8; 
  backdrop-filter:blur(12px); 
  box-shadow:0 7px 20px #3332; 
  z-index:4; 
}
.category-scroll { 
  display:flex; 
  gap:7px; 
  overflow-x:auto; 
  flex:1; 
  scrollbar-width:none; 
}
.category-scroll::-webkit-scrollbar{display:none}
.category-chip,.print-button,.back-to-top { 
  font:inherit; 
  cursor:pointer; 
  border:1px solid #d6d4ca; 
  color:#44433e; 
  background:linear-gradient(#fff,#eeeeea); 
  box-shadow:0 2px 5px #3331; 
  transition:transform .2s,box-shadow .2s; 
}
.category-chip { 
  border-radius:6px; 
  padding:7px 13px; 
  white-space:nowrap; 
  font-size:0.864rem;
}
.category-chip:hover,.print-button:hover,.back-to-top:hover { 
  transform:translateY(-1px); 
  box-shadow:0 4px 10px #3332; 
}
.category-chip.is-active{
  background:linear-gradient(#5f5e58,#3e3d39);
  color:#fff;
  border-color:#373632
}
.print-button,.back-to-top { 
  padding:8px 13px; 
  white-space:nowrap; 
  border-radius:6px; 
  font-size:0.864rem;
}
.print-button{
  background:linear-gradient(#55544e,#33322f);
  color:#fff
}
.loading,.empty-message { 
  margin:28px 0; 
  text-align:center; 
  color:var(--muted); 
}
.loading.is-error { color:#9b3030; }
.category-section { 
  scroll-margin-top:88px; 
  padding-top:27px; 
}
.section-title { 
  display:grid; 
  grid-template-columns:1fr auto 1fr; 
  gap:13px; 
  align-items:center; 
  margin:0 0 13px; 
}
.section-title span,.product-heading span { 
  height:1px; 
  background:linear-gradient(90deg,transparent,var(--line),transparent); 
}
.section-title h2 {
  margin: 0;
  min-width: 150px;
  padding: 5px 24px;
  background: var(--accent);
  color: #fff;
  text-align: center;
  font-size: 1.296rem;
  font-weight: 700;
  box-shadow: 0 3px 7px #2222;
  border-radius: 20px 0px;
}
.section-title .continued-label {
  display: none;
  font-size: 0.864rem;
  color: var(--muted);
  margin-right: 8px;
}

.products { border-top:1px solid #d9d7cc; }
.product-row { 
  text-align:center; 
  padding:18px 5px 16px; 
  border-bottom:1px solid #d9d7cc; 
  break-inside:avoid; 
}
.product-heading { 
  display:grid; 
  grid-template-columns:1fr auto 1fr; 
  align-items:center; 
  gap:10px; 
  max-width:460px; 
  margin:0 auto 6px; 
}
.product-heading h3 { 
  margin:0; 
  font-size:1.08rem;
  font-weight:800; 
}
.product-description { 
  margin:0 auto 11px; 
  max-width:760px; 
  color:#5f5e59; 
  font-size:0.864rem;
  font-weight:500; 
  line-height:1.9; 
}
.price-options { 
  display:flex; 
  flex-direction:row; 
  flex-wrap:wrap; 
  justify-content:center; 
  gap:9px 15px; 
  direction:rtl; 
}
.price-option { 
  display:flex; 
  align-items:center; 
  gap:5px; 
  position:relative; 
}
.size-label { 
  font-size:0.882rem;
  font-weight:700; 
  color:#5b5a55; 
}
.price-frame {
  font-family: 'Dinar';
  font-weight: bold;
  direction: ltr;
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  min-width: 64px;
  justify-content: center;
  padding: 2px 7px 3px;
  border: 1px solid #ffffff;
  border-radius: 6px;
  background: #ffffff;
  line-height: 1;
  color: #393834;
}
.price-frame b { 
  font-family: mitra; 
  font-size:1.314rem;
  font-weight:bold; 
}
.price-frame small { 
  font-size:0.612rem;
  font-weight:700; 
  color:#595852; 
}
.previous-price{
  position:absolute; 
  bottom:-11px; 
  left:0; 
  font-size:0.594rem;
  color:#999;
  text-decoration:line-through;
}
.food-gallery { 
  display:grid; 
  grid-template-columns:repeat(3,1fr); 
  gap:8px; 
  width:min(100%,620px); 
  margin:17px auto 1px; 
  padding:0 8px 7px; 
}
.food-gallery img { 
  width:100%; 
  height:105px; 
  display:block; 
  object-fit:cover; 
  filter:saturate(.85) contrast(.96); 
  border:1px solid #cbc9bf; 
  padding:2px; 
  background:#fff; 
  box-shadow:0 3px 8px #3332; 
}
.menu-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:35px;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:0.864rem;
}

.continue-next-page {
  text-align: center;
  padding: 12px 0 6px;
  margin-top: 8px;
  font-size: 1.188rem;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: 1px;
  border-top: 2px dashed var(--line);
  direction: rtl;
}

@media(max-width:580px){
  .menu-page{
    width:100%;
    margin:0;
    padding:30px 18px
  }
  .menu-page:before{inset:8px}
  .menu-page:after{inset:13px}
  .category-nav{margin-inline:-2px}
  .section-title h2{
    min-width:120px;
    padding-inline:13px;
    font-size:1.08rem
  }
  .product-row{padding-inline:0}
  .price-options{gap:12px}
  .price-frame{min-width:57px}
  .price-frame b{font-size:1.08rem}
  .food-gallery img{height:80px}
  .menu-footer{margin-top:25px}
  .eyebrow{font-size:0.63rem}
  h1{font-size:1.53rem}
  .header-note{font-size:0.693rem}
  .category-chip{font-size:0.72rem}
  .print-button,.back-to-top{font-size:0.72rem}
  .product-heading h3{font-size:0.9rem}
  .product-description{font-size:0.72rem}
  .size-label{font-size:0.738rem}
  .price-frame b{font-size:1.098rem}
  .price-frame small{font-size:0.513rem}
  .previous-price{font-size:0.495rem}
  .menu-footer{font-size:0.72rem}
  .continue-next-page{font-size:0.99rem}
}

@page { 
  size:A4 portrait; 
  margin:9mm; 
}

@media print {
   
  body {
    background: var(--paper) !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    font-size:90% !important;
  }
  
  .no-print,
  .category-nav {
    display:none!important;
  }
  
  .menu-header {
    display: none !important;
  }
  
  .menu-page {
    width:auto;
    min-height:auto;
    margin:0;
    padding:9mm 10mm;
    box-shadow:none;
    border: none;
    background: var(--paper) !important;
    position: relative;
    outline: 1px solid #d4d1c3;
    outline-offset: -4mm;
    box-shadow: inset 0 0 0 1px #e4e1d7, 
                inset 0 0 0 2px #fbfaf4, 
                inset 0 0 0 3px #d4d1c3;
  }
  
  .menu-page:before,
  .menu-page:after {
    display: none !important;
  }
  
  .category-section:first-of-type {
    padding-top: 0 !important;
  }
  
  .category-section {
    padding-top:5mm;
    scroll-margin-top:0;
    page-break-inside: avoid;
    page-break-after: auto;
  }
  
  .products {
    page-break-inside: avoid;
  }
  
  .product-row {
    break-inside: avoid;
    page-break-inside: avoid;
    page-break-after: auto;
  }
  
  .continue-next-page {
    padding: 8px 0 4px;
    margin-top: 5px;
    font-size: 10.8pt;
    border-top: 2px dashed #b0aea3;
    page-break-after: always !important;
    break-after: page !important;
    page-break-inside: avoid;
    break-inside: avoid;
    position: relative;
    clear: both;
    display: block !important;
  }
  
  .continue-next-page + * {
    page-break-before: always !important;
    break-before: page !important;
  }
  
  .category-section:last-of-type .continue-next-page {
    display: none !important;
  }
  
  .section-title { margin-bottom:3mm; }
  .section-title h2 {
    font-size:18.88pt;
         font-weight: bold;
    padding:1.5mm 9mm;
   
  }
  
  .product-row {
    padding:3.2mm 1mm 2.8mm;
  }
  
  .product-heading { margin-bottom:1mm; }
  .product-heading h3 { font-size:14.8pt; font-weight: bold;}
  .product-description {
    font-size:10.64pt;
      font-weight: bold;
    line-height:1.7;
    margin-bottom:2.5mm;
  }
  
  .price-options { gap:2.5mm 5mm; }
  .size-label { font-size:12.64pt; }
  
  .price-frame {
    min-width:15mm;
    padding:1mm 2mm;
    box-shadow:none;
    background: #ffffff !important;
  }
  .price-frame b { font-size:18.88pt; font-weight: bold;}
  .price-frame small { font-size:6.48pt; }
  
  .food-gallery { 
    margin-top:3mm;
    page-break-inside: avoid;
  }
  .food-gallery img { height:25mm; }
  
  .menu-footer {
    margin-top:7mm;
    font-size:8.64pt;
  }
  
  .loading { display:none; }
}