 :root {
  --sand: #eee7dc; --paper: #faf8f3; --ink: #292720; --muted: #777064;
  --clay: #a65f43; --olive: #69705a; --line: #ded6c9; --white: #fffdf9;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; }
button, input { font: inherit; }
.welcome { min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 32px 22px; background: radial-gradient(ellipse at 50% 35%, #f8f4ed 0, var(--sand) 72%); }
.welcome-mark { width: 54px; height: 54px; border: 1px solid #a99b87; border-radius: 50%; display:grid; place-items:center; font-family:"Playfair Display",serif; font-size:28px; color:var(--clay); margin-bottom:28px; }
.eyebrow { color:var(--olive); font-size:10px; letter-spacing:.22em; font-weight:700; }
.welcome h1 { font:600 clamp(54px, 13vw, 90px)/1 "Playfair Display",serif; letter-spacing:.16em; margin:18px 0 4px 12px; }
.welcome-sub { color:var(--muted); letter-spacing:.28em; text-transform:uppercase; font-size:11px; margin:8px 0 24px; }
.welcome-line { width:44px; height:1px; background:var(--clay); margin:8px 0 20px; }
.welcome-copy { color:var(--muted); font-size:14px; margin:0 0 30px; }
.primary-btn { border:0; background:var(--ink); color:#fff; padding:15px 32px; letter-spacing:.16em; font-size:11px; cursor:pointer; transition:background .2s; }
.primary-btn:hover { background:var(--clay); }
.welcome-ar { font-family:"Tajawal",sans-serif; color:var(--muted); margin-top:34px; font-size:13px; }
.hidden { display:none !important; }
.menu-shell { max-width:900px; margin:auto; min-height:100vh; padding:0 22px; }
.topbar { height:76px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { text-decoration:none; color:var(--ink); font:600 22px "Playfair Display",serif; letter-spacing:.12em; }
.wordmark span { display:block; font:9px "DM Sans",sans-serif; letter-spacing:.18em; color:var(--muted); margin-top:2px; }
.lang-btn { border:1px solid var(--line); background:transparent; padding:9px 14px; color:var(--ink); cursor:pointer; font-size:12px; }
.menu-heading { text-align:center; padding:54px 0 28px; }
.menu-heading h2 { font:600 44px "Playfair Display",serif; margin:10px 0; }
.menu-heading p:last-child { color:var(--muted); font-size:13px; }
.search-wrap { max-width:480px; margin:0 auto 24px; }
.search-wrap input { width:100%; border:1px solid var(--line); background:var(--white); padding:13px 15px; outline:none; border-radius:0; }
.search-wrap input:focus { border-color:var(--olive); }
.category-nav { display:flex; gap:9px; overflow-x:auto; padding:8px 0 18px; scrollbar-width:thin; border-bottom:1px solid var(--line); }
.category-chip { flex:0 0 auto; border:1px solid var(--line); background:transparent; color:var(--muted); padding:9px 14px; font-size:11px; cursor:pointer; white-space:nowrap; }
.category-chip.active { background:var(--olive); color:white; border-color:var(--olive); }
.section-title { font:600 25px "Playfair Display",serif; margin:34px 0 16px; }
.menu-item { display:grid; grid-template-columns:1fr auto; gap:14px; padding:17px 0; border-bottom:1px solid var(--line); }
.item-main { min-width:0; }
.item-name { font-size:14px; font-weight:600; margin:0 0 5px; }
.item-ar { font-family:"Tajawal",sans-serif; color:var(--muted); font-size:13px; margin:0 0 6px; }
.item-desc { color:var(--muted); font-size:12px; line-height:1.55; margin:5px 0 0; }
.item-price { font-size:13px; font-weight:700; white-space:nowrap; padding-top:2px; }
.item-photo { width:72px; height:72px; object-fit:cover; grid-row:span 2; border-radius:2px; margin-top:10px; }
.menu-item.with-photo { grid-template-columns:72px 1fr auto; }
.menu-item.with-photo .item-photo { grid-column:1; grid-row:1; }
.menu-item.with-photo .item-main { grid-column:2; grid-row:1; }
.menu-item.with-photo .item-price { grid-column:3; grid-row:1; }
.empty-state { text-align:center; padding:45px 10px; color:var(--muted); font-size:13px; }
.footer { text-align:center; padding:56px 0 36px; color:var(--muted); font-size:12px; }
.footer-brand { font:600 25px "Playfair Display",serif; letter-spacing:.18em; color:var(--ink); }
.vat-note { font-size:11px; line-height:1.5; margin:18px auto; max-width:480px; }
.footer a { color:var(--clay); text-decoration:none; }
body.rtl { font-family:"Tajawal",sans-serif; }
body.rtl .menu-heading h2, body.rtl .section-title { font-family:"Tajawal",sans-serif; }
body.rtl .topbar, body.rtl .menu-item { direction:rtl; }
body.rtl .wordmark { font-family:"Tajawal",sans-serif; letter-spacing:0; }
body.rtl .item-price { direction:ltr; }
body.rtl .menu-item.with-photo { grid-template-columns:72px 1fr auto; }
body.rtl .menu-item.with-photo .item-photo { grid-column:3; }
body.rtl .menu-item.with-photo .item-main { grid-column:2; text-align:right; }
body.rtl .menu-item.with-photo .item-price { grid-column:1; }
@media (min-width:700px) { .menu-shell { padding:0 42px; } .menu-heading { padding-top:70px; } .menu-item { padding:20px 0; } .item-name { font-size:15px; } }
