:root{
  --paper:#fffaf5;
  --cream:#f5eadc;
  --ink:#252525;
  --peach:#ebb084;
  --olive:#9f9979;
  --pink:#d29592;
  --line:rgba(37,37,37,.12);
  --muted:#6f6962;
  --content:1240px;
  --page-pad:40px;
  --section-y:84px;
  --radius:16px;
  --header-h:76px;
  --ease:cubic-bezier(.22,.75,.25,1);
  --font-ar:'Cairo','Noto Sans Arabic',Tahoma,Arial,sans-serif;
}


*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:'Poppins',Arial,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.lang-ar{font-family:var(--font-ar);font-size:11.5px;line-height:1.78;font-weight:400}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
main,section,header,footer,nav,div,article{min-width:0}
button,input,select,textarea{font:inherit;color:inherit}
button,a,select,input{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.eyebrow{margin:0 0 16px;font-family:'Fredoka','Poppins',sans-serif;font-size:11px;line-height:1.35;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#81786f}
.lang-ar .eyebrow{font-family:var(--font-ar);font-size:9px;letter-spacing:0;text-transform:none;line-height:1.6;font-weight:600}
.eyebrow.light{color:rgba(255,255,255,.76)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:0 18px;border:1px solid var(--ink);border-radius:11px;background:transparent;font-size:12px;font-weight:600;transition:transform .22s var(--ease),background .22s ease,color .22s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn.dark{background:var(--ink);color:#fff}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.text-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:12px;font-weight:600}
.link-arrow::after{content:'→';display:inline-block;margin-inline-start:9px;font-family:Arial,sans-serif;font-size:1.05em;font-weight:400;line-height:1;transition:transform .22s var(--ease)}
.lang-ar .link-arrow::after{content:'←'}
.link-arrow:hover::after,.link-arrow:focus-visible::after{transform:translateX(3px)}
.lang-ar .link-arrow:hover::after,.lang-ar .link-arrow:focus-visible::after{transform:translateX(-3px)}

/* Header */
/* Original soft white-glass header, overlaid on the hero. */
.site-header{position:absolute;isolation:isolate;top:0;left:0;right:0;width:100%;z-index:50;height:76px;display:grid;grid-template-columns:170px 1fr auto;align-items:center;padding-inline:max(var(--page-pad),calc((100vw - var(--content))/2));background:rgba(255,250,245,.48);-webkit-backdrop-filter:blur(8px) saturate(1.03);backdrop-filter:blur(8px) saturate(1.03);border-bottom:1px solid rgba(255,255,255,.48);box-shadow:none}
.site-header::before{content:none}
.logo{display:inline-flex;align-items:center;width:max-content}
.logo img{width:92px;height:auto}
.nav{display:flex;min-width:0;align-items:center;justify-content:center;gap:clamp(22px,2.5vw,36px)}
.nav a{font-size:12px;font-weight:500;white-space:nowrap}
.actions{display:flex;min-width:max-content;align-items:center;justify-content:flex-end;gap:16px}
.lang{font-size:11px;font-weight:600}
.book{display:inline-flex;align-items:center;gap:18px;min-height:42px;padding:0 16px;border-radius:10px;background:var(--peach);font-size:11px;font-weight:600;white-space:nowrap}
.hamb{display:none;width:42px;height:42px;padding:0;border:0;background:transparent;cursor:pointer}
.hamb i{display:block;width:20px;height:1.5px;margin:5px auto;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
.hamb.open i:first-child{transform:translateY(3.25px) rotate(45deg)}
.hamb.open i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.mobile-nav{display:none}


.site-header .nav a,.site-header .lang,.site-header .book{color:#fff}.site-header .hamb i{background:#fff}
.lang-ar .nav a{font-size:10px;font-weight:500}
.lang-ar .book{font-size:9.5px}
.lang-ar .btn,.lang-ar .text-link{font-size:10px}
.lang-ar .events-copy>p:not(.eyebrow),.lang-ar .final-copy p{font-size:11px;line-height:1.85}
.lang-ar .builder label span{font-size:9px}
.lang-ar .builder select,.lang-ar .builder input{font-size:12.5px}
.lang-ar .food-caption h3{font-size:15.5px;line-height:1.5;font-weight:500}
.lang-ar .food-caption p{font-size:9px;line-height:1.75}
/* Hero: current index art direction = full-width motion visual on desktop, copy below on mobile. */
.hero{position:relative;width:100%;margin:0;background:var(--cream);border-bottom:1px solid var(--line);overflow:hidden}
.hero-photo,.hero-photo picture,.hero-photo img{display:block;width:100%}
.hero-photo{background:var(--cream)}
.hero-photo picture{height:100%}
.hero-photo img{height:100%;object-fit:cover;object-position:center}
.hero-copy{display:none}
.hero-stamp{display:none}
@media(min-width:768px){
  .hero-photo{height:clamp(560px,56.25vw,820px)}
}

/* Brand statement */
.manifesto{overflow:hidden;padding:var(--section-y) max(var(--page-pad),calc((100vw - var(--content))/2));background:var(--cream);border-bottom:1px solid var(--line)}
.manifesto>p{margin:0 0 32px;font-size:10px;font-weight:600;letter-spacing:.2em;color:#81786f}
.lang-ar .manifesto>p{letter-spacing:0}
.manifesto h2{max-width:1080px;margin:0;font-size:clamp(38px,4.25vw,60px);line-height:1.06;letter-spacing:-.045em;font-weight:600}
.lang-ar .manifesto h2{max-width:920px;font-size:clamp(23px,2.25vw,32px);line-height:1.52;letter-spacing:0;font-weight:600}
.manifesto h2 em{font-style:normal;color:var(--pink)}
.manifesto-motion{margin-top:42px;overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);direction:ltr}
.motion-track{width:max-content;display:flex;align-items:center;padding:13px 0;animation:minisTrackEn 32s linear infinite;will-change:transform}
.motion-group{display:flex;flex:none;align-items:center;gap:24px;padding-inline-end:24px}
.motion-track span{font-size:10px;font-weight:600;letter-spacing:.11em;color:#6f675f}
.lang-ar .motion-track{animation-name:minisTrackAr}
.lang-ar .motion-group{direction:rtl}
.lang-ar .motion-track span{font-family:var(--font-ar);letter-spacing:0;font-size:9.25px;font-weight:600}
.motion-track i{font-style:normal;color:var(--peach);font-size:10px}
@keyframes minisTrackEn{from{transform:translate3d(0,0,0)}to{transform:translate3d(-16.666667%,0,0)}}
@keyframes minisTrackAr{from{transform:translate3d(-16.666667%,0,0)}to{transform:translate3d(0,0,0)}}

/* Featured food */
.food-edit{padding:var(--section-y) var(--page-pad);background:var(--paper)}
.section-head{max-width:var(--content);margin:0 auto 42px;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.42fr);gap:5vw;align-items:end}
.section-head h2{max-width:760px;margin:0;font-size:clamp(38px,4.3vw,58px);line-height:1.05;letter-spacing:-.045em;font-weight:600}
.lang-ar .section-head h2{font-size:clamp(22px,2.15vw,30px);line-height:1.55;letter-spacing:0;font-weight:600}
.section-head-side{display:flex;flex-direction:column;align-items:flex-end;gap:18px;min-width:0}
.section-head-side p{margin:0;max-width:390px;font-size:14px;line-height:1.8;color:var(--muted);text-align:start}
.menu-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:10px 14px;border:1px solid rgba(37,37,37,.22);border-radius:10px;background:rgba(255,255,255,.58);font-size:11px;font-weight:650;line-height:1;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}

.menu-cta:hover,.menu-cta:focus-visible{background:#fff;border-color:rgba(37,37,37,.42);transform:translateY(-1px)}
.lang-ar .section-head-side{align-items:flex-end}
.lang-ar .menu-cta{font-family:var(--font-ar);font-size:10.5px;font-weight:600}
.lang-ar .section-head-side p{font-size:11px;line-height:1.85}
.editorial-grid{max-width:var(--content);margin:auto;display:grid;grid-template-columns:1.2fr .82fr 1fr;grid-template-rows:minmax(390px,470px) minmax(300px,350px);gap:12px}
.food-card{position:relative;overflow:hidden;min-width:0;background:#eee;border-radius:var(--radius)}
.food-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.food-card:hover img{transform:scale(1.025)}
.food-1{grid-row:1/3}.food-2{grid-column:2/4}.food-3{grid-column:2}.food-4{grid-column:3}
.food-caption{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:end;padding:20px 22px;background:rgba(20,18,16,.62);color:#fff}
.food-caption>span,.food-caption p{font-size:10px}.food-caption>span{opacity:.72}
.food-caption h3{margin:0;font-size:22px;line-height:1.2;font-weight:500}
.food-caption p{margin:4px 0 0;color:rgba(255,255,255,.72)}
.product-plus::after{content:'+';display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.72);border-radius:999px;font-family:'Poppins',Arial,sans-serif;font-size:19px;font-weight:400;line-height:1;color:#fff;background:rgba(255,255,255,.08);transition:background .22s ease,transform .22s var(--ease)}
.food-card:hover .product-plus::after,.food-card:focus-within .product-plus::after{background:#fff;color:var(--ink);transform:rotate(90deg)}


/* Value strip */
.color-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band{min-height:190px;padding:30px 34px;display:flex;flex-direction:column;justify-content:space-between;border-inline-end:1px solid rgba(37,37,37,.12)}
.band:last-child{border-inline-end:0}.band.peach{background:var(--peach)}.band.olive{background:var(--olive);color:#fff}.band.pink{background:var(--pink)}
.band span{font-size:9px;font-weight:600;letter-spacing:.18em}.lang-ar .band span{letter-spacing:0}
.band b{max-width:360px;font-size:24px;line-height:1.18;font-weight:600}.lang-ar .band b{font-size:14px;line-height:1.75;font-weight:600}

/* Events */
.events{position:relative;height:700px;overflow:hidden;color:#fff}
.events>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.events-overlay{position:absolute;inset:0;background:rgba(16,12,9,.4)}
.events-copy{position:absolute;z-index:2;top:50%;left:max(var(--page-pad),calc((100vw - var(--content))/2));width:min(500px,42vw);transform:translateY(-50%)}
.lang-ar .events-copy{left:auto;right:max(var(--page-pad),calc((100vw - var(--content))/2))}
.events-copy h2{margin:0 0 22px;font-size:clamp(44px,4.7vw,66px);line-height:1;letter-spacing:-.045em;font-weight:600}
.lang-ar .events-copy h2{font-size:clamp(24px,2.5vw,34px);line-height:1.55;letter-spacing:0;font-weight:650}
.events-copy>p:not(.eyebrow){max-width:430px;margin:0 0 26px;font-size:13px;line-height:1.8;color:rgba(255,255,255,.8)}
.event-types{position:absolute;z-index:3;top:72px;right:max(var(--page-pad),calc((100vw - var(--content))/2));bottom:72px;width:min(410px,33vw);display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.52);border-bottom:1px solid rgba(255,255,255,.52)}
.lang-ar .event-types{right:auto;left:max(var(--page-pad),calc((100vw - var(--content))/2))}
.event-types a{position:relative;flex:1;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding-inline:4px;border-bottom:1px solid rgba(255,255,255,.3);transition:padding .28s ease,background .28s ease}
.event-types a:last-child{border-bottom:0}.event-types a:hover,.event-types a:focus-visible{padding-inline:16px 8px;background:rgba(255,255,255,.08);outline-color:#fff}
.event-types span{font-size:10px;font-weight:700;color:rgba(255,255,255,.62)}
.event-types b{font-size:15px;font-weight:700}.lang-ar .event-types b{font-family:var(--font-ar);font-size:11.5px}


/* How it works */
.flow{padding:var(--section-y) max(var(--page-pad),calc((100vw - var(--content))/2));background:#f8f3ec}
.flow-title{display:grid;grid-template-columns:.3fr 1fr;align-items:end;margin-bottom:38px}
.flow-title h2{max-width:760px;margin:0;font-size:clamp(38px,4.3vw,58px);line-height:1.06;letter-spacing:-.045em;font-weight:600}
.lang-ar .flow-title h2{font-size:clamp(22px,2.15vw,30px);line-height:1.55;letter-spacing:0;font-weight:600}
.flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden}
.flow-step{position:relative;isolation:isolate;min-height:230px;padding:26px 24px;display:flex;flex-direction:column;border-inline-end:1px solid var(--ink);overflow:hidden;cursor:pointer}
.flow-step:last-child{border-inline-end:0}
.flow-step::before{content:"";position:absolute;inset:0;background:var(--peach);transform:translateY(101%);transition:transform .4s var(--ease);z-index:-1}
.flow-step:nth-child(2)::before{background:var(--olive)}.flow-step:nth-child(3)::before{background:var(--pink)}.flow-step:nth-child(4)::before{background:var(--ink)}
.flow-step:hover::before,.flow-step:focus-visible::before,.flow-step.is-active::before{transform:translateY(0)}
.flow-step>span{margin-bottom:auto;font-size:10px;color:var(--muted)}
.flow-step h3{margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600}
.flow-step p{margin:0;max-width:230px;font-size:12px;line-height:1.7;color:var(--muted)}
.lang-ar .flow-step h3{font-size:15.5px;line-height:1.65;font-weight:600}.lang-ar .flow-step p{font-size:10px;line-height:1.85}
.flow-step:hover,.flow-step:focus-visible,.flow-step.is-active{color:#fff;outline-offset:-3px}
.flow-step:hover>span,.flow-step:focus-visible>span,.flow-step.is-active>span,.flow-step:hover p,.flow-step:focus-visible p,.flow-step.is-active p{color:rgba(255,255,255,.78)}

/* Booking teaser */
.builder{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:650px;background:var(--peach)}
.builder-visual{overflow:hidden;min-width:0}.builder-visual img{width:100%;height:100%;object-fit:cover}
.builder-form-wrap{align-self:center;padding:64px clamp(40px,5vw,72px)}
.builder-form-wrap h2{margin:0 0 30px;font-size:clamp(40px,4.5vw,60px);line-height:1.04;letter-spacing:-.045em;font-weight:600}
.lang-ar .builder-form-wrap h2{font-size:clamp(20px,1.9vw,27px);line-height:1.38;letter-spacing:0;font-weight:600;white-space:nowrap}
.builder form{border-top:1px solid var(--ink)}
.builder label{display:grid;grid-template-columns:150px 1fr;align-items:center;min-height:68px;border-bottom:1px solid var(--ink)}
.builder label span{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.lang-ar .builder label span{letter-spacing:0;text-transform:none}
.builder select,.builder input{width:100%;min-width:0;max-width:100%;border:0;background:transparent;outline:0;font-size:14px;padding:16px 0}
.builder button{width:100%;min-height:56px;margin-top:20px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--ink);border-radius:11px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;cursor:pointer}

/* Testimonials */

/* Arabic layout pass */
.lang-ar .manifesto,.lang-ar .food-edit,.lang-ar .flow,.lang-ar .quote{padding-top:68px;padding-bottom:68px}
.lang-ar .section-head{margin-bottom:30px}
.lang-ar .manifesto h2{max-width:1040px;font-size:clamp(21px,2vw,29px);line-height:1.48}
.lang-ar .flow-title{margin-bottom:30px}
.lang-ar .flow-step{min-height:200px;padding:22px}
.lang-ar .color-band .band{min-height:154px;padding-top:24px;padding-bottom:24px}
.lang-ar .builder{min-height:560px}
.lang-ar .builder-form-wrap{padding:52px clamp(32px,3.8vw,56px)}
.lang-ar .builder-form-wrap .eyebrow{margin-bottom:12px}
.lang-ar .final-cta,.lang-ar .final-copy{min-height:370px}
.lang-ar .final-copy{padding-top:50px;padding-bottom:50px}

/* Final CTA */
.final-cta{position:relative;min-height:460px;overflow:hidden;background:var(--olive);color:#fff;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(37,37,37,.08)}
.final-copy{min-height:460px;padding:72px var(--page-pad);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.final-logo{width:96px;filter:brightness(0) invert(1);margin-bottom:20px}.final-copy h2{max-width:900px;margin:0;font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.045em;font-weight:600}.lang-ar .final-copy h2{font-size:clamp(24px,2.5vw,34px);line-height:1.58;letter-spacing:0;font-weight:600}.final-copy p{max-width:520px;margin:18px 0 24px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.82)}

/* Footer — two compact rows: Brand + Explore, then Contact + Information. */
.footer{padding:50px max(var(--page-pad),calc((100vw - var(--content))/2)) 24px;background:rgba(235,176,132,.08);border-top:1px solid var(--line)}
.footer-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);gap:clamp(34px,5vw,72px);align-items:start;padding-bottom:24px;border-bottom:1px solid var(--line)}
.footer-bottom-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,70px);max-width:560px;padding-top:22px}
.footer-brand,.footer-links{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}
.footer img{width:96px;height:auto}.footer-brand img{transform:translateY(-4px);margin-bottom:-4px}.footer p{max-width:320px;margin:7px 0 0}.footer p,.footer a{font-size:12.5px;line-height:1.68;color:#655f58}.lang-ar .footer p,.lang-ar .footer a{font-size:10.75px;line-height:1.85}.footer b{margin:0 0 4px;font-size:10.5px;line-height:1.4;letter-spacing:.07em;text-transform:uppercase}.lang-ar .footer b{letter-spacing:0;text-transform:none}.footer a{width:max-content}.footer a:hover{color:var(--olive)}.footer small{display:block;margin-top:22px;padding-top:13px;border-top:1px solid var(--line);font-size:9px;color:#8d867e}

/* Laptop / small desktop */
@media(max-width:1199px){
  :root{--page-pad:32px;--section-y:72px}
  .site-header{grid-template-columns:130px 1fr auto}
  .nav{gap:24px}.nav a{font-size:11px}
  .editorial-grid{grid-template-rows:420px 320px}
  .events{height:660px}.event-types{width:36vw;top:64px;bottom:64px}
  .builder{grid-template-columns:1fr 1fr}.builder-form-wrap{padding:56px 42px}
}

/* Compact header / smaller laptops */
@media(max-width:1099px){
  .site-header{height:72px;grid-template-columns:1fr auto;padding-inline:var(--page-pad)}
  .nav,.book,.desktop-book{display:none}
  .actions{gap:12px}
  .hamb{display:block}
  .logo img{width:84px}
  .mobile-nav{position:absolute;top:72px;left:0;right:0;padding:22px var(--page-pad);display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;background:rgba(255,250,245,.48);-webkit-backdrop-filter:blur(8px) saturate(1.03);backdrop-filter:blur(8px) saturate(1.03);border-bottom:1px solid rgba(255,255,255,.48);box-shadow:none}
  .mobile-nav.open{display:grid}
  .mobile-nav a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid rgba(37,37,37,.10);font-size:13px;font-weight:500;color:#fff}
}

/* Tablet */
@media(max-width:991px){
  :root{--page-pad:28px;--section-y:64px}
  .hero-photo{height:auto;aspect-ratio:16/9}.hero-photo img{height:100%}
  .section-head{grid-template-columns:1fr .55fr;gap:40px}.section-head-side{gap:14px}
  .editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:390px 320px 300px}.food-1{grid-row:1/3}.food-2{grid-column:2}.food-3{grid-column:2}.food-4{grid-column:1/3}
  .color-band{grid-template-columns:1fr}.band{min-height:145px;border-inline-end:0;border-bottom:1px solid var(--line)}.band:last-child{border-bottom:0}
  .events{height:760px}.events-copy,.lang-ar .events-copy{top:90px;left:var(--page-pad);right:var(--page-pad);width:auto;max-width:570px;transform:none}.event-types,.lang-ar .event-types{left:var(--page-pad);right:var(--page-pad);top:auto;bottom:28px;width:auto;height:250px;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.45)}
  .event-types a{grid-template-columns:40px 1fr;padding-inline:14px;border-inline-end:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}.event-types a:nth-child(even){border-inline-end:0}.event-types a:nth-child(n+3){border-bottom:0}.event-types a:last-child{border-bottom:0}
  .flow-steps{grid-template-columns:1fr 1fr}.flow-step:nth-child(2){border-inline-end:0}.flow-step:nth-child(-n+2){border-bottom:1px solid var(--ink)}
  .builder{grid-template-columns:1fr;min-height:0}.builder-visual{height:min(64vw,560px)}.builder-form-wrap{padding:56px var(--page-pad)}
  .footer-top{grid-template-columns:minmax(0,1.28fr) minmax(130px,.72fr);gap:34px}.footer-bottom-links{max-width:500px;gap:34px}
}

/* Mobile */
@media(max-width:767px){
  :root{--page-pad:20px;--section-y:48px;--radius:14px}
  body{font-size:14px}
  body.lang-ar{font-size:11.25px;line-height:1.82}
  .site-header{height:66px;padding-inline:18px}.logo img{width:76px}.lang{font-size:10px}.hamb{width:44px;height:44px}.mobile-nav{top:66px;padding:8px 18px 14px;grid-template-columns:1fr;gap:0}.mobile-nav a{min-height:48px;padding:0;border-bottom:1px solid rgba(37,37,37,.10);font-size:13px;color:#fff}.mobile-nav a:last-child{border-bottom:0}

  .hero{display:flex;flex-direction:column}
  .hero-photo{order:1;width:100%;height:min(177.78vw,860px);max-height:860px}
  .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
  .hero-copy{order:2;display:block;padding:42px 20px 36px;background:var(--paper)}
  .hero-copy h1{max-width:560px;margin:0 0 18px;font-size:clamp(30px,9vw,34px);line-height:1.14;letter-spacing:-.035em;font-weight:600}.lang-ar .hero-copy h1{font-size:clamp(20px,5.7vw,24px);line-height:1.62;letter-spacing:0;font-weight:600}
  .hero-copy>p:not(.eyebrow){max-width:540px;margin:0 0 24px;font-size:14px;line-height:1.75;color:var(--muted)}.lang-ar .hero-copy>p:not(.eyebrow){font-size:10.5px;line-height:1.9}
  .hero-buttons{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.hero-buttons .btn{width:100%;min-width:0;padding-inline:16px;gap:14px}.hero-buttons .text-link{order:0;align-self:center;justify-self:end;width:max-content;white-space:nowrap}

  .manifesto{padding:var(--section-y) var(--page-pad)}.manifesto>p{margin-bottom:22px;font-size:9px}.manifesto h2{font-size:clamp(31px,8.8vw,40px);line-height:1.13}.lang-ar .manifesto h2{font-size:clamp(19px,5.2vw,23px);line-height:1.68}.manifesto-motion{margin-top:28px}.motion-track{padding:11px 0;animation-duration:24s}.motion-group{gap:18px;padding-inline-end:18px}

  .food-edit{padding:var(--section-y) 14px 54px}.section-head{display:block;margin:0 6px 28px}.section-head h2{font-size:clamp(30px,8.5vw,36px);line-height:1.14}.lang-ar .section-head h2{font-size:clamp(19px,5.1vw,23px);line-height:1.68}.section-head-side{margin-top:16px;align-items:flex-start;gap:12px}.section-head-side p{font-size:13px}.lang-ar .section-head-side{align-items:flex-start}.lang-ar .section-head-side p{font-size:10.25px;line-height:1.9}.menu-cta{min-height:38px;padding:9px 13px}
  .editorial-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:none;gap:8px}.food-card,.food-1,.food-2,.food-3,.food-4{grid-column:auto;grid-row:auto;height:auto;aspect-ratio:1/1}.food-1,.food-2{grid-column:1/-1}.food-1{aspect-ratio:4/5}.food-2{aspect-ratio:16/10}.food-caption{padding:14px 13px;gap:8px}.food-caption h3{font-size:17px}.food-caption>span,.food-caption p{font-size:8.5px}

  .band{min-height:130px;padding:24px 20px}.band b{font-size:20px;line-height:1.28}

  .events{height:690px}.events-copy,.lang-ar .events-copy{top:auto;bottom:232px;left:20px;right:20px;max-width:none}.events-copy h2{font-size:clamp(34px,10vw,42px);line-height:1.05}.lang-ar .events-copy h2{font-size:clamp(20px,5.6vw,25px);line-height:1.65}.events-copy>p:not(.eyebrow){font-size:13px;line-height:1.75}.lang-ar .events-copy>p:not(.eyebrow){font-size:10.25px;line-height:1.9}.event-types,.lang-ar .event-types{left:12px;right:12px;bottom:12px;height:198px}.event-types a{grid-template-columns:30px 1fr;padding-inline:10px}.event-types b{font-size:10.5px}.event-types span{font-size:8.5px}

  .flow{padding:var(--section-y) var(--page-pad) 28px}.flow-title{display:block;margin-bottom:20px}.flow-title h2{margin-top:8px;font-size:clamp(30px,8.5vw,36px);line-height:1.15}.lang-ar .flow-title h2{font-size:clamp(19px,5.1vw,23px);line-height:1.68}.flow-steps{display:block;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:visible}.flow-step{min-height:92px;padding:20px 4px;justify-content:center;border-inline-end:0;border-bottom:1px solid rgba(37,37,37,.20);opacity:.52;transform:none;transition:min-height .48s var(--ease),padding .48s var(--ease),opacity .3s ease,color .3s ease}.flow-step:last-child{border-bottom:0}.flow-step::before{inset:8px -10px;border-radius:18px;transform:scaleY(.9);transform-origin:center;opacity:0;transition:opacity .32s ease,transform .48s var(--ease)}.flow-step.is-active::before{transform:scaleY(1);opacity:1}.flow-step.is-active{min-height:228px;padding:32px 20px;opacity:1}.flow-step>span{margin:0 0 8px;font-size:9px;line-height:1;transition:color .3s ease}.flow-step h3{margin:0;font-size:clamp(20px,5.8vw,24px);line-height:1.16;transition:font-size .48s var(--ease),transform .48s var(--ease),color .3s ease}.flow-step.is-active h3{font-size:clamp(27px,7.4vw,32px)}.flow-step p{max-height:0;margin:0;overflow:hidden;opacity:0;transform:translateY(8px);font-size:12px;line-height:1.7;transition:max-height .42s var(--ease),margin .42s var(--ease),opacity .28s ease,transform .42s var(--ease)}.flow-step.is-active p{max-height:90px;margin-top:14px;opacity:1;transform:none}.lang-ar .flow-step{min-height:88px;padding-top:18px;padding-bottom:18px}.lang-ar .flow-step.is-active{min-height:205px;padding-top:28px;padding-bottom:28px}.lang-ar .flow-step h3{font-size:clamp(16px,4.7vw,19px);line-height:1.55}.lang-ar .flow-step.is-active h3{font-size:clamp(19px,5.4vw,22px)}.lang-ar .flow-step p{font-size:10.5px;line-height:1.9}

  .builder{display:flex;flex-direction:column}.builder-visual{order:1;height:auto;aspect-ratio:4/3}.builder-form-wrap{order:2;padding:44px 20px 50px}.builder-form-wrap h2{font-size:clamp(30px,8.5vw,38px);line-height:1.15;margin-bottom:24px}.lang-ar .builder-form-wrap h2{font-size:clamp(18px,4.9vw,21px);line-height:1.55;white-space:normal}.builder label{grid-template-columns:105px 1fr;min-height:62px}.builder label span{font-size:9px}.builder select,.builder input{font-size:13px}.builder button{min-height:54px}


  .final-cta{min-height:400px}.final-copy{min-height:400px;padding:52px 20px}.final-logo{width:82px;margin-bottom:18px}.final-copy h2{font-size:clamp(32px,9vw,42px);line-height:1.08}.lang-ar .final-copy h2{font-size:clamp(20px,5.5vw,25px);line-height:1.7}.final-copy p{font-size:13px;line-height:1.75}.lang-ar .final-copy p{font-size:10.25px;line-height:1.9}

  .lang-ar .manifesto{padding-top:40px;padding-bottom:40px}.lang-ar .food-edit{padding-top:40px;padding-bottom:46px}.lang-ar .flow{padding-top:40px;padding-bottom:40px}.lang-ar .quote{padding-top:40px;padding-bottom:40px}
  .lang-ar .section-head{margin-bottom:22px}.lang-ar .flow-title{margin-bottom:14px}
  .lang-ar .builder-form-wrap{padding-top:36px;padding-bottom:42px}.lang-ar .builder-form-wrap .eyebrow{margin-bottom:10px}
  .lang-ar .final-cta,.lang-ar .final-copy{min-height:320px}.lang-ar .final-copy{padding-top:42px;padding-bottom:42px}

  .footer{padding:42px 20px 22px}.footer-top{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px;padding-bottom:25px}.footer-bottom-links{grid-template-columns:1fr 1fr;gap:20px;max-width:none;padding-top:25px}.footer-brand,.footer-links{gap:7px}.footer-explore{transform:translateY(3px)}.footer-brand img{transform:translateY(-10px);margin-bottom:-8px}.footer img{width:76px}.footer p{max-width:200px;margin-top:5px}.footer p,.footer a{font-size:12.5px;line-height:1.66}.lang-ar .footer p,.lang-ar .footer a{font-size:11px;line-height:1.84}.footer b{margin-bottom:4px;font-size:10.75px}.footer small{margin-top:24px;padding-top:14px;font-size:9px}
}

@media(max-width:479px){
  .builder label{display:flex;min-height:0;flex-direction:column;align-items:stretch;gap:4px;padding:13px 0}
  .builder label span{font-size:9px;line-height:1.5}
  .builder select,.builder input{min-height:38px;padding:5px 0;font-size:13px}
  .footer{padding:39px 18px 20px}
  .footer-top{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:17px;padding-bottom:23px}
  .footer-bottom-links{gap:17px;padding-top:23px}
  .footer-brand img{transform:translateY(-10px);margin-bottom:-8px}
  .footer img{width:72px}
  .footer p,.footer a{font-size:12px}
  .lang-ar .footer p,.lang-ar .footer a{font-size:10.7px}
  .footer b{font-size:10.5px}
  .footer small{margin-top:22px}
  .events-copy h2{font-size:clamp(32px,9.5vw,40px)}
}

@media(max-width:390px){
  :root{--page-pad:18px}
  .hero-copy{padding-inline:18px}.hero-buttons{gap:12px}.hero-buttons .btn{padding-inline:14px;gap:10px}.hero-buttons .text-link{width:max-content;font-size:11px}
  .food-caption h3{font-size:15.5px}.food-caption p{display:none}
  .events{height:670px}.events-copy,.lang-ar .events-copy{bottom:220px}.event-types,.lang-ar .event-types{height:188px}
  .footer{padding-inline:16px}
  .footer-top{gap:15px}
  .footer-bottom-links{gap:15px}
  .footer img{width:70px}
  .footer p,.footer a{font-size:11.8px}
  .event-types b{font-size:10px}
  }


/* Shared inner-page hero + booking form foundation */
.page-hero{min-height:660px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero-media{min-height:660px;overflow:hidden;background:var(--cream)}
.page-hero-media img{width:100%;height:100%;object-fit:cover}
.page-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:130px clamp(42px,6vw,92px) 72px;background:var(--peach)}
.page-hero-copy h1{max-width:640px;margin:0 0 22px;font-size:clamp(44px,4.7vw,66px);line-height:1.03;letter-spacing:-.045em;font-weight:600}
.page-hero-copy>p:not(.eyebrow){max-width:520px;margin:0 0 28px;font-size:14px;line-height:1.8;color:rgba(37,37,37,.72)}
.lang-ar .page-hero-copy h1{font-size:clamp(25px,2.7vw,36px);line-height:1.52;letter-spacing:0}
.lang-ar .page-hero-copy>p:not(.eyebrow){font-size:11px;line-height:1.9}
.page-hero-copy .text-link{width:max-content}
.booking-form-section{max-width:var(--content);margin:auto;padding:90px var(--page-pad) 110px;display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:clamp(54px,8vw,110px);align-items:start}
.booking-form-intro{position:sticky;top:32px}
.booking-form-intro h2{margin:0 0 16px;font-size:clamp(34px,3.6vw,50px);line-height:1.04;letter-spacing:-.04em;font-weight:600}
.booking-form-intro>p:not(.eyebrow){margin:0;max-width:330px;color:var(--muted);font-size:13px;line-height:1.8}
.lang-ar .booking-form-intro h2{font-size:clamp(21px,2.2vw,29px);line-height:1.55;letter-spacing:0}
.lang-ar .booking-form-intro>p:not(.eyebrow){font-size:10.5px;line-height:1.9}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(37,37,37,.055)}
.booking-field{padding:17px 18px 13px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.booking-field-wide{grid-column:1/-1}
.booking-field label{display:block;margin:0 0 8px;font-size:9px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:#7d746c}
.lang-ar .booking-field label{font-size:9px;letter-spacing:0;text-transform:none}
.booking-field input,.booking-field select,.booking-field textarea{width:100%;min-height:38px;padding:0;border:0;outline:0;background:transparent;font-size:14px;line-height:1.5;resize:vertical}
.booking-field textarea{padding-top:5px;min-height:80px}
.booking-next{grid-column:1/-1;min-height:58px;padding:0 20px;border:0;border-radius:14px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:650;cursor:pointer}

@media(max-width:899px){
  .page-hero{grid-template-columns:1fr;min-height:0}.page-hero-media{height:min(74vw,560px);min-height:0}.page-hero-copy{padding:70px var(--page-pad)}
  .booking-form-section{grid-template-columns:1fr;gap:34px;padding-top:64px;padding-bottom:80px}.booking-form-intro{position:static}.booking-form-intro>p:not(.eyebrow){max-width:520px}
}
@media(max-width:767px){
  .page-hero{display:flex;flex-direction:column}.page-hero-media{order:1;height:min(128vw,610px)}.page-hero-copy{order:2;padding:42px 20px 46px}.page-hero-copy h1{font-size:clamp(31px,8.8vw,40px);line-height:1.12}.lang-ar .page-hero-copy h1{font-size:clamp(20px,5.7vw,24px);line-height:1.62}.page-hero-copy>p:not(.eyebrow){font-size:13px}.lang-ar .page-hero-copy>p:not(.eyebrow){font-size:10.5px}
  .booking-form-section{padding:52px 20px 72px;gap:28px}.booking-form{grid-template-columns:1fr;padding:12px;gap:9px;border-radius:17px}.booking-field,.booking-field-wide{grid-column:1;padding:15px 14px 11px}.booking-next{grid-column:1;min-height:56px}.booking-form-intro h2{font-size:30px}.lang-ar .booking-form-intro h2{font-size:20px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .motion-track{animation:none}
  .food-card img,.flow-step::before,.btn{transition:none}
}

/* Dynamic Menu + Product pages */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.menu-page{background:var(--paper)}
.menu-page-hero{position:relative;min-height:650px;overflow:hidden;background:#2d2722;color:#fff;border-bottom:1px solid var(--line)}
.menu-page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.menu-page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,14,11,.68) 0%,rgba(18,14,11,.38) 47%,rgba(18,14,11,.08) 78%),linear-gradient(0deg,rgba(18,14,11,.36),transparent 48%)}
.lang-ar .menu-page-hero-overlay{background:linear-gradient(270deg,rgba(18,14,11,.68) 0%,rgba(18,14,11,.38) 47%,rgba(18,14,11,.08) 78%),linear-gradient(0deg,rgba(18,14,11,.36),transparent 48%)}
.menu-page-hero-copy{position:absolute;z-index:2;left:max(var(--page-pad),calc((100vw - var(--content))/2));bottom:76px;width:min(640px,52vw)}
.lang-ar .menu-page-hero-copy{left:auto;right:max(var(--page-pad),calc((100vw - var(--content))/2));width:min(580px,50vw)}
.menu-page-hero-copy h1{margin:0 0 20px;font-size:clamp(46px,5.1vw,72px);line-height:1;letter-spacing:-.05em;font-weight:600}
.menu-page-hero-copy>p:not(.eyebrow){max-width:560px;margin:0 0 24px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.84)}
.menu-page-hero-copy .text-link{width:max-content}
.lang-ar .menu-page-hero-copy h1{font-size:clamp(25px,2.9vw,38px);line-height:1.55;letter-spacing:0}
.lang-ar .menu-page-hero-copy>p:not(.eyebrow){font-size:11px;line-height:1.95;max-width:500px}

.menu-catalog{padding:88px max(var(--page-pad),calc((100vw - var(--content))/2)) 110px;background:var(--paper);scroll-margin-top:88px}
.menu-catalog-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.46fr);gap:70px;align-items:end;margin-bottom:34px}
.menu-catalog-head h2{max-width:740px;margin:0;font-size:clamp(40px,4.2vw,58px);line-height:1.04;letter-spacing:-.045em;font-weight:600}
.menu-catalog-head>p{margin:0 0 4px;font-size:13px;line-height:1.85;color:var(--muted)}
.lang-ar .menu-catalog-head h2{font-size:clamp(22px,2.25vw,30px);line-height:1.58;letter-spacing:0}
.lang-ar .menu-catalog-head>p{font-size:10.5px;line-height:1.95}
.menu-tools{display:flex;justify-content:flex-end;margin-bottom:18px}
.menu-search{display:grid;grid-template-columns:minmax(220px,360px) auto;border:1px solid var(--line);border-radius:999px;background:#fff;overflow:hidden}
.menu-search input{min-width:0;height:46px;padding:0 18px;border:0;outline:0;background:transparent;font-size:12px}
.menu-search button{min-width:88px;padding:0 18px;border:0;border-inline-start:1px solid var(--line);background:var(--ink);color:#fff;font-size:10.5px;font-weight:600;cursor:pointer}
.lang-ar .menu-search input{font-size:10.5px}.lang-ar .menu-search button{font-size:9.5px}
.menu-category-rail{position:sticky;top:0;z-index:25;display:flex;gap:8px;overflow-x:auto;padding:12px 0 16px;margin-bottom:26px;background:rgba(255,250,245,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none}
.menu-category-rail::-webkit-scrollbar{display:none}
.menu-category-pill{flex:none;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:10.5px;font-weight:600;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease}
.menu-category-pill small{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(37,37,37,.06);font-size:8px;color:var(--muted)}
.menu-category-pill.active,.menu-category-pill:hover{background:var(--ink);border-color:var(--ink);color:#fff}.menu-category-pill.active small,.menu-category-pill:hover small{background:rgba(255,255,255,.16);color:#fff}
.lang-ar .menu-category-pill{font-size:9.5px}
.menu-filter-summary{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 22px;font-size:10px;color:var(--muted)}.menu-filter-summary a{text-decoration:underline;text-underline-offset:4px}
.menu-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.menu-product-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;transition:transform .28s var(--ease),box-shadow .28s ease}
.menu-product-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(37,37,37,.07)}
.menu-product-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}
.menu-product-media>img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.menu-product-card:hover .menu-product-media>img{transform:scale(1.025)}
.menu-product-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(235,176,132,.18),rgba(159,153,121,.18))}.menu-product-placeholder img{width:86px;opacity:.72}
.menu-featured{position:absolute;top:12px;inset-inline-start:12px;padding:6px 9px;border-radius:999px;background:rgba(255,250,245,.9);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);backdrop-filter:blur(8px)}
.lang-ar .menu-featured{font-size:8px;letter-spacing:0;text-transform:none}
.menu-product-plus{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#fff;color:var(--ink);font-size:24px;line-height:1;font-weight:300;box-shadow:0 6px 18px rgba(0,0,0,.1);transition:transform .25s var(--ease)}
.lang-ar .menu-product-plus{right:auto;left:12px}.menu-product-card:hover .menu-product-plus{transform:rotate(90deg)}
.menu-product-body{padding:19px 18px 18px}.menu-product-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:8.5px;font-weight:600;color:#8a8178;text-transform:uppercase;letter-spacing:.06em}.lang-ar .menu-product-meta{font-size:8px;letter-spacing:0;text-transform:none}
.menu-product-body h3{margin:0;font-size:20px;line-height:1.24;font-weight:600}.menu-product-body>p{margin:8px 0 14px;min-height:42px;font-size:10.5px;line-height:1.75;color:var(--muted)}
.lang-ar .menu-product-body h3{font-size:14px;line-height:1.65}.lang-ar .menu-product-body>p{min-height:36px;font-size:9.3px;line-height:1.9}
.menu-price-list{margin-top:16px;border-top:1px solid var(--line)}.menu-price-list>div,.menu-price-from{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;border-bottom:1px solid var(--line);font-size:9px}.menu-price-list>div:last-child{border-bottom:0}.menu-price-list span,.menu-price-from span{color:var(--muted)}.menu-price-list b,.menu-price-from b{font-size:11px;font-weight:600}.lang-ar .menu-price-list>div,.lang-ar .menu-price-from{font-size:8.7px}.lang-ar .menu-price-list b,.lang-ar .menu-price-from b{font-size:10px}
.menu-empty{padding:76px 24px;text-align:center;border:1px solid var(--line);border-radius:18px;background:#fff}.menu-empty h3{margin:0 0 8px;font-size:26px}.menu-empty p{margin:0 0 22px;color:var(--muted)}.menu-empty .btn{margin:auto;width:max-content}
.menu-bottom-cta{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);min-height:560px;background:var(--peach)}
.menu-bottom-cta-copy{display:flex;flex-direction:column;justify-content:center;padding:70px max(var(--page-pad),calc((100vw - var(--content))/2)) 70px max(var(--page-pad),calc((100vw - var(--content))/2));padding-inline-end:clamp(48px,6vw,88px)}
.menu-bottom-cta-copy h2{margin:0 0 18px;font-size:clamp(40px,4.3vw,60px);line-height:1.04;letter-spacing:-.045em;font-weight:600}.menu-bottom-cta-copy>p:not(.eyebrow){max-width:480px;margin:0 0 24px;font-size:13px;line-height:1.85;color:rgba(37,37,37,.72)}.menu-bottom-cta-copy .btn{width:max-content}
.lang-ar .menu-bottom-cta-copy h2{font-size:clamp(22px,2.35vw,31px);line-height:1.6;letter-spacing:0}.lang-ar .menu-bottom-cta-copy>p:not(.eyebrow){font-size:10.5px;line-height:1.95}
.menu-bottom-cta>img{width:100%;height:100%;min-height:560px;object-fit:cover}

/* Product detail */
.product-detail-page{background:var(--paper)}
.product-detail-hero{min-height:760px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:var(--paper)}
.product-detail-gallery{min-width:0;background:var(--cream);padding-top:0}.product-main-image{width:100%;height:680px;object-fit:cover}.product-thumb-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px}.product-thumb-row img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.product-detail-copy{display:flex;flex-direction:column;justify-content:center;padding:130px clamp(42px,6vw,90px) 72px}.product-back{width:max-content;margin-bottom:22px;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:10px;color:var(--muted)}
.product-detail-copy h1{margin:0 0 18px;font-size:clamp(42px,4.5vw,64px);line-height:1.04;letter-spacing:-.045em;font-weight:600}.product-detail-description{margin:0 0 22px;font-size:13px;line-height:1.85;color:var(--muted)}
.lang-ar .product-detail-copy h1{font-size:clamp(24px,2.5vw,34px);line-height:1.58;letter-spacing:0}.lang-ar .product-detail-description{font-size:10.5px;line-height:1.95}
.product-minimum{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:10px}.product-minimum b{font-size:14px}
.product-price-options{border-top:1px solid var(--ink);margin-bottom:22px}.product-price-option{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:68px;border-bottom:1px solid var(--line)}.product-price-option>div{display:flex;flex-direction:column}.product-price-option span{font-size:12px;font-weight:600}.product-price-option small{font-size:9px;color:var(--muted)}.product-price-option b{font-size:18px}.lang-ar .product-price-option span{font-size:10px}.lang-ar .product-price-option b{font-size:14px}
.product-book{width:100%;max-width:360px}.product-not-found{min-height:70vh;padding:160px var(--page-pad);display:grid;place-items:center;text-align:center}.product-not-found h1{margin:0;font-size:42px}.product-not-found .btn{width:max-content}

@media(max-width:1099px){
  .menu-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-bottom-cta-copy{padding-inline:var(--page-pad)}
}
@media(max-width:899px){
  .menu-page-hero{min-height:580px}.menu-page-hero-copy,.lang-ar .menu-page-hero-copy{left:var(--page-pad);right:var(--page-pad);bottom:56px;width:auto;max-width:620px}
  .menu-catalog{padding-top:68px;padding-bottom:86px}.menu-catalog-head{grid-template-columns:1fr;gap:18px}.menu-catalog-head>p{max-width:560px}
  .menu-bottom-cta{grid-template-columns:1fr}.menu-bottom-cta-copy{padding:64px var(--page-pad)}.menu-bottom-cta>img{min-height:0;height:min(70vw,580px)}
  .product-detail-hero{grid-template-columns:1fr}.product-main-image{height:min(82vw,640px)}.product-detail-copy{padding:64px var(--page-pad) 76px}
}
@media(max-width:767px){
  .menu-page-hero{min-height:590px}.menu-page-hero>img{object-position:center}.menu-page-hero-overlay,.lang-ar .menu-page-hero-overlay{background:linear-gradient(0deg,rgba(18,14,11,.68) 0%,rgba(18,14,11,.25) 60%,rgba(18,14,11,.08) 100%)}.menu-page-hero-copy,.lang-ar .menu-page-hero-copy{left:20px;right:20px;bottom:40px;max-width:none}.menu-page-hero-copy h1{font-size:clamp(34px,10vw,44px);line-height:1.05}.lang-ar .menu-page-hero-copy h1{font-size:clamp(21px,5.8vw,26px);line-height:1.7}.menu-page-hero-copy>p:not(.eyebrow){font-size:12.5px}.lang-ar .menu-page-hero-copy>p:not(.eyebrow){font-size:10.25px}
  .menu-catalog{padding:50px 14px 72px}.menu-catalog-head{padding:0 6px;margin-bottom:22px}.menu-catalog-head h2{font-size:clamp(30px,8.5vw,36px)}.lang-ar .menu-catalog-head h2{font-size:clamp(19px,5.1vw,23px)}
  .menu-tools{padding:0 6px}.menu-search{width:100%;grid-template-columns:minmax(0,1fr) auto}.menu-search input{height:44px}.menu-category-rail{margin-inline:-14px;padding-inline:20px;top:0}.menu-category-pill{min-height:38px;padding-inline:13px}
  .menu-product-grid{grid-template-columns:1fr;gap:12px}.menu-product-card{border-radius:16px}.menu-product-media{aspect-ratio:16/11}.menu-product-body{padding:17px 15px 15px}.menu-product-body h3{font-size:19px}.lang-ar .menu-product-body h3{font-size:13.5px}.menu-product-body>p{min-height:0}.menu-product-plus{width:36px;height:36px;font-size:22px}
  .menu-bottom-cta-copy{padding:50px 20px 54px}.menu-bottom-cta-copy h2{font-size:clamp(30px,8.5vw,38px)}.lang-ar .menu-bottom-cta-copy h2{font-size:clamp(19px,5.2vw,23px)}.menu-bottom-cta>img{height:min(90vw,560px)}
  .product-detail-hero{display:flex;flex-direction:column}.product-detail-gallery{order:1}.product-main-image{height:min(112vw,610px)}.product-detail-copy{order:2;padding:46px 20px 62px}.product-detail-copy h1{font-size:clamp(31px,8.8vw,40px)}.lang-ar .product-detail-copy h1{font-size:clamp(20px,5.5vw,25px)}.product-price-option{min-height:62px}.product-book{max-width:none}
}
@media(max-width:390px){
  .menu-catalog{padding-inline:12px}.menu-category-rail{margin-inline:-12px;padding-inline:18px}.menu-page-hero-copy,.lang-ar .menu-page-hero-copy{left:18px;right:18px}.menu-search button{min-width:74px;padding-inline:14px}
}

/* ========================================================================== 
   Booking Flow — real multi-step event booking
   ========================================================================== */
.booking-page{background:var(--paper)}
.booking-shell{max-width:var(--content);margin:0 auto;padding:56px var(--page-pad) 104px}
.booking-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:72px}
.booking-progress-step{position:relative;min-height:68px;padding:16px 14px;display:flex;align-items:center;gap:10px;border-inline-end:1px solid var(--line);color:#9a9188}
.booking-progress-step:last-child{border-inline-end:0}
.booking-progress-step span{font-size:9px;letter-spacing:.08em}
.booking-progress-step b{font-size:11px;font-weight:600}
.booking-progress-step.done,.booking-progress-step.active{color:var(--ink)}
.booking-progress-step.active{background:rgba(235,176,132,.20)}
.booking-progress-step.done::after,.booking-progress-step.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--peach)}
.lang-ar .booking-progress-step b{font-size:9.5px}.lang-ar .booking-progress-step span{font-size:8px}

.booking-step-layout{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr);gap:clamp(48px,7vw,100px);align-items:start}
.booking-step-intro{position:sticky;top:30px}
.booking-step-intro h2,.booking-section-heading h2,.booking-catalog-head h2{margin:0;font-size:clamp(34px,3.5vw,50px);line-height:1.04;letter-spacing:-.045em;font-weight:600}
.booking-step-intro>p:not(.eyebrow){max-width:330px;margin:18px 0;color:var(--muted);font-size:13px;line-height:1.8}
.booking-note-chip{display:inline-flex;margin-top:12px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;font-size:10px;color:#746c65;background:#fff}
.lang-ar .booking-step-intro h2,.lang-ar .booking-section-heading h2,.lang-ar .booking-catalog-head h2{font-size:clamp(21px,2.2vw,29px);line-height:1.55;letter-spacing:0}
.lang-ar .booking-step-intro>p:not(.eyebrow){font-size:10.5px;line-height:1.9}

.booking-form-rich{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-event-types{border:0;margin:0;padding:0}
.booking-event-types legend{margin:0 0 12px;font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#7d746c}
.lang-ar .booking-event-types legend{font-size:9px;letter-spacing:0;text-transform:none}
.booking-event-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.event-type-card{position:relative;cursor:pointer}
.event-type-card input{position:absolute;opacity:0;pointer-events:none}
.event-type-card-inner{position:relative;min-height:86px;padding:14px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s ease,background .2s ease,transform .2s var(--ease)}
.event-type-card-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18}
.event-type-card-inner b{position:relative;z-index:1;font-size:11px;font-weight:600}
.event-type-card input:checked+.event-type-card-inner{border-color:var(--ink);background:var(--peach);transform:translateY(-1px)}
.booking-conditional{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.booking-conditional[hidden]{display:none}
.field-error{display:block;margin-top:7px;color:#a24945;font-size:9px;line-height:1.5}
.booking-alert{grid-column:1/-1;padding:13px 15px;border-radius:12px;font-size:11px;line-height:1.6}
.booking-alert.error{background:#fff0ed;border:1px solid rgba(162,73,69,.25);color:#873e3a}
.booking-next{position:relative;overflow:hidden}
.css-arrow{position:relative;display:inline-block;width:18px;height:12px;flex:0 0 auto}
.css-arrow::before{content:"";position:absolute;top:5px;left:0;width:16px;height:1.5px;background:currentColor;border-radius:2px}
.css-arrow::after{content:"";position:absolute;right:0;top:2px;width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.lang-ar .css-arrow{transform:scaleX(-1)}

.booking-step-hero{min-height:560px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);background:var(--paper);border-bottom:1px solid var(--line)}
.booking-step-hero-media{min-height:560px;overflow:hidden;background:var(--cream)}
.booking-step-hero-media img{width:100%;height:100%;object-fit:cover}
.booking-step-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:120px clamp(42px,6vw,86px) 70px;background:var(--cream)}
.booking-step-hero-alt .booking-step-hero-copy{background:var(--olive);color:#fff}
.booking-step-hero-compact .booking-step-hero-copy{background:var(--pink)}
.booking-step-hero-copy h1{max-width:620px;margin:0 0 22px;font-size:clamp(42px,4.6vw,64px);line-height:1.03;letter-spacing:-.045em;font-weight:600}
.booking-step-hero-copy>p:not(.eyebrow){max-width:520px;margin:0;font-size:13px;line-height:1.85;color:var(--muted)}
.booking-step-hero-alt .booking-step-hero-copy>p:not(.eyebrow),.booking-step-hero-alt .eyebrow{color:rgba(255,255,255,.8)}
.lang-ar .booking-step-hero-copy h1{font-size:clamp(24px,2.7vw,35px);line-height:1.58;letter-spacing:0}
.lang-ar .booking-step-hero-copy>p:not(.eyebrow){font-size:10.5px;line-height:1.95}

.booking-catalog-head,.booking-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:40px;align-items:end;margin-bottom:34px}
.booking-catalog-head>div:first-child,.booking-section-heading>div:first-child{min-width:0}
.booking-section-heading>p,.booking-catalog-head>p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.booking-search-wrap{align-self:end}
.booking-search-wrap input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:0;font-size:12px}
.booking-category-nav{position:sticky;top:10px;z-index:6;display:flex;gap:8px;margin:0 0 46px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,250,245,.92);backdrop-filter:blur(10px);overflow:auto;scrollbar-width:none}
.booking-category-nav::-webkit-scrollbar{display:none}
.booking-category-nav a{flex:0 0 auto;padding:8px 11px;border-radius:9px;font-size:10px;font-weight:600;white-space:nowrap;background:#fff;border:1px solid var(--line)}
.booking-menu-category{scroll-margin-top:90px;margin-bottom:68px}
.booking-menu-category.search-empty{display:none}
.booking-menu-category-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.booking-menu-category-title span{font-size:9px;color:#8a8178}.booking-menu-category-title h3{margin:0;font-size:20px;font-weight:600}
.lang-ar .booking-menu-category-title h3{font-size:15px}
.booking-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.booking-menu-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.booking-menu-card[hidden]{display:none}
.booking-menu-card-media{position:relative;height:230px;background:var(--cream);overflow:hidden}
.booking-menu-card-media>img{width:100%;height:100%;object-fit:cover}
.booking-menu-card-media::after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(transparent,rgba(22,18,15,.7))}
.booking-menu-card-media>div{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;color:#fff}
.lang-ar .booking-menu-card-media>div{left:18px;right:18px}
.booking-menu-card-media small{font-size:9px;opacity:.78}.booking-menu-card-media h4{margin:2px 0 0;font-size:20px;line-height:1.2;font-weight:600}
.lang-ar .booking-menu-card-media h4{font-size:15px;line-height:1.55}
.booking-price-options{padding:12px}
.booking-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:border-color .2s ease,background .2s ease}
.booking-price-row+.booking-price-row{margin-top:8px}
.booking-price-row.selected{border-color:var(--peach);background:rgba(235,176,132,.10)}
.booking-price-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.booking-price-label b{font-size:11px}.booking-price-label small{font-size:9px;color:var(--muted)}.booking-price-label span{display:block;width:100%;font-size:10px;font-weight:600}
.qty-control{display:grid;grid-template-columns:30px 40px 30px;height:34px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.qty-control button{border:0;background:transparent;font-size:17px;cursor:pointer}.qty-control input{width:100%;border:0;border-inline:1px solid var(--line);text-align:center;background:transparent;font-size:11px;-moz-appearance:textfield}.qty-control input::-webkit-outer-spin-button,.qty-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.booking-item-note{grid-column:1/-1;width:100%;padding:8px 0 0;border:0;border-top:1px solid var(--line);outline:0;background:transparent;font-size:9.5px;color:var(--muted)}
.booking-live-bar{position:sticky;z-index:10;bottom:16px;margin-top:28px;padding:12px 14px;display:grid;grid-template-columns:auto auto minmax(210px,.7fr);align-items:center;gap:20px;border:1px solid rgba(37,37,37,.13);border-radius:16px;background:rgba(37,37,37,.96);color:#fff;box-shadow:0 18px 55px rgba(37,37,37,.22);backdrop-filter:blur(12px)}
.booking-live-bar>div{display:flex;flex-direction:column}.booking-live-bar span{font-size:9px;color:rgba(255,255,255,.65)}.booking-live-bar b{font-size:14px}.booking-live-bar button{min-height:48px;padding:0 16px;border:0;border-radius:11px;background:var(--peach);display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:650;cursor:pointer}

.service-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:88px}
.service-choice-card{position:relative;min-height:230px;padding:18px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:#fff;cursor:pointer;transition:transform .2s var(--ease),border-color .2s ease,background .2s ease}
.service-choice-card:hover{transform:translateY(-2px)}
.service-choice-card>input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.service-choice-check{width:28px;height:28px;margin-inline-start:auto;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1}
.service-choice-card.selected{border-color:var(--ink);background:var(--peach)}
.service-choice-card.selected .service-choice-check{background:var(--ink);color:#fff;border-color:var(--ink);transform:rotate(45deg)}
.service-choice-copy{margin-top:auto}.service-choice-copy h3{margin:0 0 7px;font-size:16px}.service-choice-copy p{margin:0 0 8px;font-size:10px;line-height:1.6;color:var(--muted)}.service-choice-copy b{font-size:10px}
.lang-ar .service-choice-copy h3{font-size:13px;line-height:1.55}.lang-ar .service-choice-copy p{font-size:9px;line-height:1.8}
.service-choice-extra{display:none;margin-top:14px;padding-top:12px;border-top:1px solid rgba(37,37,37,.15)}
.service-choice-card.selected .service-choice-extra{display:block}
.service-choice-extra>input{width:100%;min-height:34px;padding:0 9px;border:1px solid rgba(37,37,37,.16);border-radius:8px;background:rgba(255,255,255,.72);font-size:9px}
.compact-input{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:9px}.compact-input input{width:70px;height:32px;padding:0 8px;border:1px solid rgba(37,37,37,.16);border-radius:8px;background:#fff}
.partner-heading{margin-top:0}
.partner-accordion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.partner-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.partner-card summary{list-style:none;min-height:58px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:11px;font-weight:600}.partner-card summary::-webkit-details-marker{display:none}.partner-card summary i{font-style:normal;font-size:19px;font-weight:300;transition:transform .2s ease}.partner-card[open] summary i{transform:rotate(45deg)}
.partner-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 12px 12px}.partner-card-fields label{padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.partner-card-fields span{display:block;margin-bottom:5px;font-size:8px;color:var(--muted)}.partner-card-fields input{width:100%;border:0;outline:0;background:transparent;font-size:10px}.partner-card-fields .partner-wide{grid-column:1/-1}
.booking-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px}.booking-form-actions .booking-next{width:min(420px,100%)}.booking-back{font-size:11px;font-weight:600;border-bottom:1px solid currentColor}

.review-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:22px;align-items:start}
.review-main{display:grid;gap:14px}
.review-card,.checkout-card,.checkout-status-card,.checkout-summary-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.review-card-head h2{margin:0;font-size:24px;line-height:1.15}.review-card-head>a{font-size:10px;font-weight:600;border-bottom:1px solid currentColor}.lang-ar .review-card-head h2{font-size:17px;line-height:1.55}
.review-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-facts>div{padding:14px 10px;border-inline-end:1px solid var(--line)}.review-facts>div:last-child{border-inline-end:0}.review-facts span{display:block;font-size:8px;color:var(--muted)}.review-facts b{display:block;margin-top:4px;font-size:10px;font-weight:600}
.review-extra-line{margin-top:12px;font-size:10px;color:var(--muted)}
.review-lines{display:grid;gap:0;border-top:1px solid var(--line)}.review-line{padding:14px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.review-line b{display:block;font-size:11px}.review-line small,.review-line em{display:block;margin-top:3px;font-size:9px;color:var(--muted);font-style:normal}.review-line strong{font-size:11px;white-space:nowrap}.review-empty{margin:0;color:var(--muted);font-size:11px}.review-partners{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.review-partners span{font-size:9px;color:var(--muted)}.review-partners b{padding:4px 7px;border-radius:999px;background:var(--cream);font-size:8.5px}
.customer-review-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-review-form label{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.customer-review-form label>span{display:block;margin-bottom:5px;font-size:8px;color:var(--muted)}.customer-review-form label>span small{font-size:7px}.customer-review-form input{width:100%;border:0;outline:0;background:transparent;font-size:11px}.customer-continue{grid-column:1/-1;margin-top:4px;border-radius:11px}
.review-summary{position:sticky;top:22px;padding:22px;border-radius:18px;background:var(--ink);color:#fff}.review-summary>div{padding:12px 0;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.13)}.review-summary span{font-size:9px;color:rgba(255,255,255,.66)}.review-summary b{font-size:11px}.review-summary-total{margin-top:6px}.review-summary-total b{font-size:20px}.review-summary-note{margin:16px 0 0;font-size:9.5px;line-height:1.7;color:rgba(255,255,255,.66)}.review-deposit strong{font-size:16px}

.checkout-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:22px;align-items:start}.checkout-main{display:grid;gap:14px}.checkout-card h2{margin:0 0 7px;font-size:28px}.checkout-card>p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px}.checkout-mini-list{margin-top:22px;border-top:1px solid var(--line)}.checkout-mini-list>div{padding:11px 0;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);font-size:10px}.checkout-edit-link{display:inline-block;margin-top:18px;font-size:10px;font-weight:600;border-bottom:1px solid currentColor}.checkout-status-card{display:grid;grid-template-columns:36px 1fr;gap:14px;background:var(--cream)}.checkout-status-card.ready{background:rgba(159,153,121,.22)}.checkout-status-card.review-needed{background:rgba(210,149,146,.22)}.checkout-status-card>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;font-size:8px}.checkout-status-card h3{margin:0 0 7px;font-size:17px}.checkout-status-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}
.checkout-summary-card{position:sticky;top:22px;background:#fff}.checkout-summary-card>div{padding:12px 0;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.checkout-summary-card span{font-size:9px;color:var(--muted)}.checkout-summary-card b{font-size:11px}.checkout-summary-card .checkout-total b{font-size:22px}.checkout-deposit{display:block!important;padding:18px 0!important}.checkout-deposit strong{display:block;margin-top:7px;font-size:24px}.checkout-confirm{width:100%;min-height:56px;margin-top:16px;padding:0 16px;border:0;border-radius:12px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:650;cursor:pointer}.checkout-summary-card>small{display:block;margin-top:12px;font-size:8px;line-height:1.6;color:var(--muted)}

.confirmation-hero{position:relative;min-height:620px;overflow:hidden;color:#fff;background:#261f1a}.confirmation-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.confirmation-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,18,15,.7),rgba(24,18,15,.12))}.confirmation-copy{position:absolute;z-index:2;left:max(var(--page-pad),calc((100vw - var(--content))/2));bottom:70px;width:min(720px,70vw)}.lang-ar .confirmation-copy{left:auto;right:max(var(--page-pad),calc((100vw - var(--content))/2))}.confirmation-copy h1{margin:0 0 18px;font-size:clamp(46px,5.1vw,72px);line-height:1;letter-spacing:-.05em}.confirmation-copy>p:not(.eyebrow){max-width:550px;margin:0;font-size:13px;line-height:1.8;color:rgba(255,255,255,.8)}.lang-ar .confirmation-copy h1{font-size:clamp(25px,2.9vw,38px);line-height:1.55;letter-spacing:0}.lang-ar .confirmation-copy>p:not(.eyebrow){font-size:10.5px;line-height:1.95}
.confirmation-wrap{max-width:900px;margin:0 auto;padding:80px var(--page-pad) 110px}.confirmation-ticket{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 22px 65px rgba(37,37,37,.06)}.confirmation-ticket-top{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--peach)}.confirmation-ticket-top span{font-size:10px}.confirmation-ticket-top b{font-size:13px}.confirmation-ticket-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.confirmation-ticket-main>div{padding:22px;border-inline-end:1px solid var(--line)}.confirmation-ticket-main>div:last-child{border-inline-end:0}.confirmation-ticket-main small{display:block;font-size:8px;color:var(--muted)}.confirmation-ticket-main strong{display:block;margin-top:7px;font-size:12px}.confirmation-message{padding:30px 22px}.confirmation-message h2{margin:0 0 10px;font-size:26px}.confirmation-message p{max-width:650px;margin:0;color:var(--muted);font-size:11px;line-height:1.8}.confirmation-actions{padding:0 22px 24px;display:flex;align-items:center;gap:18px}.confirmation-ticket.empty{padding:30px}.confirmation-ticket.empty h2{margin-top:0}

@media(max-width:1024px){
  .booking-step-layout{grid-template-columns:1fr;gap:30px}.booking-step-intro{position:static}.booking-step-intro>p:not(.eyebrow){max-width:560px}
  .booking-event-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .booking-step-hero{grid-template-columns:1fr;min-height:0}.booking-step-hero-media{height:min(68vw,520px);min-height:0}.booking-step-hero-copy{padding:60px var(--page-pad)}
  .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-layout,.checkout-layout{grid-template-columns:1fr}.review-summary,.checkout-summary-card{position:static}
}

@media(max-width:767px){
  .booking-shell{padding:34px 20px 72px}
  .booking-progress{margin:0 -20px 42px;padding:0 14px;display:flex;overflow:auto;border-inline:0;scrollbar-width:none;background:rgba(255,250,245,.96)}.booking-progress::-webkit-scrollbar{display:none}.booking-progress-step{flex:0 0 112px;min-height:58px;padding:12px 10px}.booking-progress-step b{font-size:10px}.lang-ar .booking-progress-step{flex-basis:98px}.lang-ar .booking-progress-step b{font-size:8.7px}
  .booking-step-hero{display:flex;flex-direction:column}.booking-step-hero-media{height:min(102vw,500px);order:1}.booking-step-hero-copy{order:2;padding:38px 20px 42px}.booking-step-hero-copy h1{font-size:clamp(31px,8.7vw,39px);line-height:1.12}.lang-ar .booking-step-hero-copy h1{font-size:clamp(20px,5.7vw,24px);line-height:1.62}.booking-step-hero-copy>p:not(.eyebrow){font-size:12.5px}.lang-ar .booking-step-hero-copy>p:not(.eyebrow){font-size:10px}
  .booking-form-rich{grid-template-columns:1fr}.booking-event-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-conditional{grid-template-columns:1fr}.booking-field,.booking-field-wide,.booking-event-types,.booking-conditional{grid-column:1}
  .booking-catalog-head,.booking-section-heading{display:block;margin-bottom:24px}.booking-search-wrap{margin-top:18px}.booking-section-heading>p,.booking-catalog-head>p{margin-top:12px;font-size:10.5px}.lang-ar .booking-section-heading>p,.lang-ar .booking-catalog-head>p{font-size:9.5px;line-height:1.8}
  .booking-category-nav{top:6px;margin-inline:-20px;padding-inline:20px;border-radius:0;border-inline:0}
  .booking-menu-category{margin-bottom:48px}.booking-menu-grid{grid-template-columns:1fr}.booking-menu-card-media{height:min(66vw,290px)}
  .booking-live-bar{bottom:10px;grid-template-columns:1fr 1fr;gap:10px;padding:10px}.booking-live-bar button{grid-column:1/-1;min-height:48px}.booking-live-bar>div:nth-child(2){text-align:end}.booking-live-bar>div:nth-child(2){align-items:flex-end}
  .service-card-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:58px}.service-choice-card{min-height:196px;padding:14px}.service-choice-copy h3{font-size:14px}.lang-ar .service-choice-copy h3{font-size:11.5px}.service-choice-copy p{font-size:9px}.partner-accordion-grid{grid-template-columns:1fr}.booking-form-actions{align-items:stretch;flex-direction:column-reverse}.booking-form-actions .booking-next{width:100%}.booking-back{align-self:flex-start}
  .review-card,.checkout-card,.checkout-status-card,.checkout-summary-card{padding:16px;border-radius:15px}.review-card-head h2{font-size:20px}.lang-ar .review-card-head h2{font-size:15px}.review-facts{grid-template-columns:1fr 1fr}.review-facts>div:nth-child(2){border-inline-end:0}.review-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.customer-review-form{grid-template-columns:1fr}.customer-continue{grid-column:1}.review-summary-total b{font-size:18px}
  .checkout-card h2{font-size:23px}.checkout-status-card{grid-template-columns:30px 1fr}.checkout-status-card h3{font-size:15px}.checkout-summary-card .checkout-total b{font-size:19px}
  .confirmation-hero{min-height:560px}.confirmation-copy,.lang-ar .confirmation-copy{left:20px;right:20px;bottom:42px;width:auto}.confirmation-copy h1{font-size:clamp(34px,10vw,44px)}.lang-ar .confirmation-copy h1{font-size:clamp(21px,6vw,26px)}.confirmation-wrap{padding:52px 20px 72px}.confirmation-ticket-main{grid-template-columns:1fr 1fr}.confirmation-ticket-main>div:nth-child(2){border-inline-end:0}.confirmation-ticket-main>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.confirmation-message h2{font-size:21px}.confirmation-actions{align-items:flex-start;flex-direction:column}
}

@media(max-width:420px){
  .booking-event-type-grid{grid-template-columns:1fr 1fr}.event-type-card-inner{min-height:78px;padding:11px}.service-card-grid{grid-template-columns:1fr}.service-choice-card{min-height:170px}.booking-price-row{grid-template-columns:1fr}.qty-control{width:100px}.booking-live-bar{left:0;right:0;border-radius:14px}.confirmation-ticket-top{align-items:flex-start;flex-direction:column}.confirmation-ticket-main{grid-template-columns:1fr}.confirmation-ticket-main>div{border-inline-end:0;border-bottom:1px solid var(--line)}
}

/* ========================================================================== */
/* Public pages + solid header / desktop footer restoration                    */
/* ========================================================================== */
.site-header{
  position:sticky;
  top:0;
  background:#fff;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border-bottom:1px solid var(--line);
  box-shadow:none;
}
.site-header .nav a,.site-header .lang{color:var(--ink)}
.site-header .book{color:#fff}
.site-header .hamb i{background:var(--ink)}
.mobile-nav{
  background:#fff;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border-bottom:1px solid var(--line);
}
.mobile-nav a{color:var(--ink)}

@media(min-width:900px){
  .footer{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(120px,.8fr));
    column-gap:clamp(38px,5vw,72px);
    row-gap:24px;
    align-items:start;
    padding:48px max(var(--page-pad),calc((100vw - var(--content))/2)) 20px;
  }
  .footer-top,.footer-bottom-links{display:contents}
  .footer-top,.footer-bottom-links{padding:0;border:0;max-width:none}
  .footer-brand img{transform:none;margin-bottom:0}
  .footer-explore{transform:none}
  .footer small{grid-column:1/-1;margin-top:4px;padding-top:14px}
}

.public-page{background:var(--paper)}
.public-hero{min-height:620px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);border-bottom:1px solid var(--line);background:var(--paper)}
.public-hero-media{min-height:620px;overflow:hidden;background:var(--cream)}
.public-hero-media img{width:100%;height:100%;object-fit:cover}
.public-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:74px clamp(42px,6vw,92px);background:var(--paper)}
.public-hero-copy h1{max-width:680px;margin:0 0 22px;font-size:clamp(44px,4.7vw,66px);line-height:1.03;letter-spacing:-.045em;font-weight:600}
.public-hero-copy>p:not(.eyebrow){max-width:560px;margin:0 0 26px;font-size:14px;line-height:1.8;color:var(--muted)}
.public-hero-copy .text-link{width:max-content}
.lang-ar .public-hero-copy h1{font-size:clamp(25px,2.7vw,36px);line-height:1.5;letter-spacing:0}
.lang-ar .public-hero-copy>p:not(.eyebrow){font-size:11px;line-height:1.95}

.public-section{padding:88px max(var(--page-pad),calc((100vw - var(--content))/2));border-bottom:1px solid var(--line)}
.public-section:last-child{border-bottom:0}
.public-section-grid{display:grid;grid-template-columns:minmax(260px,.56fr) minmax(0,1.44fr);gap:clamp(54px,8vw,112px);align-items:start}
.public-section-title{position:sticky;top:112px}
.public-section-title h2{max-width:440px;margin:0;font-size:clamp(34px,3.6vw,50px);line-height:1.05;letter-spacing:-.04em;font-weight:600}
.public-section-title p:not(.eyebrow){max-width:360px;margin:16px 0 0;font-size:13px;line-height:1.8;color:var(--muted)}
.lang-ar .public-section-title h2{font-size:clamp(21px,2.2vw,29px);line-height:1.58;letter-spacing:0}
.lang-ar .public-section-title p:not(.eyebrow){font-size:10.5px;line-height:1.95}
.public-copy{max-width:760px}
.public-copy p{margin:0 0 20px;font-size:14px;line-height:1.9;color:#5f5953}
.public-copy p:last-child{margin-bottom:0}
.lang-ar .public-copy p{font-size:11px;line-height:2}
.public-copy strong{color:var(--ink)}
.public-media-card{overflow:hidden;border-radius:var(--radius);background:var(--cream)}
.public-media-card img{width:100%;aspect-ratio:16/10;object-fit:cover}

.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px}
.about-value{min-height:190px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.about-value span{font-size:9px;color:var(--muted)}
.about-value h3{margin:7px 0 0;font-size:17px;line-height:1.35}
.about-value p{margin:9px 0 0;font-size:11px;line-height:1.75;color:var(--muted)}
.lang-ar .about-value h3{font-size:13px;line-height:1.6}.lang-ar .about-value p{font-size:9.5px;line-height:1.9}

.contact-layout{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,38px);align-items:start}
.contact-layout>.reveal:first-child{max-width:760px}
.contact-layout>.reveal:last-child{width:100%}
.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
.contact-method{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.contact-method span{display:block;font-size:9px;color:var(--muted)}
.contact-method a,.contact-method b{display:block;margin-top:5px;font-size:13px;font-weight:600;word-break:break-word}
.lang-ar .contact-method a,.lang-ar .contact-method b{font-size:11px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(37,37,37,.045)}
.contact-field{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.contact-field.wide{grid-column:1/-1}
.contact-field label{display:block;margin-bottom:6px;font-size:8.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lang-ar .contact-field label{letter-spacing:0;text-transform:none}
.contact-field input,.contact-field textarea{width:100%;border:0;outline:0;background:transparent;font-size:12px;resize:vertical}
.contact-field textarea{min-height:120px}
.contact-submit{grid-column:1/-1;min-height:54px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-size:11px;font-weight:650;cursor:pointer}
.contact-note{grid-column:1/-1;margin:0;font-size:9px;color:var(--muted)}
.contact-status{margin-bottom:18px;padding:12px 14px;border-radius:12px;background:rgba(159,153,121,.16);font-size:10px}
.contact-status.error{background:rgba(210,149,146,.18)}

.legal-wrap{max-width:1000px;margin:0 auto;padding:78px var(--page-pad) 110px}
.legal-intro{max-width:760px;margin-bottom:36px}
.legal-intro p{margin:0;font-size:13px;line-height:1.85;color:var(--muted)}
.lang-ar .legal-intro p{font-size:10.5px;line-height:1.95}
.legal-list{display:grid;gap:0;border-top:1px solid var(--line)}
.legal-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:26px;padding:26px 0;border-bottom:1px solid var(--line)}
.legal-item>span{font-size:10px;color:var(--muted)}
.legal-item h2{margin:0 0 9px;font-size:20px;line-height:1.35}
.legal-item p{margin:0;font-size:12.5px;line-height:1.85;color:#5f5953}
.lang-ar .legal-item h2{font-size:15px;line-height:1.65}.lang-ar .legal-item p{font-size:10.5px;line-height:2}
.legal-draft-note{margin-top:28px;padding:14px 16px;border:1px solid rgba(210,149,146,.32);border-radius:12px;background:rgba(210,149,146,.08);font-size:9.5px;line-height:1.75;color:#6b5f5b}

@media(max-width:1024px){
  .public-hero{grid-template-columns:1fr;min-height:0}
  .public-hero-media{height:min(68vw,540px);min-height:0}
  .public-hero-copy{padding:58px var(--page-pad)}
  .public-section-grid{grid-template-columns:1fr;gap:34px}.public-section-title{position:static}
  .contact-layout{grid-template-columns:1fr}
}
@media(max-width:767px){
  .public-hero{display:flex;flex-direction:column}.public-hero-media{order:1;height:min(108vw,520px)}.public-hero-copy{order:2;padding:38px 20px 44px}
  .public-hero-copy h1{font-size:clamp(31px,8.7vw,40px);line-height:1.12}.lang-ar .public-hero-copy h1{font-size:clamp(20px,5.8vw,25px);line-height:1.62}
  .public-hero-copy>p:not(.eyebrow){font-size:12.5px}.lang-ar .public-hero-copy>p:not(.eyebrow){font-size:10.25px}
  .public-section{padding:52px 20px}.about-values{grid-template-columns:1fr}.about-value{min-height:150px}
  .contact-form{grid-template-columns:1fr;padding:12px}.contact-field,.contact-field.wide,.contact-submit,.contact-note{grid-column:1}
  .legal-wrap{padding:52px 20px 72px}.legal-item{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:22px 0}.legal-item h2{font-size:18px}.lang-ar .legal-item h2{font-size:14px}
}


/* Footer contact icons */
.footer-socials{display:flex;align-items:center;gap:10px;margin-top:2px;flex-wrap:wrap}
.footer-social{display:inline-flex!important;width:34px!important;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;color:var(--ink)!important;background:transparent;transition:transform .22s var(--ease),background-color .22s ease,border-color .22s ease,color .22s ease}
.footer-social svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-social[aria-label="WhatsApp"] svg{fill:currentColor;stroke:none}
.footer-social:hover,.footer-social:focus-visible{transform:translateY(-2px);background:var(--ink);border-color:var(--ink);color:#fff!important}
@media(max-width:899px){.footer-socials{gap:8px;margin-top:3px}.footer-social{width:32px!important;height:32px}.footer-social svg{width:14px;height:14px}}
@media(max-width:390px){.footer-social{width:30px!important;height:30px}.footer-social svg{width:13px;height:13px}}

/* ========================================================================== */
/* Customer account                                                           */
/* ========================================================================== */
.account-header-link{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;color:var(--ink);background:transparent;transition:transform .2s var(--ease),background-color .2s ease,color .2s ease}
.account-header-link:hover,.account-header-link:focus-visible{transform:translateY(-1px);background:var(--paper);color:var(--olive)}
.account-header-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.account-auth-page,.account-page{background:var(--paper);min-height:60vh}
.account-auth-shell{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)}
.account-auth-media{position:relative;overflow:hidden;min-height:700px;background:linear-gradient(145deg,#f4efe8 0%,#ebe3d8 52%,#f7f3ed 100%)}
.account-auth-media::before{content:"";position:absolute;width:46vw;height:46vw;min-width:520px;min-height:520px;right:-22vw;top:-24vw;border:1px solid rgba(37,37,37,.08);border-radius:50%}.account-auth-media::after{content:"";position:absolute;width:310px;height:310px;left:-145px;bottom:-165px;border:1px solid rgba(159,153,121,.24);border-radius:50%}

.account-auth-media>div{position:absolute;z-index:2;left:clamp(30px,5vw,74px);right:clamp(30px,5vw,74px);bottom:clamp(42px,7vw,92px);max-width:620px;color:var(--ink)}
.account-auth-media .eyebrow{color:var(--olive)}
.account-auth-media h1{margin:8px 0 14px;font-size:clamp(38px,4.6vw,66px);line-height:1.02;letter-spacing:-.045em;font-weight:600}
.account-auth-media p:not(.eyebrow){max-width:500px;margin:0;font-size:13px;line-height:1.8;color:var(--muted)}
.lang-ar .account-auth-media h1{font-size:clamp(24px,2.9vw,38px);line-height:1.55;letter-spacing:0}.lang-ar .account-auth-media p:not(.eyebrow){font-size:10.5px;line-height:2}
.account-auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:64px clamp(34px,6vw,88px);background:#fff}
.account-auth-form{width:min(480px,100%)}
.account-auth-form h2{margin:5px 0 28px;font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.035em;font-weight:600}.lang-ar .account-auth-form h2{font-size:clamp(20px,2.1vw,27px);line-height:1.6;letter-spacing:0}
.account-auth-form>label,.account-form-two label{display:block;margin-bottom:11px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.account-auth-form label>span{display:block;margin-bottom:6px;font-size:8.5px;font-weight:650;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}.lang-ar .account-auth-form label>span{letter-spacing:0;text-transform:none}
.account-auth-form input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:12px;color:var(--ink)}
.account-form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-form-two label{margin:0 0 11px}
.account-primary-btn,.account-secondary-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:11px;font-size:10.5px;font-weight:650;text-align:center;cursor:pointer;text-decoration:none}
.account-primary-btn{border:1px solid var(--ink);background:var(--ink);color:#fff}.account-secondary-btn{border:1px solid var(--line);background:#fff;color:var(--ink)}
button.account-primary-btn,button.account-secondary-btn{font-family:inherit}
.account-auth-form>.account-primary-btn{width:100%;margin-top:4px}
.account-auth-switch{margin:18px 0 0;text-align:center;font-size:10px;color:var(--muted)}.account-auth-switch a{font-weight:650;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.account-security-note{display:block;margin-top:14px;font-size:8px;line-height:1.65;text-align:center;color:#9a9189}
.account-alert{margin:0 0 14px;padding:12px 14px;border-radius:11px;font-size:10px;line-height:1.65;background:rgba(159,153,121,.15);color:#554f48}.account-alert.error{background:rgba(210,149,146,.18);color:#714c4a}.account-alert.success{background:rgba(159,153,121,.2);color:#4e513d}

.account-hero{min-height:440px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);border-bottom:1px solid var(--line);background:#fff}
.account-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:62px max(var(--page-pad),calc((100vw - var(--content))/2)) 62px max(var(--page-pad),calc((100vw - var(--content))/2));padding-right:clamp(42px,5vw,76px)}
.lang-ar .account-hero-copy{padding-left:clamp(42px,5vw,76px);padding-right:max(var(--page-pad),calc((100vw - var(--content))/2))}
.account-hero-copy h1{max-width:670px;margin:6px 0 16px;font-size:clamp(38px,4.1vw,58px);line-height:1.04;letter-spacing:-.045em;font-weight:600}.lang-ar .account-hero-copy h1{font-size:clamp(24px,2.6vw,34px);line-height:1.55;letter-spacing:0}
.account-hero-copy>p:not(.eyebrow){max-width:560px;margin:0;color:var(--muted);font-size:12.5px;line-height:1.85}.lang-ar .account-hero-copy>p:not(.eyebrow){font-size:10.5px;line-height:2}
.account-hero-media{overflow:hidden;background:var(--cream)}.account-hero-media img{width:100%;height:100%;object-fit:cover}
.account-identity{display:flex;gap:12px;align-items:baseline;margin-top:25px;padding-top:16px;border-top:1px solid var(--line);max-width:560px}.account-identity strong{font-size:12px}.account-identity span{font-size:9px;color:var(--muted)}
.account-shell{max-width:var(--content);margin:0 auto;padding:44px var(--page-pad) 92px}
.account-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.account-tabs{display:flex;gap:4px;overflow:auto;scrollbar-width:none}.account-tabs::-webkit-scrollbar{display:none}.account-tabs a{flex:0 0 auto;padding:9px 12px;border-radius:9px;font-size:9.5px;font-weight:600;color:var(--muted)}.account-tabs a.active{background:var(--ink);color:#fff}
.account-logout-btn{padding:7px 0;border:0;background:transparent;font-family:inherit;font-size:9px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.account-small-link{font-size:9.5px;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.account-stat-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px;margin-bottom:26px}.account-stat-grid article{min-height:152px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end}.account-stat-grid article>span{font-size:9px;color:var(--muted)}.account-stat-grid article>b{margin-top:auto;font-size:34px;line-height:1;font-weight:600;letter-spacing:-.04em}.account-stat-grid article>small{margin-top:8px;font-size:9px;color:var(--muted)}.account-stat-wide>b{font-size:23px!important}
.account-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.account-panel{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.account-panel+.account-panel{margin-top:14px}.account-dashboard-grid>.account-panel+.account-panel{margin-top:0}
.account-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.account-panel-head h2{margin:4px 0 0;font-size:21px;line-height:1.2;font-weight:600;letter-spacing:-.025em}.lang-ar .account-panel-head h2{font-size:15px;line-height:1.65;letter-spacing:0}.account-panel-head>a{font-size:9px;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
.account-list{border-top:1px solid var(--line)}.account-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.account-list>a:last-child{border-bottom:0}.account-list b{display:block;font-size:10.5px}.account-list small{display:block;margin-top:4px;font-size:8.5px;color:var(--muted)}
.account-status{display:inline-flex;align-items:center;width:max-content;min-height:25px;padding:0 8px;border-radius:999px;background:#f1eee9;font-size:8px;font-weight:650;color:#675f58;white-space:nowrap}.status-sent,.status-confirmed,.status-ready{background:rgba(159,153,121,.2);color:#55523f}.status-approved,.status-completed,.status-paid{background:rgba(132,162,123,.16);color:#43563e}.status-pending_review,.status-preparing,.status-reviewing{background:rgba(235,176,132,.22);color:#72563e}.status-cancelled,.status-rejected,.status-failed{background:rgba(210,149,146,.20);color:#744e4b}.status-out_for_delivery,.status-on_site_setup{background:rgba(181,165,201,.18);color:#5d516a}
.account-empty{padding:22px 0;color:var(--muted);font-size:10px}.account-empty a{font-weight:650;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.account-empty-large{max-width:650px;margin:70px auto;padding:46px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:center}.account-empty-large h1,.account-empty-large h2{margin:0 0 12px;font-size:28px}.lang-ar .account-empty-large h1,.lang-ar .account-empty-large h2{font-size:20px}.account-empty-large p{margin:0 auto 20px;max-width:480px;line-height:1.8}.account-empty-large .account-primary-btn{text-decoration:none;color:#fff}
.account-plan-card{margin-top:16px;padding:26px 28px;border-radius:18px;background:var(--peach);display:flex;align-items:center;justify-content:space-between;gap:30px}.account-plan-card h2{margin:4px 0 0;font-size:27px;line-height:1.12}.lang-ar .account-plan-card h2{font-size:18px;line-height:1.65}

.account-list-page .account-shell{padding-top:28px}.account-page-head{padding:70px max(var(--page-pad),calc((100vw - var(--content))/2)) 48px;border-bottom:1px solid var(--line);background:#fff}.account-page-head h1{margin:6px 0 12px;font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.045em;font-weight:600}.account-page-head p:not(.eyebrow){max-width:620px;margin:0;font-size:12px;line-height:1.8;color:var(--muted)}.lang-ar .account-page-head h1{font-size:clamp(25px,2.8vw,35px);line-height:1.55;letter-spacing:0}.lang-ar .account-page-head p:not(.eyebrow){font-size:10.5px;line-height:2}
.account-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-record-card{min-height:270px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column;transition:transform .22s ease,border-color .22s ease}.account-record-card:hover{transform:translateY(-3px);border-color:rgba(37,37,37,.22)}.account-record-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-record-top>span:first-child{font-size:8.5px;color:var(--muted)}.account-record-card h2{margin:auto 0 12px;font-size:22px;line-height:1.25;font-weight:600}.lang-ar .account-record-card h2{font-size:15px;line-height:1.65}.account-record-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:9px;color:var(--muted)}.account-record-total{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:18px;padding-top:13px;border-top:1px solid var(--line)}.account-record-total span{font-size:8.5px;color:var(--muted)}.account-record-total b{font-size:15px}.account-request-flag{margin-top:8px;font-size:8px;color:#8a6448}

.account-detail-head{padding:54px max(var(--page-pad),calc((100vw - var(--content))/2)) 40px;border-bottom:1px solid var(--line);background:#fff}.account-back{display:inline-block;margin-bottom:26px;font-size:9px;color:var(--muted)}.account-detail-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.account-detail-title h1{margin:4px 0;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.04em;font-weight:600}.lang-ar .account-detail-title h1{font-size:clamp(24px,2.6vw,33px);letter-spacing:0}.account-detail-head>div>p:last-child{margin:10px 0 0;font-size:10px;color:var(--muted)}
.account-detail-page .account-tabs{margin-bottom:26px}.account-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:18px;align-items:start}.account-detail-lines{border-top:1px solid var(--line)}.account-detail-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.account-detail-lines>div:last-child{border-bottom:0}.account-detail-lines b{display:block;font-size:10.5px}.account-detail-lines small{display:block;margin-top:4px;font-size:8.5px;color:var(--muted)}.account-detail-lines strong{font-size:11px}
.account-summary-card{position:sticky;top:96px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.account-summary-card>div:not(.account-summary-actions):not(.account-payment-list){display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.account-summary-card span{font-size:9px;color:var(--muted)}.account-summary-card b{font-size:10.5px}.account-summary-card .account-summary-total{padding-top:16px!important}.account-summary-card .account-summary-total strong{font-size:22px}.account-summary-deposit{background:rgba(235,176,132,.10);margin:8px -8px 0;padding:12px 8px!important;border-radius:10px;border-bottom:0!important}.account-summary-actions{display:grid;gap:8px;margin-top:16px}.account-summary-actions form{display:block}.account-summary-actions .account-primary-btn,.account-summary-actions .account-secondary-btn,.account-summary-actions form .account-primary-btn{width:100%}
.account-change-form{display:grid;gap:10px;margin-top:16px}.account-change-form textarea{min-height:120px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);font:inherit;font-size:10px;line-height:1.7;resize:vertical;outline:0}.account-change-form .account-secondary-btn{justify-self:start}.account-request-list{display:grid;gap:8px}.account-request-list>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.account-request-list p{margin:9px 0;font-size:10px;line-height:1.75;color:#5f5953}.account-request-list small,.account-muted{font-size:8.5px;color:var(--muted)}
.account-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}.account-facts>div{padding:13px;border-inline-end:1px solid var(--line)}.account-facts>div:last-child{border-inline-end:0}.account-facts span{display:block;font-size:8px;color:var(--muted)}.account-facts b{display:block;margin-top:6px;font-size:10px;line-height:1.55}
.account-progress-panel{margin-bottom:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.account-progress-track{display:grid;grid-template-columns:repeat(6,1fr);margin-top:24px}.account-progress-track>div{position:relative;text-align:center;color:#a49b92}.account-progress-track>div::before{content:"";position:absolute;top:6px;left:0;right:0;height:1px;background:var(--line)}.account-progress-track>div:first-child::before{left:50%}.account-progress-track>div:last-child::before{right:50%}.lang-ar .account-progress-track>div:first-child::before{right:50%;left:0}.lang-ar .account-progress-track>div:last-child::before{left:50%;right:0}.account-progress-track i{position:relative;z-index:2;display:block;width:13px;height:13px;margin:0 auto 10px;border:3px solid #fff;border-radius:50%;background:#ddd;box-shadow:0 0 0 1px #ddd}.account-progress-track span{font-size:8px;line-height:1.4}.account-progress-track .done{color:var(--ink)}.account-progress-track .done::before{background:var(--olive)}.account-progress-track .done i{background:var(--olive);box-shadow:0 0 0 1px var(--olive)}.account-progress-track .current span{font-weight:700}
.account-history{display:grid;gap:0}.account-history>div{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;padding:0 0 16px}.account-history i{width:9px;height:9px;margin-top:3px;border-radius:50%;background:var(--olive)}.account-history b{font-size:10px}.account-history p{margin:5px 0;font-size:9px;color:var(--muted)}.account-history small{font-size:8px;color:#9b928a}.account-payment-list{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.account-payment-list>div{display:flex;justify-content:space-between;padding:6px 0}.account-payment-list span{font-size:8px}.account-payment-list b{font-size:9px}

@media(max-width:1100px){.account-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}.account-hero{grid-template-columns:1fr 360px}}
@media(max-width:899px){.account-header-link{display:inline-flex;width:36px;height:36px}.account-header-icon{width:23px;height:23px}.account-auth-shell{grid-template-columns:1fr;min-height:0}.account-auth-media{min-height:420px;height:55vw;max-height:540px}.account-auth-form-wrap{padding:52px var(--page-pad) 72px}.account-hero{grid-template-columns:1fr}.account-hero-media{height:380px;order:1}.account-hero-copy{order:2;padding:44px var(--page-pad)}.lang-ar .account-hero-copy{padding:44px var(--page-pad)}.account-dashboard-grid{grid-template-columns:1fr}.account-detail-grid{grid-template-columns:1fr}.account-summary-card{position:static}.account-progress-track span{font-size:7px}}
@media(max-width:640px){.account-auth-media{min-height:330px;height:92vw}.account-auth-media>div{left:20px;right:20px;bottom:28px}.account-auth-media h1{font-size:34px}.lang-ar .account-auth-media h1{font-size:21px}.account-auth-form-wrap{padding:38px 20px 56px}.account-form-two{grid-template-columns:1fr}.account-stat-grid{grid-template-columns:1fr 1fr}.account-stat-wide{grid-column:1/-1}.account-stat-grid article{min-height:128px}.account-stat-grid article>b{font-size:28px}.account-shell{padding:28px 20px 66px}.account-topline{align-items:flex-start;flex-direction:column;gap:12px}.account-tabs{width:100%}.account-plan-card{align-items:flex-start;flex-direction:column;padding:20px}.account-record-grid{grid-template-columns:1fr}.account-record-card{min-height:220px}.account-page-head{padding:44px 20px 34px}.account-detail-head{padding:38px 20px 32px}.account-detail-title h1{font-size:30px}.account-facts{grid-template-columns:1fr 1fr}.account-facts>div:nth-child(2){border-inline-end:0}.account-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.account-progress-panel{overflow:hidden}.account-progress-track{grid-template-columns:1fr;gap:0;margin-top:14px}.account-progress-track>div{min-height:44px;display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start;text-align:start}.account-progress-track>div::before{top:0;bottom:0;left:6px!important;right:auto!important;width:1px;height:auto}.lang-ar .account-progress-track>div::before{right:6px!important;left:auto!important}.account-progress-track>div:first-child::before{top:7px}.account-progress-track>div:last-child::before{bottom:31px}.account-progress-track i{margin:1px 0 0}.account-progress-track span{font-size:9px}.account-detail-lines>div{grid-template-columns:1fr auto}.account-panel{padding:16px}.account-summary-card{padding:16px}}
.account-admin-reply{padding-top:8px;border-top:1px solid var(--line);color:var(--ink)!important}.account-admin-reply b{display:inline;font-size:9px}


/* 2026-09-28 final responsive/readability refinements */
.footer-welcome{max-width:360px!important;color:#4f4943!important}
.footer-social.is-fallback{opacity:.72}
@media(max-width:767px){
  body.lang-ar{font-size:12.5px;line-height:1.82}
  .lang-ar .eyebrow{font-size:9.75px}
  .lang-ar .public-hero-copy>p:not(.eyebrow),
  .lang-ar .public-section-title p:not(.eyebrow),
  .lang-ar .public-copy p,
  .lang-ar .legal-intro p,
  .lang-ar .legal-item p,
  .lang-ar .account-auth-media p:not(.eyebrow),
  .lang-ar .account-page-head p:not(.eyebrow),
  .lang-ar .account-hero-copy>p:not(.eyebrow){font-size:11.5px}
  .menu-catalog{scroll-margin-top:76px}
}
@media(max-width:390px){
  .account-header-link{width:34px;height:34px}
  .account-header-icon{width:22px;height:22px}
}


/* Auth pages — form-only layout */
.account-auth-shell.account-auth-only{
  min-height:calc(100vh - 76px);
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--paper);
}
.account-auth-only .account-auth-form-wrap{
  width:100%;
  min-height:calc(100vh - 76px);
  padding:72px var(--page-pad);
  background:transparent;
}
.account-auth-only .account-auth-form{
  width:min(520px,100%);
  padding:34px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 60px rgba(37,37,37,.055);
}
.account-auth-register.account-auth-only .account-auth-form{width:min(620px,100%)}
@media(max-width:899px){
  .account-auth-shell.account-auth-only{min-height:calc(100vh - 66px)}
  .account-auth-only .account-auth-form-wrap{min-height:calc(100vh - 66px);padding:48px var(--page-pad) 64px}
}
@media(max-width:640px){
  .account-auth-only .account-auth-form-wrap{padding:28px 16px 48px}
  .account-auth-only .account-auth-form{padding:24px 18px;border-radius:18px;box-shadow:none}
}

/* Account recovery */
.account-auth-help{margin:-2px 2px 15px;text-align:end}
.account-auth-help a{font-size:9.5px;font-weight:650;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .18s ease}
.account-auth-help a:hover,.account-auth-help a:focus-visible{color:var(--olive)}
.account-auth-intro{margin:-13px 0 23px;color:var(--muted);font-size:10.5px;line-height:1.8}
.lang-ar .account-auth-intro{font-size:11.5px;line-height:1.9}
.account-auth-back{margin:18px 0 0;text-align:center;font-size:10px;color:var(--muted)}
.account-auth-back a{font-weight:650;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){
  .account-auth-help a{font-size:10px}
  .account-auth-intro{font-size:11px}
  .lang-ar .account-auth-intro{font-size:12px}
}

/* Menu AJAX + multi-product event selection refinements */
.menu-product-plus{
  right:12px;
  bottom:12px;
  display:block;
  width:38px;
  height:38px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.1);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
  font-size:0;
  line-height:0;
}
.lang-ar .menu-product-plus{right:auto;left:12px}
.menu-product-plus::before,.menu-product-plus::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:14px;
  height:1.5px;
  border-radius:999px;
  background:var(--ink);
  transform:translate(-50%,-50%);
}
.menu-product-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.menu-product-card:hover .menu-product-plus{transform:rotate(90deg);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.menu-results{transition:opacity .18s ease,transform .18s ease}
.menu-results.is-loading{opacity:.42;transform:translateY(3px);pointer-events:none}
.menu-added-notice{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(132,162,123,.25);border-radius:12px;background:rgba(132,162,123,.10);font-size:10.5px;line-height:1.65;color:#465540}
.lang-ar .menu-added-notice{font-size:11.5px;line-height:1.9}
.menu-event-selection{position:sticky;bottom:18px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px auto 0;padding:12px 14px 12px 18px;border:1px solid rgba(37,37,37,.12);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(37,37,37,.12);backdrop-filter:blur(14px)}
.menu-event-selection>div{min-width:0}.menu-event-selection span{display:block;margin-bottom:3px;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.menu-event-selection b{display:block;font-size:11px;font-weight:650}.lang-ar .menu-event-selection span{text-transform:none;letter-spacing:0}.lang-ar .menu-event-selection b{font-size:11.5px}
.menu-event-selection .btn{flex:0 0 auto;min-height:42px;padding:0 16px}
.product-event-add{margin:0}.product-event-add .product-book{width:100%}
@media(max-width:640px){
  .menu-product-plus{width:36px;height:36px}
  .menu-product-plus::before,.menu-product-plus::after{width:13px}
  .menu-event-selection{bottom:10px;align-items:stretch;flex-direction:column;gap:10px;padding:12px;border-radius:14px}
  .menu-event-selection .btn{width:100%}
}

/* ========================================================================== */
/* 2026-09-29 commerce + booking refinement                                 */
/* ========================================================================== */
body.cart-open{overflow:hidden}
.lang-ar{font-size:13px;line-height:1.82}
.lang-ar .eyebrow{font-size:10.5px}
.lang-ar .nav a{font-size:11.5px}.lang-ar .book{font-size:11px}.lang-ar .btn,.lang-ar .text-link{font-size:11.5px}

/* Header commerce actions */
.account-header-link,.cart-header-button{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background .2s ease,transform .2s var(--ease)}
.account-header-link:hover,.cart-header-button:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}
.account-header-icon,.cart-header-button>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.cart-header-badge{position:absolute;top:-4px;inset-inline-end:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--paper);border-radius:999px;background:var(--peach);color:var(--ink);font-size:8px;font-weight:700;line-height:1}
.cart-header-badge.is-empty{display:none}
.mobile-nav button{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:start;font-weight:600;cursor:pointer}

/* Global cart drawer */
.cart-overlay{position:fixed;inset:0;z-index:200;pointer-events:none}
.cart-overlay[hidden]{display:none!important}.cart-overlay.is-open{pointer-events:auto}
.cart-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(28,24,21,.36);opacity:0;backdrop-filter:blur(2px);transition:opacity .26s ease;cursor:default}
.cart-overlay.is-open .cart-backdrop{opacity:1}
.cart-drawer{position:absolute;top:0;right:0;width:min(460px,94vw);height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fffaf7;box-shadow:-22px 0 60px rgba(26,22,19,.15);transform:translateX(103%);transition:transform .3s var(--ease);outline:0}
.lang-ar .cart-drawer{right:auto;left:0;transform:translateX(-103%);box-shadow:22px 0 60px rgba(26,22,19,.15)}
.cart-overlay.is-open .cart-drawer{transform:none}
.cart-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:27px 26px 21px;border-bottom:1px solid var(--line)}
.cart-drawer-head span{display:block;margin-bottom:5px;font-size:9px;font-weight:700;letter-spacing:.13em;color:#8b8178;text-transform:uppercase}.lang-ar .cart-drawer-head span{font-size:10px;letter-spacing:0;text-transform:none}
.cart-drawer-head h2{margin:0;font-size:26px;line-height:1.18;font-weight:600;letter-spacing:-.03em}.lang-ar .cart-drawer-head h2{font-size:21px;letter-spacing:0}
.cart-close{width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:24px;line-height:1;cursor:pointer}
.cart-lines{overflow:auto;padding:8px 24px 24px;overscroll-behavior:contain}
.cart-line{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.cart-line-image{width:84px;height:86px;overflow:hidden;border-radius:13px;background:var(--cream)}.cart-line-image img{width:100%;height:100%;object-fit:cover}
.cart-line-main{min-width:0}.cart-line-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cart-line-head a{display:block;font-size:13px;font-weight:650;line-height:1.45}.lang-ar .cart-line-head a{font-size:13.5px}.cart-line-head small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.lang-ar .cart-line-head small{font-size:10px}
.cart-line-head button{flex:none;width:28px;height:28px;border:0;border-radius:999px;background:transparent;color:#827970;font-size:19px;cursor:pointer}.cart-line-head button:hover{background:rgba(37,37,37,.06);color:var(--ink)}
.cart-line-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:13px}.cart-qty,.product-qty-control,.qty-control{display:grid;grid-template-columns:34px 50px 34px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#fff}.cart-qty button,.product-qty-control button,.qty-control button{height:34px;padding:0;border:0;background:transparent;font-size:18px;cursor:pointer}.cart-qty input,.product-qty-control input,.qty-control input{width:100%;height:34px;padding:0;border:0;border-inline:1px solid var(--line);outline:0;background:transparent;text-align:center;font-size:11px;font-weight:650;-moz-appearance:textfield}.cart-qty input::-webkit-inner-spin-button,.product-qty-control input::-webkit-inner-spin-button,.qty-control input::-webkit-inner-spin-button{appearance:none;margin:0}
.cart-line-price{text-align:end}.cart-line-price small{display:block;color:var(--muted);font-size:8.5px}.cart-line-price b{display:block;margin-top:2px;font-size:12px}.lang-ar .cart-line-price small{font-size:9.5px}.lang-ar .cart-line-price b{font-size:13px}
.cart-line-error,.product-quantity-error{margin:8px 0 0;color:#a13b36;font-size:9px}.lang-ar .cart-line-error,.lang-ar .product-quantity-error{font-size:10px}
.cart-empty{display:grid;place-items:center;text-align:center;min-height:410px;padding:38px 20px}.cart-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:18px;border:1px solid var(--line);border-radius:999px;font-size:32px;color:#aea59c}.cart-empty h3{margin:0 0 8px;font-size:22px}.cart-empty p{max-width:280px;margin:0;color:var(--muted);font-size:11px}.cart-browse{margin-top:22px;padding-bottom:3px;border-bottom:1px solid currentColor;font-size:11px;font-weight:650}
.cart-drawer-foot{padding:20px 24px 26px;border-top:1px solid var(--line);background:rgba(255,255,255,.68)}.cart-drawer-foot.is-empty{display:none}.cart-subtotal{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.cart-subtotal span{font-size:10px;color:var(--muted)}.cart-subtotal b{font-size:18px}
.cart-continue{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-radius:12px;background:var(--ink);color:#fff;font-size:11px;font-weight:650}.lang-ar .cart-continue{font-size:12px}.cart-drawer-foot>small{display:block;margin-top:10px;color:var(--muted);font-size:8.5px;line-height:1.65}.lang-ar .cart-drawer-foot>small{font-size:9.5px}
.cart-toast{position:fixed;z-index:260;left:50%;bottom:26px;max-width:min(420px,calc(100vw - 32px));padding:12px 18px;border:1px solid rgba(37,37,37,.1);border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 12px 36px rgba(0,0,0,.16);font-size:10.5px;font-weight:600;opacity:0;transform:translate(-50%,12px);transition:opacity .22s ease,transform .22s ease}.cart-toast.show{opacity:1;transform:translate(-50%,0)}.cart-toast.error{background:#913d37}

/* Menu: stronger hierarchy + correct LTR / RTL search placement */
.lang-en .menu-tools{justify-content:flex-start}.lang-ar .menu-tools{justify-content:flex-end}
.menu-search{grid-template-columns:minmax(260px,430px) 94px}.menu-search input{font-size:13px}.menu-search button{font-size:11px}.lang-ar .menu-search input{font-size:12.5px}.lang-ar .menu-search button{font-size:11px}
.menu-product-media{display:block}.menu-product-image-link{position:absolute;inset:0;display:block}.menu-product-image-link>img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.menu-product-card:hover .menu-product-image-link>img{transform:scale(1.025)}
.menu-product-plus{border:0;cursor:pointer;z-index:3}.menu-product-plus::before{content:'+';display:block}.menu-product-plus.is-loading::before{content:'…'}.menu-product-plus.is-added::before{content:'✓';font-size:17px}.menu-product-plus-link::before{content:'↗';font-size:16px}.lang-ar .menu-product-plus-link::before{content:'↖'}
.menu-product-body h3 a{display:block}.menu-card-pricing{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.menu-card-pricing>div{display:flex;flex-direction:column;gap:3px}.menu-card-pricing span,.menu-card-pricing small{color:var(--muted);font-size:9px}.menu-card-pricing b{font-size:13px}.lang-ar .menu-card-pricing span,.lang-ar .menu-card-pricing small{font-size:10px}.lang-ar .menu-card-pricing b{font-size:13.5px}
.lang-ar .menu-product-meta{font-size:9.8px}.lang-ar .menu-product-body h3{font-size:16px;line-height:1.55}.lang-ar .menu-product-body>p{font-size:10.8px;line-height:1.9}.lang-ar .menu-category-pill{font-size:10.5px}.lang-ar .menu-filter-summary{font-size:10.5px}
.menu-results.is-loading{opacity:.45;pointer-events:none;transition:opacity .18s ease}

/* Product detail: editorial gallery + smart quantity panel */
.product-detail-page{padding-top:0;background:var(--paper)}
.product-detail-hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);padding-top:76px;background:var(--paper)}
.product-detail-gallery{min-width:0;padding:0 0 34px;background:#efe3d6;display:flex;flex-direction:column}.product-gallery-stage{position:relative;min-height:0;flex:1;overflow:hidden;background:#eee0d2}.product-main-image{width:100%;height:100%;min-height:660px;object-fit:cover;transition:opacity .12s ease}.product-main-image.is-changing{opacity:.45}
.product-gallery-arrow{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin-top:-22px;border:1px solid rgba(37,37,37,.12);border-radius:999px;background:rgba(255,255,255,.9);font-size:28px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}.product-gallery-arrow.prev{left:18px}.product-gallery-arrow.next{right:18px}.product-gallery-count{position:absolute;right:18px;bottom:18px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.86);font-size:9px;font-weight:650;backdrop-filter:blur(8px)}.lang-ar .product-gallery-count{right:auto;left:18px}
.product-thumb-row{display:flex;gap:10px;overflow-x:auto;padding:14px 18px 0;scrollbar-width:none;scroll-snap-type:x proximity}.product-thumb-row::-webkit-scrollbar{display:none}.product-thumb{flex:0 0 72px;width:72px;height:72px;padding:0;overflow:hidden;border:1px solid transparent;border-radius:11px;background:#fff;opacity:.66;cursor:pointer;scroll-snap-align:center;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb.active{opacity:1;border-color:var(--ink);transform:translateY(-2px)}
.product-detail-copy{display:flex;flex-direction:column;justify-content:center;padding:64px clamp(38px,5vw,86px);background:var(--paper)}.product-back{width:max-content;margin-bottom:36px;padding-bottom:4px;border-bottom:1px solid rgba(37,37,37,.45);font-size:10px;color:var(--muted)}.product-category-label{margin-bottom:10px}.product-detail-copy h1{max-width:670px;margin:0;font-size:clamp(48px,5vw,76px);line-height:.98;letter-spacing:-.055em;font-weight:600}.lang-ar .product-detail-copy h1{font-size:clamp(28px,3.2vw,44px);line-height:1.45;letter-spacing:0}.product-detail-description{max-width:600px;margin:22px 0 0;color:var(--muted);font-size:13px;line-height:1.85}.lang-ar .product-detail-description{font-size:12px;line-height:2}
.product-order-panel{margin-top:34px;border-top:1px solid var(--line);padding-top:22px}.product-minimum{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:0 16px;border:1px solid var(--line);border-radius:13px;background:#fff}.product-minimum span{font-size:10px;color:var(--muted)}.product-minimum b{font-size:16px}.lang-ar .product-minimum span{font-size:11px}
.product-live-price{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.product-live-price>div{min-height:76px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff}.product-live-price span{display:block;margin-bottom:5px;font-size:8.5px;color:var(--muted)}.product-live-price b,.product-live-price strong{font-size:16px}.product-live-price strong{font-size:20px}.lang-ar .product-live-price span{font-size:10px}
.product-tier-note{margin-top:12px;padding:12px 2px}.product-tier-note>span{display:block;margin-bottom:8px;color:var(--muted);font-size:9px}.lang-ar .product-tier-note>span{font-size:10px}.product-tier-pills{display:flex;gap:7px;flex-wrap:wrap}.product-tier-pills small{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:8px}.lang-ar .product-tier-pills small{font-size:9px}
.product-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:9px;padding:17px 0;border-top:1px solid var(--line)}.product-quantity-row>div:first-child>span{display:block;font-size:11px;font-weight:650}.product-quantity-row>div:first-child>small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px}.lang-ar .product-quantity-row>div:first-child>span{font-size:12px}.lang-ar .product-quantity-row>div:first-child>small{font-size:9.5px}.product-qty-control{grid-template-columns:42px 64px 42px}.product-qty-control button,.product-qty-control input{height:42px}.product-book{width:100%;margin-top:10px;min-height:56px}.product-book.is-loading{opacity:.6;pointer-events:none}
.product-not-found{min-height:75vh;display:grid;place-items:center;align-content:center;gap:22px;padding-top:100px;text-align:center}

/* Full-page menu editor / fallback */
.booking-product-row{display:grid;grid-template-columns:minmax(150px,.75fr) auto minmax(180px,1fr);align-items:center;gap:12px;padding:14px;border-top:1px solid var(--line);background:#fff}.booking-product-row.selected{background:#fffaf3}.booking-product-price{min-width:0}.booking-product-price>span,.booking-product-price>small{display:block;color:var(--muted);font-size:8.5px}.booking-product-price>b{display:block;margin:2px 0;font-size:12px}.lang-ar .booking-product-price>span,.lang-ar .booking-product-price>small{font-size:9.5px}.booking-item-note{width:100%;min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:10px}.booking-product-qty{grid-template-columns:34px 48px 34px}

/* Improved functional Arabic sizing */
.lang-ar .booking-field label{font-size:10.5px}.lang-ar .booking-field input,.lang-ar .booking-field select,.lang-ar .booking-field textarea{font-size:13px}.lang-ar .booking-form-intro>p:not(.eyebrow){font-size:12px}.lang-ar .page-hero-copy>p:not(.eyebrow){font-size:12px}.lang-ar .menu-catalog-head>p{font-size:12px}.lang-ar .menu-catalog-head h2{font-size:clamp(25px,2.5vw,34px)}

@media(max-width:1099px){
  .account-header-link,.cart-header-button{background:rgba(255,255,255,.16)}
  .product-detail-hero{grid-template-columns:1fr 1fr}.product-main-image{min-height:590px}.product-detail-copy{padding:50px 32px}.product-detail-copy h1{font-size:clamp(38px,5vw,56px)}
}
@media(max-width:767px){
  .lang-ar{font-size:13px}.site-header{height:68px}.actions{gap:8px}.account-header-link,.cart-header-button{width:34px;height:34px}.account-header-icon,.cart-header-button>svg{width:18px;height:18px}.cart-header-badge{top:-5px;inset-inline-end:-5px}
  .cart-drawer{width:100vw}.cart-drawer-head{padding:21px 18px 16px}.cart-lines{padding:4px 18px 18px}.cart-line{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:15px 0}.cart-line-image{width:72px;height:76px}.cart-line-bottom{align-items:center}.cart-qty{grid-template-columns:32px 45px 32px}.cart-drawer-foot{padding:16px 18px 20px}.cart-toast{bottom:18px}
  .menu-tools{justify-content:stretch!important}.menu-search{width:100%;grid-template-columns:minmax(0,1fr) 82px}.menu-search input{height:50px}.menu-catalog{padding-top:62px}.menu-product-image-link{position:absolute}.lang-ar .menu-product-body h3{font-size:16px}.lang-ar .menu-product-body>p{font-size:11px}.menu-card-pricing{align-items:center}
  .product-detail-hero{display:flex;flex-direction:column;padding-top:68px;min-height:0}.product-detail-gallery{order:1;padding-bottom:14px}.product-gallery-stage{aspect-ratio:1/1.08}.product-main-image{min-height:0;height:100%}.product-gallery-arrow{width:40px;height:40px}.product-gallery-arrow.prev{left:12px}.product-gallery-arrow.next{right:12px}.product-gallery-count{right:12px;bottom:12px}.lang-ar .product-gallery-count{left:12px}.product-thumb-row{padding:10px 12px 0}.product-thumb{flex-basis:62px;width:62px;height:62px}
  .product-detail-copy{order:2;padding:35px 20px 58px}.product-back{margin-bottom:25px}.product-detail-copy h1{font-size:38px}.lang-ar .product-detail-copy h1{font-size:27px}.product-detail-description{font-size:12px}.lang-ar .product-detail-description{font-size:12px}.product-order-panel{margin-top:26px}.product-live-price{grid-template-columns:1fr}.product-quantity-row{align-items:flex-end}.product-qty-control{grid-template-columns:38px 58px 38px}
  .booking-product-row{grid-template-columns:1fr auto}.booking-item-note{grid-column:1/-1}.booking-product-qty{grid-template-columns:32px 44px 32px}
}

/* Contact page — reference-inspired, Mini's identity */
.contact-page-new{padding:138px max(var(--page-pad),calc((100vw - var(--content))/2)) 110px;background:linear-gradient(180deg,#fffaf5 0%,#fff 44%,#fffaf5 100%)}
.contact-page-head{max-width:760px;margin:0 0 42px}.contact-page-head h1{margin:0;font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.05em;font-weight:600}.contact-page-head>p:last-child{max-width:650px;margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.85}.lang-ar .contact-page-head h1{font-size:clamp(28px,3.3vw,44px);line-height:1.5;letter-spacing:0}.lang-ar .contact-page-head>p:last-child{font-size:12px;line-height:2}
.contact-reference-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:18px;align-items:stretch;direction:ltr}.lang-ar .contact-reference-layout{direction:ltr}.contact-form-card,.contact-details-card{direction:ltr;padding:30px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 20px 60px rgba(37,37,37,.035)}.lang-ar .contact-form-card,.lang-ar .contact-details-card{direction:rtl}
.contact-card-heading{margin-bottom:24px}.contact-card-heading .eyebrow{margin-bottom:7px;color:#b67d42}.contact-card-heading h2{margin:0;font-size:26px;line-height:1.25;font-weight:650;letter-spacing:-.025em}.lang-ar .contact-card-heading h2{font-size:21px;line-height:1.55;letter-spacing:0}
.contact-status-new{margin:0 0 15px;padding:12px 14px;border:1px solid rgba(58,126,88,.22);border-radius:12px;background:rgba(58,126,88,.08);font-size:10px;color:#28583c}.contact-status-new.error{border-color:rgba(145,61,55,.22);background:rgba(145,61,55,.07);color:#913d37}.lang-ar .contact-status-new{font-size:11px}
.contact-form-new{display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact-input{display:block}.contact-input>span{display:block;margin:0 0 6px;font-size:9px;font-weight:650;color:#665f58}.contact-input>span small{font-weight:400;color:#9b938c}.lang-ar .contact-input>span{font-size:10.5px}.contact-input input,.contact-input select,.contact-input textarea{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:0;font-size:12px;transition:border-color .18s ease,box-shadow .18s ease}.lang-ar .contact-input input,.lang-ar .contact-input select,.lang-ar .contact-input textarea{font-size:12.5px}.contact-input textarea{min-height:126px;padding-top:13px;resize:vertical}.contact-input input:focus,.contact-input select:focus,.contact-input textarea:focus{border-color:rgba(37,37,37,.38);box-shadow:0 0 0 3px rgba(235,176,132,.13)}.contact-input-wide{grid-column:1/-1}.contact-event-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:14px;border:1px dashed rgba(37,37,37,.15);border-radius:14px;background:#fffaf7}.contact-event-fields[hidden]{display:none}
.contact-submit-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:3px}.contact-submit-row>small{max-width:420px;color:var(--muted);font-size:8.5px;line-height:1.65}.lang-ar .contact-submit-row>small{font-size:9.5px}.contact-submit-new{min-width:154px;min-height:50px;padding:0 20px;border:0;border-radius:11px;background:var(--peach);color:var(--ink);font-size:10.5px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(235,176,132,.23);transition:transform .2s var(--ease),opacity .2s ease}.contact-submit-new:hover{transform:translateY(-1px)}.contact-submit-new:disabled{opacity:.55;cursor:wait}.lang-ar .contact-submit-new{font-size:11.5px}
.contact-details-card{display:flex;flex-direction:column}.contact-detail-list{display:grid;gap:9px}.contact-detail-item{display:flex;align-items:center;gap:13px;min-height:70px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:transform .2s var(--ease),border-color .2s ease}.contact-detail-item[href]:hover{transform:translateY(-1px);border-color:rgba(37,37,37,.25)}.contact-detail-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff7ee;color:#c08346;font-size:16px}.contact-detail-item div{min-width:0}.contact-detail-item b{display:block;font-size:13px;line-height:1.35}.contact-detail-item small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5;overflow-wrap:anywhere}.lang-ar .contact-detail-item b{font-size:14px}.lang-ar .contact-detail-item small{font-size:10px}.contact-hours{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.contact-hours b{font-size:13px}.contact-hours p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.85}.lang-ar .contact-hours b{font-size:14px}.lang-ar .contact-hours p{font-size:11px}
@media(max-width:899px){.contact-page-new{padding-top:110px}.contact-reference-layout{grid-template-columns:1fr}.contact-details-card{order:2}}
@media(max-width:767px){.contact-page-new{padding:96px 20px 72px}.contact-page-head{margin-bottom:28px}.contact-page-head h1{font-size:36px}.lang-ar .contact-page-head h1{font-size:27px}.contact-form-card,.contact-details-card{padding:20px 16px;border-radius:17px}.contact-form-new,.contact-event-fields{grid-template-columns:1fr}.contact-input-wide{grid-column:1}.contact-submit-row{flex-direction:column;align-items:stretch}.contact-submit-new{width:100%}.contact-submit-row>small{order:2}.contact-detail-item{min-height:66px}}
/* Solid sticky header compatibility for commerce controls */
.account-header-link,.cart-header-button{color:var(--ink);background:rgba(37,37,37,.045)}
.account-header-link:hover,.cart-header-button:hover{background:rgba(37,37,37,.085)}
.product-detail-hero{padding-top:0}
@media(max-width:1099px){.account-header-link,.cart-header-button{background:rgba(37,37,37,.045)}}
@media(max-width:767px){.product-detail-hero{padding-top:0}}

/* Smart public booking calendar */
.booking-date-field{padding:18px}.booking-date-native.is-enhanced{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.smart-calendar{margin-top:4px;padding:16px;border:1px solid rgba(37,37,37,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(250,245,239,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.smart-calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:12px;margin-bottom:15px}.smart-calendar-head>div{text-align:center}.smart-calendar-head span{display:block;color:var(--muted);font-size:8.5px}.smart-calendar-head b{display:block;margin-top:2px;font-size:15px;text-transform:capitalize}.lang-ar .smart-calendar-head span{font-size:9.5px}.lang-ar .smart-calendar-head b{font-size:14px}.smart-calendar-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.85);font-size:21px;cursor:pointer}.smart-calendar-head button:disabled{opacity:.25;cursor:not-allowed}
.smart-calendar-weekdays,.smart-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.smart-calendar-weekdays{margin-bottom:7px}.smart-calendar-weekdays span{text-align:center;color:#8e857d;font-size:8px;font-weight:650;text-transform:uppercase}.lang-ar .smart-calendar-weekdays span{font-size:9px;text-transform:none}
.smart-calendar-day,.smart-calendar-empty{aspect-ratio:1.24/1;min-height:44px}.smart-calendar-day{position:relative;display:grid;place-items:center;border:1px solid transparent;border-radius:11px;background:rgba(255,255,255,.76);font-size:10px;font-weight:600;cursor:pointer;transition:transform .18s var(--ease),background .18s ease,border-color .18s ease}.smart-calendar-day:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(37,37,37,.18)}.smart-calendar-day.today::after{content:'';position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--peach)}.smart-calendar-day.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.smart-calendar-day.selected::after{background:var(--peach)}.smart-calendar-day:disabled{background:rgba(37,37,37,.035);color:#c0b8b0;text-decoration:line-through;cursor:not-allowed}.lang-ar .smart-calendar-day{font-size:11px}
.smart-calendar-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:7.5px}.lang-ar .smart-calendar-foot{font-size:9px}.smart-calendar-foot strong{margin-inline-start:auto;color:var(--ink);font-size:9px}.lang-ar .smart-calendar-foot strong{font-size:10px}.calendar-dot{width:7px;height:7px;border-radius:50%;background:#fff;border:1px solid var(--line)}.calendar-dot.selected{background:var(--ink);border-color:var(--ink)}.calendar-dot.unavailable{background:#ded8d1;border-color:#ded8d1}
.booking-time-field{display:flex;flex-direction:column}.booking-time-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.booking-time-quick button{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:8px;cursor:pointer}.booking-time-quick button.active{background:var(--ink);border-color:var(--ink);color:#fff}.lang-ar .booking-time-quick button{font-size:9px}
@media(max-width:767px){.booking-date-field{padding:12px}.smart-calendar{padding:10px;border-radius:15px}.smart-calendar-day,.smart-calendar-empty{min-height:38px;aspect-ratio:1/1}.smart-calendar-weekdays,.smart-calendar-grid{gap:4px}.smart-calendar-head{grid-template-columns:36px 1fr 36px}.smart-calendar-head button{width:36px;height:36px}.smart-calendar-foot strong{width:100%;margin-inline-start:0;margin-top:3px}}

/* Readability pass — keep functional labels comfortably legible */
.cart-drawer-head span{font-size:10px}.lang-ar .cart-drawer-head span{font-size:11px}
.cart-line-head small{font-size:10px}.lang-ar .cart-line-head small{font-size:11px}
.cart-line-price small{font-size:9.5px}.lang-ar .cart-line-price small{font-size:10.5px}
.cart-drawer-foot>small{font-size:9.5px}.lang-ar .cart-drawer-foot>small{font-size:10.5px}
.menu-card-pricing span,.menu-card-pricing small{font-size:10px}.lang-ar .menu-card-pricing span,.lang-ar .menu-card-pricing small{font-size:10.5px}
.contact-input>span{font-size:10px}.lang-ar .contact-input>span{font-size:11px}
.contact-submit-row>small{font-size:9.5px}.lang-ar .contact-submit-row>small{font-size:10px}
.contact-detail-item small{font-size:10px}.lang-ar .contact-detail-item small{font-size:10.5px}
.smart-calendar-head span{font-size:9px}.lang-ar .smart-calendar-head span{font-size:10px}
.smart-calendar-weekdays span{font-size:9px}.lang-ar .smart-calendar-weekdays span{font-size:10px}
.smart-calendar-foot{font-size:8.5px}.lang-ar .smart-calendar-foot{font-size:9.5px}
.booking-time-quick button{font-size:9px}.lang-ar .booking-time-quick button{font-size:10px}
.contact-detail-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Contact stays close to the supplied two-card reference rather than reading like a second hero. */
.contact-page-new{padding-top:112px}
.contact-page-head{max-width:690px;margin-bottom:28px}
.contact-page-head h1{font-size:clamp(34px,3.5vw,48px);line-height:1.08}
.lang-ar .contact-page-head h1{font-size:clamp(25px,2.6vw,35px);line-height:1.55}
.contact-page-head>p:last-child{margin-top:12px;font-size:12px}
@media(max-width:899px){.contact-page-new{padding-top:96px}}
@media(max-width:767px){.contact-page-new{padding-top:88px}.contact-page-head{margin-bottom:22px}.contact-page-head h1{font-size:31px}.lang-ar .contact-page-head h1{font-size:24px}}

/* ========================================================================== */
/* 2026-09-29 option-based ordering + always-visible header fixes             */
/* ========================================================================== */
body{padding-top:76px}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:180;
  width:100%;
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(14px) saturate(1.06);
  backdrop-filter:blur(14px) saturate(1.06);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 28px rgba(37,37,37,.045);
}
.menu-category-rail{top:76px}
.booking-category-nav{top:88px}
.booking-form-intro,.booking-step-intro{top:98px}
.review-summary,.checkout-summary-card{top:96px}

/* Clean + icon: one glyph only, no overlapping pseudo-element bars. */
.menu-product-plus{
  display:grid;
  place-items:center;
  overflow:hidden;
  transform:none!important;
  font-size:0!important;
  line-height:1;
}
.menu-product-plus::before{
  content:'+';
  position:static;
  display:block;
  width:auto;
  height:auto;
  background:none;
  border-radius:0;
  transform:none;
  font-family:Arial,sans-serif;
  font-size:25px;
  font-weight:300;
  line-height:1;
  color:var(--ink);
}
.menu-product-plus::after{content:none!important;display:none!important}
.menu-product-plus:hover{transform:scale(1.055)!important;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.menu-product-plus.is-loading::before{content:'…';font-size:22px}
.menu-product-plus.is-added::before{content:'✓';font-size:17px;font-weight:600}
.menu-product-plus-link::before{content:'↗';font-size:16px}.lang-ar .menu-product-plus-link::before{content:'↖'}

/* Product page: choose only admin-defined quantities (e.g. 20 / 40). */
.product-detail-hero{min-height:calc(100vh - 76px);padding-top:0}
.product-detail-copy{justify-content:flex-start;padding:54px clamp(38px,5vw,78px) 50px;overflow:visible}
.product-detail-copy .product-back{margin-bottom:24px}
.product-detail-copy h1{font-size:clamp(46px,4.6vw,70px)}
.product-order-panel{margin-top:26px}
.product-option-picker{margin-top:14px;padding-top:18px;border-top:1px solid var(--line)}
.product-option-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.product-option-heading span{display:block;font-size:11px;font-weight:700}
.product-option-heading small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.55}
.lang-ar .product-option-heading span{font-size:12px}.lang-ar .product-option-heading small{font-size:9.5px}
.product-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product-option-card{position:relative;min-height:104px;padding:14px;text-align:start;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.product-option-card:hover{transform:translateY(-1px);border-color:rgba(37,37,37,.28)}
.product-option-card.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;background:#fffdfa}
.product-option-card.active::after{content:'✓';position:absolute;top:10px;inset-inline-end:10px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px;font-weight:700}
.product-option-card span{display:block;padding-inline-end:24px;color:var(--muted);font-size:8.5px;line-height:1.4}
.product-option-card b{display:block;margin-top:8px;font-size:16px;line-height:1.2}
.product-option-card strong{display:block;margin-top:8px;font-size:12px;line-height:1.2}
.lang-ar .product-option-card span{font-size:9.5px}.lang-ar .product-option-card b{font-size:15px}.lang-ar .product-option-card strong{font-size:12px}
.product-selected-price{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.product-selected-price>div{min-height:70px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}
.product-selected-price span{display:block;color:var(--muted);font-size:8.5px}.product-selected-price b,.product-selected-price strong{display:block;margin-top:6px;font-size:15px;line-height:1.25}
.lang-ar .product-selected-price span{font-size:9.5px}.lang-ar .product-selected-price b,.lang-ar .product-selected-price strong{font-size:14px}
.product-add-cart{max-width:none!important;width:100%!important;min-height:58px!important;margin-top:14px!important;padding-inline:20px!important;font-size:12px!important;visibility:visible!important;opacity:1!important}
.lang-ar .product-add-cart{font-size:12.5px!important}

/* Cart quantity option selector */
.cart-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:13px}
.cart-option-row label{display:block;min-width:0}.cart-option-row label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:8px}.lang-ar .cart-option-row label>span{font-size:9px}
.cart-option-row select{width:100%;min-height:38px;padding:0 34px 0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9px;outline:0;cursor:pointer;text-overflow:ellipsis}.lang-ar .cart-option-row select{padding:0 10px 0 34px;font-size:10px}
.cart-option-row select:focus{border-color:rgba(37,37,37,.34);box-shadow:0 0 0 3px rgba(235,176,132,.12)}
.cart-line-price{min-width:84px}

/* Build menu legacy/fallback page uses the same exact admin options. */
.booking-product-row{grid-template-columns:minmax(120px,.65fr) minmax(190px,1fr)!important;gap:12px!important}
.booking-product-option-select{width:100%;min-height:42px;padding:0 34px 0 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9.5px;outline:0;cursor:pointer}.lang-ar .booking-product-option-select{padding:0 11px 0 34px;font-size:10.5px}
.booking-product-row .booking-item-note{grid-column:1/-1}
.booking-product-row.selected .booking-product-option-select{border-color:rgba(37,37,37,.28)}

@media(max-width:899px){
  body{padding-top:68px}
  .site-header{height:68px}
  .menu-category-rail{top:68px}
  .booking-category-nav{top:78px}
  .booking-form-intro,.booking-step-intro{top:88px}
  .product-detail-hero{min-height:auto}
  .product-detail-copy{padding:36px 20px 54px}
  .product-detail-copy h1{font-size:clamp(34px,8vw,46px)}
  .product-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-add-cart{position:relative;z-index:2}
}
@media(max-width:640px){
  .product-option-grid{grid-template-columns:1fr 1fr;gap:8px}
  .product-option-card{min-height:96px;padding:12px}
  .product-selected-price{grid-template-columns:1fr 1fr}
  .cart-option-row{grid-template-columns:1fr}.cart-line-price{text-align:start}
  .booking-product-row{grid-template-columns:1fr!important}
}
@media(max-width:420px){
  body{padding-top:66px}
  .site-header{height:66px}
  .menu-category-rail{top:66px}
  .product-option-grid{grid-template-columns:1fr}
  .product-selected-price{grid-template-columns:1fr}
}
@media(max-width:899px){.mobile-nav{top:68px}}
@media(max-width:420px){.mobile-nav{top:66px}}

/* 2026-09-29 product CTA visibility + explicit customize/add actions */
@media(min-width:900px){
  .product-detail-copy{padding:34px clamp(34px,4.4vw,66px) 34px}
  .product-detail-copy .product-back{margin-bottom:16px}
  .product-detail-copy h1{font-size:clamp(44px,4.2vw,64px);line-height:.98}
  .product-detail-description{margin-top:18px}
  .product-order-panel{margin-top:18px}
  .product-option-picker{margin-top:10px;padding-top:14px}
  .product-option-heading{margin-bottom:9px}
  .product-option-card{min-height:94px;padding:12px 14px}
}
.product-action-row{display:grid;grid-template-columns:1fr 1.08fr;gap:10px;margin-top:12px}
.product-action-row .btn{width:100%;max-width:none;min-height:54px;margin:0!important;padding-inline:16px;font-size:11px}
.product-customize-btn{background:var(--peach);border-color:var(--peach);color:var(--ink)}
.product-customize-btn:hover{background:#efbb93;border-color:#efbb93}
.product-action-row .css-arrow{flex:0 0 auto}
.product-selected-price{margin-top:10px}
.lang-ar .product-action-row .btn{font-size:11.5px}
@media(max-width:640px){
  .product-action-row{grid-template-columns:1fr;gap:8px}
  .product-action-row .btn{min-height:52px}
}


/* 2026-09-29 v4: final product CTA visibility / fallback-safe controls */
.page-product .product-order-panel{display:flex;flex-direction:column;gap:0}
.page-product .product-action-row{display:grid!important;visibility:visible!important;opacity:1!important;position:relative;z-index:6;margin:14px 0 0!important}
.page-product .product-action-row .btn{display:flex!important;align-items:center;justify-content:space-between;min-height:56px!important;border-radius:13px!important}
.page-product .product-selected-price{order:4}
.page-product .product-action-row{order:3}
.page-product .product-option-picker{order:2}
.page-product .product-minimum{order:1}
@media(min-width:900px){
  .page-product .product-detail-copy{padding-top:28px!important;padding-bottom:28px!important}
  .page-product .product-detail-copy h1{font-size:clamp(42px,3.9vw,60px)!important;margin-bottom:12px!important}
  .page-product .product-detail-description{margin:0 0 14px!important}
  .page-product .product-order-panel{margin-top:14px!important}
  .page-product .product-minimum{min-height:66px!important}
  .page-product .product-option-picker{margin-top:8px!important;padding-top:12px!important}
  .page-product .product-option-card{min-height:88px!important;padding:11px 14px!important}
  .page-product .product-action-row{margin-top:12px!important}
  .page-product .product-selected-price{margin-top:8px!important}
}
@media(max-width:640px){
  .page-product .product-action-row{position:sticky;bottom:10px;padding:8px;border:1px solid rgba(37,37,37,.10);border-radius:16px;background:rgba(255,250,245,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 34px rgba(37,37,37,.13)}
}

/* 2026-09-29 v5: continuous quantity ranges (min -> max) */
.page-product .product-order-panel{display:flex;flex-direction:column;gap:0}
.product-range-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
.product-range-summary>div,.product-live-price-grid>div{min-height:72px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}
.product-range-summary span,.product-live-price-grid span{font-size:9px;color:var(--muted)}
.product-range-summary b{font-size:15px;white-space:nowrap}.lang-ar .product-range-summary span,.lang-ar .product-live-price-grid span{font-size:10px}
.product-live-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.product-live-price-grid>div{display:block}.product-live-price-grid b{display:block;margin-top:6px;font-size:17px;line-height:1.25}
.product-tier-note{margin-top:14px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-tier-note>small{display:block;margin-bottom:9px;color:var(--muted);font-size:9px}.lang-ar .product-tier-note>small{font-size:10px}
.product-tier-chips{display:flex;flex-wrap:wrap;gap:7px}.product-tier-chips button,.product-tier-chips span{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:9px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.product-tier-chips button:hover{border-color:rgba(37,37,37,.34);transform:translateY(-1px)}.product-tier-chips button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.lang-ar .product-tier-chips button,.lang-ar .product-tier-chips span{font-size:10px}
.product-quantity-section{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.product-quantity-copy b{display:block;font-size:11px}.product-quantity-copy small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.lang-ar .product-quantity-copy b{font-size:12px}.lang-ar .product-quantity-copy small{font-size:10px}
.product-qty-control{display:grid;grid-template-columns:46px 74px 46px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#fff}.product-qty-control button,.product-qty-control input{height:46px;border:0;background:transparent}.product-qty-control button{font-size:20px;cursor:pointer}.product-qty-control button:disabled{opacity:.3;cursor:not-allowed}.product-qty-control input{width:100%;padding:0;border-inline:1px solid var(--line);outline:0;text-align:center;font-size:13px;font-weight:700;-moz-appearance:textfield}.product-qty-control input::-webkit-inner-spin-button{appearance:none;margin:0}
.product-selected-price{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.product-selected-price>div{min-height:58px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.product-selected-price span{display:block;color:var(--muted);font-size:8.5px}.product-selected-price b,.product-selected-price strong{display:block;margin-top:4px;font-size:13px}.lang-ar .product-selected-price span{font-size:9.5px}

.cart-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-top:12px}.cart-quantity-label{display:block;margin-bottom:5px;color:var(--muted);font-size:8.5px}.lang-ar .cart-quantity-label{font-size:9.5px}.cart-range-hint{margin:7px 0 0;color:var(--muted);font-size:8px}.lang-ar .cart-range-hint{font-size:9px}
.cart-qty button:disabled{opacity:.3;cursor:not-allowed}

.booking-product-row{grid-template-columns:minmax(130px,.7fr) auto minmax(140px,.7fr)!important;align-items:center!important}
.booking-product-include{display:inline-flex;align-items:center;gap:8px;font-size:9px;font-weight:650;white-space:nowrap}.booking-product-include input{width:16px;height:16px;accent-color:var(--ink)}.lang-ar .booking-product-include{font-size:10px}
.booking-range-control{display:grid;grid-template-columns:36px 58px 36px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#fff}.booking-range-control button,.booking-range-control input{height:38px;border:0;background:transparent}.booking-range-control button{font-size:17px;cursor:pointer}.booking-range-control button:disabled{opacity:.3}.booking-range-control input{width:100%;padding:0;border-inline:1px solid var(--line);outline:0;text-align:center;font-size:10px;font-weight:700;-moz-appearance:textfield}.booking-range-control input::-webkit-inner-spin-button{appearance:none;margin:0}.booking-range-hint{grid-column:1/-1;color:var(--muted);font-size:8px}.lang-ar .booking-range-hint{font-size:9px}
.booking-product-row .booking-item-note{grid-column:1/-1}

/* Keep the English welcome sentence on one line on laptop/desktop where space allows. */
@media(min-width:900px){
  .footer-top{grid-template-columns:minmax(0,3fr) minmax(150px,1fr)}
  html[lang="en"] .footer-brand .footer-welcome{max-width:none!important;white-space:nowrap}
}
@media(max-width:1099px) and (min-width:900px){
  .footer-top{grid-template-columns:minmax(0,3.2fr) minmax(145px,.8fr)!important}
  html[lang="en"] .footer p.footer-welcome{max-width:none!important;font-size:11.5px;white-space:nowrap}
}
@media(max-width:899px){html[lang="en"] .footer-brand .footer-welcome{white-space:normal}}

@media(max-width:767px){
  .product-range-summary,.product-live-price-grid,.product-selected-price{grid-template-columns:1fr}
  .product-quantity-section{align-items:flex-end}.product-qty-control{grid-template-columns:40px 64px 40px}.product-qty-control button,.product-qty-control input{height:42px}
  .cart-quantity-row{grid-template-columns:1fr}.cart-line-price{text-align:start}
  .booking-product-row{grid-template-columns:1fr auto!important}.booking-range-control{justify-self:end}.booking-product-include{justify-self:start}.booking-range-hint,.booking-item-note{grid-column:1/-1}
}
@media(max-width:520px){
  .product-quantity-section{align-items:stretch;flex-direction:column}.product-qty-control{width:100%;grid-template-columns:48px 1fr 48px}.product-action-row{grid-template-columns:1fr!important}
  .booking-product-row{grid-template-columns:1fr!important}.booking-range-control{justify-self:stretch;width:100%;grid-template-columns:42px 1fr 42px}.booking-product-include{justify-self:start}
}

/* ========================================================================== */
/* 2026-09-29 v6 — product zoom, single CTA, robust cart + booking location   */
/* ========================================================================== */

/* Product gallery: premium click-to-zoom experience. */
.product-gallery-stage{position:relative}
.product-main-image-button{display:block;width:100%;height:100%;min-height:660px;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.product-main-image-button .product-main-image{display:block;width:100%;height:100%;min-height:660px;object-fit:cover}
.product-gallery-zoom{position:absolute;left:18px;bottom:18px;z-index:3;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid rgba(37,37,37,.12);border-radius:999px;background:rgba(255,255,255,.9);color:var(--ink);font:600 9px/1 var(--font);cursor:pointer;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);box-shadow:0 8px 22px rgba(37,37,37,.07)}
.product-gallery-zoom svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.product-gallery-zoom:hover{background:#fff;transform:translateY(-1px)}
.lang-ar .product-gallery-zoom{left:auto;right:18px;font-size:10px}
.product-gallery-count{bottom:66px}
.product-thumb-row{padding-top:12px}
.product-thumb{flex-basis:78px;width:78px;height:78px}

.product-lightbox[hidden]{display:none!important}
.product-lightbox{position:fixed;inset:0;z-index:420;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .16s ease}
.product-lightbox.is-visible{opacity:1}
.product-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(22,20,18,.9);cursor:zoom-out}
.product-lightbox-shell{position:relative;z-index:1;width:min(1180px,96vw);height:min(900px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#151412;box-shadow:0 34px 90px rgba(0,0,0,.32)}
.product-lightbox-toolbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 20px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}
.product-lightbox-toolbar>span{font-size:10px;color:rgba(255,255,255,.68)}
.product-lightbox-toolbar>div{display:flex;align-items:center;gap:8px}
.product-lightbox-toolbar button{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.product-lightbox-toolbar button:hover{background:rgba(255,255,255,.12)}
.product-lightbox-toolbar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.product-lightbox-viewport{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:18px;background:#12110f;overscroll-behavior:contain}
.product-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in;transition:width .18s ease,max-width .18s ease,max-height .18s ease}
.product-lightbox-viewport.is-zoomed{align-items:flex-start;justify-content:flex-start}
.product-lightbox-viewport.is-zoomed .product-lightbox-image{width:180%;max-width:none;max-height:none;height:auto;margin:auto;cursor:zoom-out}
.product-lightbox-arrow{position:absolute;top:50%;z-index:3;width:46px;height:46px;margin-top:-4px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(20,19,17,.62);color:#fff;font-size:29px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.product-lightbox-arrow.prev{left:18px}.product-lightbox-arrow.next{right:18px}
.product-lightbox-arrow:hover{background:rgba(20,19,17,.86)}
body.product-lightbox-open{overflow:hidden}

/* Product CTA: one clear action only. */
.page-product .product-action-row,.product-action-row{grid-template-columns:1fr!important}
.page-product .product-action-row .product-add-cart{width:100%!important;min-height:58px!important;margin:0!important}
.product-tier-chips button.active,.product-tier-chips span.active{border-color:var(--ink);background:var(--ink);color:#fff}

/* Cart: prevent quantity/price collisions and keep every edit AJAX-safe. */
.cart-line{position:relative;grid-template-columns:78px minmax(0,1fr);gap:14px}
.cart-line-image{width:78px;height:82px}
.cart-line-main{min-width:0;overflow:hidden}
.cart-line-head>div{min-width:0}.cart-line-head a{overflow:hidden;text-overflow:ellipsis}
.cart-quantity-row{grid-template-columns:minmax(122px,1fr) minmax(92px,auto);align-items:center;gap:12px}
.cart-qty{width:124px;max-width:100%;grid-template-columns:34px minmax(48px,1fr) 34px}
.cart-line-price{min-width:0;max-width:135px;text-align:end;overflow-wrap:anywhere}
.cart-line-price small{white-space:normal;line-height:1.35}.cart-line-price b{white-space:nowrap}
.cart-range-hint{line-height:1.45}
.cart-line.is-updating{opacity:.72;pointer-events:none}
.cart-line.is-updating::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.22)}

/* Booking location permission + manual entry. */
.booking-location-field{padding:20px 18px 18px}
.booking-location-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.booking-location-heading label{margin:0!important}.booking-location-heading>div>small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.55}.lang-ar .booking-location-heading>div>small{font-size:10px}
.booking-location-save-state{flex:none;min-height:22px;color:#567465;font-size:8.5px}.booking-location-save-state.error{color:#a13b36}.lang-ar .booking-location-save-state{font-size:9.5px}
.booking-location-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.booking-location-action{min-height:72px;display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:start;color:var(--ink);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.booking-location-action:hover{transform:translateY(-1px);border-color:rgba(37,37,37,.24)}.booking-location-action.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;background:#fffdfa}
.booking-location-action svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.booking-location-action span{min-width:0}.booking-location-action b{display:block;font-size:10px;line-height:1.35}.booking-location-action small{display:block;margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45}.lang-ar .booking-location-action b{font-size:11px}.lang-ar .booking-location-action small{font-size:9px}
.booking-location-selected{display:none;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px;padding:10px 12px;border:1px solid rgba(70,106,91,.24);border-radius:11px;background:rgba(70,106,91,.06)}.booking-location-selected.is-visible{display:flex}
.booking-location-selected span{display:block;color:var(--muted);font-size:8px}.booking-location-selected b{display:block;margin-top:2px;font-size:10px}.booking-location-selected a{flex:none;font-size:9px;font-weight:650;text-decoration:underline;text-underline-offset:3px}.lang-ar .booking-location-selected span,.lang-ar .booking-location-selected a{font-size:9px}.lang-ar .booking-location-selected b{font-size:10.5px}
.booking-location-field>[data-location-input]{min-height:46px;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}
.booking-location-help{display:block;margin-top:7px;color:var(--muted);font-size:8.5px;line-height:1.55}.lang-ar .booking-location-help{font-size:9.5px}
.booking-field.has-error,.booking-event-types.has-error{border-color:rgba(161,59,54,.6)!important;box-shadow:0 0 0 3px rgba(161,59,54,.06)}
.booking-field.has-error input,.booking-field.has-error textarea,.booking-field.has-error select{color:#8f332f}
.field-error{display:block;margin-top:7px;color:#a13b36;font-size:9px;line-height:1.55}.lang-ar .field-error{font-size:10px}
.booking-next.is-loading{opacity:.72;cursor:wait}

/* Footer: keep the requested English welcome sentence on one line on laptops. */
@media(min-width:900px){
  .footer{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:clamp(22px,3vw,44px)!important}
  .footer-brand{grid-column:1/4!important}
  .footer-explore{grid-column:4!important}
  .footer-contact{grid-column:1!important}
  .footer-info{grid-column:2!important}
  html[lang="en"] .footer-brand .footer-welcome{display:block;width:max-content;max-width:none!important;white-space:nowrap!important;font-size:clamp(10.8px,.86vw,12.5px)!important;line-height:1.55!important}
}

@media(max-width:899px){
  .product-main-image-button,.product-main-image-button .product-main-image{min-height:min(112vw,610px)}
  .product-gallery-zoom{left:14px;bottom:14px}.lang-ar .product-gallery-zoom{left:auto;right:14px}.product-gallery-count{bottom:60px}
  .product-lightbox{padding:8px}.product-lightbox-shell{width:100%;height:96vh;border-radius:14px}.product-lightbox-arrow{width:42px;height:42px}.product-lightbox-arrow.prev{left:10px}.product-lightbox-arrow.next{right:10px}
}
@media(max-width:640px){
  .cart-line{grid-template-columns:68px minmax(0,1fr);gap:11px}.cart-line-image{width:68px;height:72px}
  .cart-quantity-row{grid-template-columns:1fr;align-items:start}.cart-line-price{max-width:none;text-align:start}.cart-qty{width:132px}
  .booking-location-actions{grid-template-columns:1fr}.booking-location-selected{align-items:flex-start;flex-direction:column}.booking-location-selected a{align-self:flex-start}
  .page-product .product-action-row{position:sticky;bottom:10px;z-index:20;padding:8px;border:1px solid rgba(37,37,37,.1);border-radius:16px;background:rgba(255,250,245,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 34px rgba(37,37,37,.13)}
}
@media(max-width:420px){
  .product-gallery-zoom span{display:none}.product-gallery-zoom{width:38px;padding:0;justify-content:center}
  .product-thumb{flex-basis:66px;width:66px;height:66px}
  .product-lightbox-toolbar{padding-inline:12px}.product-lightbox-viewport{padding:8px}
}
.review-map-link{display:inline-block;margin-top:5px;color:var(--ink);font-size:8.5px;font-weight:650;text-decoration:underline;text-underline-offset:3px}.lang-ar .review-map-link{font-size:9.5px}


/* ========================================================================== */
/* 2026-09-29 v7 — gallery viewport stability + refined thumbnail rail       */
/* ========================================================================== */
/* Keep image changes anchored to the gallery. Arrow/thumbnail navigation must
   never scroll the document down to the thumbnail strip. */
.product-detail-gallery{background:var(--paper);padding-bottom:0}
.product-gallery-stage{background:#f4eee7}
.product-main-image-button .product-main-image,.product-main-image{object-position:center top}
.product-thumb-row{
  position:relative;
  flex:0 0 auto;
  min-height:0;
  margin:0;
  padding:14px 18px 16px;
  border-top:1px solid rgba(37,37,37,.07);
  background:linear-gradient(180deg,#fffdfb 0%,#fbf7f2 100%);
  box-shadow:0 -1px 0 rgba(255,255,255,.72) inset;
}
.product-thumb{
  flex-basis:78px;
  width:78px;
  height:78px;
  border:1px solid rgba(37,37,37,.08);
  border-radius:12px;
  background:#fff;
  opacity:.72;
  box-shadow:0 5px 14px rgba(37,37,37,.045);
}
.product-thumb:hover{opacity:.92;border-color:rgba(37,37,37,.2)}
.product-thumb.active{
  opacity:1;
  border-color:var(--ink);
  box-shadow:0 0 0 1px var(--ink),0 8px 18px rgba(37,37,37,.07);
  transform:none;
}
.product-thumb img{object-position:center top}
@media(max-width:899px){
  .product-detail-gallery{padding-bottom:0}
  .product-thumb-row{padding:11px 12px 13px}
  .product-thumb{flex-basis:64px;width:64px;height:64px}
}
@media(max-width:420px){
  .product-thumb{flex-basis:60px;width:60px;height:60px}
}

/* --------------------------------------------------------------------------
   V8 — home menu CTA, cart stability, booking step focus and map location UI
   -------------------------------------------------------------------------- */
.food-edit-footer{max-width:var(--content);margin:26px auto 0;display:flex;justify-content:center;align-items:center}
.menu-cta-bottom{min-width:172px;min-height:48px;padding:12px 16px 12px 18px;border-radius:999px;background:#fff;border-color:rgba(37,37,37,.18);box-shadow:0 8px 24px rgba(37,37,37,.05);font-size:11px}
.menu-cta-bottom:hover,.menu-cta-bottom:focus-visible{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu-cta-plus{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:var(--ink);color:#fff;font-size:18px;font-style:normal;font-weight:400;line-height:1;transition:background .2s ease,color .2s ease}
.menu-cta-bottom:hover .menu-cta-plus,.menu-cta-bottom:focus-visible .menu-cta-plus{background:#fff;color:var(--ink)}
.lang-ar .menu-cta-bottom{font-size:11.5px}

#booking-step{scroll-margin-top:96px}
.booking-shell[data-booking-step-root]{scroll-margin-top:96px}

/* Cart line layout stays readable at every drawer width. */
.cart-line{grid-template-columns:72px minmax(0,1fr);gap:13px}
.cart-line-main{min-width:0}
.cart-line-head{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px;align-items:start}
.cart-line-head>div{min-width:0}
.cart-line-head a{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.cart-line-head small{display:block;margin-top:3px;white-space:normal;line-height:1.45}
.cart-quantity-row{display:grid;grid-template-columns:minmax(124px,1fr) minmax(90px,auto);gap:12px;align-items:end}
.cart-qty{width:128px;max-width:100%;grid-template-columns:34px minmax(48px,1fr) 34px}
.cart-line-price{min-width:0;max-width:130px;text-align:end}
.cart-line-price small{white-space:normal;line-height:1.35}
.cart-line-price b{white-space:nowrap}

/* Interactive booking map. */
.booking-location-field{overflow:visible}
.booking-location-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.booking-location-action{min-width:0}
.booking-location-action span{min-width:0}
.booking-location-action b,.booking-location-action small{overflow-wrap:anywhere}
.booking-saved-locations{margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.58)}
.booking-saved-locations>span{display:block;margin-bottom:8px;color:var(--muted);font-size:8.5px;font-weight:600;letter-spacing:.02em}
.lang-ar .booking-saved-locations>span{font-size:9.5px}
.booking-saved-location-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.booking-saved-location-list button{flex:0 0 min(260px,82vw);padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:start;color:var(--ink);cursor:pointer}
.booking-saved-location-list button:hover,.booking-saved-location-list button:focus-visible{border-color:rgba(37,37,37,.34);box-shadow:0 0 0 3px rgba(235,176,132,.10)}
.booking-saved-location-list b{display:block;font-size:9.5px}.booking-saved-location-list small{display:block;margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45;white-space:normal}
.lang-ar .booking-saved-location-list b{font-size:10.5px}.lang-ar .booking-saved-location-list small{font-size:9px}
.booking-location-map-wrap{position:relative;margin:0 0 12px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#f1eee9}
.booking-location-map{width:100%;height:340px;background:#ece8e1;z-index:0}
.booking-location-map.is-unavailable{display:grid;place-items:center;padding:26px;text-align:center;color:var(--muted);font-size:10px;line-height:1.7}
.booking-location-map-tip{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 12px;border-top:1px solid rgba(37,37,37,.08);background:rgba(255,255,255,.92);font-size:8.5px;color:var(--muted)}
.booking-location-map-tip b{color:var(--ink);font-size:8.5px;font-weight:600;text-align:end}.booking-location-map-tip b.error{color:#a13b36}
.lang-ar .booking-location-map-tip,.lang-ar .booking-location-map-tip b{font-size:9.5px}
.booking-location-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.booking-location-field .booking-location-input-row>[data-location-input]{min-height:48px;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}
.booking-location-search-btn{min-height:48px;padding:0 15px;border:1px solid var(--ink);border-radius:11px;background:var(--ink);color:#fff;font-size:9px;font-weight:650;white-space:nowrap;cursor:pointer}
.booking-location-search-btn:hover,.booking-location-search-btn:focus-visible{background:#000}.booking-location-search-btn:disabled{opacity:.55;cursor:wait}
.lang-ar .booking-location-search-btn{font-family:var(--font-ar);font-size:10px}
.booking-location-selected{margin-top:10px}
.booking-location-selected>div{min-width:0}.booking-location-selected b{white-space:normal;overflow-wrap:anywhere;line-height:1.45}.booking-location-selected small{display:block;margin-top:3px;color:var(--muted);font-size:8px}
.lang-ar .booking-location-selected small{font-size:9px}
.booking-location-map .leaflet-control-attribution{font-size:7px}
.booking-location-map .leaflet-control-zoom a{color:var(--ink)}
.booking-location-map .leaflet-marker-icon{filter:drop-shadow(0 4px 8px rgba(37,37,37,.18))}

@media(max-width:899px){
  .food-edit-footer{margin-top:20px}
  .menu-cta-bottom{min-width:160px;min-height:45px}
  #booking-step,.booking-shell[data-booking-step-root]{scroll-margin-top:82px}
  .booking-location-actions{grid-template-columns:1fr}
  .booking-location-map{height:300px}
  .cart-quantity-row{grid-template-columns:1fr}.cart-line-price{max-width:none;text-align:start}
}
@media(max-width:560px){
  .food-edit-footer{margin-top:16px}
  .menu-cta-bottom{width:100%;max-width:320px;justify-content:space-between;padding-inline:18px}
  .booking-location-map{height:270px}
  .booking-location-input-row{grid-template-columns:1fr}.booking-location-search-btn{width:100%}
  .booking-location-map-tip{align-items:flex-start;flex-direction:column}
  .cart-line{grid-template-columns:64px minmax(0,1fr)}.cart-line-image{width:64px;height:68px}
  .cart-qty{width:132px}
}


/* --------------------------------------------------------------------------
   V9 — menu search alignment + cleaner catalog header + compact home CTA
   -------------------------------------------------------------------------- */
.menu-catalog-head{grid-template-columns:1fr;gap:0;margin-bottom:30px}
.menu-catalog-head>div{max-width:740px;margin-inline-end:auto}
.menu-tools{justify-content:flex-start}
.lang-en .menu-tools{justify-content:flex-start}
.lang-ar .menu-tools{justify-content:flex-start}

/* Keep the compact home menu link centered without an oversized pill. */
.menu-cta-bottom{min-width:0;min-height:42px;padding:9px 11px 9px 14px;gap:8px;font-size:10.5px;box-shadow:0 6px 18px rgba(37,37,37,.045)}
.menu-cta-plus{flex-basis:22px;width:22px;height:22px;font-size:14px}
.lang-ar .menu-cta-bottom{font-size:11px}

@media(max-width:899px){
  .menu-cta-bottom{min-width:0;min-height:41px;padding:9px 11px 9px 13px}
}
@media(max-width:560px){
  .menu-cta-bottom{width:auto;max-width:none;justify-content:center;padding-inline:13px}
}

/* --------------------------------------------------------------------------
   V11 — restore footer layout + compact home menu CTA + interactive home cards
   -------------------------------------------------------------------------- */

/* Restore the balanced desktop footer that existed before the later wide-span
   override. Keep all four sections aligned on one compact row. */
@media(min-width:900px){
  .footer{
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(120px,.8fr))!important;
    column-gap:clamp(38px,5vw,72px)!important;
    row-gap:24px!important;
    align-items:start!important;
  }
  .footer-top,.footer-bottom-links{display:contents!important}
  .footer-brand,.footer-explore,.footer-contact,.footer-info{grid-column:auto!important;min-width:0}
  .footer small{grid-column:1/-1!important}
  html[lang="en"] .footer-brand .footer-welcome{
    display:block;
    width:auto;
    max-width:none!important;
    white-space:nowrap!important;
    font-size:11.5px!important;
    line-height:1.55!important;
  }
}
@media(max-width:899px){
  .footer{display:block!important}
  .footer-top{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important}
  .footer-bottom-links{display:grid!important;grid-template-columns:1fr 1fr!important}
  html[lang="en"] .footer-brand .footer-welcome{white-space:normal!important}
}

/* Smaller "View full menu / شوف المنيو" pill and smaller + circle. */
.menu-cta-bottom{
  width:auto!important;
  min-width:0!important;
  min-height:36px!important;
  padding:7px 10px 7px 12px!important;
  gap:7px!important;
  border-radius:999px!important;
  font-size:10px!important;
  box-shadow:0 5px 14px rgba(37,37,37,.04)!important;
}
.lang-ar .menu-cta-bottom{font-size:10.5px!important}
.menu-cta-plus{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  font-size:12px!important;
  line-height:18px!important;
}
@media(max-width:560px){
  .menu-cta-bottom{width:auto!important;max-width:none!important;padding-inline:11px!important}
}

/* Home editorial cards behave like products: whole card opens the product,
   while the dedicated + button adds directly to cart via the existing AJAX. */
.food-card{isolation:isolate}
.food-card-main{position:absolute;inset:0;z-index:1;display:block;color:inherit;text-decoration:none}
.food-card-main img{width:100%;height:100%;object-fit:cover}
.food-card-main:focus-visible{outline:2px solid #fff;outline-offset:-4px;border-radius:inherit}
.food-card .food-caption{z-index:2;padding-inline-end:64px}
.food-card-add{
  position:absolute;
  z-index:4;
  inset-inline-end:20px;
  bottom:20px;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.food-card-add.product-plus::after{width:30px;height:30px}
.food-card-add:hover.product-plus::after,.food-card-add:focus-visible.product-plus::after{background:#fff;color:var(--ink);transform:rotate(90deg)}
.food-card-add.is-loading{opacity:.65;cursor:wait}
.food-card-add.is-added.product-plus::after{content:'✓';transform:none;background:#fff;color:var(--ink);font-size:14px}
@media(max-width:899px){
  .food-card .food-caption{padding-inline-end:52px}
  .food-card-add{inset-inline-end:13px;bottom:13px;width:28px;height:28px}
  .food-card-add.product-plus::after{width:26px;height:26px;font-size:16px}
}


/* --------------------------------------------------------------------------
   V12 — footer welcome line stays on one line on laptop/desktop
   -------------------------------------------------------------------------- */
@media(min-width:900px){
  .footer-brand .footer-welcome,
  html[lang="en"] .footer-brand .footer-welcome,
  html[lang="ar"] .footer-brand .footer-welcome{
    display:block!important;
    width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    font-size:clamp(12.5px,.82vw,14.5px)!important;
    line-height:1.55!important;
    letter-spacing:0!important;
  }
  .footer-brand{overflow:visible!important}
}
@media(max-width:899px){
  .footer-brand .footer-welcome,
  html[lang="en"] .footer-brand .footer-welcome,
  html[lang="ar"] .footer-brand .footer-welcome{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    font-size:12px!important;
  }
}

/* ========================================================================== */
/* V13 — clearer event selection + AJAX place search                         */
/* ========================================================================== */
.booking-event-types{padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.58)}
.booking-event-type-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.booking-event-type-head legend{margin:0!important;padding:0}
.booking-event-type-head small{max-width:420px;color:var(--muted);font-size:8.5px;line-height:1.55;text-align:end}
.lang-ar .booking-event-type-head small{font-size:9.5px}
.booking-event-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.event-type-card{min-width:0}
.event-type-card input{width:1px;height:1px}
.event-type-card-inner{min-height:92px;align-items:stretch;justify-content:space-between;gap:10px;padding:13px 14px;background:rgba(255,255,255,.9);isolation:isolate}
.event-type-card-inner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.82));z-index:0;pointer-events:none}
.event-type-card-inner img{opacity:.25}
.event-type-card-number,.event-type-card-copy,.event-type-card-check{position:relative;z-index:2}
.event-type-card-number{align-self:flex-start;color:var(--muted);font-size:8px;font-weight:650;letter-spacing:.08em}
.event-type-card-copy{align-self:flex-end;min-width:0;display:block}
.event-type-card-copy b{display:block;font-size:10.5px;line-height:1.35;font-weight:650}
.event-type-card-copy small{display:block;margin-top:3px;color:var(--muted);font-size:7.5px;line-height:1.35}
.lang-ar .event-type-card-copy b{font-size:11.5px}.lang-ar .event-type-card-copy small{font-size:8.5px}
.event-type-card-check{position:absolute;top:10px;inset-inline-end:10px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:11px;font-weight:700;opacity:0;transform:scale(.8);transition:opacity .18s ease,transform .18s ease}
.event-type-card:hover .event-type-card-inner{border-color:rgba(37,37,37,.28);transform:translateY(-1px)}
.event-type-card input:checked+.event-type-card-inner,.event-type-card.is-selected .event-type-card-inner{border-color:var(--ink);background:#fff8f2;box-shadow:0 0 0 1px var(--ink) inset,0 10px 28px rgba(37,37,37,.05)}
.event-type-card input:checked+.event-type-card-inner .event-type-card-check,.event-type-card.is-selected .event-type-card-check{opacity:1;transform:scale(1)}
.event-type-card input:focus-visible+.event-type-card-inner{outline:3px solid rgba(235,176,132,.3);outline-offset:2px}

.booking-location-search{position:relative;z-index:5;margin:0 0 12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}
.booking-location-search>label{display:block;margin:0 0 7px!important;font-size:9px!important;font-weight:650!important;letter-spacing:.03em!important;text-transform:none!important;color:var(--ink)!important}
.lang-ar .booking-location-search>label{font-size:10px!important}
.booking-location-search-box{position:relative;display:flex;align-items:center;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:border-color .18s ease,box-shadow .18s ease}
.booking-location-search-box:focus-within{border-color:rgba(37,37,37,.34);box-shadow:0 0 0 3px rgba(235,176,132,.12)}
.booking-location-search-box>svg{position:absolute;inset-inline-start:14px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;pointer-events:none;color:#6c655f}
.booking-location-search-box input{width:100%;height:46px;padding:0 44px;border:0!important;outline:0!important;background:transparent!important;font-size:10.5px!important;color:var(--ink)}
.lang-ar .booking-location-search-box input{font-size:11px!important}
.booking-location-search-loader{position:absolute;inset-inline-end:14px;width:18px;height:18px;border:2px solid rgba(37,37,37,.16);border-top-color:var(--ink);border-radius:50%;animation:minisSpin .7s linear infinite}
@keyframes minisSpin{to{transform:rotate(360deg)}}
.booking-location-search>small{display:block;margin-top:7px;color:var(--muted);font-size:8px;line-height:1.5}.lang-ar .booking-location-search>small{font-size:9px}
.booking-location-search-results{position:absolute;top:calc(100% - 4px);inset-inline:12px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(37,37,37,.13);z-index:90}
.booking-location-search-results[hidden]{display:none}
.booking-location-search-result{width:100%;min-height:62px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:center;padding:10px 12px;border:0;border-bottom:1px solid rgba(37,37,37,.07);background:#fff;text-align:start;color:var(--ink);cursor:pointer}
.booking-location-search-result:last-child{border-bottom:0}
.booking-location-search-result:hover,.booking-location-search-result.is-active,.booking-location-search-result:focus-visible{background:#fff8f2;outline:0}
.booking-location-search-pin{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--cream);font-size:22px;line-height:1;color:var(--peach)}
.booking-location-search-result span:last-child{min-width:0}
.booking-location-search-result b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;line-height:1.35}
.booking-location-search-result small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;line-height:1.4}
.lang-ar .booking-location-search-result b{font-size:10.5px}.lang-ar .booking-location-search-result small{font-size:9px}
.booking-location-search-message{padding:14px 12px;color:var(--muted);font-size:9px;line-height:1.55}.booking-location-search-message.error{color:#9b413b}.lang-ar .booking-location-search-message{font-size:10px}

@media(max-width:900px){
  .booking-event-type-head{align-items:flex-start;flex-direction:column;gap:5px}
  .booking-event-type-head small{text-align:start}
  .booking-event-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .booking-event-types{padding:12px}
  .booking-event-type-grid{grid-template-columns:1fr 1fr;gap:8px}
  .event-type-card-inner{min-height:82px;padding:11px}
  .booking-location-search{padding:10px}
  .booking-location-search-results{inset-inline:8px;max-height:280px}
}

/* ========================================================================== */
/* V14 — compact event type select                                            */
/* ========================================================================== */
.booking-event-select-field{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.64)}
.booking-event-select-field>label{margin-bottom:4px!important}
.booking-field-help{display:block;margin:0 0 10px;color:var(--muted);font-size:9px;line-height:1.5}
.lang-ar .booking-field-help{font-size:10px}
.booking-select-shell{position:relative}
.booking-select-shell select{width:100%;height:54px;padding-inline:16px 46px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#fff!important;color:var(--ink)!important;font:inherit;font-size:12px!important;font-weight:600!important;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.lang-ar .booking-select-shell select{font-family:var(--font-ar)!important;font-size:12.5px!important}
.booking-select-shell select:hover{border-color:rgba(37,37,37,.28)!important}
.booking-select-shell select:focus{outline:0;border-color:var(--ink)!important;box-shadow:0 0 0 3px rgba(235,176,132,.14)}
.booking-select-chevron{position:absolute;top:50%;inset-inline-end:16px;transform:translateY(-54%);pointer-events:none;color:var(--ink);font-size:21px;line-height:1}
.booking-event-select-field.has-error .booking-select-shell select{border-color:rgba(161,59,54,.62)!important;box-shadow:0 0 0 3px rgba(161,59,54,.06)}
@media(max-width:680px){
  .booking-event-select-field{padding:14px}
  .booking-select-shell select{height:50px;font-size:11.5px!important}
  .lang-ar .booking-select-shell select{font-size:12px!important}
}

/* V17 — keep the booking intro surface aligned with the product page, without glass effects */
.booking-page .booking-hero .page-hero-copy{
  background:var(--paper);
}


/* --------------------------------------------------------------------------
   V18 — consistent product-card interaction
   -------------------------------------------------------------------------- */
.food-card[data-product-card],.menu-product-card[data-product-card]{cursor:pointer}
.food-card[data-product-card] a,.menu-product-card[data-product-card] a{cursor:pointer}
.food-card[data-product-card] button,.menu-product-card[data-product-card] button{cursor:pointer}
.menu-product-card[data-product-card]:active{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.menu-product-card[data-product-card]:active{transform:none}}

/* V19 — unified single-page booking wizard */
.booking-wizard-page .booking-wizard-shell{padding-top:34px}
.booking-progress-wizard{position:sticky;top:var(--header-h);z-index:28;margin-bottom:30px;background:var(--paper);box-shadow:0 12px 28px rgba(34,29,25,.055)}
.booking-progress-wizard .booking-progress-step{text-decoration:none;cursor:default}
.booking-progress-wizard a.booking-progress-step{cursor:pointer}
.booking-progress-wizard .booking-progress-number{position:relative;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.booking-progress-wizard .booking-progress-number i{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--ink);color:#fff;font-size:8px;line-height:1;font-style:normal;font-weight:700;flex:0 0 15px}
.booking-progress-wizard .booking-progress-step.locked{opacity:.42;cursor:not-allowed}
.booking-progress-wizard .booking-progress-step.is-viewing{color:var(--ink);background:rgba(235,176,132,.12)}
.booking-progress-wizard .booking-progress-step.is-viewing::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--peach)}
.wizard-section{position:relative;padding:72px 0 92px;border-bottom:1px solid var(--line);scroll-margin-top:168px}
.wizard-section:first-of-type{padding-top:18px}
.wizard-section:last-child{border-bottom:0;padding-bottom:26px}
.wizard-section.is-locked{min-height:220px}
.wizard-lock-note{display:flex;align-items:center;justify-content:center;min-height:150px;padding:28px;border:1px dashed #d8d0c7;border-radius:18px;background:var(--paper);color:var(--muted);font-size:13px;text-align:center}
.booking-catalog-head>div:first-child>p:last-child,.booking-section-heading>div>p:last-child{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.75}
.booking-wizard-page .booking-menu-form,.booking-wizard-page .booking-services-form{margin-top:28px}
.booking-wizard-page .booking-live-bar{bottom:18px}
.booking-wizard-page .partner-accordion-grid{align-items:start}
.booking-wizard-page .partner-card[open]{box-shadow:0 14px 30px rgba(45,38,33,.055)}
.booking-wizard-page .partner-card summary i{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;line-height:1}
.booking-wizard-page .partner-card[open] summary i{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(45deg)}
.wizard-review-layout,.wizard-checkout-layout{margin-top:28px}
.wizard-inline-confirmation{max-width:980px;margin:34px auto 0}
.lang-ar .booking-section-heading>p,.lang-ar .booking-catalog-head p,.lang-ar .wizard-lock-note{font-size:10.5px;line-height:1.9}

@media (max-width:899px){:root{--header-h:68px}}
@media (max-width:420px){:root{--header-h:66px}}
@media (max-width:760px){
  .booking-progress-wizard{top:var(--header-h);margin:0 -20px 24px;padding:0 9px;background:var(--paper)}
  .booking-progress-wizard .booking-progress-step{flex:0 0 103px;min-height:56px;padding:10px 8px;gap:7px}
  .booking-progress-wizard .booking-progress-number i{width:12px;height:12px;flex-basis:12px;font-size:6.5px}
  .booking-progress-wizard .booking-progress-step b{font-size:9px;white-space:nowrap}
  .lang-ar .booking-progress-wizard .booking-progress-step{flex-basis:92px}
  .lang-ar .booking-progress-wizard .booking-progress-step b{font-size:8.2px}
  .wizard-section{padding:46px 0 62px;scroll-margin-top:142px}
  .wizard-section:first-of-type{padding-top:8px}
  .wizard-lock-note{min-height:112px;padding:20px;font-size:11px}
  .booking-wizard-page .partner-card-fields{grid-template-columns:1fr}
  .booking-wizard-page .partner-card-fields .partner-wide{grid-column:auto}
}

/* V20 — booking flow polish + brand-only interactive states */
.booking-wizard-page{--booking-accent:var(--peach);--booking-accent-soft:rgba(235,176,132,.18);--booking-outline:var(--olive);--booking-panel:#fffdf9}
.booking-wizard-page .wizard-section:not(.is-current){display:none!important}
.booking-wizard-page .wizard-section.is-current{display:block;animation:bookingPanelIn .24s ease both}
@keyframes bookingPanelIn{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
.booking-wizard-page .wizard-section{padding-top:20px;border-bottom:0;min-height:0}
.booking-wizard-page .wizard-section.is-locked{min-height:0}
.booking-progress-wizard .booking-progress-number i{width:13px;height:13px;flex-basis:13px;background:var(--peach);color:var(--ink);font-size:7px;font-weight:700}
.booking-progress-wizard .booking-progress-step.done{color:var(--ink)}
.booking-progress-wizard .booking-progress-step.active,.booking-progress-wizard .booking-progress-step.is-viewing{background:var(--booking-accent-soft);color:var(--ink)}
.booking-wizard-page .booking-next,.booking-wizard-page .checkout-confirm{background:var(--peach);color:var(--ink);box-shadow:0 10px 25px rgba(210,149,146,.12)}
.booking-wizard-page .booking-next:hover,.booking-wizard-page .checkout-confirm:hover{background:#e5a578}
.booking-wizard-page .booking-live-bar{border-color:rgba(159,153,121,.28);background:rgba(255,250,245,.96);color:var(--ink);box-shadow:0 18px 55px rgba(159,153,121,.16)}
.booking-wizard-page .booking-live-bar span{color:var(--muted)}
.booking-wizard-page .booking-live-bar button{background:var(--peach);color:var(--ink)}
.booking-wizard-page .smart-calendar-day.selected{background:var(--peach);border-color:var(--peach);color:var(--ink)}
.booking-wizard-page .smart-calendar-day.selected::after{background:var(--olive)}
.booking-wizard-page .calendar-dot.selected{background:var(--peach);border-color:var(--peach)}
.booking-wizard-page .booking-time-quick button.active{background:var(--peach);border-color:var(--peach);color:var(--ink)}
.booking-wizard-page .event-type-card-check{background:var(--peach);color:var(--ink)}
.booking-wizard-page .event-type-card input:checked+.event-type-card-inner,.booking-wizard-page .event-type-card.is-selected .event-type-card-inner{border-color:var(--peach);background:#fff8f2;box-shadow:0 0 0 1px var(--peach) inset,0 10px 28px rgba(210,149,146,.09)}
.booking-wizard-page .booking-location-action.active{border-color:var(--peach);box-shadow:0 0 0 1px var(--peach) inset;background:#fff8f2}
.booking-wizard-page .booking-product-include input{accent-color:var(--peach)}
.booking-wizard-page .service-choice-card.selected{border-color:var(--peach);background:#fff4eb}
.booking-wizard-page .service-choice-card.selected .service-choice-check{background:var(--olive);border-color:var(--olive);color:#fff}
.booking-wizard-page .partner-card[open] summary i{background:var(--peach);border-color:var(--peach);color:var(--ink);transform:rotate(45deg)}
.booking-wizard-page .review-summary{border:1px solid rgba(159,153,121,.22);background:linear-gradient(160deg,#fffdf9 0%,var(--cream) 100%);color:var(--ink);box-shadow:0 18px 45px rgba(159,153,121,.10)}
.booking-wizard-page .review-summary>div{border-bottom:1px solid var(--line)}
.booking-wizard-page .review-summary span{color:var(--muted)}
.booking-wizard-page .review-summary-note{color:var(--muted)}
.booking-wizard-page .summary-discount-row b{color:#8d6c65}
.booking-wizard-page .summary-discount-row small{display:inline;margin-inline-start:4px;color:var(--muted);font-size:8px;font-weight:500}
.booking-wizard-page button:focus-visible,.booking-wizard-page a:focus-visible,.booking-wizard-page input:focus-visible,.booking-wizard-page select:focus-visible{outline-color:var(--peach)}

/* Coupon component — deliberately light, compact and not over-bold. */
.booking-coupon{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.booking-coupon-head span{display:block;color:var(--ink)!important;font-size:10px!important;font-weight:600}
.booking-coupon-head small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.6;font-weight:400}
.booking-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:10px}
.booking-coupon-form input{min-width:0;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:10px;font-weight:500;letter-spacing:.04em;outline:0;text-transform:uppercase}
.booking-coupon-form input:focus{border-color:var(--peach);box-shadow:0 0 0 3px rgba(235,176,132,.12)}
.booking-coupon-form button{height:42px;padding:0 14px;border:1px solid var(--peach);border-radius:10px;background:var(--peach);color:var(--ink);font-size:9px;font-weight:600;cursor:pointer}
.booking-coupon-applied{margin-top:9px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(159,153,121,.22);border-radius:10px;background:rgba(159,153,121,.08)}
.booking-coupon-applied[hidden]{display:none!important}
.booking-coupon-applied>div{display:flex;align-items:center;gap:6px;min-width:0}
.booking-coupon-applied span{font-size:8px!important;color:var(--muted)!important}
.booking-coupon-applied b{font-size:9px!important;font-weight:600;letter-spacing:.04em}
.booking-coupon-applied small{color:#8d6c65;font-size:8.5px;font-weight:500}
.booking-coupon-applied button{padding:4px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);font-size:8px;font-weight:500;cursor:pointer}
.booking-coupon-status{display:none;margin:8px 0 0!important;color:var(--muted)!important;font-size:8.5px!important;line-height:1.55}
.booking-coupon-status.show{display:block}
.booking-coupon-status.error{color:#9a5752!important}
.booking-coupon-status.pending{color:#817a5d!important}
.booking-coupon.is-loading{opacity:.7;pointer-events:none}
.checkout-summary-card .booking-coupon{margin-top:14px}

@media (max-width:760px){
  .booking-wizard-page .wizard-section{padding:8px 0 44px}
  .booking-progress-wizard .booking-progress-number i{width:10px;height:10px;flex-basis:10px;font-size:5.5px}
  .booking-coupon{margin-top:14px;padding-top:13px}
  .booking-coupon-form{grid-template-columns:1fr auto}
  .booking-coupon-form input,.booking-coupon-form button{height:40px}
}
/* V20 — remove remaining dark booking controls while keeping ink for typography. */
.booking-wizard-page .booking-location-search-btn{border-color:var(--peach);background:var(--peach);color:var(--ink)}
.booking-wizard-page .booking-location-search-btn:hover,.booking-wizard-page .booking-location-search-btn:focus-visible{border-color:#e5a578;background:#e5a578}
.booking-wizard-page .booking-location-action:hover,.booking-wizard-page .booking-saved-location-list button:hover,.booking-wizard-page .booking-saved-location-list button:focus-visible,.booking-wizard-page .event-type-card:hover .event-type-card-inner,.booking-wizard-page .booking-product-row.selected .booking-product-option-select,.booking-wizard-page .booking-select-shell select:hover{border-color:rgba(159,153,121,.48)!important}
.booking-wizard-page .booking-location-search-box:focus-within,.booking-wizard-page .booking-select-shell select:focus{border-color:var(--peach)!important;box-shadow:0 0 0 3px rgba(235,176,132,.14)}
.booking-wizard-page .booking-location-search-loader{border-color:rgba(159,153,121,.20);border-top-color:var(--peach)}
.booking-wizard-page .service-choice-extra{border-top-color:rgba(159,153,121,.22)}
.booking-wizard-page .service-choice-extra>input{border-color:rgba(159,153,121,.28)}
/* V20 — brand-colored booking icons; dark ink remains typography only. */
.booking-progress-wizard .booking-progress-number i{color:#fff}
.booking-wizard-page .event-type-card-check{color:#fff}
.booking-wizard-page .partner-card[open] summary i{color:#fff}
.booking-wizard-page .booking-next .css-arrow,.booking-wizard-page .booking-live-bar button .css-arrow,.booking-wizard-page .checkout-confirm .css-arrow{color:var(--olive)}

/* ========================================================================== 
   V21 — booking polish + selected-only menu
   ========================================================================== */
.lang-ar .cart-close{
  position:relative;
  display:block;
  padding:0;
  font-size:0;
  line-height:1;
  font-family:Arial,sans-serif;
}
.lang-ar .cart-close::before{
  content:"×";
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  font-size:25px;
  line-height:1;
  transform:translate(-50%,-53%);
}

.booking-wizard-page .booking-selected-menu-head{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:28px;
}
.booking-add-more{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.lang-ar .booking-add-more{align-items:flex-start}
.booking-add-more>span{
  color:var(--muted);
  font-size:10px;
  line-height:1.6;
}
.lang-ar .booking-add-more>span{font-size:10.5px}
.booking-add-menu-button{
  min-height:46px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid rgba(159,153,121,.32);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:10.5px;
  font-weight:650;
  box-shadow:0 7px 20px rgba(159,153,121,.08);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.booking-add-menu-button:hover{
  transform:translateY(-1px);
  border-color:var(--peach);
  box-shadow:0 10px 26px rgba(159,153,121,.13);
}
.booking-add-menu-button i{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--peach);
  color:var(--ink);
  font-family:Arial,sans-serif;
  font-size:18px;
  font-style:normal;
  font-weight:400;
  line-height:1;
}
.lang-ar .booking-add-menu-button i{
  position:relative;
  display:block;
  font-size:0;
}
.lang-ar .booking-add-menu-button i::before{
  content:"+";
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  font-size:18px;
  line-height:1;
  transform:translate(-50%,-54%);
}
.booking-selected-menu-form{margin-top:26px!important}
.booking-selected-menu-grid{align-items:start}
.booking-selected-menu-card .booking-product-row{grid-template-columns:minmax(0,1fr) auto}
.booking-selected-menu-card .booking-product-price{grid-column:1}
.booking-selected-menu-card .booking-range-control{grid-column:2}
.booking-selected-menu-card .booking-range-hint,
.booking-selected-menu-card .booking-item-note{grid-column:1/-1}
.booking-selected-menu-empty{
  margin-top:24px;
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.booking-selected-menu-empty p{margin:0;color:var(--muted);font-size:11px}
.lang-ar .booking-selected-menu-empty p{font-size:11.5px}

/* Keep the service-step primary action visually centred on desktop. */
@media(min-width:761px){
  .booking-wizard-page .booking-form-actions{
    display:grid;
    grid-template-columns:1fr minmax(300px,420px) 1fr;
    align-items:center;
    gap:20px;
  }
  .booking-wizard-page .booking-form-actions .booking-back{
    grid-column:1;
    justify-self:start;
  }
  .booking-wizard-page .booking-form-actions .booking-next{
    grid-column:2;
    width:100%;
    justify-self:center;
  }
}

/* Optical centring for Arabic glyphs inside circular controls. */
.lang-ar .booking-wizard-page .partner-card summary i{
  position:relative;
  display:block;
  font-size:0;
  font-family:Arial,sans-serif;
  line-height:1;
}
.lang-ar .booking-wizard-page .partner-card summary i::before{
  content:"+";
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  font-size:19px;
  line-height:1;
  transform:translate(-50%,-54%);
}

/* Coupon is intentionally larger than the old compact widget. */
.booking-wizard-page .booking-coupon{
  margin-top:22px;
  padding-top:20px;
}
.booking-wizard-page .booking-coupon-head span{
  font-size:14px!important;
  font-weight:650;
}
.booking-wizard-page .booking-coupon-head small{
  margin-top:5px;
  font-size:10px;
  line-height:1.65;
}
.lang-ar .booking-wizard-page .booking-coupon-head span{font-size:14.5px!important}
.lang-ar .booking-wizard-page .booking-coupon-head small{font-size:10.5px}
.booking-wizard-page .booking-coupon-form{
  gap:9px;
  margin-top:13px;
}
.booking-wizard-page .booking-coupon-form input{
  height:54px;
  padding:0 16px;
  border-radius:13px;
  font-size:14px;
  letter-spacing:.045em;
}
.booking-wizard-page .booking-coupon-form button{
  min-width:88px;
  height:54px;
  padding:0 18px;
  border-radius:13px;
  font-size:11px;
}
.booking-wizard-page .booking-coupon-applied{
  margin-top:11px;
  padding:11px 12px;
  border-radius:11px;
}
.booking-wizard-page .booking-coupon-applied span{font-size:9px!important}
.booking-wizard-page .booking-coupon-applied b{font-size:10px!important}
.booking-wizard-page .booking-coupon-applied small{font-size:9.5px}
.booking-wizard-page .booking-coupon-applied button{font-size:9px}
.booking-wizard-page .booking-coupon-status{font-size:9.5px!important}

@media(max-width:760px){
  .booking-wizard-page .booking-selected-menu-head{
    grid-template-columns:1fr;
    gap:16px;
  }
  .booking-add-more,.lang-ar .booking-add-more{align-items:flex-start}
  .booking-add-menu-button{min-height:44px;padding-inline:14px}
  .booking-selected-menu-grid{grid-template-columns:1fr}
  .booking-selected-menu-empty{padding:20px;align-items:flex-start;flex-direction:column}
  .booking-wizard-page .booking-coupon{margin-top:18px;padding-top:16px}
  .booking-wizard-page .booking-coupon-form input,
  .booking-wizard-page .booking-coupon-form button{height:50px}
  .booking-wizard-page .booking-coupon-form input{font-size:13px}
}

/* ========================================================================== 
   V22 — Arabic circular-symbol optical centring
   Keep English unchanged. Arabic UI symbols inside circular controls use an
   LTR symbol layer so + / × / ✓ are not shifted by the Arabic text direction
   or Arabic font metrics.
   ========================================================================== */

/* Home "شوف المنيو" + circle. */
.lang-ar .menu-cta-plus{
  position:relative;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
  direction:ltr;
  text-align:center;
}
.lang-ar .menu-cta-plus::before{
  content:"+";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:0 0 1px;
  font-family:Arial,sans-serif;
  font-size:13px;
  font-style:normal;
  font-weight:400;
  line-height:1;
  direction:ltr;
  text-align:center;
}

/* Booking "شوف المنيو" + circle. */
.lang-ar .booking-add-menu-button i{
  position:relative;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
  direction:ltr;
  text-align:center;
}
.lang-ar .booking-add-menu-button i::before{
  content:"+";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:0 0 1px;
  font-family:Arial,sans-serif;
  font-size:18px;
  font-style:normal;
  font-weight:400;
  line-height:1;
  transform:none;
  direction:ltr;
  text-align:center;
}

/* Services + / × circle. The card still rotates the whole circle when selected. */
.lang-ar .booking-wizard-page .service-choice-check{
  position:relative;
  display:grid;
  place-items:center;
  padding:0;
  font-size:0;
  line-height:1;
  direction:ltr;
  text-align:center;
}
.lang-ar .booking-wizard-page .service-choice-check::before{
  content:"+";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:0 0 1px;
  font-family:Arial,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:1;
  direction:ltr;
  text-align:center;
}

/* Partner accordion + circle. */
.lang-ar .booking-wizard-page .partner-card summary i{
  position:relative;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
  direction:ltr;
  text-align:center;
}
.lang-ar .booking-wizard-page .partner-card summary i::before{
  content:"+";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:0 0 1px;
  font-family:Arial,sans-serif;
  font-size:19px;
  font-weight:300;
  line-height:1;
  transform:none;
  direction:ltr;
  text-align:center;
}

/* Cart close × circle. */
.lang-ar .cart-close{
  position:relative;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
  direction:ltr;
  text-align:center;
}
.lang-ar .cart-close::before{
  content:"×";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:0 0 1px;
  font-family:Arial,sans-serif;
  font-size:25px;
  line-height:1;
  transform:none;
  direction:ltr;
  text-align:center;
}

/* Product/card + circles. */
.lang-ar .product-plus::after{
  font-family:Arial,sans-serif;
  line-height:1;
  text-align:center;
  padding:0 0 1px;
}
.lang-ar .menu-product-plus::before{
  font-family:Arial,sans-serif;
  line-height:1;
  transform:translateY(-.5px);
}

/* Circular checkmarks in the booking flow. */
.lang-ar .booking-progress-wizard .booking-progress-number i,
.lang-ar .booking-wizard-page .event-type-card-check{
  font-family:Arial,sans-serif;
  line-height:1;
  direction:ltr;
  text-align:center;
}

/* Other Arabic circular glyph controls that can inherit asymmetric font metrics. */
.lang-ar .smart-calendar-head button,
.lang-ar .product-gallery-arrow,
.lang-ar .product-lightbox-toolbar button,
.lang-ar .product-lightbox-arrow,
.lang-ar .cart-line-head button{
  display:grid;
  place-items:center;
  padding:0;
  font-family:Arial,sans-serif;
  line-height:1;
  direction:ltr;
  text-align:center;
}
.lang-ar .product-option-card.active::after{
  font-family:Arial,sans-serif;
  line-height:1;
  direction:ltr;
  text-align:center;
}

/* ========================================================================== 
   V23 — booking primary-action proportions
   Desktop booking actions stay compact and centred; arrow sits beside the
   label instead of being pushed to the far edge. Mobile remains full width.
   ========================================================================== */
@media (min-width:761px){
  .booking-wizard-page .booking-next{
    width:min(340px,100%);
    justify-self:center;
    justify-content:center;
    gap:14px;
    padding-inline:22px;
  }

  .booking-wizard-page .booking-form > .booking-next{
    justify-self:center;
  }

  .booking-wizard-page .booking-form-actions{
    grid-template-columns:1fr minmax(260px,340px) 1fr;
  }
  .booking-wizard-page .booking-form-actions .booking-next{
    width:100%;
  }

  .booking-wizard-page .booking-live-bar{
    grid-template-columns:auto auto minmax(270px,340px);
  }
  .booking-wizard-page .booking-live-bar button{
    width:100%;
    justify-content:center;
    gap:14px;
    padding-inline:20px;
  }

  .booking-wizard-page .customer-review-form .booking-next{
    justify-self:center;
  }
}

/* Keep arrow visually attached to the CTA label on every booking action. */
.booking-wizard-page .booking-next,
.booking-wizard-page .booking-live-bar button,
.booking-wizard-page .checkout-confirm{
  justify-content:center;
  gap:14px;
}

@media (max-width:760px){
  .booking-wizard-page .booking-next,
  .booking-wizard-page .booking-form-actions .booking-next,
  .booking-wizard-page .booking-live-bar button{
    width:100%;
  }
}


/* ==========================================================================
   V24 — selected-menu empty state + compact live-bar CTA
   ========================================================================== */
/* The author-level flex rule must never override the HTML hidden state. */
.booking-selected-menu-empty[hidden]{
  display:none!important;
}

@media (min-width:761px){
  .booking-wizard-page .booking-live-bar{
    grid-template-columns:auto auto minmax(0,1fr);
    column-gap:26px;
  }
  .booking-wizard-page .booking-live-bar button{
    width:auto!important;
    min-width:280px;
    max-width:340px;
    justify-self:end;
    justify-content:center;
    gap:14px;
    padding-inline:24px;
  }
  .lang-ar .booking-wizard-page .booking-live-bar button{
    justify-self:end;
  }
}

/* ========================================================================== 
   V25 — laptop-only header balance + coupon layout refinement
   Mobile/tablet are intentionally unchanged. Header markup is untouched.
   ========================================================================== */
@media (min-width:1100px){
  /* Keep the navigation visually centred while giving the logo equal air
     above and below instead of letting the artwork sit on the lower edge. */
  .site-header{
    grid-template-columns:minmax(150px,1fr) auto minmax(300px,1fr);
    align-items:center;
  }
  .site-header .logo{
    align-self:stretch;
    justify-self:start;
    display:flex;
    align-items:center;
    padding-block:8px;
  }
  .site-header .logo img{
    width:88px;
    max-height:60px;
    object-fit:contain;
  }
  .site-header .nav{
    justify-self:center;
    gap:clamp(28px,2.35vw,42px);
  }
  .site-header .actions{
    justify-self:end;
    gap:12px;
  }

  /* review-summary direct-child rules used to turn the coupon into a row.
     Force it back to a stacked component: copy first, then a useful input. */
  .booking-wizard-page .review-summary > .booking-coupon,
  .booking-wizard-page .checkout-summary-card > .booking-coupon{
    display:block;
    padding:20px 0 0!important;
  }
  .booking-wizard-page .booking-coupon-head{
    display:block;
    width:100%;
  }
  .booking-wizard-page .booking-coupon-head small{
    max-width:100%;
  }
  .booking-wizard-page .booking-coupon-form{
    width:100%;
    grid-template-columns:minmax(0,1fr) 104px;
    gap:10px;
    margin-top:14px;
  }
  .booking-wizard-page .booking-coupon-form input{
    width:100%;
    min-width:0;
    height:52px;
    padding-inline:15px;
    font-size:12px;
  }
  .booking-wizard-page .booking-coupon-form button{
    width:104px;
    min-width:104px;
    height:52px;
    padding-inline:12px;
    font-size:10.5px;
  }
}

/* ========================================================================== 
   V26 — larger coupon on every device + clearly active booking CTAs
   Keeps the V25 laptop header refinement. No header/footer glass effects.
   ========================================================================== */

/* Coupon must remain a vertical component even inside summary cards whose
   generic direct-child rule uses flex rows. Apply this at every breakpoint. */
.booking-wizard-page .review-summary > .booking-coupon,
.booking-wizard-page .checkout-summary-card > .booking-coupon{
  display:block!important;
  width:100%;
  margin-top:20px;
  padding:22px 0 0!important;
}
.booking-wizard-page .booking-coupon-head{
  display:block;
  width:100%;
}
.booking-wizard-page .booking-coupon-head span{
  font-size:16px!important;
  line-height:1.35;
  font-weight:650;
}
.booking-wizard-page .booking-coupon-head small{
  display:block;
  max-width:100%;
  margin-top:6px;
  font-size:11px!important;
  line-height:1.65;
}
.lang-ar .booking-wizard-page .booking-coupon-head span{font-size:16px!important}
.lang-ar .booking-wizard-page .booking-coupon-head small{font-size:11.5px!important}
.booking-wizard-page .booking-coupon-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  gap:10px;
  width:100%;
  margin-top:15px;
}
.booking-wizard-page .booking-coupon-form input{
  width:100%;
  min-width:0;
  height:58px;
  padding:0 17px;
  border-radius:14px;
  font-size:15px;
  line-height:1;
}
.booking-wizard-page .booking-coupon-form button{
  width:112px;
  min-width:112px;
  height:58px;
  padding:0 15px;
  border-radius:14px;
  font-size:12px;
  font-weight:650;
}
.booking-wizard-page .booking-coupon-applied{
  margin-top:12px;
  padding:12px 13px;
  border-radius:12px;
}
.booking-wizard-page .booking-coupon-status{
  margin-top:9px!important;
  font-size:10px!important;
}

/* Primary booking actions must look actionable, never like disabled black
   controls. Dark ink remains reserved for typography. */
.booking-wizard-page .booking-next,
.booking-wizard-page .booking-live-bar button,
.booking-wizard-page .checkout-confirm,
.booking-wizard-page .booking-location-search-btn{
  border-color:var(--peach)!important;
  background:var(--peach)!important;
  color:var(--ink)!important;
  opacity:1;
  box-shadow:0 10px 24px rgba(210,149,146,.16)!important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s var(--ease);
}
.booking-wizard-page .booking-next:hover,
.booking-wizard-page .booking-live-bar button:hover,
.booking-wizard-page .checkout-confirm:hover,
.booking-wizard-page .booking-location-search-btn:hover,
.booking-wizard-page .booking-next:focus-visible,
.booking-wizard-page .booking-live-bar button:focus-visible,
.booking-wizard-page .checkout-confirm:focus-visible,
.booking-wizard-page .booking-location-search-btn:focus-visible{
  border-color:#e5a578!important;
  background:#e5a578!important;
  color:var(--ink)!important;
  box-shadow:0 12px 28px rgba(210,149,146,.22)!important;
}
.booking-wizard-page .booking-next:active,
.booking-wizard-page .booking-live-bar button:active,
.booking-wizard-page .checkout-confirm:active,
.booking-wizard-page .booking-location-search-btn:active{
  transform:translateY(1px);
}
.booking-wizard-page .booking-next .css-arrow,
.booking-wizard-page .booking-live-bar button .css-arrow,
.booking-wizard-page .checkout-confirm .css-arrow{
  color:var(--olive)!important;
}
/* Only a truly disabled native button gets a muted treatment. */
.booking-wizard-page .booking-next:disabled,
.booking-wizard-page .booking-live-bar button:disabled,
.booking-wizard-page .checkout-confirm:disabled,
.booking-wizard-page .booking-location-search-btn:disabled{
  background:var(--cream)!important;
  border-color:var(--line)!important;
  color:var(--muted)!important;
  box-shadow:none!important;
  cursor:not-allowed;
  opacity:.7;
}

@media (max-width:760px){
  .booking-wizard-page .review-summary > .booking-coupon,
  .booking-wizard-page .checkout-summary-card > .booking-coupon{
    margin-top:18px;
    padding-top:19px!important;
  }
  .booking-wizard-page .booking-coupon-head span{font-size:15px!important}
  .lang-ar .booking-wizard-page .booking-coupon-head span{font-size:15.5px!important}
  .booking-wizard-page .booking-coupon-head small{font-size:10.5px!important}
  .lang-ar .booking-wizard-page .booking-coupon-head small{font-size:11px!important}
  .booking-wizard-page .booking-coupon-form{
    grid-template-columns:minmax(0,1fr) 104px;
    gap:9px;
    margin-top:13px;
  }
  .booking-wizard-page .booking-coupon-form input,
  .booking-wizard-page .booking-coupon-form button{
    height:56px;
  }
  .booking-wizard-page .booking-coupon-form input{
    padding-inline:15px;
    font-size:14px;
  }
  .booking-wizard-page .booking-coupon-form button{
    width:104px;
    min-width:104px;
    padding-inline:12px;
    font-size:11px;
  }
}

@media (max-width:420px){
  .booking-wizard-page .booking-coupon-form{
    grid-template-columns:minmax(0,1fr) 96px;
    gap:8px;
  }
  .booking-wizard-page .booking-coupon-form input,
  .booking-wizard-page .booking-coupon-form button{
    height:54px;
  }
  .booking-wizard-page .booking-coupon-form input{font-size:13.5px}
  .booking-wizard-page .booking-coupon-form button{
    width:96px;
    min-width:96px;
    font-size:10.5px;
  }
}

/* ==========================================================================
   V31 — Restore original Home + Booking styling while preserving glass only
   on the final Home CTA and on the other public pages.
   Header/footer stay solid. PHP runtime target remains 7.4.33.
   ========================================================================== */

/* Header / footer guardrails: no glass treatment. */
.site-header{
  background:#fff!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-bottom:1px solid rgba(37,37,37,.10)!important;
  box-shadow:0 7px 24px rgba(37,37,37,.035)!important;
}
.mobile-nav{
  background:#fff!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.footer{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Shared warm-glass visual language — selectively retained outside Home/Booking. */
.final-copy,
.menu-page-hero-copy,
.menu-search,
.menu-category-rail,
.menu-product-card,
.public-hero-copy,
.about-value,
.legal-item,
.contact-page-head,
.contact-form-card,
.contact-details-card,
.account-auth-only .account-auth-form{
  border-color:rgba(255,255,255,.68)!important;
  background:linear-gradient(145deg,rgba(255,250,245,.76),rgba(255,255,255,.48))!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  backdrop-filter:blur(18px) saturate(1.08);
  box-shadow:0 22px 64px rgba(72,52,38,.10),inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.final-cta{
  min-height:480px;
  padding:72px var(--page-pad);
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(rgba(76,79,51,.54),rgba(76,79,51,.60)),
    url('../images/final-cta.jpg') center/cover no-repeat;
}
.final-copy,.lang-ar .final-copy{
  width:min(860px,100%);
  min-height:0;
  padding:48px clamp(28px,5vw,62px);
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(65,68,45,.45),rgba(255,255,255,.08))!important;
  color:#fff;
}
.final-copy p{color:rgba(255,255,255,.86)}
.final-copy .btn.light{background:rgba(255,250,245,.92);border-color:rgba(255,255,255,.76);color:var(--ink)}

/* --------------------------------------------------------------------------
   MENU — glass hero copy, search rail and menu cards
   -------------------------------------------------------------------------- */
.menu-page-hero-overlay,.lang-ar .menu-page-hero-overlay{
  background:linear-gradient(90deg,rgba(20,16,13,.18),rgba(20,16,13,.03) 58%,rgba(20,16,13,.12));
}
.lang-ar .menu-page-hero-overlay{
  background:linear-gradient(270deg,rgba(20,16,13,.18),rgba(20,16,13,.03) 58%,rgba(20,16,13,.12));
}
.menu-page-hero-copy,.lang-ar .menu-page-hero-copy{
  bottom:62px;
  padding:32px 34px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  color:var(--ink);
}
.menu-page-hero-copy .eyebrow{color:#81786f}
.menu-page-hero-copy>p:not(.eyebrow){color:#625b54}
.menu-page-hero-copy .text-link{color:var(--ink)}

.menu-catalog{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#fbf7f1;
}
.menu-catalog::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(rgba(255,250,245,.89),rgba(255,250,245,.93)),
    url('../images/event-story.jpg') center 20%/cover no-repeat;
  transform:scale(1.03);
}
.menu-search{
  border:1px solid rgba(255,255,255,.78);
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,250,245,.60))!important;
}
.menu-search button{background:var(--peach);color:var(--ink);border-inline-start-color:rgba(37,37,37,.08)}
.menu-category-rail{
  top:76px;
  padding:10px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,250,245,.78),rgba(255,255,255,.56))!important;
}
.menu-category-pill{background:rgba(255,255,255,.60);border-color:rgba(255,255,255,.76)}
.menu-category-pill.active,.menu-category-pill:hover{background:var(--olive);border-color:var(--olive);color:#fff}
.menu-product-card{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:22px;
}
.menu-product-body{background:rgba(255,250,245,.50)}
.menu-product-card:hover{box-shadow:0 26px 64px rgba(72,52,38,.14)!important}

/* --------------------------------------------------------------------------
   PUBLIC PAGES — About / Policy / Privacy / Terms
   Full-photo hero with a warm cream glass information panel.
   -------------------------------------------------------------------------- */
.public-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  overflow:hidden;
  padding:86px max(var(--page-pad),calc((100vw - var(--content))/2));
  background:#efe7dc;
}
.public-hero-media{
  position:absolute;
  inset:0;
  min-height:0;
}
.public-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(20,16,13,.04),rgba(20,16,13,.10));
}
.public-hero-media img{width:100%;height:100%;object-fit:cover}
.public-hero-copy{
  position:relative;
  z-index:2;
  width:min(570px,46vw);
  padding:38px 40px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:30px;
  color:var(--ink);
}
.public-hero-copy>p:not(.eyebrow){color:#625b54}
.public-hero-copy .text-link{color:var(--ink)}

.public-section{
  position:relative;
  isolation:isolate;
  background:#fbf7f1;
}
.public-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(rgba(255,250,245,.91),rgba(255,250,245,.94)),
    url('../images/final-cta.jpg') center/cover no-repeat;
}
.public-section:nth-of-type(3)::before{background:linear-gradient(135deg,#fbf7f1,#f7f0e8)}
.about-value{
  border:1px solid rgba(255,255,255,.74)!important;
  border-radius:20px;
  min-height:200px;
}
.public-media-card{
  border:1px solid rgba(255,255,255,.70);
  border-radius:24px;
  box-shadow:0 24px 60px rgba(72,52,38,.10);
}

.legal-wrap{
  max-width:none;
  padding:86px max(var(--page-pad),calc((100vw - 1120px)/2)) 110px;
  background:
    linear-gradient(rgba(255,250,245,.91),rgba(255,250,245,.94)),
    url('../images/final-cta.jpg') center/cover no-repeat;
}
.legal-intro{max-width:780px;margin-inline:auto}
.legal-list{
  max-width:1000px;
  margin:0 auto;
  display:grid;
  gap:14px;
  border-top:0;
}
.legal-item{
  padding:24px 26px;
  border:1px solid rgba(255,255,255,.74)!important;
  border-radius:20px;
}

/* --------------------------------------------------------------------------
   CONTACT — photo atmosphere + glass form / information cards
   -------------------------------------------------------------------------- */
.contact-page-new{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#f8f1e8;
}
.contact-page-new::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(rgba(255,250,245,.67),rgba(255,250,245,.80)),
    url('../images/event-story.jpg') center/cover no-repeat;
}
.contact-page-new::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.42),transparent 34%),radial-gradient(circle at 12% 78%,rgba(235,176,132,.12),transparent 30%);
  pointer-events:none;
}
.contact-page-head{
  max-width:760px;
  padding:28px 30px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:26px;
}
.contact-form-card,.contact-details-card{
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,250,245,.76),rgba(255,255,255,.48))!important;
}
.contact-input input,.contact-input select,.contact-input textarea,
.contact-detail-item,.contact-event-fields{
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(255,255,255,.76)!important;
}
.contact-submit-new{background:var(--peach);color:var(--ink);box-shadow:0 10px 28px rgba(175,110,62,.16)}

/* --------------------------------------------------------------------------
   AUTH — full photographic background with one central glass form.
   -------------------------------------------------------------------------- */
.account-auth-shell.account-auth-only{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#efe6db;
}
.account-auth-shell.account-auth-only::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(rgba(255,250,245,.28),rgba(255,250,245,.30)),
    url('../images/builder-event.jpg') center 48%/cover no-repeat;
}
.account-auth-shell.account-auth-only::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.05),rgba(35,27,21,.08));
}
.account-auth-only .account-auth-form-wrap{background:transparent}
.account-auth-only .account-auth-form{
  padding:38px;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:30px;
}
.account-auth-form>label,.account-form-two label{
  background:rgba(255,255,255,.64);
  border-color:rgba(255,255,255,.78);
}
.account-auth-only .account-primary-btn{background:var(--peach);border-color:var(--peach);color:var(--ink)}

/* Backdrop-filter fallback keeps text readable on older engines. */
@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){
  .final-copy,
  .menu-page-hero-copy,.menu-search,.menu-category-rail,.menu-product-card,
  .public-hero-copy,.about-value,.legal-item,.contact-page-head,.contact-form-card,.contact-details-card,
  .account-auth-only .account-auth-form{background:rgba(255,250,245,.94)!important}
  .final-copy{background:rgba(63,65,43,.88)!important}
}

@media(max-width:1099px){
  .public-hero{min-height:590px;padding-block:64px}
  .public-hero-copy{width:min(540px,54vw);padding:32px 34px;border-radius:26px}
}

@media(max-width:899px){
  .final-cta{padding:58px var(--page-pad)}
  .final-copy,.lang-ar .final-copy{padding:42px 32px;border-radius:24px}

  .menu-page-hero-copy,.lang-ar .menu-page-hero-copy{
    left:var(--page-pad);
    right:var(--page-pad);
    width:auto;
    max-width:620px;
    padding:28px 30px;
    border-radius:24px;
  }
  .menu-category-rail{border-radius:18px}

  .public-hero{
    min-height:620px;
    display:flex;
    padding:52px var(--page-pad);
    align-items:flex-end;
  }
  .public-hero-media{height:auto;min-height:0;order:initial}
  .public-hero-copy{
    width:min(600px,100%);
    padding:30px;
    border-radius:24px;
  }
}

@media(max-width:767px){
  .final-cta{padding:44px 20px}
  .final-copy,.lang-ar .final-copy{padding:34px 22px;border-radius:21px}

  .menu-page-hero-copy,.lang-ar .menu-page-hero-copy{left:18px;right:18px;bottom:28px;padding:23px 20px;border-radius:21px}
  .menu-category-rail{margin-inline:-12px;border-radius:0;border-inline:0!important}
  .menu-product-card{border-radius:18px}

  .public-hero{min-height:590px;padding:30px 20px;align-items:flex-end}
  .public-hero-media{position:absolute;height:auto;inset:0}
  .public-hero-copy{width:100%;padding:24px 20px;border-radius:21px}
  .public-section{padding:52px 20px}
  .about-value{min-height:150px;border-radius:17px}
  .legal-wrap{padding:52px 20px 72px}
  .legal-item{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:20px;border-radius:17px}

  .contact-page-head{padding:22px 20px;border-radius:20px}
  .contact-form-card,.contact-details-card{border-radius:20px}

  .account-auth-only .account-auth-form{padding:26px 20px;border-radius:22px!important}
}

.hero-photo video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:767px){.hero-photo video{object-position:center top}}


/* ==========================================================================
   V33 — Text-only Menu hero + incremental menu loading
   ========================================================================== */
.menu-page-hero.menu-page-hero-text{
  min-height:320px;
  padding:118px var(--page-pad) 72px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:var(--ink);
  background:
    radial-gradient(circle at 14% 18%,rgba(235,176,132,.18),transparent 28%),
    radial-gradient(circle at 86% 72%,rgba(210,149,146,.14),transparent 30%),
    linear-gradient(180deg,#fffdfa 0%,#fcf7f1 100%);
  border-bottom:1px solid rgba(37,37,37,.08);
}
.menu-page-hero-text-inner{
  width:min(980px,100%);
  display:grid;
  grid-template-columns:minmax(60px,1fr) auto minmax(60px,1fr);
  align-items:center;
  gap:28px;
  text-align:center;
}
.menu-page-hero-text h1{
  margin:0;
  max-width:760px;
  font-size:clamp(46px,5.6vw,82px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:600;
}
.lang-ar .menu-page-hero-text h1{
  font-size:clamp(34px,4.2vw,60px);
  line-height:1.35;
  letter-spacing:0;
}
.menu-hero-rule{
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(210,149,146,.72));
}
.menu-hero-rule:last-child{background:linear-gradient(90deg,rgba(210,149,146,.72),transparent)}

.menu-load-more-wrap{
  display:flex;
  justify-content:center;
  padding-top:38px;
}
.menu-load-more-wrap[hidden]{display:none!important}
.menu-load-more{
  min-width:180px;
  min-height:52px;
  padding:0 30px;
  border:1px solid rgba(37,37,37,.12);
  border-radius:999px;
  background:var(--peach);
  color:var(--ink);
  font:600 14px/1 Poppins,Cairo,sans-serif;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(154,105,75,.10);
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.lang-ar .menu-load-more{font-family:Cairo,sans-serif;font-size:13px}
.menu-load-more:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(154,105,75,.15)}
.menu-load-more:disabled{cursor:wait;opacity:.58;transform:none}
.menu-load-more.is-loading::after{content:"…";margin-inline-start:6px}

@media(max-width:767px){
  .menu-page-hero.menu-page-hero-text{min-height:230px;padding:92px 20px 46px}
  .menu-page-hero-text-inner{grid-template-columns:28px minmax(0,1fr) 28px;gap:14px}
  .menu-page-hero-text h1{font-size:clamp(34px,10vw,46px);line-height:1.02}
  .lang-ar .menu-page-hero-text h1{font-size:clamp(27px,8vw,36px);line-height:1.45}
  .menu-load-more-wrap{padding-top:28px}
  .menu-load-more{width:min(100%,260px);min-height:50px}
}

/* ========================================================================== 
   V36 — mobile booking breathing room + 3px taller mobile header
   Desktop/laptop logo sizing is intentionally untouched (88px at >=1100px).
   ========================================================================== */
@media (max-width:899px){
  :root{--header-h:71px}
  body{padding-top:71px}
  .site-header{height:71px}
  .mobile-nav{top:71px}
  .menu-category-rail{top:71px}
  .booking-category-nav{top:81px}
  .booking-form-intro,.booking-step-intro{top:91px}
}

@media (max-width:767px){
  /* Give the booking wizard real breathing room on phones without a hero. */
  .booking-wizard-page .booking-wizard-shell{
    padding:44px 24px 84px;
  }
  .booking-wizard-page .booking-progress-wizard{
    margin:0 -24px 38px;
    padding-inline:13px;
  }
  .booking-wizard-page .wizard-section.is-current{
    padding:14px 0 54px;
  }
  .booking-wizard-page .booking-step-layout{
    gap:36px;
  }
  .booking-wizard-page .booking-step-intro{
    padding-inline:4px;
  }
  .booking-wizard-page .booking-step-intro .eyebrow{
    margin-bottom:17px;
  }
  .booking-wizard-page .booking-step-intro h2{
    margin-bottom:0;
  }
  .booking-wizard-page .booking-step-intro>p:not(.eyebrow){
    margin:22px 0 0;
    max-width:34rem;
  }
  .booking-wizard-page .booking-note-chip{
    margin-top:24px;
  }
  .booking-wizard-page .booking-form,
  .booking-wizard-page .booking-form-rich{
    margin-top:0;
  }
}

@media (max-width:420px){
  :root{--header-h:69px}
  body{padding-top:69px}
  .site-header{height:69px}
  .mobile-nav{top:69px}
  .menu-category-rail{top:69px}
  .booking-category-nav{top:79px}
  .booking-form-intro,.booking-step-intro{top:89px}
  .booking-wizard-page .booking-wizard-shell{
    padding-inline:22px;
  }
  .booking-wizard-page .booking-progress-wizard{
    margin-inline:-22px;
  }
}

/* ==========================================================================\n   V41 — Home hero poster first, local GIF after full load\n   ========================================================================== */
.hero-progressive{position:relative;overflow:hidden;background:var(--cream)}
.hero-progressive .hero-poster,
.hero-progressive .hero-poster img,
.hero-progressive .hero-animation{display:block;width:100%;height:100%}
.hero-progressive .hero-poster{position:relative;z-index:1;background:var(--cream);opacity:1}
.hero-progressive .hero-poster img{object-fit:cover;object-position:center}
.hero-progressive .hero-animation{
  position:absolute;
  inset:0;
  z-index:2;
  object-fit:cover;
  object-position:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .5s ease;
  will-change:opacity;
}
.hero-progressive.is-animation-ready .hero-animation{opacity:1;visibility:visible}
.hero-progressive.is-animation-ready .hero-poster{opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s}
@media(max-width:767px){
  .hero-progressive .hero-poster img{object-position:center top}
  .hero-progressive .hero-animation{object-position:center center}
}
@media(prefers-reduced-motion:reduce){
  .hero-progressive .hero-animation{display:none!important}
  .hero-progressive .hero-poster{opacity:1!important;visibility:visible!important}
}
