:root { --brand:#790f2b; --brand-dark:#520a1d; --cream:#fbf8f3; --text:#292329; --muted:#756b6e; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--text); font-family:'Poppins','Cairo',sans-serif; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
button { font:inherit; cursor:pointer; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid #ba7911; outline-offset:5px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip-link { position:fixed; z-index:100; top:-100px; left:16px; padding:12px 20px; background:var(--brand); color:white; }
.skip-link:focus { top:8px; }
.site-header { max-width:1040px; margin:auto; padding:24px 32px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand { display:block; flex-shrink:0; }
.brand img { display:block; width:120px; height:auto; }
.language { min-width:80px; min-height:44px; padding:10px 16px; border:1px solid #e4d6d9; border-radius:15px; background:transparent; color:var(--brand); font-size:12px; font-weight:600; }
.welcome-main { max-width:1040px; margin:auto; padding:4px 32px 0; }
.welcome-page .site-header { max-width:780px; padding-top:16px; padding-bottom:16px; }
.welcome-page .brand img { width:100px; }
.welcome-page .welcome-main { max-width:780px; }
.welcome-banner { overflow:hidden; border-radius:26px; background:#990000; }
.welcome-banner img { width:100%; height:auto; display:block; }
.choices { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; scroll-margin-top:20px; }
.choice { display:flex; align-items:center; gap:16px; padding:22px; border:1px solid #e7d7d9; border-radius:24px; text-decoration:none; min-width:0; transition:box-shadow .15s,background .15s; }
.choice-menu { background:#fffdfa; color:var(--brand); }
.choice-order { background:var(--brand); color:#fff; border-color:var(--brand); }
.choice-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:17px; background:#f3e9ec; flex-shrink:0; }
.choice-order .choice-icon { background:#ffffff15; }
.choice-icon svg { width:28px; height:28px; }
.choice-copy { display:grid; gap:5px; }
.choice-copy strong { font-size:20px; line-height:1.3; font-weight:600; }
.choice-copy>span { font-size:12px; color:var(--muted); }
.choice-order .choice-copy>span { color:#f2dce3; }
.arrow { margin-inline-start:auto; width:32px; height:32px; flex-shrink:0; display:grid; place-items:center; color:#000; }
.arrow svg { width:22px; height:22px; }
[dir=rtl] .arrow { transform:scaleX(-1); }
.site-footer { text-align:center; padding:16px 24px max(32px,env(safe-area-inset-bottom)); font-size:11px; color:var(--muted); }
.branch-location { text-decoration:none; }
.site-footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 20px; margin-top:14px; color:var(--brand); }
.site-footer nav a { padding:6px 0; text-underline-offset:3px; }
.menu-header { border-bottom:1px solid #e9e0dc; }
.header-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.order-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; background:var(--brand); color:white; border-radius:15px; text-decoration:none; font-size:12px; font-weight:600; }
.menu-intro { max-width:1040px; margin:28px auto 20px; padding:0 32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.menu-intro h1 { margin:8px 0; color:var(--brand); font-size:36px; letter-spacing:-1px; }
.back-link { font-size:12px; color:var(--muted); text-underline-offset:3px; }
.pdf-link { display:inline-block; padding:12px 16px; background:white; border:1px solid #e4d6d9; border-radius:14px; color:var(--brand); font-size:12px; font-weight:500; text-decoration:none; }
.menu-categories { display:flex; gap:8px; overflow-x:auto; padding:12px max(20px,calc((100vw - 976px)/2)); background:var(--cream); border-block:1px solid #e9e0dc; position:sticky; top:0; z-index:2; }
.menu-categories a { display:block; white-space:nowrap; padding:10px 16px; background:#fffdfa; border:1px solid #e7d7d9; border-radius:24px; text-decoration:none; color:var(--brand); font-size:12px; }
.menu-pages { max-width:760px; margin:24px auto; padding:0 20px; }
.menu-page { margin:0 0 24px; scroll-margin-top:84px; }
.menu-page a { display:block; background:white; border-radius:18px; overflow:hidden; }
.menu-page img { display:block; width:100%; height:auto; }
.menu-page figcaption { display:flex; justify-content:space-between; gap:12px; padding:8px 4px 0; color:var(--muted); font-size:11px; }
.menu-help { max-width:760px; margin:0 auto; padding:0 20px; color:var(--muted); font-size:12px; }
@media (hover:hover) { .choice:hover { box-shadow:0 8px 24px #520a1d12; } .choice-order:hover,.order-link:hover { background:var(--brand-dark); } .menu-categories a:hover { background:#f3e9ec; } }
@media (max-width:640px) {
 .site-header { padding:20px; }
 .brand img { width:102px; }
 .welcome-main { padding:0 16px; }
 .welcome-banner { border-radius:20px; }
 .choices { grid-template-columns:1fr; gap:12px; margin:18px 0 12px; }
 .choice { border-radius:20px; padding:20px; gap:16px; }
 .choice-copy strong { font-size:20px; }
 .choice-icon { width:48px; height:48px; border-radius:15px; }
 .site-footer { padding-top:20px; }
 .menu-header { padding:16px; }
 .menu-header .brand img { width:85px; }
 .header-actions { gap:6px; }
 .header-actions .language { min-width:65px; padding:8px; }
 .order-link { padding:10px 12px; }
 .menu-intro { padding:0 20px; margin-top:20px; }
 .menu-intro h1 { font-size:30px; }
 .menu-pages { padding:0 12px; margin-top:18px; }
 .menu-page a { border-radius:12px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none!important; } }
