/* ============================================================
   À la Carte — stylesheet
   Identity: near-black + gold + cream, Playfair display, a
   Parisienne wordmark used with restraint, Inter for body,
   Noto Naskh Arabic for the Arabic cut. Logical properties
   throughout so RTL falls out for free.
   ============================================================ */

:root{
  --ink:#0d0d0f; --ink-2:#141418; --panel:#17171c; --panel-2:#1e1e24;
  --cream:#f3efe6; --muted:#a8a39a; --muted-2:#7c776f;
  --gold:#c9a24b; --gold-2:#e6cd86;
  --line:rgba(201,162,75,.24); --line-soft:rgba(243,239,230,.10);
  --maxw:1180px; --r:14px;
  --shadow:0 24px 60px -24px rgba(0,0,0,.7);
  --ease:cubic-bezier(.22,1,.36,1);
  --display:"Playfair Display",Georgia,serif;
  --script:"Parisienne",cursive;
  --body:"Inter",system-ui,sans-serif;
}
[dir="rtl"]{ --display:"Noto Naskh Arabic",serif; --body:"Noto Naskh Arabic",system-ui,sans-serif; }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--ink); color:var(--cream);
  font-family:var(--body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body.panel-open{ overflow:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3{ font-family:var(--display); font-weight:600; line-height:1.12; margin:0; }
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.5rem); width:100%; }

/* eyebrow + divider */
.eyebrow{ display:inline-block; font-family:var(--body); font-size:.72rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }
[dir="rtl"] .eyebrow{ letter-spacing:.06em; }
.divider{ display:block; width:46px; height:1px; background:var(--gold); opacity:.6; margin:1rem 0; }
.divider.center{ margin-inline:auto; }

/* buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.7rem; border-radius:50px; font-weight:600; font-size:.92rem;
  letter-spacing:.02em; border:1px solid transparent; transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s; }
.btn:hover{ transform:translateY(-2px); }
.btn-gold{ background:var(--gold); color:#1a1407; }
.btn-gold:hover{ background:var(--gold-2); }
.btn-outline{ border-color:var(--line); color:var(--cream); }
.btn-outline:hover{ border-color:var(--gold); color:var(--gold); }
.btn-outline.is-in{ background:var(--gold); color:#1a1407; border-color:var(--gold); }
.btn-wa{ background:#1faa54; color:#fff; }
.btn-wa:hover{ background:#25c462; }
.btn-block{ width:100%; }
.btn-text{ background:none; border:0; color:var(--muted); font-size:.85rem; padding:.6rem; text-decoration:underline; text-underline-offset:3px; }
.btn-text:hover{ color:var(--gold); }
.btn[disabled]{ opacity:.5; cursor:not-allowed; }
.btn[disabled]:hover{ transform:none; }

/* ---------- header ---------- */
.site-header{ position:sticky; top:0; z-index:60; background:rgba(13,13,15,.82);
  backdrop-filter:blur(14px); border-bottom:1px solid var(--line-soft); }
.header-inner{ display:flex; align-items:center; gap:1.5rem; height:74px; }
.brand-mark{ font-family:var(--script); font-size:1.85rem; color:var(--gold); line-height:1; white-space:nowrap; }
[dir="rtl"] .brand-mark{ font-family:var(--script); } /* keep Latin wordmark */
.brand{ display:inline-flex; align-items:center; }
.nav{ display:flex; gap:1.6rem; margin-inline:auto; }
.nav-link{ font-size:.86rem; font-weight:500; letter-spacing:.04em; color:var(--cream);
  padding:.3rem 0; position:relative; opacity:.82; transition:opacity .25s,color .25s; }
.nav-link::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:center; transition:transform .3s var(--ease); }
.nav-link:hover{ opacity:1; }
.nav-link.is-active{ color:var(--gold); opacity:1; }
.nav-link.is-active::after{ transform:scaleX(1); }
.header-tools{ display:flex; align-items:center; gap:.6rem; }
.lang-toggle{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
  background:transparent; color:var(--cream); font-weight:600; font-size:.8rem; transition:.25s; }
.lang-toggle:hover{ border-color:var(--gold); color:var(--gold); }
.cart-btn{ position:relative; width:40px; height:40px; border-radius:50%; border:1px solid var(--line);
  background:transparent; color:var(--cream); display:grid; place-items:center; transition:.25s; }
.cart-btn:hover{ border-color:var(--gold); color:var(--gold); }
.cart-count{ position:absolute; top:-4px; inset-inline-end:-4px; min-width:18px; height:18px; padding:0 4px;
  border-radius:9px; background:var(--gold); color:#1a1407; font-size:.66rem; font-weight:700;
  display:none; place-items:center; }
.cart-count.show{ display:grid; }
.menu-toggle{ display:none; width:40px; height:40px; border:0; background:transparent; flex-direction:column;
  gap:5px; align-items:center; justify-content:center; }
.menu-toggle span{ width:22px; height:2px; background:var(--cream); transition:.3s; }
.menu-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2){ opacity:0; }
.menu-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-mobile{ display:none; flex-direction:column; padding:.5rem clamp(1.1rem,4vw,2.5rem) 1.2rem;
  border-bottom:1px solid var(--line-soft); background:rgba(13,13,15,.96); }
.nav-mobile.open{ display:flex; }
.nav-mobile .nav-link{ padding:.7rem 0; font-size:1rem; border-bottom:1px solid var(--line-soft); }

/* ---------- hero ---------- */
.hero{ position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; }
.hero-video,.hero-poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-overlay{ position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(13,13,15,.55) 0%,rgba(13,13,15,.35) 40%,rgba(13,13,15,.92) 100%); }
.hero-inner{ position:relative; z-index:2; max-width:680px; }
.hero .label-row{ display:flex; align-items:center; gap:.8rem; margin-bottom:1.4rem; }
.hero .label-row .ln{ width:42px; height:1px; background:var(--gold); }
.hero h1{ font-size:clamp(3rem,9vw,6rem); letter-spacing:-.01em; }
.hero h1 .script{ display:block; font-family:var(--script); color:var(--gold); font-size:clamp(2.6rem,8vw,5rem); font-weight:400; }
.hero .sub{ margin:1.6rem 0 2.2rem; font-size:1.12rem; color:#e7e2d8; max-width:34em; }
.hero-cta{ display:flex; gap:1rem; flex-wrap:wrap; }
.scroll-cue{ position:absolute; bottom:1.6rem; left:50%; transform:translateX(-50%); z-index:2;
  width:1px; height:46px; background:linear-gradient(var(--gold),transparent); opacity:.7; }

/* ---------- sections ---------- */
.section{ padding:clamp(4rem,9vw,7.5rem) 0; }
.section.tight{ padding-block:clamp(3rem,6vw,4.5rem); }
.page-top{ padding-top:clamp(3rem,7vw,5rem); }
.h-section{ font-size:clamp(1.9rem,4.4vw,3rem); }
.lead{ color:var(--muted); font-size:1.06rem; max-width:46ch; }
.center{ text-align:center; }
.center .lead,.center .divider{ margin-inline:auto; }

/* intro — two ways to order */
.ways{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin-top:2.6rem; }
.way{ position:relative; padding:2.2rem; border:1px solid var(--line-soft); border-radius:var(--r);
  background:linear-gradient(160deg,var(--panel),var(--ink-2)); overflow:hidden; transition:border-color .3s,transform .3s var(--ease); }
.way:hover{ border-color:var(--line); transform:translateY(-3px); }
.way h3{ font-size:1.6rem; margin-bottom:.6rem; }
.way p{ color:var(--muted); margin:0 0 1.4rem; }
.way .way-link{ color:var(--gold); font-weight:600; font-size:.9rem; display:inline-flex; align-items:center; gap:.4rem; }
.way .way-link .ar-arrow{ transition:transform .3s var(--ease); }
.way:hover .way-link .ar-arrow{ transform:translateX(4px); }
[dir="rtl"] .way:hover .way-link .ar-arrow{ transform:translateX(-4px); }
.way .way-num{ position:absolute; inset-block-start:1.2rem; inset-inline-end:1.6rem; font-family:var(--display);
  font-size:3.4rem; color:var(--line); line-height:1; }

/* featured strip */
.feat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:2.6rem; }
.feat-grid a{ position:relative; aspect-ratio:3/4; border-radius:var(--r); overflow:hidden; }
.feat-grid img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.feat-grid a:hover img{ transform:scale(1.06); }
.feat-grid a::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 55%,rgba(0,0,0,.55)); }

/* ---------- ORDER portal ---------- */
.order-layout{ display:grid; grid-template-columns:1fr 340px; gap:2.5rem; align-items:start; }
.cat-nav{ position:sticky; top:84px; z-index:30; display:flex; gap:.5rem; flex-wrap:wrap;
  padding:.7rem 0; margin-bottom:1.5rem; background:var(--ink); }
.cat-chip{ padding:.45rem .95rem; border:1px solid var(--line-soft); border-radius:50px; font-size:.8rem;
  color:var(--muted); white-space:nowrap; transition:.25s; }
.cat-chip:hover{ border-color:var(--gold); color:var(--gold); }
.m-cat{ margin-bottom:2.8rem; scroll-margin-top:150px; }
.m-cat-head{ display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; padding-bottom:1rem;
  margin-bottom:.6rem; border-bottom:1px solid var(--line); }
.m-cat-head h2{ font-size:1.5rem; color:var(--cream); }
.m-cat-note{ color:var(--muted-2); font-size:.82rem; margin:0; }
.m-list{ list-style:none; margin:0; padding:0; }
.m-row{ display:flex; align-items:center; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line-soft); }

/* empty/real image frame */
.thumb{ flex:0 0 auto; width:54px; height:54px; border-radius:10px; overflow:hidden;
  display:grid; place-items:center; border:1px solid var(--line); background:var(--panel); }
.thumb img{ width:100%; height:100%; object-fit:cover; }
.thumb-empty{ color:var(--muted-2); background:repeating-linear-gradient(45deg,var(--panel),var(--panel) 6px,var(--ink-2) 6px,var(--ink-2) 12px); }
.thumb-tag{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

.m-name{ font-weight:500; font-size:1rem; }
.m-dots{ flex:1; min-width:18px; border-bottom:1px dotted var(--line); transform:translateY(-.3em); }
.m-price{ font-family:var(--display); font-size:1.05rem; color:var(--gold-2); white-space:nowrap; }
.m-price.m-por{ font-family:var(--body); font-size:.78rem; color:var(--muted-2); }
.m-ask{ display:grid; place-items:center; width:30px; height:30px; color:var(--muted-2); }

/* add / stepper */
.m-ctrl{ flex:0 0 auto; }
.m-add{ border:1px solid var(--gold); background:transparent; color:var(--gold); border-radius:50px;
  padding:.4rem 1.1rem; font-size:.82rem; font-weight:600; transition:.2s; }
.m-add:hover{ background:var(--gold); color:#1a1407; }
.m-ctrl.active{ display:inline-flex; align-items:center; gap:.2rem; border:1px solid var(--line);
  border-radius:50px; padding:.15rem; background:var(--panel); }
.step{ width:30px; height:30px; border:0; border-radius:50%; background:transparent; color:var(--cream);
  font-size:1.15rem; line-height:1; display:grid; place-items:center; transition:.2s; }
.step:hover{ background:var(--panel-2); color:var(--gold); }
.m-ctrl .qty{ min-width:22px; text-align:center; font-weight:600; font-size:.9rem; }

/* order sticky summary (desktop) */
.order-aside{ position:sticky; top:84px; }
.summary-card{ border:1px solid var(--line); border-radius:var(--r); background:var(--panel); padding:1.4rem; }
.summary-card h3{ font-size:1.2rem; margin-bottom:1rem; }

/* cart panel / drawer (mobile + secondary) */
.cart-panel{ position:fixed; inset-block:0; inset-inline-end:0; width:min(92vw,400px); z-index:90;
  background:var(--ink-2); border-inline-start:1px solid var(--line); transform:translateX(100%);
  transition:transform .4s var(--ease); display:flex; flex-direction:column; }
[dir="rtl"] .cart-panel{ transform:translateX(-100%); }
.cart-panel.open{ transform:translateX(0); }
.scrim{ position:fixed; inset:0; background:rgba(0,0,0,.55); opacity:0; visibility:hidden; transition:.3s; z-index:80; }
body.panel-open .scrim{ opacity:1; visibility:visible; }
.cart-head{ display:flex; align-items:center; justify-content:space-between; padding:1.3rem 1.4rem; border-bottom:1px solid var(--line-soft); }
.cart-head h3{ font-size:1.3rem; }
.cart-close{ border:0; background:transparent; color:var(--muted); font-size:1.1rem; }
.cart-close:hover{ color:var(--gold); }
.cart-lines{ flex:1; overflow:auto; padding:1rem 1.4rem; }
.cart-empty{ text-align:center; color:var(--muted); padding:3rem 1rem; }
.cart-empty p{ font-family:var(--display); font-size:1.2rem; color:var(--cream); margin:0 0 .4rem; }
.cart-empty span{ font-size:.86rem; }
.cart-line{ padding:.85rem 0; border-bottom:1px solid var(--line-soft); }
.cl-main{ display:flex; justify-content:space-between; gap:1rem; align-items:baseline; }
.cl-name{ font-weight:500; }
.cl-price{ color:var(--gold-2); white-space:nowrap; font-size:.92rem; }
.cl-step{ display:flex; align-items:center; gap:.3rem; margin-top:.5rem; }
.cl-step .step{ border:1px solid var(--line-soft); }
.cl-remove{ margin-inline-start:auto; border:0; background:transparent; color:var(--muted-2); font-size:.85rem; }
.cl-remove:hover{ color:#e0654f; }
.cart-foot{ padding:1.2rem 1.4rem; border-top:1px solid var(--line-soft); }
.cart-sub{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:.4rem; }
.cart-sub strong{ font-family:var(--display); font-size:1.4rem; color:var(--gold-2); }
.cart-delivery{ color:var(--muted-2); font-size:.76rem; margin:.2rem 0 1rem; }

/* ---------- CATERING ---------- */
.pkg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.6rem; }
.pkg{ border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden; background:var(--panel);
  display:flex; flex-direction:column; transition:border-color .3s,transform .3s var(--ease); }
.pkg:hover{ border-color:var(--line); transform:translateY(-3px); }
.pkg-img{ aspect-ratio:4/3; overflow:hidden; }
.pkg-img img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.pkg:hover .pkg-img img{ transform:scale(1.05); }
.pkg-body{ padding:1.4rem; display:flex; flex-direction:column; flex:1; }
.pkg-serves{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
[dir="rtl"] .pkg-serves{ letter-spacing:0; }
.pkg-body h3{ font-size:1.35rem; margin:.4rem 0 .6rem; }
.pkg-body p{ color:var(--muted); font-size:.92rem; margin:0 0 1.3rem; flex:1; }
.pkg-foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.pkg-price{ font-size:.8rem; color:var(--muted-2); }
.pkg-add{ padding:.6rem 1.1rem; font-size:.82rem; }

/* ---------- CHECKOUT ---------- */
.checkout-wrap{ padding-top:clamp(2rem,5vw,3.5rem); padding-bottom:6rem; }
.back{ display:inline-block; margin-bottom:1.4rem; text-decoration:none; color:var(--muted); }
.back:hover{ color:var(--gold); }
.co-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:2.6rem; align-items:start; }
.co-form-col h1{ font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:1.6rem; }
.co-form{ display:flex; flex-direction:column; gap:1rem; }
.fld{ display:flex; flex-direction:column; gap:.4rem; }
.fld>span{ font-size:.82rem; color:var(--muted); letter-spacing:.02em; }
.fld input,.fld select,.fld textarea{ width:100%; padding:.85rem 1rem; border-radius:10px;
  border:1px solid var(--line-soft); background:var(--panel); color:var(--cream); font-family:inherit; font-size:.95rem;
  transition:border-color .25s; }
.fld input:focus,.fld select:focus,.fld textarea:focus{ outline:none; border-color:var(--gold); }
.fld input.invalid,.fld select.invalid{ border-color:#e0654f; }
.fld-2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.co-pay{ margin-top:.8rem; display:flex; flex-direction:column; gap:.8rem; }
.co-payhint{ text-align:center; font-size:.78rem; color:var(--muted-2); margin:0; }
.co-summary{ border:1px solid var(--line); border-radius:var(--r); background:var(--panel); padding:1.6rem; position:sticky; top:90px; }
.co-summary h2{ font-size:1.3rem; margin-bottom:1.1rem; }
.co-line{ display:flex; justify-content:space-between; gap:1rem; padding:.6rem 0; border-bottom:1px solid var(--line-soft); font-size:.92rem; }
.co-line span:last-child{ color:var(--gold-2); white-space:nowrap; }
.co-total{ border-bottom:0; margin-top:.4rem; padding-top:1rem; font-size:1.05rem; }
.co-total strong{ font-family:var(--display); font-size:1.5rem; color:var(--gold-2); }
.co-empty{ text-align:center; padding:4rem 1rem; }
.co-empty h1{ font-size:2rem; margin-bottom:.6rem; }
.co-empty p{ color:var(--muted); margin-bottom:1.6rem; }

/* toast */
.toast{ position:fixed; inset-block-end:1.4rem; inset-inline:1.4rem; margin-inline:auto; max-width:380px;
  background:var(--panel-2); border:1px solid var(--gold); border-radius:12px; padding:1rem 1.2rem;
  box-shadow:var(--shadow); transform:translateY(140%); transition:transform .45s var(--ease); z-index:120; }
.toast.show{ transform:translateY(0); }
.toast strong{ display:block; font-family:var(--display); color:var(--gold-2); margin-bottom:.2rem; }
.toast span{ font-size:.86rem; color:var(--muted); }

/* ---------- GALLERY ---------- */
.gallery-grid{ columns:3; column-gap:1rem; margin-top:2.6rem; }
.gallery-grid figure{ margin:0 0 1rem; position:relative; border-radius:var(--r); overflow:hidden;
  break-inside:avoid; }
.gallery-grid img{ width:100%; transition:transform .7s var(--ease); }
.gallery-grid figure:hover img{ transform:scale(1.05); }
.gallery-grid figcaption{ position:absolute; inset:0; display:grid; place-items:center; color:var(--cream);
  background:rgba(13,13,15,.4); opacity:0; transition:.3s; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; }
.gallery-grid figure:hover figcaption{ opacity:1; }

/* ---------- FIND US ---------- */
.loc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.6rem; }
.loc{ border:1px solid var(--line-soft); border-radius:var(--r); background:var(--panel); padding:2rem 1.6rem; text-align:center; }
.loc-pin{ display:inline-grid; place-items:center; width:54px; height:54px; border-radius:50%;
  border:1px solid var(--line); color:var(--gold); margin-bottom:1rem; }
.loc h3{ font-size:1.3rem; margin-bottom:.3rem; }
.loc p{ color:var(--muted); font-size:.9rem; margin:0 0 1.3rem; }
.contact-row{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:2.6rem; }
.contact-row a{ display:inline-flex; align-items:center; gap:.6rem; padding:.85rem 1.5rem; border:1px solid var(--line-soft);
  border-radius:50px; transition:.25s; color:var(--cream); }
.contact-row a:hover{ border-color:var(--gold); color:var(--gold); }

/* ---------- footer ---------- */
.site-footer{ border-top:1px solid var(--line-soft); background:var(--ink-2); margin-top:2rem; }
.footer-inner{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; padding-block:3.2rem; }
.footer-brand .brand-mark{ font-size:2rem; }
.footer-brand p{ color:var(--muted); font-size:.9rem; margin:.6rem 0 0; max-width:30ch; }
.footer-built{ color:var(--muted-2)!important; font-size:.8rem!important; }
.footer-nav,.footer-contact{ display:flex; flex-direction:column; gap:.7rem; }
.footer-nav a,.footer-contact a{ color:var(--muted); font-size:.9rem; transition:.2s; }
.footer-nav a:hover,.footer-contact a:hover{ color:var(--gold); }
.footer-socials{ display:flex; gap:.7rem; margin-top:.4rem; }
.footer-socials a{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line-soft);
  display:grid; place-items:center; color:var(--cream); transition:.25s; }
.footer-socials a:hover{ border-color:var(--gold); color:var(--gold); }
.footer-base{ border-top:1px solid var(--line-soft); padding-block:1.2rem; }
.footer-base .wrap{ display:block; color:var(--muted-2); font-size:.8rem; }

/* ---------- WhatsApp FAB ---------- */
.wa-fab{ position:fixed; inset-block-end:1.4rem; inset-inline-end:1.4rem; z-index:70; width:56px; height:56px;
  border-radius:50%; background:#1faa54; color:#fff; display:grid; place-items:center;
  box-shadow:0 10px 30px -6px rgba(31,170,84,.6); transition:transform .3s var(--ease); }
.wa-fab:hover{ transform:scale(1.08); }

/* ---------- reveals ---------- */
[data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
[data-reveal].in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ [data-reveal]{ opacity:1!important; transform:none!important; } }

/* ---------- responsive ---------- */
@media (max-width:980px){
  .order-layout{ grid-template-columns:1fr; }
  .order-aside{ display:none; }
  .co-grid{ grid-template-columns:1fr; }
  .co-summary{ position:static; order:-1; }
  .pkg-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-inner{ grid-template-columns:1fr 1fr; }
  .feat-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .nav{ display:none; }
  .menu-toggle{ display:flex; }
  .ways{ grid-template-columns:1fr; }
  .gallery-grid{ columns:2; }
  .loc-grid{ grid-template-columns:1fr; }
  .pkg-grid{ grid-template-columns:1fr; }
  .feat-grid{ grid-template-columns:1fr 1fr; }
  .footer-inner{ grid-template-columns:1fr; }
  .fld-2{ grid-template-columns:1fr; }
  .hero{ min-height:88vh; }
}
@media (max-width:440px){
  .gallery-grid{ columns:1; }
  .m-row{ gap:.7rem; }
  .thumb{ width:46px; height:46px; }
}

/* ---------- additions: way icon, single-column menu, mobile order bar ---------- */
.way-icon{ color:var(--gold); display:inline-flex; margin-bottom:1.1rem; }
.menu-wrap{ max-width:820px; margin-inline:auto; }
.order-bar{ position:fixed; inset-block-end:0; inset-inline:0; z-index:75; display:none;
  align-items:center; justify-content:space-between; gap:1rem;
  padding:.8rem clamp(1.1rem,4vw,2rem); padding-inline-end:5.2rem;
  background:rgba(20,20,24,.96); backdrop-filter:blur(10px); border-top:1px solid var(--line); }
.order-bar.show{ display:flex; }
.order-bar .ob-info{ font-size:.9rem; color:var(--muted); }
.order-bar .ob-info strong{ color:var(--gold-2); font-family:var(--display); font-size:1.15rem; }
.order-bar .btn{ padding:.7rem 1.5rem; }

/* ---------- CATERING TIERS ---------- */
.tier-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.6rem; align-items:start; }
.tier{ border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden; background:var(--panel);
  display:flex; flex-direction:column; transition:border-color .3s,transform .3s var(--ease); }
.tier:hover{ border-color:var(--line); transform:translateY(-3px); }
.tier.tier-feature{ border-color:var(--line); box-shadow:var(--shadow); }
.tier.is-selected{ border-color:var(--gold); }
.tier-img{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.tier-img img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.tier:hover .tier-img img{ transform:scale(1.05); }
.tier-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 40%,rgba(13,13,15,.7)); }
.tier-body{ padding:1.5rem; display:flex; flex-direction:column; }
.tier-kicker{ font-family:var(--display); font-size:1.5rem; color:var(--cream); }
.tier-price{ display:flex; align-items:baseline; gap:.4rem; margin:.3rem 0 .2rem; }
.tier-price strong{ font-family:var(--display); font-size:2rem; color:var(--gold-2); line-height:1; }
.tier-price span{ font-size:.82rem; color:var(--muted); }
.tier-tag{ color:var(--muted); font-size:.92rem; margin:.2rem 0 1rem; }
.tier-meta{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.2rem; }
.tier-meta span{ font-size:.7rem; letter-spacing:.04em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--line); border-radius:50px; padding:.28rem .7rem; }
[dir="rtl"] .tier-meta span{ letter-spacing:0; text-transform:none; }
.tier-choose{ margin-bottom:.4rem; }
.tier-choose.is-in{ background:transparent; color:var(--gold); border:1px solid var(--gold); }
.tier-toggle{ background:none; border:0; color:var(--muted); font-size:.82rem; padding:.5rem; text-decoration:underline;
  text-underline-offset:3px; align-self:center; }
.tier-toggle:hover{ color:var(--gold); }
.tier-detail{ margin-top:.8rem; border-top:1px solid var(--line-soft); padding-top:1rem; }
.tier-sec{ margin-bottom:1.1rem; }
.tier-sec h4{ font-family:var(--body); font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); margin:0 0 .5rem; }
[dir="rtl"] .tier-sec h4{ letter-spacing:0; }
.tier-sec ul{ list-style:none; margin:0; padding:0; }
.tier-sec li{ font-size:.88rem; color:#d8d3c9; padding:.22rem 0; border-bottom:1px dotted var(--line-soft); }
.tier-sec li:last-child{ border-bottom:0; }

.tier-note{ text-align:center; color:var(--muted-2); font-size:.85rem; margin:1.6rem auto 0; max-width:60ch; }

.cater-extra{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin-top:3rem; }
.extra-card{ border:1px solid var(--line-soft); border-radius:var(--r); background:var(--panel); padding:1.8rem; }
.extra-card h3{ font-size:1.3rem; margin-bottom:1rem; }
.extra-lead{ color:var(--muted); font-size:.88rem; margin:-.4rem 0 1rem; }
.tick-list,.dot-list{ list-style:none; margin:0; padding:0; }
.tick-list li,.dot-list li{ position:relative; padding-inline-start:1.6rem; padding-block:.4rem; color:#d8d3c9;
  font-size:.9rem; border-bottom:1px solid var(--line-soft); }
.tick-list li:last-child,.dot-list li:last-child{ border-bottom:0; }
.tick-list li::before{ content:""; position:absolute; inset-inline-start:0; top:.85rem; width:9px; height:5px;
  border-inline-start:2px solid var(--gold); border-block-end:2px solid var(--gold); transform:rotate(-45deg); }
.dot-list li::before{ content:""; position:absolute; inset-inline-start:.2rem; top:1rem; width:5px; height:5px;
  border-radius:50%; background:var(--gold); }

@media (max-width:980px){
  .tier-grid{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
  .cater-extra{ grid-template-columns:1fr; }
}
