: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:5px;overflow:auto;padding:4px;border:1px solid var(--line);border-radius:13px;background:#fff;scrollbar-width:none}.account-tabs::-webkit-scrollbar{display:none}.account-tabs a{flex:0 0 auto;padding:10px 13px;border-radius:9px;font-size:9.5px;font-weight:600;color:var(--muted);text-align:center}.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%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.account-tabs a{min-width:0;padding-inline:7px;white-space:normal}.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}
}

/* ==========================================================================
   V43 — cinematic MP4 home hero + editorial overlay + glass header
   ========================================================================== */
.page-index{padding-top:0!important}
.page-index .site-header{
  position:absolute!important;
  top:0!important;
  background:linear-gradient(180deg,rgba(17,13,10,.34),rgba(17,13,10,.08))!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.14)!important;
  backdrop-filter:blur(14px) saturate(1.14)!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.page-index .site-header .nav a,
.page-index .site-header .lang,
.page-index .site-header .book,
.page-index .site-header .account-header-link,
.page-index .site-header .cart-header-button{color:#fff!important}
.page-index .site-header .account-header-link,
.page-index .site-header .cart-header-button{background:rgba(255,255,255,.10)!important}
.page-index .site-header .account-header-link:hover,
.page-index .site-header .cart-header-button:hover{background:rgba(255,255,255,.18)!important}
.page-index .site-header .hamb i{background:#fff!important}
.page-index .site-header .book{
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.25);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.page-index .mobile-nav{
  background:rgba(27,22,19,.82)!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;
  border-top:1px solid rgba(255,255,255,.12);
}
.page-index .mobile-nav a,.page-index .mobile-nav button{color:#fff!important}

.hero-editorial{
  position:relative;
  height:min(100svh,900px);
  min-height:620px;
  border-bottom:0;
  background:#2b211a;
  isolation:isolate;
}
.hero-editorial .hero-photo{position:absolute;inset:0;width:100%;height:100%!important;background:#2b211a}
.hero-editorial .hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(18,12,8,.14) 0%,rgba(18,12,8,.03) 45%,rgba(18,12,8,.56) 100%);
}
.hero-progressive .hero-poster,
.hero-progressive .hero-poster img,
.hero-progressive .hero-video{display:block;width:100%;height:100%}
.hero-progressive .hero-poster{position:absolute;inset:0;z-index:1;opacity:1;visibility:visible;background:#2b211a}
.hero-progressive .hero-poster img{object-fit:cover;object-position:center}
.hero-progressive .hero-video{
  position:absolute;
  inset:0;
  z-index:2;
  border:0;
  object-fit:cover;
  object-position:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .55s ease,visibility 0s linear .55s;
  background:#2b211a;
}
.hero-progressive.is-video-ready .hero-video{opacity:1;visibility:visible;transition:opacity .55s ease}
.hero-progressive.is-video-ready .hero-poster{opacity:0;visibility:hidden;transition:opacity .55s ease,visibility 0s linear .55s}

.hero-editorial-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  color:#fff;
  pointer-events:none;
}
.hero-editorial-overlay a{pointer-events:auto}
.hero-editorial-intro{
  position:absolute;
  left:max(var(--page-pad),calc((100vw - var(--content))/2));
  bottom:clamp(134px,16vw,206px);
  max-width:280px;
}
.hero-editorial-intro p{
  margin:0;
  font-size:clamp(11px,.9vw,14px);
  line-height:1.25;
  font-weight:500;
  letter-spacing:.015em;
  text-transform:uppercase;
  text-shadow:0 2px 20px rgba(0,0,0,.24);
}
.lang-ar .hero-editorial-intro{left:auto;right:max(var(--page-pad),calc((100vw - var(--content))/2));text-align:right}
.lang-ar .hero-editorial-intro p{font-family:var(--font-ar);font-size:clamp(11px,1vw,14px);line-height:1.65;text-transform:none}
.hero-editorial-actions{
  position:absolute;
  right:max(var(--page-pad),calc((100vw - var(--content))/2));
  bottom:clamp(132px,15.8vw,202px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.lang-ar .hero-editorial-actions{right:auto;left:max(var(--page-pad),calc((100vw - var(--content))/2));align-items:flex-end}
.hero-editorial-actions a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:3px 0;
  color:#fff;
  font-size:clamp(10px,.82vw,13px);
  font-weight:500;
  letter-spacing:.02em;
  border-bottom:1px solid rgba(255,255,255,.58);
  text-shadow:0 2px 16px rgba(0,0,0,.28);
}
.hero-editorial-actions a span{font-size:7px;transform:translateY(-1px)}
.lang-ar .hero-editorial-actions a{font-family:var(--font-ar);font-size:12px}
.hero-megabytes{
  position:absolute;
  left:50%;
  bottom:clamp(18px,1.5vw,28px);
  width:calc(100% - (2 * var(--page-pad)));
  transform:translateX(-50%);
  overflow:hidden;
  white-space:nowrap;
  text-align:center;
  font-family:var(--font-en);
  font-size:clamp(82px,14.6vw,226px);
  line-height:.72;
  letter-spacing:-.065em;
  font-weight:600;
  color:#fff;
  text-shadow:0 3px 28px rgba(0,0,0,.18);
}

@media(max-width:767px){
  .hero-editorial{height:100svh;min-height:650px;max-height:900px}
  .hero-progressive .hero-poster img,
  .hero-progressive .hero-video{object-position:center center}
  .hero-editorial .hero-photo::after{background:linear-gradient(180deg,rgba(18,12,8,.19),rgba(18,12,8,.02) 42%,rgba(18,12,8,.66) 100%)}
  .hero-megabytes{
    bottom:22px;
    width:calc(100% - 24px);
    font-size:clamp(54px,18vw,92px);
    line-height:.78;
    letter-spacing:-.07em;
  }
  .hero-editorial-intro,.lang-ar .hero-editorial-intro{
    left:18px;
    right:auto;
    bottom:112px;
    max-width:230px;
    text-align:left;
  }
  .lang-ar .hero-editorial-intro{left:auto;right:18px;text-align:right}
  .hero-editorial-intro p{font-size:10px;line-height:1.35}
  .hero-editorial-actions,.lang-ar .hero-editorial-actions{
    right:18px;
    left:auto;
    bottom:111px;
    gap:7px;
    align-items:flex-end;
  }
  .lang-ar .hero-editorial-actions{right:auto;left:18px;align-items:flex-start}
  .hero-editorial-actions a{font-size:9px}
  .page-index .mobile-nav{top:71px!important}
}
@media(max-width:420px){
  .hero-editorial{min-height:620px}
  .hero-megabytes{font-size:clamp(49px,17.6vw,76px)}
  .hero-editorial-intro,.lang-ar .hero-editorial-intro{bottom:105px;max-width:185px}
  .hero-editorial-actions,.lang-ar .hero-editorial-actions{bottom:104px}
  .page-index .mobile-nav{top:69px!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-progressive .hero-video{display:none!important}
  .hero-progressive .hero-poster{opacity:1!important;visibility:visible!important}
}

/* V45 — stable hero media swap: no layout shift, warm-cache reloads skip poster. */
.hero-editorial,
.hero-editorial .hero-photo,
.hero-progressive{
  overflow:hidden;
  contain:layout paint;
}
.hero-progressive .hero-poster,
.hero-progressive .hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}
.hero-progressive .hero-poster img,
.hero-progressive .hero-video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.hero-progressive.is-video-warm .hero-video,
.hero-progressive.is-video-ready .hero-video{
  opacity:1!important;
  visibility:visible!important;
}
.hero-progressive.is-video-warm .hero-poster,
.hero-progressive.is-video-ready .hero-poster{
  opacity:0!important;
  visibility:hidden!important;
}
.hero-progressive.is-video-warm .hero-video,
.hero-progressive.is-video-warm .hero-poster{
  transition:none!important;
}
@media(max-width:767px){
  .hero-editorial{
    height:100svh!important;
    min-height:100svh!important;
    max-height:none!important;
  }
  @supports(height:100dvh){
    .hero-editorial{height:100svh!important;min-height:100svh!important}
  }
}
\n\n/* ==========================================================================\n   V46 — FINAL hero: MP4 is the hero, no poster swap, no layout jump\n   ========================================================================== */\n.page-index .hero-editorial,\n.page-index .hero-editorial .hero-photo,\n.page-index .hero-video-only{\n  position:relative;\n  overflow:hidden;\n}\n.page-index .hero-editorial .hero-photo,\n.page-index .hero-video-only{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}\n.page-index .hero-video-only .hero-video{\n  display:block!important;\n  position:absolute!important;\n  inset:0!important;\n  width:100%!important;\n  height:100%!important;\n  margin:0!important;\n  object-fit:cover!important;\n  object-position:center center!important;\n  opacity:1!important;\n  visibility:visible!important;\n  transition:none!important;\n  background:#2b211a;\n}\n/* Reduced-motion must never replace the requested hero video with the old poster. */\n@media(prefers-reduced-motion:reduce){\n  .page-index .hero-video-only .hero-video{display:block!important;opacity:1!important;visibility:visible!important;transition:none!important}\n}\n/* Raise the editorial copy/actions slightly on desktop. */\n.page-index .hero-editorial-intro{bottom:clamp(154px,17.2vw,224px)}\n.page-index .hero-editorial-actions{bottom:clamp(152px,17vw,220px)}\n@media(max-width:767px){\n  .page-index .hero-editorial{height:100svh!important;min-height:100svh!important;max-height:none!important}\n  .page-index .hero-editorial-intro,\n  .page-index .lang-ar .hero-editorial-intro{bottom:132px}\n  .page-index .hero-editorial-actions,\n  .page-index .lang-ar .hero-editorial-actions{\n    bottom:131px;\n    width:132px;\n    align-items:flex-start!important;\n  }\n  .page-index .hero-editorial-actions a{justify-content:flex-start;text-align:left}\n  .page-index .lang-ar .hero-editorial-actions a{justify-content:flex-start;text-align:right}\n}\n@media(max-width:420px){\n  .page-index .hero-editorial-intro,\n  .page-index .lang-ar .hero-editorial-intro{bottom:124px}\n  .page-index .hero-editorial-actions,\n  .page-index .lang-ar .hero-editorial-actions{bottom:123px;width:128px}\n}\n

/* ==========================================================================
   V48 — FINAL first-visit poster -> cached video hero
   The poster is requested only on a cold browser/video version. Media layers are
   absolute, so revealing the video can never change document height or scroll.
   ========================================================================== */
.page-index .hero-editorial{
  position:relative!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:none!important;
  overflow:hidden!important;
  contain:layout paint;
}
.page-index .hero-editorial .hero-photo,
.page-index .hero-editorial .hero-progressive{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#2b211a!important;
}
.page-index .hero-progressive .hero-poster,
.page-index .hero-progressive .hero-video{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}
.page-index .hero-progressive .hero-poster{z-index:1!important;opacity:1!important;visibility:visible!important;background:#2b211a!important}
.page-index .hero-progressive .hero-poster img,
.page-index .hero-progressive .hero-video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.page-index .hero-progressive .hero-video{
  z-index:2!important;
  opacity:0!important;
  visibility:hidden!important;
  background:#2b211a!important;
  transition:opacity .24s ease!important;
}
.page-index .hero-progressive.is-video-ready .hero-video,
.page-index .hero-progressive.is-video-warm .hero-video,
html.hero-video-warm .page-index .hero-progressive .hero-video{
  opacity:1!important;
  visibility:visible!important;
}
.page-index .hero-progressive.is-video-ready .hero-poster,
.page-index .hero-progressive.is-video-warm .hero-poster,
html.hero-video-warm .page-index .hero-progressive .hero-poster{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.page-index .hero-progressive.is-video-warm .hero-video,
html.hero-video-warm .page-index .hero-progressive .hero-video{
  transition:none!important;
}
/* Do not let the older reduced-motion fallback disable the requested MP4. */
@media(prefers-reduced-motion:reduce){
  .page-index .hero-progressive .hero-video{display:block!important}
  .page-index .hero-progressive.is-video-ready .hero-video,
  .page-index .hero-progressive.is-video-warm .hero-video,
  html.hero-video-warm .page-index .hero-progressive .hero-video{opacity:1!important;visibility:visible!important}
}
@media(max-width:767px){
  .page-index .hero-progressive .hero-poster img,
  .page-index .hero-progressive .hero-video{object-position:center center!important}
}

/* ========================================================================== 
   V49 — iOS/Safari hero autoplay fix + final 4px overlay lift
   Keep the MP4 genuinely visible/paintable underneath the poster. iOS Safari
   may refuse to autoplay a video that is visibility:hidden, which prevented
   the `playing` event from ever firing on mobile.
   ========================================================================== */
.page-index .hero-progressive .hero-video{
  display:block!important;
  z-index:1!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  transition:none!important;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
}
.page-index .hero-progressive .hero-poster{
  z-index:2!important;
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .24s ease!important;
  pointer-events:none!important;
}
.page-index .hero-progressive.is-video-ready .hero-poster,
.page-index .hero-progressive.is-video-warm .hero-poster,
html.hero-video-warm .page-index .hero-progressive .hero-poster{
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .24s ease,visibility 0s linear .24s!important;
}
/* Never hide the MP4 itself, including iOS reduced-motion configurations. */
@media(prefers-reduced-motion:reduce){
  .page-index .hero-progressive .hero-video{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* Move all editorial hero labels/actions 4px upward without changing layout. */
.page-index .hero-editorial-intro,
.page-index .hero-editorial-actions,
.page-index .hero-megabytes{
  transform:translateY(-4px)!important;
}

/* Keep the same glass header treatment on Home at every breakpoint. */
.page-index .site-header{
  background:rgba(43,33,26,.34)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
}
@media(max-width:1099px){
  .page-index .site-header{
    background:rgba(43,33,26,.34)!important;
    -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
    backdrop-filter:blur(18px) saturate(125%)!important;
  }
}


/* ========================================================================== 
   V50 — INDEX HERO VIDEO ONLY
   One MP4 for desktop + mobile. No poster, no image fallback, no visible media
   controls. This final block intentionally overrides all older hero revisions.
   ========================================================================== */
.page-index .hero-editorial{
  position:relative!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#2b211a!important;
  contain:layout paint;
}
.page-index .hero-editorial .hero-video-only{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#2b211a!important;
}
.page-index .hero-video-only .hero-video{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  background:#2b211a!important;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
}
.page-index .hero-video-only .hero-video::-webkit-media-controls,
.page-index .hero-video-only .hero-video::-webkit-media-controls-panel,
.page-index .hero-video-only .hero-video::-webkit-media-controls-start-playback-button{
  display:none!important;
  -webkit-appearance:none!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:767px){
  .page-index .hero-editorial{
    height:100svh!important;
    min-height:100svh!important;
  }
  .page-index .hero-video-only .hero-video{
    object-fit:cover!important;
    object-position:center center!important;
  }
}
@supports(height:100dvh){
  @media(max-width:767px){
    .page-index .hero-editorial{
      height:100dvh!important;
      min-height:100dvh!important;
    }
  }
}
@media(prefers-reduced-motion:reduce){
  .page-index .hero-video-only .hero-video{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
}


/* ==========================================================================
   V51 — pure-video reload flash minimization
   No poster/image is used. The warm fallback color approximates the opening
   frame, and the video is promoted to its own compositor layer immediately.
   ========================================================================== */
.page-index .hero-editorial,
.page-index .hero-editorial .hero-video-only,
.page-index .hero-video-only .hero-video{
  background:#c8b596!important;
}
.page-index .hero-video-only .hero-video{
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translate3d(0,0,0)!important;
  -webkit-transform:translate3d(0,0,0)!important;
}

/* ========================================================================== 
   V52 — final editorial hero layout + iOS control suppression
   Fixes the old transform override that pushed MEGABYTES from the center to
   the right edge, keeps all overlay copy inside the viewport, and gives the
   labels comfortable separation at desktop and mobile sizes.
   ========================================================================== */
.page-index .hero-editorial-overlay{
  overflow:hidden!important;
}
.page-index .hero-megabytes{
  left:50%!important;
  right:auto!important;
  bottom:38px!important;
  width:calc(100% - 48px)!important;
  max-width:none!important;
  font-size:clamp(72px,10.8vw,176px)!important;
  line-height:.76!important;
  letter-spacing:-.055em!important;
  text-align:center!important;
  white-space:nowrap!important;
  transform:translate(-50%,-4px)!important;
  -webkit-transform:translate(-50%,-4px)!important;
}
.page-index .hero-editorial-intro{
  bottom:clamp(210px,18vw,250px)!important;
  transform:none!important;
  max-width:min(300px,34vw)!important;
}
.page-index .hero-editorial-actions{
  bottom:clamp(208px,17.8vw,248px)!important;
  transform:none!important;
  max-width:min(220px,28vw)!important;
}

/* Suppress every WebKit media-control surface we can target. The video is
   intentionally non-interactive; playback is managed by JS. */
.page-index .hero-video-only video::-webkit-media-controls,
.page-index .hero-video-only video::-webkit-media-controls-enclosure,
.page-index .hero-video-only video::-webkit-media-controls-panel,
.page-index .hero-video-only video::-webkit-media-controls-overlay-play-button,
.page-index .hero-video-only video::-webkit-media-controls-start-playback-button,
.page-index .hero-video-only video::-webkit-media-controls-play-button{
  display:none!important;
  -webkit-appearance:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media(max-width:767px){
  .page-index .hero-megabytes{
    bottom:30px!important;
    width:calc(100% - 30px)!important;
    font-size:clamp(44px,13.6vw,72px)!important;
    line-height:.78!important;
    letter-spacing:-.055em!important;
    transform:translate(-50%,-2px)!important;
    -webkit-transform:translate(-50%,-2px)!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:154px!important;
    max-width:190px!important;
    transform:none!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:152px!important;
    width:126px!important;
    max-width:126px!important;
    transform:none!important;
  }
  .page-index .hero-editorial-intro p{
    font-size:9.5px!important;
    line-height:1.32!important;
  }
  .page-index .hero-editorial-actions a{
    font-size:8.5px!important;
    line-height:1.25!important;
  }
}
@media(max-width:420px){
  .page-index .hero-megabytes{
    bottom:27px!important;
    width:calc(100% - 24px)!important;
    font-size:clamp(42px,13.2vw,62px)!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{bottom:145px!important;max-width:172px!important}
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{bottom:143px!important;width:118px!important;max-width:118px!important}
}
\n\n/* ==========================================================================\n   V53 — INDEX HERO ANIMATED WEBP FINAL\n   Replaces the MP4 hero with one animated WebP on desktop and mobile.\n   Same editorial layout; no media element means no iOS play button/controls.\n   ========================================================================== */\n.page-index .hero-editorial{\n  position:relative!important;\n  height:100svh!important;\n  min-height:100svh!important;\n  max-height:none!important;\n  overflow:hidden!important;\n  background:#c8b596!important;\n}\n.page-index .hero-editorial .hero-webp-only{\n  position:absolute!important;\n  inset:0!important;\n  width:100%!important;\n  height:100%!important;\n  overflow:hidden!important;\n  background:#c8b596!important;\n}\n.page-index .hero-webp-only .hero-webp{\n  display:block!important;\n  position:absolute!important;\n  inset:0!important;\n  width:100%!important;\n  height:100%!important;\n  max-width:none!important;\n  margin:0!important;\n  object-fit:cover!important;\n  object-position:center center!important;\n  opacity:1!important;\n  visibility:visible!important;\n  pointer-events:none!important;\n  user-select:none!important;\n  -webkit-user-select:none!important;\n  -webkit-user-drag:none!important;\n  transform:translate3d(0,0,0)!important;\n  -webkit-transform:translate3d(0,0,0)!important;\n  backface-visibility:hidden!important;\n  -webkit-backface-visibility:hidden!important;\n}\n@media(max-width:767px){\n  .page-index .hero-editorial{\n    height:100svh!important;\n    min-height:100svh!important;\n  }\n  .page-index .hero-webp-only .hero-webp{\n    object-fit:cover!important;\n    object-position:center center!important;\n  }\n}\n@supports(height:100dvh){\n  @media(max-width:767px){\n    .page-index .hero-editorial{\n      height:100dvh!important;\n      min-height:100dvh!important;\n    }\n  }\n}\n
/* ========================================================================== 
   V54 — FINAL INDEX HERO / SILENT MP4
   Uses one optimized, audio-free MP4 on desktop + mobile. This block is the
   authoritative hero override and supersedes older WebP/video experiments.
   ========================================================================== */
.page-index .hero-editorial{
  position:relative!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#b7a58d!important;
}
.page-index .hero-editorial .hero-video-only{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#b7a58d!important;
}
.page-index .hero-video-only .hero-video{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  transform:translate3d(0,0,0)!important;
  -webkit-transform:translate3d(0,0,0)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.page-index .hero-webp-only{display:none!important}

/* Keep the editorial typography balanced and fully inside the viewport. */
.page-index .hero-megabytes{
  left:50%!important;
  right:auto!important;
  bottom:52px!important;
  width:calc(100% - 72px)!important;
  font-size:clamp(66px,9.2vw,150px)!important;
  line-height:.78!important;
  letter-spacing:-.05em!important;
  text-align:center!important;
  white-space:nowrap!important;
  transform:translateX(-50%)!important;
  -webkit-transform:translateX(-50%)!important;
}
.page-index .hero-editorial-intro{
  bottom:clamp(220px,18vw,268px)!important;
  max-width:min(310px,33vw)!important;
  transform:none!important;
}
.page-index .hero-editorial-actions{
  bottom:clamp(218px,17.8vw,266px)!important;
  max-width:min(220px,27vw)!important;
  transform:none!important;
}

/* iOS/Safari: hide every native media-control surface that can be targeted. */
.page-index .hero-video-only video::-webkit-media-controls,
.page-index .hero-video-only video::-webkit-media-controls-enclosure,
.page-index .hero-video-only video::-webkit-media-controls-panel,
.page-index .hero-video-only video::-webkit-media-controls-overlay-play-button,
.page-index .hero-video-only video::-webkit-media-controls-start-playback-button,
.page-index .hero-video-only video::-webkit-media-controls-play-button{
  display:none!important;
  -webkit-appearance:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media(max-width:767px){
  .page-index .hero-editorial{height:100svh!important;min-height:100svh!important}
  .page-index .hero-video-only .hero-video{
    object-fit:cover!important;
    object-position:50% 50%!important;
  }
  .page-index .hero-megabytes{
    bottom:42px!important;
    width:calc(100% - 28px)!important;
    font-size:clamp(38px,11.6vw,62px)!important;
    line-height:.82!important;
    letter-spacing:-.045em!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:158px!important;
    max-width:168px!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:156px!important;
    width:112px!important;
    max-width:112px!important;
  }
  .page-index .hero-editorial-intro p{font-size:9px!important;line-height:1.3!important}
  .page-index .hero-editorial-actions a{font-size:8px!important;line-height:1.22!important}
}
@media(max-width:420px){
  .page-index .hero-megabytes{bottom:38px!important;font-size:clamp(36px,11.2vw,54px)!important}
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{bottom:149px!important;max-width:160px!important}
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{bottom:147px!important;width:108px!important;max-width:108px!important}
}
@supports(height:100dvh){
  @media(max-width:767px){
    .page-index .hero-editorial{height:100dvh!important;min-height:100dvh!important}
  }
}

/* ========================================================================== 
   V55 — FINAL HERO BRAND POLISH
   1) Keep the upper hero/header tone visually stable across every video shot.
   2) Preserve the glass header while preventing bright frames from washing out
      the Mini's Corner logo/navigation.
   ========================================================================== */
.page-index .hero-video-only::after{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  right:0;
  height:clamp(120px,13vw,176px);
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(38,28,21,.34) 0%,
    rgba(38,28,21,.23) 48%,
    rgba(38,28,21,.08) 76%,
    rgba(38,28,21,0) 100%
  );
}
.page-index .site-header{
  background:rgba(48,37,29,.46)!important;
  -webkit-backdrop-filter:blur(16px) saturate(118%)!important;
  backdrop-filter:blur(16px) saturate(118%)!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
}
.page-index .site-header .logo img{
  opacity:1!important;
  filter:drop-shadow(0 1px 5px rgba(0,0,0,.12))!important;
  -webkit-filter:drop-shadow(0 1px 5px rgba(0,0,0,.12))!important;
}
@media(max-width:767px){
  .page-index .hero-video-only::after{
    height:138px;
    background:linear-gradient(
      180deg,
      rgba(38,28,21,.38) 0%,
      rgba(38,28,21,.24) 50%,
      rgba(38,28,21,.07) 80%,
      rgba(38,28,21,0) 100%
    );
  }
  .page-index .site-header{
    background:rgba(48,37,29,.49)!important;
  }
}

/* ========================================================================== 
   V56 — FINAL ANIMATED WEBP HERO + ONE PERSISTENT GLASS HEADER EVERYWHERE
   - Home hero uses the supplied animated WebP only (no <video>, no play UI).
   - Header appearance is identical on all public pages, desktop and mobile.
   - Header stays fixed while scrolling so cart/account controls are always near.
   ========================================================================== */

/* Keep page geometry unchanged after converting the formerly-sticky public
   header into a fixed header. Home already has an overlay header, so no offset. */
body:not(.page-index){padding-top:76px!important}

.site-header,
.page-index .site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:180!important;
  height:76px!important;
  transform:none!important;
  -webkit-transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  background:rgba(48,37,29,.72)!important;
  -webkit-backdrop-filter:blur(16px) saturate(118%)!important;
  backdrop-filter:blur(16px) saturate(118%)!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
  box-shadow:none!important;
}
.site-header::before{content:none!important}
.site-header .nav a,
.site-header .lang,
.site-header .book,
.site-header .account-header-link,
.site-header .cart-header-button{color:#fff!important}
.site-header .hamb i{background:#fff!important}
.site-header .account-header-link,
.site-header .cart-header-button{
  background:rgba(255,255,255,.10)!important;
}
.site-header .account-header-link:hover,
.site-header .account-header-link:focus-visible,
.site-header .cart-header-button:hover,
.site-header .cart-header-button:focus-visible{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
.site-header .book{
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.25)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
.site-header .logo img{
  opacity:1!important;
  filter:drop-shadow(0 1px 5px rgba(0,0,0,.12))!important;
  -webkit-filter:drop-shadow(0 1px 5px rgba(0,0,0,.12))!important;
}
.mobile-nav,
.page-index .mobile-nav{
  background:rgba(27,22,19,.90)!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.mobile-nav a,
.mobile-nav button,
.page-index .mobile-nav a,
.page-index .mobile-nav button{
  color:#fff!important;
  border-color:rgba(255,255,255,.12)!important;
}

/* Animated WebP hero. */
.page-index .hero-editorial{
  position:relative!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#b7a58d!important;
}
.page-index .hero-editorial .hero-webp-only{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#b7a58d!important;
}
.page-index .hero-webp-only .hero-webp{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-user-drag:none!important;
  transform:translate3d(0,0,0)!important;
  -webkit-transform:translate3d(0,0,0)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.page-index .hero-video-only,
.page-index .hero-video{display:none!important}

/* Stable upper tone behind the fixed glass header across every animation shot. */
.page-index .hero-webp-only::after{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  right:0;
  height:clamp(120px,13vw,176px);
  pointer-events:none;
  background:linear-gradient(180deg,rgba(38,28,21,.34) 0%,rgba(38,28,21,.23) 48%,rgba(38,28,21,.08) 76%,rgba(38,28,21,0) 100%);
}

@media(max-width:1099px){
  body:not(.page-index){padding-top:72px!important}
  .site-header,.page-index .site-header{height:72px!important}
  .mobile-nav,.page-index .mobile-nav{top:72px!important}
}

@media(max-width:767px){
  body:not(.page-index){padding-top:68px!important}
  .site-header,.page-index .site-header{
    height:68px!important;
    background:rgba(48,37,29,.76)!important;
  }
  .mobile-nav,.page-index .mobile-nav{top:68px!important}
  .page-index .hero-editorial{height:100svh!important;min-height:100svh!important}
  .page-index .hero-webp-only .hero-webp{object-fit:cover!important;object-position:50% 50%!important}
  .page-index .hero-webp-only::after{
    height:138px!important;
    background:linear-gradient(180deg,rgba(38,28,21,.38) 0%,rgba(38,28,21,.24) 50%,rgba(38,28,21,.07) 80%,rgba(38,28,21,0) 100%)!important;
  }
}

@supports(height:100dvh){
  @media(max-width:767px){
    .page-index .hero-editorial{height:100dvh!important;min-height:100dvh!important}
  }
}

/* V53 — responsive animated WebP performance pass */
.page-index .hero-webp-only .hero-webp-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.page-index .hero-webp-only .hero-webp-picture > .hero-webp{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
}

/* ========================================================================== 
   V58 — GLOBAL OVERLAY GLASS HEADER
   - Every public page starts underneath the fixed header, just like Home.
   - No body spacer: first hero/photo/background reaches the very top of viewport.
   - One translucent brown glass treatment on desktop + mobile.
   - Header remains fixed and visible while scrolling.
   ========================================================================== */

/* Remove the artificial space that used to push inner pages below the header. */
body:not(.page-index){
  padding-top:0!important;
}

/* Same overlay/glass header treatment everywhere. */
.site-header,
.page-index .site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:180!important;
  transform:none!important;
  -webkit-transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  background:rgba(48,37,29,.46)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 1px 0 rgba(0,0,0,.03)!important;
}

/* Keep the controls readable over photography while preserving the glass look. */
.site-header .account-header-link,
.site-header .cart-header-button{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.08)!important;
}
.site-header .book{
  background:rgba(255,255,255,.11)!important;
  border-color:rgba(255,255,255,.24)!important;
}

@media(max-width:767px){
  body:not(.page-index){
    padding-top:0!important;
  }
  .site-header,
  .page-index .site-header{
    background:rgba(48,37,29,.49)!important;
    -webkit-backdrop-filter:blur(16px) saturate(118%)!important;
    backdrop-filter:blur(16px) saturate(118%)!important;
  }
}


/* ========================================================================== 
   V60 — HERO WEBP SMOOTH + CLEAN CART NAV + CTA ALIGNMENT
   - Responsive animated WebP: lighter portrait file on phones, 16:9 on desktop.
   - No visible cart quantity in header/mobile navigation; cart icon opens drawer.
   - VIEW GALLERY and BOOK YOUR EVENT share exactly the same starting edge.
   ========================================================================== */

/* Hide any legacy cart count markup if an old cached header fragment appears. */
.cart-header-badge,
[data-cart-count-mobile]{
  display:none!important;
}

/* Keep both hero actions on one exact text/bullet axis. */
.page-index .hero-editorial-actions,
.page-index .lang-ar .hero-editorial-actions{
  align-items:stretch!important;
}
.page-index .hero-editorial-actions a,
.page-index .lang-ar .hero-editorial-actions a{
  box-sizing:border-box!important;
  width:100%!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.page-index .lang-ar .hero-editorial-actions a{
  justify-content:flex-start!important;
  text-align:right!important;
}

/* Give the right CTA column enough width so both lines start identically. */
@media(min-width:768px){
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    width:clamp(154px,11.5vw,184px)!important;
    max-width:184px!important;
  }
}
@media(max-width:767px){
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    width:126px!important;
    max-width:126px!important;
  }
}
@media(max-width:420px){
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    width:118px!important;
    max-width:118px!important;
  }
}

/* Responsive WebP presentation: the mobile asset is already portrait, so avoid
   forcing the browser to decode a landscape frame only to throw most of it away. */
.page-index .hero-webp-only .hero-webp-picture,
.page-index .hero-webp-only .hero-webp-picture > .hero-webp{
  width:100%!important;
  height:100%!important;
}
@media(max-width:767px){
  .page-index .hero-webp-only .hero-webp-picture > .hero-webp{
    object-fit:cover!important;
    object-position:50% 50%!important;
  }
}

/* V61 — CMS controlled responsive hero media. Final authority. */
.page-index .hero-editorial.hero-has-video .hero-video-only{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#b7a58d!important}
.page-index .hero-editorial.hero-has-video .hero-video{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 50%!important;pointer-events:none!important;background:#b7a58d!important}
.page-index .hero-editorial.hero-has-video .hero-webp-only{display:none!important}
.page-index .hero-editorial.hero-has-image .hero-webp-only{display:block!important}
.page-index .hero-editorial.hero-has-image .hero-video-only{display:none!important}
@media(max-width:767px){.page-index .hero-editorial.hero-has-video .hero-video{object-position:50% 50%!important}}


/* V62 — OTP verification actions */
.account-auth-card-stack{width:min(520px,100%);margin:0 auto}.account-auth-card-stack .account-auth-form{width:100%}.account-auth-resend{width:100%;margin:14px auto 0;text-align:center}
.account-text-btn{appearance:none;border:0;background:transparent;padding:7px 10px;color:var(--ink);font:inherit;font-size:10px;font-weight:650;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.account-text-btn:hover,.account-text-btn:focus-visible{color:var(--olive)}
@media(max-width:640px){.account-auth-resend{margin-top:12px}.account-text-btn{min-height:42px;font-size:10.5px}}

/* Global language switch: stored in cookie/session, not propagated in page URLs. */
.language-switch-form{margin:0;padding:0;display:inline-flex;align-items:center}
.language-switch-form .lang{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0;text-decoration:none}

.product-detail-gallery.is-empty{display:flex;min-height:520px;background:#f6efe8}
.product-gallery-empty-state{width:100%;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#7d746d;text-align:center;padding:40px}
.product-gallery-empty-state img{width:min(170px,42%);height:auto;opacity:.65}
.food-card-image-placeholder{width:100%;height:100%;min-height:300px;display:grid;place-items:center;background:#f6efe8}
.food-card-image-placeholder img{width:min(150px,45%);height:auto!important;object-fit:contain!important;opacity:.65}
@media(max-width:800px){.product-detail-gallery.is-empty,.product-gallery-empty-state{min-height:360px}}


/* Production image placeholders: never substitute another product photo. */
.cart-line-image-placeholder,.booking-menu-image-placeholder{width:100%;height:100%;display:grid;place-items:center;background:#f6efe8}
.cart-line-image-placeholder img,.booking-menu-image-placeholder img{width:min(58%,110px)!important;height:auto!important;object-fit:contain!important;opacity:.62}
.booking-menu-card-media>.booking-menu-image-placeholder{min-height:150px;border-radius:inherit;overflow:hidden}

/* ========================================================================== 
   V63 — MOBILE HOME RHYTHM + PRODUCT HEADER BREATHING
   2026-10-05
   - Hide the Fresh / Flexible / Personal value band on phones only.
   - Make each mobile "Simple from here" step occupy more scroll distance so
     the active card has time to breathe before the next step takes over.
   - Start product media/content below the fixed glass header instead of under it.
   ========================================================================== */

/* Product detail: respect the fixed header on every viewport. */
.page-product .product-detail-hero{
  padding-top:var(--header-h)!important;
  min-height:calc(100vh - var(--header-h))!important;
}
@media(min-width:900px){
  .page-product .product-detail-copy{
    padding-top:36px!important;
    padding-bottom:40px!important;
  }
}

@media(max-width:767px){
  /* Mobile only: the value strip is intentionally removed from the page flow. */
  .page-index .color-band{
    display:none!important;
  }

  /* Mobile only: vertical story-like steps with a longer active dwell. */
  .page-index .flow{
    padding-bottom:34px!important;
  }
  .page-index .flow-steps{
    display:block!important;
    overflow:visible!important;
  }
  .page-index .flow-step{
    min-height:104px!important;
    padding:22px 6px!important;
  }
  .page-index .flow-step.is-active{
    min-height:clamp(292px,42svh,350px)!important;
    padding:42px 22px!important;
  }
  .page-index .flow-step.is-active p{
    max-height:120px!important;
    margin-top:16px!important;
  }
  .page-index.lang-ar .flow-step,
  .page-index .lang-ar .flow-step{
    min-height:100px!important;
  }
  .page-index.lang-ar .flow-step.is-active,
  .page-index .lang-ar .flow-step.is-active{
    min-height:clamp(270px,39svh,330px)!important;
    padding-top:38px!important;
    padding-bottom:38px!important;
  }

  /* Product detail still keeps a small breathing gap after the mobile header. */
  .page-product .product-detail-copy{
    padding-top:24px!important;
  }
}

@media(max-width:420px){
  .page-index .flow-step.is-active{
    min-height:clamp(270px,40svh,320px)!important;
    padding:36px 18px!important;
  }
  .page-index.lang-ar .flow-step.is-active,
  .page-index .lang-ar .flow-step.is-active{
    min-height:clamp(252px,38svh,300px)!important;
  }
}

/* ==========================================================================
   V65 — PRODUCT + BOOKING HEADER FINAL
   2026-10-05
   - Product: the media starts below the header; nothing sits behind it.
   - Booking journey: clean solid white header.
   - No frosted/blurred treatment on these operational pages.
   ========================================================================== */
.page-product .site-header,
.page-book-event .site-header,
.page-build-order .site-header,
.page-booking-services .site-header,
.page-review .site-header,
.page-checkout .site-header,
.page-confirmation .site-header{
  background:#fffaf5!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-bottom:1px solid rgba(37,37,37,.10)!important;
  box-shadow:none!important;
}

.page-product .site-header .nav a,
.page-product .site-header .lang,
.page-book-event .site-header .nav a,
.page-book-event .site-header .lang,
.page-build-order .site-header .nav a,
.page-build-order .site-header .lang,
.page-booking-services .site-header .nav a,
.page-booking-services .site-header .lang,
.page-review .site-header .nav a,
.page-review .site-header .lang,
.page-checkout .site-header .nav a,
.page-checkout .site-header .lang,
.page-confirmation .site-header .nav a,
.page-confirmation .site-header .lang{
  color:var(--ink)!important;
}

.page-product .site-header .hamb i,
.page-book-event .site-header .hamb i,
.page-build-order .site-header .hamb i,
.page-booking-services .site-header .hamb i,
.page-review .site-header .hamb i,
.page-checkout .site-header .hamb i,
.page-confirmation .site-header .hamb i{background:var(--ink)!important}

.page-product .site-header .account-header-link,
.page-product .site-header .cart-header-button,
.page-book-event .site-header .account-header-link,
.page-book-event .site-header .cart-header-button,
.page-build-order .site-header .account-header-link,
.page-build-order .site-header .cart-header-button,
.page-booking-services .site-header .account-header-link,
.page-booking-services .site-header .cart-header-button,
.page-review .site-header .account-header-link,
.page-review .site-header .cart-header-button,
.page-checkout .site-header .account-header-link,
.page-checkout .site-header .cart-header-button,
.page-confirmation .site-header .account-header-link,
.page-confirmation .site-header .cart-header-button{
  color:var(--ink)!important;
  background:transparent!important;
  border-color:rgba(37,37,37,.12)!important;
}

/* Product only: reserve the exact header height before the split hero begins. */
.page-product .product-detail-hero{padding-top:76px!important}

@media(max-width:1024px){
  .page-product .product-detail-hero{padding-top:68px!important}
}
@media(max-width:767px){
  .page-product .product-detail-hero{padding-top:66px!important}
}


/* ==========================================================================
   V66 — CONTACT HEADER + DYNAMIC FOOTER SOCIALS
   2026-10-05
   ========================================================================== */
.page-contact .site-header{
  background:#fffaf5!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-bottom:1px solid rgba(37,37,37,.10)!important;
  box-shadow:none!important;
}
.page-contact .site-header .nav a,
.page-contact .site-header .lang{color:var(--ink)!important}
.page-contact .site-header .hamb i{background:var(--ink)!important}
.page-contact .site-header .account-header-link,
.page-contact .site-header .cart-header-button{
  color:var(--ink)!important;
  background:transparent!important;
  border-color:rgba(37,37,37,.12)!important;
}
.footer-social[aria-label="Telegram"] svg,
.footer-social[aria-label="Facebook"] svg{fill:currentColor;stroke:none}

/* ==========================================================================
   V67 — CONTACT PHOTO UNDER HEADER / RESTORE ORIGINAL ATMOSPHERE
   2026-10-05
   Contact keeps its original photographic background. The absolute site header
   sits on top of that image instead of pushing the image below the header.
   ========================================================================== */
.page-contact .site-header{
  background:rgba(255,250,245,.48)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.03)!important;
  backdrop-filter:blur(8px) saturate(1.03)!important;
  border-bottom:1px solid rgba(255,255,255,.48)!important;
  box-shadow:none!important;
}
.page-contact .site-header .nav a,
.page-contact .site-header .lang,
.page-contact .site-header .book,
.page-contact .site-header .account-header-link,
.page-contact .site-header .cart-header-button{
  color:#fff!important;
}
.page-contact .site-header .hamb i{background:#fff!important}
.page-contact .site-header .account-header-link,
.page-contact .site-header .cart-header-button{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.page-contact .site-header .account-header-link:hover,
.page-contact .site-header .account-header-link:focus-visible,
.page-contact .site-header .cart-header-button:hover,
.page-contact .site-header .cart-header-button:focus-visible{
  background:rgba(255,255,255,.18)!important;
}
.page-contact .site-header .book{
  background:rgba(37,37,37,.26)!important;
  border-color:rgba(255,255,255,.15)!important;
}

/* The contact page begins at y=0 because the header is absolute. Keep the
   original photo layer covering that top area so it is visible beneath header. */
.page-contact .contact-page-new{
  margin-top:0!important;
}

/* ========================================================================== 
   V68 — CONTACT PHOTO + GLASS HEADER
   - Contact photo starts behind the fixed header.
   - Header uses the same visual state as Home/Menu.
   - Keep the contact image natural: no white wash over the photograph.
   ========================================================================== */
.page-contact{padding-top:0!important}
.page-contact .site-header{
  background:rgba(76,55,40,.52)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.03)!important;
  backdrop-filter:blur(8px) saturate(1.03)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  box-shadow:none!important;
}
.page-contact .site-header .nav a,
.page-contact .site-header .lang,
.page-contact .site-header .book,
.page-contact .site-header .account-header-link,
.page-contact .site-header .cart-header-button{color:#fff!important}
.page-contact .site-header .hamb i{background:#fff!important}
.page-contact .site-header .account-header-link,
.page-contact .site-header .cart-header-button{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.page-contact .site-header .book{
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.25)!important;
}
.page-contact .contact-page-new::before{
  background:url('../images/event-story.jpg') center/cover no-repeat!important;
}
.page-contact .contact-page-new::after{background:none!important}

/* Unified image display modes. Existing images remain cover; new Automatic uploads preserve their shape. */
.image-display-auto,.image-display-original{object-fit:contain!important}
.product-main-image.image-display-auto,.product-main-image.image-display-original{background:#f4eee7}
.image-display-cover,.image-display-tall,.image-display-wide,.image-display-square,.image-display-banner{object-fit:cover!important}

/* ========================================================================== 
   V70 — CART BADGE + MOBILE HOME FIRST-PAINT + AUTH MOBILE SPACING
   ========================================================================== */

/* Header cart count: number of distinct products currently in the cart. */
.cart-header-button{position:relative!important;overflow:visible!important}
.cart-header-badge{
  position:absolute!important;
  top:-5px!important;
  inset-inline-end:-6px!important;
  display:grid!important;
  place-items:center!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 4px!important;
  border:2px solid rgba(255,250,245,.96)!important;
  border-radius:999px!important;
  background:var(--peach)!important;
  color:var(--ink)!important;
  font-size:8px!important;
  font-weight:700!important;
  line-height:1!important;
  z-index:3!important;
}
.cart-header-badge.is-empty{display:none!important}

/* iOS Safari: use the stable small viewport so the first frame matches the
   settled frame instead of jumping as browser chrome changes height. */
@media(max-width:767px){
  .page-index .site-header{
    display:grid!important;
    position:fixed!important;
    top:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    -webkit-transform:none!important;
  }
  .page-index .hero-editorial{
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
  }
  .page-index .hero-editorial.hero-has-video .hero-video,
  .page-index .hero-editorial.hero-has-image .hero-webp-only,
  .page-index .hero-webp-only .hero-webp-picture,
  .page-index .hero-webp-only .hero-webp-picture>.hero-webp{
    height:100%!important;
    min-height:100%!important;
  }
}
@supports(height:100dvh){
  @media(max-width:767px){
    .page-index .hero-editorial{height:100svh!important;min-height:100svh!important;max-height:100svh!important}
  }
}

/* Sign in / Register / Forgot / Verify / Reset: keep a real mobile breathing
   margin below the fixed header and around the glass card. */
@media(max-width:640px){
  .page-account-login .account-auth-page,
  .page-account-register .account-auth-page,
  .page-account-forgot .account-auth-page,
  .page-account-verify .account-auth-page,
  .page-account-reset .account-auth-page{
    padding-top:0!important;
    min-height:calc(100svh - var(--header-h,68px))!important;
  }
  .page-account-login .account-auth-shell.account-auth-only,
  .page-account-register .account-auth-shell.account-auth-only,
  .page-account-forgot .account-auth-shell.account-auth-only,
  .page-account-verify .account-auth-shell.account-auth-only,
  .page-account-reset .account-auth-shell.account-auth-only{
    min-height:calc(100svh - var(--header-h,68px))!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .page-account-login .account-auth-only .account-auth-form-wrap,
  .page-account-register .account-auth-only .account-auth-form-wrap,
  .page-account-forgot .account-auth-only .account-auth-form-wrap,
  .page-account-verify .account-auth-only .account-auth-form-wrap,
  .page-account-reset .account-auth-only .account-auth-form-wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:calc(100svh - var(--header-h,68px))!important;
    padding:24px 14px 34px!important;
  }
  .page-account-login .account-auth-only .account-auth-form,
  .page-account-register .account-auth-only .account-auth-form,
  .page-account-forgot .account-auth-only .account-auth-form,
  .page-account-verify .account-auth-only .account-auth-form,
  .page-account-reset .account-auth-only .account-auth-form{
    width:100%!important;
    margin:0 auto!important;
    padding:26px 20px!important;
    border-radius:22px!important;
  }
}


/* ========================================================================== 
   V71 — EXPLICIT PAGE HEADER STATES + RESPONSIVE HERO MEDIA
   ========================================================================== */
/* Home and Menu keep the dark/visual header treatment with white controls. */
.page-index .site-header,
.page-menu .site-header,
.page-contact .site-header{
  background:rgba(76,55,40,.52)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.03)!important;
  backdrop-filter:blur(8px) saturate(1.03)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
.page-index .site-header .nav a,.page-index .site-header .lang,.page-index .site-header .book,.page-index .site-header .account-header-link,.page-index .site-header .cart-header-button,
.page-menu .site-header .nav a,.page-menu .site-header .lang,.page-menu .site-header .book,.page-menu .site-header .account-header-link,.page-menu .site-header .cart-header-button,
.page-contact .site-header .nav a,.page-contact .site-header .lang,.page-contact .site-header .book,.page-contact .site-header .account-header-link,.page-contact .site-header .cart-header-button{color:#fff!important}
.page-index .site-header .hamb i,.page-menu .site-header .hamb i,.page-contact .site-header .hamb i{background:#fff!important}
.page-index .site-header .account-header-link,.page-index .site-header .cart-header-button,
.page-menu .site-header .account-header-link,.page-menu .site-header .cart-header-button,
.page-contact .site-header .account-header-link,.page-contact .site-header .cart-header-button{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.16)!important}

/* Account/recovery pages stay light; do not inherit dark header styles. */
.page-account .site-header,.page-account-quotes .site-header,.page-account-quote .site-header,.page-account-bookings .site-header,.page-account-booking .site-header,
.page-account-login .site-header,.page-account-register .site-header,.page-account-forgot .site-header,.page-account-verify .site-header,.page-account-reset .site-header,
.page-product .site-header,.page-book-event .site-header,.page-build-order .site-header,.page-booking-services .site-header,.page-review .site-header,.page-checkout .site-header,.page-confirmation .site-header{
  background:#fffaf5!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:1px solid rgba(37,37,37,.10)!important
}
.page-account .site-header .nav a,.page-account .site-header .lang,.page-account-quotes .site-header .nav a,.page-account-quotes .site-header .lang,.page-account-quote .site-header .nav a,.page-account-quote .site-header .lang,.page-account-bookings .site-header .nav a,.page-account-bookings .site-header .lang,.page-account-booking .site-header .nav a,.page-account-booking .site-header .lang,
.page-account-login .site-header .nav a,.page-account-login .site-header .lang,.page-account-register .site-header .nav a,.page-account-register .site-header .lang,.page-account-forgot .site-header .nav a,.page-account-forgot .site-header .lang,.page-account-verify .site-header .nav a,.page-account-verify .site-header .lang,.page-account-reset .site-header .nav a,.page-account-reset .site-header .lang,
.page-product .site-header .nav a,.page-product .site-header .lang,.page-book-event .site-header .nav a,.page-book-event .site-header .lang,.page-build-order .site-header .nav a,.page-build-order .site-header .lang,.page-booking-services .site-header .nav a,.page-booking-services .site-header .lang,.page-review .site-header .nav a,.page-review .site-header .lang,.page-checkout .site-header .nav a,.page-checkout .site-header .lang,.page-confirmation .site-header .nav a,.page-confirmation .site-header .lang{color:var(--ink)!important}
.page-account .site-header .hamb i,.page-account-quotes .site-header .hamb i,.page-account-quote .site-header .hamb i,.page-account-bookings .site-header .hamb i,.page-account-booking .site-header .hamb i,.page-account-login .site-header .hamb i,.page-account-register .site-header .hamb i,.page-account-forgot .site-header .hamb i,.page-account-verify .site-header .hamb i,.page-account-reset .site-header .hamb i,.page-product .site-header .hamb i,.page-book-event .site-header .hamb i,.page-build-order .site-header .hamb i,.page-booking-services .site-header .hamb i,.page-review .site-header .hamb i,.page-checkout .site-header .hamb i,.page-confirmation .site-header .hamb i{background:var(--ink)!important}

/* One independent hero media slot for desktop and one for mobile. */
.hero-adaptive-media .hero-photo,.hero-device-media,.hero-device-media>img,.hero-device-media>video{width:100%;height:100%}
.hero-device-media{position:absolute;inset:0;overflow:hidden}
.hero-device-media>img,.hero-device-media>video{display:block;object-fit:cover;object-position:center}
.hero-device-mobile{display:none}
@media(max-width:767px){.hero-device-desktop{display:none}.hero-device-mobile{display:block}}

/* Dropdown follows the header state: visual pages stay dark; utility/account pages stay light. */
.page-index .mobile-nav,.page-menu .mobile-nav,.page-contact .mobile-nav{
  background:rgba(27,22,19,.92)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.page-index .mobile-nav a,.page-menu .mobile-nav a,.page-contact .mobile-nav a{color:#fff!important;border-color:rgba(255,255,255,.12)!important}
.page-account .mobile-nav,.page-account-quotes .mobile-nav,.page-account-bookings .mobile-nav,.page-account-login .mobile-nav,.page-account-register .mobile-nav,.page-account-forgot .mobile-nav,.page-account-verify .mobile-nav,.page-account-reset .mobile-nav,
.page-product .mobile-nav,.page-book-event .mobile-nav,.page-build-order .mobile-nav,.page-booking-services .mobile-nav,.page-review .mobile-nav,.page-checkout .mobile-nav,.page-confirmation .mobile-nav{
  background:#fffaf5!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  border-color:rgba(37,37,37,.10)!important;
}
.page-account .mobile-nav a,.page-account-quotes .mobile-nav a,.page-account-bookings .mobile-nav a,.page-account-login .mobile-nav a,.page-account-register .mobile-nav a,.page-account-forgot .mobile-nav a,.page-account-verify .mobile-nav a,.page-account-reset .mobile-nav a,
.page-product .mobile-nav a,.page-book-event .mobile-nav a,.page-build-order .mobile-nav a,.page-booking-services .mobile-nav a,.page-review .mobile-nav a,.page-checkout .mobile-nav a,.page-confirmation .mobile-nav a{color:var(--ink)!important;border-color:rgba(37,37,37,.10)!important}


/* ==========================================================================
   V72 — CANONICAL HEADER + ACCOUNT GEOMETRY
   This is the final page-state layer. It intentionally comes last so legacy
   hotfixes cannot change header order, colours or fixed-header spacing again.
   ========================================================================== */
:root{--header-h:76px}
@media(max-width:1099px){:root{--header-h:72px}}
@media(max-width:767px){:root{--header-h:68px}}

/* Home, Menu and Contact share the exact same header geometry/order/state. */
.page-index .site-header,
.page-menu .site-header,
.page-contact .site-header{
  display:grid!important;
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  height:var(--header-h)!important;
  background:rgba(76,55,40,.52)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.03)!important;
  backdrop-filter:blur(8px) saturate(1.03)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  box-shadow:none!important;
}
.page-index .site-header .nav a,.page-index .site-header .lang,.page-index .site-header .book,.page-index .site-header .account-header-link,.page-index .site-header .cart-header-button,
.page-menu .site-header .nav a,.page-menu .site-header .lang,.page-menu .site-header .book,.page-menu .site-header .account-header-link,.page-menu .site-header .cart-header-button,
.page-contact .site-header .nav a,.page-contact .site-header .lang,.page-contact .site-header .book,.page-contact .site-header .account-header-link,.page-contact .site-header .cart-header-button{color:#fff!important}
.page-index .site-header .hamb i,.page-menu .site-header .hamb i,.page-contact .site-header .hamb i{background:#fff!important}
.page-index .site-header .account-header-link,.page-index .site-header .cart-header-button,
.page-menu .site-header .account-header-link,.page-menu .site-header .cart-header-button,
.page-contact .site-header .account-header-link,.page-contact .site-header .cart-header-button{
  background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.16)!important
}
.page-index .site-header .book,.page-menu .site-header .book,.page-contact .site-header .book{
  background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.25)!important
}

/* Contact photo physically reaches y=0 so the glass header sits on the photo. */
.page-contact{padding-top:0!important}
.page-contact .contact-page-new{margin-top:0!important}
.page-contact .contact-page-new::before{background:url('../images/event-story.jpg') center/cover no-repeat!important}
.page-contact .contact-page-new::after{background:none!important}

/* Matching mobile dropdown for the three visual pages. */
.page-index .mobile-nav,.page-menu .mobile-nav,.page-contact .mobile-nav{
  top:var(--header-h)!important;
  background:rgba(27,22,19,.92)!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.page-index .mobile-nav a,.page-menu .mobile-nav a,.page-contact .mobile-nav a{color:#fff!important;border-color:rgba(255,255,255,.12)!important}

/* Account/recovery pages: white header, then content starts AFTER that header. */
.page-account .site-header,.page-account-quotes .site-header,.page-account-quote .site-header,.page-account-bookings .site-header,.page-account-booking .site-header,
.page-account-login .site-header,.page-account-register .site-header,.page-account-forgot .site-header,.page-account-verify .site-header,.page-account-reset .site-header{
  height:var(--header-h)!important;
  background:#fffaf5!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  border-bottom:1px solid rgba(37,37,37,.10)!important;
}
.page-account .site-header .nav a,.page-account .site-header .lang,.page-account .site-header .book,.page-account .site-header .account-header-link,.page-account .site-header .cart-header-button,
.page-account-quotes .site-header .nav a,.page-account-quotes .site-header .lang,.page-account-quotes .site-header .book,.page-account-quotes .site-header .account-header-link,.page-account-quotes .site-header .cart-header-button,
.page-account-quote .site-header .nav a,.page-account-quote .site-header .lang,.page-account-quote .site-header .book,.page-account-quote .site-header .account-header-link,.page-account-quote .site-header .cart-header-button,
.page-account-bookings .site-header .nav a,.page-account-bookings .site-header .lang,.page-account-bookings .site-header .book,.page-account-bookings .site-header .account-header-link,.page-account-bookings .site-header .cart-header-button,
.page-account-booking .site-header .nav a,.page-account-booking .site-header .lang,.page-account-booking .site-header .book,.page-account-booking .site-header .account-header-link,.page-account-booking .site-header .cart-header-button,
.page-account-login .site-header .nav a,.page-account-login .site-header .lang,.page-account-login .site-header .book,.page-account-login .site-header .account-header-link,.page-account-login .site-header .cart-header-button,
.page-account-register .site-header .nav a,.page-account-register .site-header .lang,.page-account-register .site-header .book,.page-account-register .site-header .account-header-link,.page-account-register .site-header .cart-header-button,
.page-account-forgot .site-header .nav a,.page-account-forgot .site-header .lang,.page-account-forgot .site-header .book,.page-account-forgot .site-header .account-header-link,.page-account-forgot .site-header .cart-header-button,
.page-account-verify .site-header .nav a,.page-account-verify .site-header .lang,.page-account-verify .site-header .book,.page-account-verify .site-header .account-header-link,.page-account-verify .site-header .cart-header-button,
.page-account-reset .site-header .nav a,.page-account-reset .site-header .lang,.page-account-reset .site-header .book,.page-account-reset .site-header .account-header-link,.page-account-reset .site-header .cart-header-button{color:var(--ink)!important}
.page-account .site-header .hamb i,.page-account-quotes .site-header .hamb i,.page-account-quote .site-header .hamb i,.page-account-bookings .site-header .hamb i,.page-account-booking .site-header .hamb i,
.page-account-login .site-header .hamb i,.page-account-register .site-header .hamb i,.page-account-forgot .site-header .hamb i,.page-account-verify .site-header .hamb i,.page-account-reset .site-header .hamb i{background:var(--ink)!important}
.page-account .site-header .account-header-link,.page-account .site-header .cart-header-button,.page-account-quotes .site-header .account-header-link,.page-account-quotes .site-header .cart-header-button,.page-account-quote .site-header .account-header-link,.page-account-quote .site-header .cart-header-button,.page-account-bookings .site-header .account-header-link,.page-account-bookings .site-header .cart-header-button,.page-account-booking .site-header .account-header-link,.page-account-booking .site-header .cart-header-button,.page-account-login .site-header .account-header-link,.page-account-login .site-header .cart-header-button,.page-account-register .site-header .account-header-link,.page-account-register .site-header .cart-header-button,.page-account-forgot .site-header .account-header-link,.page-account-forgot .site-header .cart-header-button,.page-account-verify .site-header .account-header-link,.page-account-verify .site-header .cart-header-button,.page-account-reset .site-header .account-header-link,.page-account-reset .site-header .cart-header-button{background:transparent!important;border-color:rgba(37,37,37,.12)!important}
.page-account .site-header .book,.page-account-quotes .site-header .book,.page-account-quote .site-header .book,.page-account-bookings .site-header .book,.page-account-booking .site-header .book,.page-account-login .site-header .book,.page-account-register .site-header .book,.page-account-forgot .site-header .book,.page-account-verify .site-header .book,.page-account-reset .site-header .book{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}

.page-account .account-page,.page-account-quotes .account-page,.page-account-quote .account-page,.page-account-bookings .account-page,.page-account-booking .account-page,
.page-account-login .account-auth-page,.page-account-register .account-auth-page,.page-account-forgot .account-auth-page,.page-account-verify .account-auth-page,.page-account-reset .account-auth-page{padding-top:var(--header-h)!important}
.page-account-login .account-auth-shell.account-auth-only,.page-account-register .account-auth-shell.account-auth-only,.page-account-forgot .account-auth-shell.account-auth-only,.page-account-verify .account-auth-shell.account-auth-only,.page-account-reset .account-auth-shell.account-auth-only,
.page-account-login .account-auth-only .account-auth-form-wrap,.page-account-register .account-auth-only .account-auth-form-wrap,.page-account-forgot .account-auth-only .account-auth-form-wrap,.page-account-verify .account-auth-only .account-auth-form-wrap,.page-account-reset .account-auth-only .account-auth-form-wrap{
  min-height:calc(100svh - var(--header-h))!important;
}
.page-account-login .account-auth-only .account-auth-form-wrap,.page-account-register .account-auth-only .account-auth-form-wrap,.page-account-forgot .account-auth-only .account-auth-form-wrap,.page-account-verify .account-auth-only .account-auth-form-wrap,.page-account-reset .account-auth-only .account-auth-form-wrap{
  display:flex!important;align-items:center!important;justify-content:center!important
}
.account-auth-card-stack{width:min(520px,100%)!important;margin-inline:auto!important}
.account-auth-card-stack .account-auth-form{width:100%!important;margin-inline:auto!important}
.account-auth-resend{width:100%!important;margin:14px auto 0!important;text-align:center!important}

/* The account navigation is a visible 3-card switcher, never an off-screen row. */
.account-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:min(520px,100%);overflow:visible!important;padding:4px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#fff!important}
.account-tabs a{min-width:0!important;width:100%;padding:10px 10px!important;text-align:center!important;white-space:normal!important}
@media(max-width:640px){
  .account-auth-only .account-auth-form-wrap{padding:24px 14px 34px!important}
  .account-tabs{width:100%!important}
}

/* Light dropdown on account/recovery pages. */
.page-account .mobile-nav,.page-account-quotes .mobile-nav,.page-account-quote .mobile-nav,.page-account-bookings .mobile-nav,.page-account-booking .mobile-nav,.page-account-login .mobile-nav,.page-account-register .mobile-nav,.page-account-forgot .mobile-nav,.page-account-verify .mobile-nav,.page-account-reset .mobile-nav{
  top:var(--header-h)!important;background:#fffaf5!important;color:var(--ink)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-color:rgba(37,37,37,.10)!important
}
.page-account .mobile-nav a,.page-account-quotes .mobile-nav a,.page-account-quote .mobile-nav a,.page-account-bookings .mobile-nav a,.page-account-booking .mobile-nav a,.page-account-login .mobile-nav a,.page-account-register .mobile-nav a,.page-account-forgot .mobile-nav a,.page-account-verify .mobile-nav a,.page-account-reset .mobile-nav a{color:var(--ink)!important;border-color:rgba(37,37,37,.10)!important}


/* ========================================================================== 
   V73 — ENGLISH DEFAULT / MENU HERO LIFT / HOME HERO SIGNATURE
   Final visual overrides requested 2026-10-06. PHP target remains 7.4.33.
   ========================================================================== */

/* Home visual headline: two full-width editorial lines, inspired by the
   supplied reference while keeping the copy legible over the current hero. */
.page-index .hero-signature{
  position:absolute!important;
  z-index:4!important;
  inset-inline:var(--page-pad)!important;
  left:var(--page-pad)!important;
  right:var(--page-pad)!important;
  bottom:20px!important;
  width:auto!important;
  max-width:none!important;
  display:grid!important;
  gap:0!important;
  margin:0!important;
  color:#fff!important;
  font-family:'Poppins',Arial,sans-serif!important;
  font-size:clamp(96px,15vw,260px)!important;
  font-weight:400!important;
  line-height:.78!important;
  letter-spacing:-.065em!important;
  text-transform:uppercase!important;
  text-align:left!important;
  white-space:normal!important;
  pointer-events:none!important;
  text-shadow:0 2px 18px rgba(0,0,0,.20)!important;
}
.page-index .hero-signature span{
  display:block!important;
  width:100%!important;
}
.page-index .hero-signature span:last-child{text-align:right!important}

/* Keep the smaller hero information above the large two-line signature. */
.page-index .hero-editorial-intro{bottom:clamp(330px,27vw,470px)!important}
.page-index .hero-editorial-actions{bottom:clamp(328px,26.8vw,466px)!important}

/* Menu mobile: raise the warm glass intro card slightly so it breathes above
   the fold and feels closer to the desktop composition. */
@media(max-width:767px){
  .page-menu .menu-page-hero-copy,
  .page-menu.lang-ar .menu-page-hero-copy,
  .page-menu .lang-ar .menu-page-hero-copy{
    bottom:52px!important;
  }

  .page-index .hero-signature{
    left:18px!important;
    right:18px!important;
    inset-inline:18px!important;
    bottom:34px!important;
    font-size:clamp(58px,18.8vw,90px)!important;
    line-height:.80!important;
    letter-spacing:-.068em!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{bottom:204px!important}
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{bottom:202px!important}
}
@media(max-width:420px){
  .page-menu .menu-page-hero-copy,
  .page-menu.lang-ar .menu-page-hero-copy,
  .page-menu .lang-ar .menu-page-hero-copy{bottom:46px!important}

  .page-index .hero-signature{
    left:14px!important;
    right:14px!important;
    inset-inline:14px!important;
    bottom:30px!important;
    font-size:clamp(55px,18.6vw,78px)!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{bottom:190px!important}
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{bottom:188px!important}
}


/* ========================================================================== 
   V74 — HERO SIGNATURE: ONE LINE, ALWAYS VISIBLE ON FIRST VIEW
   Final authority for the Home hero signature. Keeps “MINI BITES  MEGA VIBES”
   on one line on desktop, tablet and mobile, scaled to the viewport instead of
   becoming oversized or wrapping/cropping.
   ========================================================================== */
.page-index .hero-megabytes{
  left:50%!important;
  right:auto!important;
  bottom:clamp(24px,3.1vh,52px)!important;
  width:calc(100vw - 32px)!important;
  max-width:calc(100vw - 32px)!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
  text-align:center!important;
  font-family:var(--font-en)!important;
  font-size:min(7.15vw,116px)!important;
  line-height:.9!important;
  letter-spacing:-.052em!important;
  font-weight:600!important;
  color:#fff!important;
  text-shadow:0 3px 28px rgba(0,0,0,.22)!important;
  transform:translateX(-50%)!important;
  -webkit-transform:translateX(-50%)!important;
  z-index:5!important;
}
.page-index .hero-megabytes span{
  display:block!important;
  width:100%!important;
  white-space:nowrap!important;
}
@media(max-width:767px){
  .page-index .hero-megabytes{
    bottom:28px!important;
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    font-size:7.05vw!important;
    line-height:.94!important;
    letter-spacing:-.05em!important;
  }
}
@media(max-width:420px){
  .page-index .hero-megabytes{
    bottom:25px!important;
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    font-size:7vw!important;
    letter-spacing:-.052em!important;
  }
}

/* ========================================================================== 
   V75 — HOME HERO SIGNATURE / FIRST-VIEW FINAL
   - Always one line: MINI BITES   MEGA VIBES.
   - Starts from the LEFT in both Arabic and English modes.
   - JS fits the type to the exact available viewport width on every device.
   ========================================================================== */
.page-index .hero-megabytes,
.page-index.lang-ar .hero-megabytes,
.page-index .lang-ar .hero-megabytes{
  position:absolute!important;
  left:clamp(18px,3.05vw,58px)!important;
  right:clamp(18px,3.05vw,58px)!important;
  bottom:clamp(24px,3.1vh,52px)!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  font-family:var(--font-en)!important;
  font-size:var(--hero-signature-size, clamp(24px,6.55vw,118px))!important;
  line-height:.9!important;
  letter-spacing:-.048em!important;
  font-weight:600!important;
  color:#fff!important;
  text-shadow:0 3px 28px rgba(0,0,0,.22)!important;
  transform:none!important;
  -webkit-transform:none!important;
  z-index:5!important;
}
.page-index .hero-megabytes .hero-signature-word{
  display:inline-block!important;
  width:auto!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  text-align:left!important;
}
.page-index .hero-megabytes .hero-signature-gap{
  display:inline-block!important;
  flex:0 0 .44em!important;
  width:.44em!important;
  min-width:.44em!important;
  height:1px!important;
}
@media(max-width:767px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:20px!important;
    right:20px!important;
    bottom:26px!important;
    font-size:var(--hero-signature-size, 7vw)!important;
    line-height:.94!important;
    letter-spacing:-.05em!important;
  }
}
@media(max-width:420px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:16px!important;
    right:16px!important;
    bottom:24px!important;
  }
}

/* ========================================================================== 
   V76 — DESKTOP / LAPTOP HEADER LOGO SIZE
   - Slightly larger Mini's Corner logo on laptop/desktop only.
   - Mobile/tablet sizing is intentionally unchanged.
   ========================================================================== */
@media (min-width:1100px){
  .site-header .logo img{
    width:102px!important;
    max-height:64px!important;
  }
}

/* ========================================================================== */
/* V78 — customer profile, password and saved booking location                */
/* ========================================================================== */
.account-settings-section{margin:0 0 28px;scroll-margin-top:calc(var(--header-h) + 22px)}
.account-settings-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 16px;padding:0 2px}
.account-settings-heading h2{margin:5px 0 0;font-size:clamp(24px,2.4vw,34px);line-height:1.08;letter-spacing:-.035em;font-weight:600}
.account-settings-heading>p{max-width:520px;margin:0;color:var(--muted);font-size:10px;line-height:1.75}
.lang-ar .account-settings-heading h2{font-size:clamp(19px,2vw,25px);line-height:1.55;letter-spacing:0}.lang-ar .account-settings-heading>p{font-size:10.5px;line-height:1.9}
.account-page-flash{max-width:760px;margin:0 auto 18px;text-align:center}
.account-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.account-settings-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(37,37,37,.025)}
.account-settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.account-settings-card-head h3{margin:5px 0 0;font-size:20px;line-height:1.15;letter-spacing:-.025em;font-weight:600}.account-settings-card-head p:not(.eyebrow){max-width:760px;margin:8px 0 0;font-size:9.5px;line-height:1.75;color:var(--muted)}
.lang-ar .account-settings-card-head h3{font-size:16px;line-height:1.6;letter-spacing:0}.lang-ar .account-settings-card-head p:not(.eyebrow){font-size:10.5px;line-height:1.9}
.account-settings-form>label,.account-settings-label{display:block;margin-bottom:11px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.account-settings-form label>span,.account-settings-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-settings-form label>span,.lang-ar .account-settings-label>span{letter-spacing:0;text-transform:none;font-size:9.5px}
.account-settings-form input,.account-settings-label input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:12px;color:var(--ink)}
.account-settings-form>.account-primary-btn{width:100%;margin-top:7px}.account-settings-note{display:block;margin:-1px 2px 8px;color:var(--muted);font-size:8.5px;line-height:1.55}
.lang-ar .account-settings-note{font-size:9.5px}
.account-address-card{scroll-margin-top:calc(var(--header-h) + 22px)}
.account-address-card-head{margin-bottom:16px}.account-address-editor{max-width:100%}.account-address-editor>.account-settings-label{max-width:520px}
.account-location-picker{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--paper);margin-bottom:12px}
.account-location-picker .booking-location-actions{display:grid;margin-bottom:12px}.account-location-picker .booking-location-search{margin-bottom:12px}
.account-location-picker .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;outline:0;font:inherit;font-size:11px;color:var(--ink)}
.account-location-picker .booking-location-selected{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.account-address-save{min-width:190px;margin-top:0}
.account-saved-addresses{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.account-saved-addresses-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}.account-saved-addresses-head>b{font-size:11px}.account-saved-addresses-head>small{max-width:520px;color:var(--muted);font-size:8.5px;line-height:1.6;text-align:end}
.lang-ar .account-saved-addresses-head>b{font-size:12px}.lang-ar .account-saved-addresses-head>small{font-size:9.5px;text-align:start}
.account-address-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-address-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.account-address-item.is-default{border-color:rgba(159,153,121,.45);background:rgba(159,153,121,.08)}
.account-address-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-address-title b{font-size:10px}.account-address-title span{padding:3px 7px;border-radius:999px;background:var(--olive);color:#fff;font-size:7px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}
.lang-ar .account-address-title b{font-size:11px}.lang-ar .account-address-title span{font-size:8px;text-transform:none;letter-spacing:0}
.account-address-item p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.55;overflow-wrap:anywhere}.account-address-item a{display:inline-block;margin-top:5px;color:var(--ink);font-size:8px;text-decoration:underline;text-underline-offset:3px}
.lang-ar .account-address-item p{font-size:10px}.lang-ar .account-address-item a{font-size:9px}
.account-address-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px}.account-address-actions form{margin:0}.account-address-actions button{width:100%;min-width:84px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:8px;font-weight:650;cursor:pointer}.account-address-actions button:hover,.account-address-actions button:focus-visible{border-color:var(--ink)}.account-address-actions button.danger{color:#8b4642}
.lang-ar .account-address-actions button{font-size:9px}

@media(max-width:899px){
  .account-settings-heading{align-items:flex-start;flex-direction:column;gap:8px}.account-settings-heading>p{max-width:680px}
  .account-settings-grid{grid-template-columns:1fr}.account-address-list{grid-template-columns:1fr}.account-address-card{padding:18px}
}
@media(max-width:640px){
  .account-settings-section{margin-bottom:22px}.account-settings-card{padding:16px;border-radius:15px}.account-settings-card-head{margin-bottom:14px}.account-settings-card-head h3{font-size:18px}.lang-ar .account-settings-card-head h3{font-size:15px}
  .account-settings-form .account-form-two{grid-template-columns:1fr;gap:0}.account-location-picker{padding:10px;border-radius:13px}.account-location-picker .booking-location-map{height:250px}.account-address-save{width:100%}.account-saved-addresses-head{align-items:flex-start;flex-direction:column;gap:4px}.account-saved-addresses-head>small{text-align:start}.account-address-item{grid-template-columns:1fr;gap:10px}.account-address-actions{flex-direction:row}.account-address-actions form{flex:1}.account-address-actions button{min-height:40px}.account-settings-heading h2{font-size:24px}.lang-ar .account-settings-heading h2{font-size:19px}
}

/* ========================================================================== */
/* V79 — Home gallery + reviews + voice notes + account map polish            */
/* ========================================================================== */

/* V80 — Home gallery + reviews: balanced editorial sizing. */
.home-gallery{padding:clamp(54px,6.5vw,92px) max(24px,5vw);background:#fffaf5;border-top:1px solid rgba(37,37,37,.06)}
.home-gallery-head,.home-reviews-head{max-width:var(--content);margin:0 auto 26px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.7fr);gap:40px;align-items:end}
.home-gallery-head h2,.home-reviews-head h2{margin:7px 0 0;font-size:clamp(32px,4vw,62px);line-height:1;letter-spacing:-.05em;font-weight:500;max-width:820px}
.home-gallery-head>p,.home-reviews-head>p{margin:0;color:var(--muted);font-size:10px;line-height:1.8;max-width:500px;justify-self:end}
.lang-ar .home-gallery-head h2,.lang-ar .home-reviews-head h2{font-size:clamp(27px,3.25vw,44px);line-height:1.45;letter-spacing:0}
.lang-ar .home-gallery-head>p,.lang-ar .home-reviews-head>p{font-size:11px;line-height:1.95}

/* Five-image editorial mosaic. The frame sizes stay controlled; admin order decides placement. */
.home-gallery-grid{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,clamp(210px,18vw,315px));gap:12px;grid-auto-flow:dense}
.home-gallery-card{position:relative;overflow:hidden;margin:0;border-radius:18px;background:#eee7df;min-width:0;min-height:0;grid-column:span 4;grid-row:span 1}
.home-gallery-card:nth-child(5n+1){grid-column:span 4;grid-row:span 2}
.home-gallery-card:nth-child(5n+2){grid-column:span 8;grid-row:span 1}
.home-gallery-card:nth-child(5n+3),.home-gallery-card:nth-child(5n+4){grid-column:span 4;grid-row:span 1}
.home-gallery-card:nth-child(5n+5){grid-column:1/-1;grid-row:span 1}
.home-gallery-card:nth-child(n+6){min-height:clamp(220px,18vw,315px)}
.home-gallery-card img{display:block;width:100%;height:100%;object-position:center}
/* Automatic fills the editorial frame; choose Original in admin when the full uncropped photo matters. */
.home-gallery-card .image-display-auto{object-fit:cover!important}
.home-gallery-card .image-display-original{object-fit:contain!important;background:#f3eee8}
.home-gallery-card .image-display-cover,.home-gallery-card .image-display-tall,.home-gallery-card .image-display-wide,.home-gallery-card .image-display-square,.home-gallery-card .image-display-banner{object-fit:cover!important}
.home-gallery-card figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 10px;border-radius:10px;background:rgba(24,21,18,.68);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);color:#fff;font-size:9px;line-height:1.45}
.lang-ar .home-gallery-card figcaption{font-size:10px}

.home-reviews{padding:clamp(58px,7vw,104px) max(24px,5vw);background:#f4eee7;border-top:1px solid rgba(37,37,37,.06)}
.review-carousel-shell{max-width:var(--content);margin:0 auto}
.review-carousel-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}
.review-carousel-actions button,.voice-reviews-nav button{width:42px;height:42px;border:1px solid rgba(37,37,37,.18);border-radius:999px;background:#fff;color:var(--ink);font:500 17px/1 Poppins,Arial,sans-serif;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.review-carousel-actions button:hover,.voice-reviews-nav button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.review-carousel-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:7px}
.review-carousel-track::-webkit-scrollbar,.voice-reviews-track::-webkit-scrollbar{display:none}
.review-story-card{flex:0 0 min(720px,76vw);display:grid;grid-template-columns:minmax(230px,.92fr) minmax(280px,1.08fr);min-height:400px;border:1px solid rgba(37,37,37,.09);border-radius:20px;overflow:hidden;background:#fff;scroll-snap-align:start}
.review-story-card.review-no-image{grid-template-columns:1fr;min-height:300px}
.review-story-image{min-height:100%;background:#eee7df;overflow:hidden}.review-story-image img{width:100%;height:100%;display:block;object-position:center;object-fit:cover!important}
.review-story-copy{padding:clamp(24px,3.6vw,44px);display:flex;flex-direction:column;justify-content:space-between;gap:28px}.review-story-copy>span{font-size:9px;color:var(--muted);letter-spacing:.08em}.review-story-copy blockquote{margin:0;font-size:clamp(20px,2.1vw,31px);line-height:1.34;letter-spacing:-.03em;font-weight:500}.review-story-copy b{display:block;font-size:11px}.review-story-copy small{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.lang-ar .review-story-copy blockquote{font-size:clamp(18px,1.9vw,27px);line-height:1.8;letter-spacing:0}.lang-ar .review-story-copy b{font-size:12px}.lang-ar .review-story-copy small{font-size:10px}
.voice-reviews-block{max-width:var(--content);margin:44px auto 0;padding-top:32px;border-top:1px solid rgba(37,37,37,.12)}
.voice-reviews-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}.voice-reviews-title h3{margin:6px 0 0;font-size:clamp(24px,2.7vw,38px);line-height:1.08;letter-spacing:-.035em;font-weight:500}.lang-ar .voice-reviews-title h3{font-size:clamp(20px,2.3vw,30px);line-height:1.55;letter-spacing:0}.voice-reviews-nav{display:flex;gap:8px}
.voice-reviews-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.voice-review-card{flex:0 0 min(420px,82vw);scroll-snap-align:start;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;align-items:center;padding:18px;border:1px solid rgba(37,37,37,.1);border-radius:16px;background:#fff}.voice-review-index{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--ink);color:#fff;font-size:9px;font-weight:600}.voice-review-card b{display:block;font-size:10px}.voice-review-card p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.voice-review-card audio{grid-column:1/-1;width:100%;height:42px}.lang-ar .voice-review-card b{font-size:11px}.lang-ar .voice-review-card p{font-size:10px}

@media(max-width:980px){
  .home-gallery,.home-reviews{padding-inline:18px}
  .home-gallery-head,.home-reviews-head{grid-template-columns:1fr;gap:12px;align-items:start;margin-bottom:22px}.home-gallery-head>p,.home-reviews-head>p{justify-self:start}
  .home-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,clamp(180px,31vw,280px));gap:9px}
  .home-gallery-card{border-radius:15px;grid-column:span 3;grid-row:span 1}
  .home-gallery-card:nth-child(5n+1){grid-column:span 3;grid-row:span 2}
  .home-gallery-card:nth-child(5n+2){grid-column:span 3;grid-row:span 1}
  .home-gallery-card:nth-child(5n+3){grid-column:span 3;grid-row:span 1}
  .home-gallery-card:nth-child(5n+4),.home-gallery-card:nth-child(5n+5){grid-column:span 3;grid-row:span 1}
  .review-story-card{flex-basis:min(630px,88vw);grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);min-height:360px}.review-story-copy{padding:28px}.voice-reviews-block{margin-top:38px}
}
@media(max-width:640px){
  .home-gallery{padding-top:46px;padding-bottom:54px}.home-reviews{padding-top:50px;padding-bottom:62px}
  .home-gallery-head h2,.home-reviews-head h2{font-size:33px}.lang-ar .home-gallery-head h2,.lang-ar .home-reviews-head h2{font-size:26px}
  .home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:auto;gap:8px}
  .home-gallery-card,.home-gallery-card:nth-child(n){grid-column:span 1;grid-row:auto;aspect-ratio:1/1;border-radius:13px;min-height:0}
  .home-gallery-card:nth-child(5n+1){aspect-ratio:4/5}
  .home-gallery-card:nth-child(5n+2),.home-gallery-card:nth-child(5n+5){grid-column:1/-1;aspect-ratio:16/9}
  .home-gallery-card.gallery-mode-tall{grid-column:span 1;aspect-ratio:4/5}.home-gallery-card.gallery-mode-wide,.home-gallery-card.gallery-mode-banner{grid-column:1/-1;aspect-ratio:16/9}.home-gallery-card.gallery-mode-square{aspect-ratio:1/1}
  .review-carousel-actions{margin-bottom:10px}.review-story-card{flex-basis:88vw;display:flex;flex-direction:column;min-height:0;border-radius:16px}.review-story-image{height:260px;min-height:260px}.review-story-copy{padding:22px;gap:22px;min-height:245px}.review-story-copy blockquote{font-size:21px}.lang-ar .review-story-copy blockquote{font-size:18px}.voice-reviews-title{align-items:flex-start;flex-direction:column}.voice-reviews-nav{align-self:flex-end}.voice-review-card{flex-basis:88vw;padding:15px}
}
.review-carousel-track,.voice-reviews-track{direction:ltr}
.lang-ar .review-story-card,.lang-ar .voice-review-card{direction:rtl}
.lang-ar .review-story-card,.lang-ar .voice-review-card{direction:rtl}

/* =========================================================
   V83 — Home Gallery mobile editorial collage
   Keeps desktop/tablet gallery unchanged. On phones the first
   five images form one compact composition instead of a feed.
   ========================================================= */
@media (max-width: 760px){
  .home-gallery-grid{
    --gallery-mobile-gap:8px;
    --gallery-mobile-cell:clamp(112px,31vw,170px);
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    grid-template-rows:repeat(3,var(--gallery-mobile-cell));
    grid-auto-flow:dense;
    gap:var(--gallery-mobile-gap);
  }

  .home-gallery-card,
  .home-gallery-card:nth-child(n){
    grid-column:auto;
    grid-row:auto;
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:auto;
    border-radius:14px;
  }

  /* 1 tall hero + 2 supporting frames beside it */
  .home-gallery-card:nth-child(5n+1){
    grid-column:1;
    grid-row:1 / span 2;
  }
  .home-gallery-card:nth-child(5n+2){
    grid-column:2;
    grid-row:1;
  }
  .home-gallery-card:nth-child(5n+3){
    grid-column:2;
    grid-row:2;
  }

  /* Finish the composition with two balanced frames */
  .home-gallery-card:nth-child(5n+4){
    grid-column:1;
    grid-row:3;
  }
  .home-gallery-card:nth-child(5n+5){
    grid-column:2;
    grid-row:3;
  }

  /* Keep all imagery edge-to-edge; Original remains uncropped. */
  .home-gallery-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  .home-gallery-card .image-display-original{
    object-fit:contain!important;
    background:#f3eee8;
  }

  /* Any extra images after the first five continue as a clean 2-column mosaic. */
  .home-gallery-card:nth-child(n+6){
    grid-column:auto;
    grid-row:auto;
    min-height:var(--gallery-mobile-cell);
  }

  /* Explicit Wide choices after the curated first five get a full row. */
  .home-gallery-card:nth-child(n+6).gallery-mode-wide,
  .home-gallery-card:nth-child(n+6).gallery-mode-banner{
    grid-column:1 / -1;
    min-height:calc(var(--gallery-mobile-cell) * .9);
  }
}

@media (max-width: 420px){
  .home-gallery-grid{
    --gallery-mobile-gap:7px;
    --gallery-mobile-cell:clamp(108px,30.5vw,142px);
  }
  .home-gallery-card,
  .home-gallery-card:nth-child(n){border-radius:12px}
}

/* ========================================================================== 
   V84 — HOME HERO EDITORIAL TYPE LOCKUP
   Reference direction: a smaller MINI BITES line above one oversized MEGA VIBES
   line. Same current site font, left aligned, responsive on every viewport.
   This block intentionally overrides the older one-line signature rules.
   ========================================================================== */
.page-index .hero-megabytes,
.page-index.lang-ar .hero-megabytes,
.page-index .lang-ar .hero-megabytes{
  position:absolute!important;
  left:clamp(18px,2.9vw,56px)!important;
  right:clamp(18px,2.9vw,56px)!important;
  bottom:clamp(18px,2.4vh,34px)!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:clamp(10px,1.05vw,18px)!important;
  overflow:visible!important;
  white-space:nowrap!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  font-family:var(--font-en)!important;
  color:#fff!important;
  text-shadow:0 3px 28px rgba(0,0,0,.22)!important;
  transform:none!important;
  -webkit-transform:none!important;
  z-index:5!important;
}
.page-index .hero-megabytes .hero-signature-kicker{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  font-family:inherit!important;
  font-size:clamp(30px,3vw,56px)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  font-weight:600!important;
  text-align:left!important;
}
.page-index .hero-megabytes .hero-signature-main{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  font-family:inherit!important;
  font-size:var(--hero-mega-size,clamp(82px,12vw,220px))!important;
  line-height:.78!important;
  letter-spacing:-.058em!important;
  font-weight:600!important;
  text-align:left!important;
}
.page-index .hero-megabytes .hero-signature-word,
.page-index .hero-megabytes .hero-signature-gap{
  display:none!important;
}
@media(max-width:767px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:20px!important;
    right:14px!important;
    bottom:24px!important;
    gap:12px!important;
  }
  .page-index .hero-megabytes .hero-signature-kicker{
    font-size:clamp(28px,7vw,38px)!important;
    line-height:.9!important;
  }
  .page-index .hero-megabytes .hero-signature-main{
    font-size:var(--hero-mega-size,clamp(52px,15vw,96px))!important;
    line-height:.8!important;
  }
}
@media(max-width:420px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:16px!important;
    right:10px!important;
    bottom:22px!important;
    gap:10px!important;
  }
  .page-index .hero-megabytes .hero-signature-kicker{
    font-size:clamp(26px,7.3vw,32px)!important;
  }
}

/* ========================================================================== 
   V85 — RESTORE DESKTOP GALLERY + HARDEN HERO TYPE VISIBILITY
   - Desktop/laptop gallery returns to the approved V82 editorial mosaic.
   - Phone gallery keeps the V83 creative collage unchanged.
   - Hero supports both the V84 markup and the previous V75 word-span markup,
     so MINI BITES / MEGA VIBES cannot disappear because of mixed cached files.
   ========================================================================== */

/* Restore the exact approved desktop/laptop gallery composition. */
@media (min-width:981px){
  .home-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,clamp(260px,22vw,360px))!important;
    grid-auto-rows:clamp(240px,20vw,330px)!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  .home-gallery-card,
  .home-gallery-card:nth-child(n){
    grid-column:span 1!important;
    grid-row:span 1!important;
    border-radius:20px!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    background:#eee7df!important;
  }
  .home-gallery-card:nth-child(5n+1){grid-column:1!important;grid-row:span 2!important}
  .home-gallery-card:nth-child(5n+2){grid-column:2!important;grid-row:span 1!important}
  .home-gallery-card:nth-child(5n+3){grid-column:3!important;grid-row:span 1!important}
  .home-gallery-card:nth-child(5n+4){grid-column:2!important;grid-row:span 1!important}
  .home-gallery-card:nth-child(5n+5){grid-column:3!important;grid-row:span 1!important}

  .home-gallery-card:nth-child(n+6).gallery-mode-tall{grid-column:span 1!important;grid-row:span 2!important}
  .home-gallery-card:nth-child(n+6).gallery-mode-wide{grid-column:span 2!important;grid-row:span 1!important}
  .home-gallery-card:nth-child(n+6).gallery-mode-square{grid-column:span 1!important;grid-row:span 1!important}
  .home-gallery-card:nth-child(n+6).gallery-mode-cover,
  .home-gallery-card:nth-child(n+6).gallery-mode-auto,
  .home-gallery-card:nth-child(n+6).gallery-mode-original{grid-column:span 1!important;grid-row:span 1!important}
}

/* Tablet keeps the earlier balanced two-column arrangement. */
@media (min-width:761px) and (max-width:980px){
  .home-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:clamp(230px,38vw,330px)!important;
    gap:10px!important;
  }
  .home-gallery-card,
  .home-gallery-card:nth-child(n){
    grid-column:span 1!important;
    grid-row:span 1!important;
    aspect-ratio:auto!important;
  }
  .home-gallery-card:nth-child(5n+1){grid-column:span 1!important;grid-row:span 2!important}
}

/* Hero lockup — stable, visible, left aligned, same in Arabic and English. */
.page-index .hero-megabytes,
.page-index.lang-ar .hero-megabytes,
.page-index .lang-ar .hero-megabytes{
  position:absolute!important;
  left:clamp(18px,2.9vw,56px)!important;
  right:clamp(18px,2.9vw,56px)!important;
  bottom:clamp(18px,2.4vh,34px)!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:clamp(8px,.75vw,14px)!important;
  overflow:visible!important;
  white-space:nowrap!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  font-family:var(--font-en)!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:0 3px 28px rgba(0,0,0,.28)!important;
  transform:none!important;
  -webkit-transform:none!important;
  z-index:8!important;
}

/* Current V84 markup. */
.page-index .hero-megabytes .hero-signature-kicker,
/* Compatibility with the previous V75 markup if PHP/OPcache is stale. */
.page-index .hero-megabytes .hero-signature-word:first-child{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  font-family:inherit!important;
  font-size:clamp(26px,2.5vw,44px)!important;
  line-height:.95!important;
  letter-spacing:-.035em!important;
  font-weight:600!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-align:left!important;
}

.page-index .hero-megabytes .hero-signature-main,
.page-index .hero-megabytes .hero-signature-word:last-child{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  font-family:inherit!important;
  font-size:clamp(84px,12.4vw,220px)!important;
  line-height:.80!important;
  letter-spacing:-.055em!important;
  font-weight:600!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-align:left!important;
}
.page-index .hero-megabytes .hero-signature-gap{display:none!important}

@media(max-width:767px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:18px!important;
    right:12px!important;
    bottom:20px!important;
    gap:8px!important;
  }
  .page-index .hero-megabytes .hero-signature-kicker,
  .page-index .hero-megabytes .hero-signature-word:first-child{
    font-size:clamp(24px,6.2vw,34px)!important;
  }
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    font-size:clamp(52px,14.2vw,88px)!important;
    line-height:.84!important;
    letter-spacing:-.052em!important;
  }
}
@media(max-width:420px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:16px!important;
    right:10px!important;
    bottom:18px!important;
  }
  .page-index .hero-megabytes .hero-signature-kicker,
  .page-index .hero-megabytes .hero-signature-word:first-child{
    font-size:clamp(22px,6.5vw,29px)!important;
  }
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    font-size:clamp(50px,14vw,72px)!important;
  }
}

/* ========================================================================== 
   V86 — HOME HERO TYPE POSITION / WIDTH
   - MINI BITES sits directly below the left intro copy.
   - MEGA VIBES remains the only oversized bottom line and stretches farther
     across the viewport without changing the approved font.
   - Same lockup in Arabic and English; gallery rules are untouched.
   ========================================================================== */
.page-index .hero-editorial-overlay{
  --hero-mega-size:clamp(96px,14vw,270px);
}

.page-index .hero-mini-bites,
.page-index.lang-ar .hero-mini-bites,
.page-index .lang-ar .hero-mini-bites{
  position:absolute!important;
  left:clamp(18px,2.9vw,56px)!important;
  right:auto!important;
  bottom:calc(var(--hero-mega-size) * .82 + 58px)!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  color:#fff!important;
  font-family:var(--font-en)!important;
  font-size:clamp(26px,2.55vw,46px)!important;
  font-weight:600!important;
  line-height:.94!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  direction:ltr!important;
  text-align:left!important;
  text-shadow:0 3px 24px rgba(0,0,0,.25)!important;
  z-index:9!important;
  pointer-events:none!important;
}

/* The lower lockup now contains MEGA VIBES only. */
.page-index .hero-megabytes,
.page-index.lang-ar .hero-megabytes,
.page-index .lang-ar .hero-megabytes{
  left:clamp(8px,1vw,18px)!important;
  right:clamp(4px,.75vw,14px)!important;
  bottom:clamp(8px,1.45vh,18px)!important;
  width:auto!important;
  max-width:none!important;
  gap:0!important;
  display:block!important;
  overflow:visible!important;
}
.page-index .hero-megabytes .hero-signature-kicker,
.page-index .hero-megabytes .hero-signature-word:first-child:not(:last-child){display:none!important}
.page-index .hero-megabytes .hero-signature-main,
.page-index .hero-megabytes .hero-signature-word:last-child{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  font-family:var(--font-en)!important;
  font-size:var(--hero-mega-size)!important;
  font-weight:600!important;
  line-height:.79!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  text-align:left!important;
  transform:scaleX(1.035)!important;
  transform-origin:left bottom!important;
  -webkit-transform:scaleX(1.035)!important;
  -webkit-transform-origin:left bottom!important;
}

/* Keep the intro/actions above MINI BITES instead of moving when the lockup grows. */
.page-index .hero-editorial-intro,
.page-index .lang-ar .hero-editorial-intro{
  bottom:calc(var(--hero-mega-size) * .82 + 122px)!important;
}
.page-index .hero-editorial-actions,
.page-index .lang-ar .hero-editorial-actions{
  bottom:calc(var(--hero-mega-size) * .82 + 118px)!important;
}

@media(max-width:767px){
  .page-index .hero-editorial-overlay{
    --hero-mega-size:clamp(56px,15.9vw,92px);
  }
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:18px!important;
    bottom:calc(var(--hero-mega-size) * .84 + 86px)!important;
    font-size:clamp(23px,6.25vw,34px)!important;
  }
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:10px!important;
    right:5px!important;
    bottom:16px!important;
  }
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    letter-spacing:-.03em!important;
    transform:scaleX(1.025)!important;
    -webkit-transform:scaleX(1.025)!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-mega-size) * .84 + 134px)!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-mega-size) * .84 + 132px)!important;
  }
}
@media(max-width:420px){
  .page-index .hero-editorial-overlay{
    --hero-mega-size:clamp(54px,15.7vw,74px);
  }
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:16px!important;
    bottom:calc(var(--hero-mega-size) * .84 + 82px)!important;
    font-size:clamp(22px,6.2vw,29px)!important;
  }
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:7px!important;
    right:3px!important;
    bottom:14px!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-mega-size) * .84 + 127px)!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-mega-size) * .84 + 125px)!important;
  }
}

/* ========================================================================== 
   V87 — HERO LOCKUP: APPROVED DESKTOP + MOBILE REFERENCES
   Desktop/laptop: MINI BITES + MEGA VIBES share one oversized bottom line.
   Mobile: MINI BITES sits above, MEGA VIBES stays oversized at the bottom.
   Gallery styling is intentionally untouched.
   ========================================================================== */
.page-index .hero-type-lockup,
.page-index.lang-ar .hero-type-lockup,
.page-index .lang-ar .hero-type-lockup{
  position:absolute!important;
  z-index:9!important;
  left:clamp(22px,2.9vw,58px)!important;
  right:clamp(22px,2.9vw,58px)!important;
  bottom:clamp(18px,2.25vh,30px)!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:clamp(18px,2.15vw,40px)!important;
  direction:ltr!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:visible!important;
  pointer-events:none!important;
  font-family:var(--font-en)!important;
  color:#fff!important;
  text-shadow:0 3px 28px rgba(0,0,0,.28)!important;
}
.page-index .hero-type-mini,
.page-index .hero-type-mega{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:var(--font-en)!important;
  font-size:clamp(52px,6.55vw,110px)!important;
  font-weight:600!important;
  line-height:.80!important;
  letter-spacing:-.052em!important;
  color:#fff!important;
  white-space:nowrap!important;
  opacity:1!important;
  visibility:visible!important;
}
.page-index .hero-type-mini{flex:0 0 auto!important}
.page-index .hero-type-mega{flex:0 0 auto!important}

/* Old V84–V86 type nodes must never reappear if stale markup is cached. */
.page-index .hero-mini-bites,
.page-index .hero-megabytes{display:none!important}

/* Keep the supporting copy/actions comfortably above the large desktop line. */
@media(min-width:768px){
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:clamp(210px,19vh,270px)!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:clamp(208px,18.8vh,268px)!important;
  }
}

@media(max-width:767px){
  .page-index .hero-type-lockup,
  .page-index.lang-ar .hero-type-lockup,
  .page-index .lang-ar .hero-type-lockup{
    left:16px!important;
    right:10px!important;
    bottom:18px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    gap:clamp(42px,6.6svh,68px)!important;
  }
  .page-index .hero-type-mini{
    font-size:clamp(23px,6.4vw,34px)!important;
    line-height:.94!important;
    letter-spacing:-.035em!important;
  }
  .page-index .hero-type-mega{
    max-width:100%!important;
    font-size:clamp(50px,14.4vw,86px)!important;
    line-height:.82!important;
    letter-spacing:-.047em!important;
    transform:scaleX(1.018)!important;
    transform-origin:left bottom!important;
    -webkit-transform:scaleX(1.018)!important;
    -webkit-transform-origin:left bottom!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:clamp(238px,34svh,300px)!important;
    max-width:180px!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:clamp(236px,33.7svh,298px)!important;
    width:126px!important;
    max-width:126px!important;
  }
}
@media(max-width:420px){
  .page-index .hero-type-lockup,
  .page-index.lang-ar .hero-type-lockup,
  .page-index .lang-ar .hero-type-lockup{
    left:14px!important;
    right:8px!important;
    bottom:16px!important;
    gap:clamp(38px,6svh,56px)!important;
  }
  .page-index .hero-type-mini{font-size:clamp(22px,6.25vw,29px)!important}
  .page-index .hero-type-mega{font-size:clamp(48px,14vw,72px)!important}
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:clamp(220px,33svh,270px)!important;
    max-width:166px!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:clamp(218px,32.7svh,268px)!important;
    width:116px!important;
    max-width:116px!important;
  }
}

/* ========================================================================== 
   V88 — HERO: EXACT APPROVED REFERENCE LAYOUT
   - MINI BITES is a smaller line under the left event copy.
   - MEGA VIBES is the only oversized line at the bottom edge.
   - Same composition on desktop/laptop/mobile and in AR/EN.
   - Gallery rules are intentionally untouched.
   ========================================================================== */
.page-index .hero-type-lockup{display:none!important}

.page-index .hero-editorial-overlay{
  --hero-v88-mega-size:clamp(48px,13.2vw,250px);
}

.page-index .hero-mini-bites,
.page-index.lang-ar .hero-mini-bites,
.page-index .lang-ar .hero-mini-bites{
  position:absolute!important;
  display:block!important;
  left:clamp(26px,3vw,60px)!important;
  right:auto!important;
  bottom:calc(var(--hero-v88-mega-size) * .78 + 70px)!important;
  margin:0!important;
  padding:0!important;
  z-index:10!important;
  color:#fff!important;
  font-family:var(--font-en)!important;
  font-size:clamp(24px,2.55vw,46px)!important;
  font-weight:600!important;
  line-height:.95!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  direction:ltr!important;
  text-align:left!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:0 3px 24px rgba(0,0,0,.28)!important;
  pointer-events:none!important;
}

.page-index .hero-megabytes,
.page-index.lang-ar .hero-megabytes,
.page-index .lang-ar .hero-megabytes{
  position:absolute!important;
  display:block!important;
  left:clamp(6px,.7vw,14px)!important;
  right:clamp(6px,.7vw,14px)!important;
  bottom:clamp(8px,1.2vh,16px)!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  z-index:9!important;
  overflow:visible!important;
  white-space:nowrap!important;
  direction:ltr!important;
  text-align:left!important;
  pointer-events:none!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.page-index .hero-megabytes .hero-signature-kicker,
.page-index .hero-megabytes .hero-signature-word:first-child:not(:last-child){display:none!important}
.page-index .hero-megabytes .hero-signature-main,
.page-index .hero-megabytes .hero-signature-word:last-child{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-family:var(--font-en)!important;
  font-size:var(--hero-v88-mega-size)!important;
  font-weight:600!important;
  line-height:.78!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
  text-align:left!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:0 3px 30px rgba(0,0,0,.28)!important;
  transform:none!important;
  -webkit-transform:none!important;
}

/* Supporting copy stays above MINI BITES, like the approved reference. */
.page-index .hero-editorial-intro,
.page-index .lang-ar .hero-editorial-intro{
  bottom:calc(var(--hero-v88-mega-size) * .78 + 128px)!important;
}
.page-index .hero-editorial-actions,
.page-index .lang-ar .hero-editorial-actions{
  bottom:calc(var(--hero-v88-mega-size) * .78 + 124px)!important;
}

@media(max-width:767px){
  .page-index .hero-editorial-overlay{
    --hero-v88-mega-size:clamp(47px,13.25vw,72px);
  }
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:clamp(16px,4.3vw,24px)!important;
    bottom:calc(var(--hero-v88-mega-size) * .84 + 92px)!important;
    font-size:clamp(22px,6vw,30px)!important;
  }
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:clamp(8px,2.2vw,12px)!important;
    right:clamp(8px,2.2vw,12px)!important;
    bottom:14px!important;
  }
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    letter-spacing:-.047em!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v88-mega-size) * .84 + 145px)!important;
    max-width:185px!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-v88-mega-size) * .84 + 143px)!important;
  }
}

@media(max-width:390px){
  .page-index .hero-editorial-overlay{
    --hero-v88-mega-size:clamp(44px,12.9vw,52px);
  }
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:15px!important;
    bottom:calc(var(--hero-v88-mega-size) * .86 + 84px)!important;
    font-size:clamp(20px,5.8vw,24px)!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v88-mega-size) * .86 + 134px)!important;
    max-width:165px!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-v88-mega-size) * .86 + 132px)!important;
    width:118px!important;
    max-width:118px!important;
  }
}

/* ========================================================================== 
   V89 — laptop hero fit + home gallery lightbox
   - Desktop/laptop keeps MINI BITES under the event copy.
   - MEGA VIBES starts from the left and always fits fully inside the viewport.
   - Gallery layout itself is untouched; clicking an image opens a viewer.
   ========================================================================== */
@media(min-width:768px){
  .page-index .hero-editorial-overlay{
    --hero-v88-mega-size:clamp(82px,10vw,184px)!important;
  }
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:clamp(24px,2.8vw,56px)!important;
    right:clamp(24px,2.8vw,56px)!important;
    bottom:clamp(10px,1.4vh,18px)!important;
    overflow:hidden!important;
  }
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    font-size:var(--hero-v88-mega-size)!important;
    line-height:.80!important;
    letter-spacing:-.047em!important;
    transform:scaleX(1.018)!important;
    transform-origin:left bottom!important;
    -webkit-transform:scaleX(1.018)!important;
    -webkit-transform-origin:left bottom!important;
  }
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:clamp(28px,3vw,60px)!important;
    bottom:calc(var(--hero-v88-mega-size) * .80 + 66px)!important;
    font-size:clamp(25px,2.35vw,42px)!important;
  }
  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v88-mega-size) * .80 + 122px)!important;
  }
  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-v88-mega-size) * .80 + 118px)!important;
  }
}

.home-gallery-open{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:inherit;
  background:transparent;
  cursor:zoom-in;
  overflow:hidden;
  color:inherit;
}
.home-gallery-open img{width:100%;height:100%;transition:transform .42s ease,filter .42s ease}
@media(hover:hover){
  .home-gallery-card:hover .home-gallery-open img{transform:scale(1.018);filter:saturate(1.02)}
}
.home-gallery-open:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.home-gallery-card figcaption{pointer-events:none;z-index:2}

html.gallery-lightbox-open,body.gallery-lightbox-open{overflow:hidden!important}
.home-gallery-lightbox[hidden]{display:none!important}
.home-gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:10050;
  display:grid;
  place-items:center;
  padding:clamp(16px,2.8vw,42px);
}
.home-gallery-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,14,12,.92);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.home-gallery-lightbox-panel{
  position:relative;
  z-index:1;
  width:min(1500px,96vw);
  height:min(900px,92vh);
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 72px;
  align-items:center;
}
.home-gallery-lightbox-stage{
  min-width:0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.home-gallery-lightbox-stage img{
  display:block;
  max-width:100%;
  max-height:calc(92vh - 72px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  user-select:none;
  -webkit-user-drag:none;
}
.home-gallery-lightbox-meta{
  width:min(900px,92%);
  min-height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:rgba(255,255,255,.82);
  font-size:11px;
  line-height:1.5;
  text-align:center;
}
.home-gallery-lightbox-meta p{margin:0;max-width:680px}
.home-gallery-lightbox-meta span{white-space:nowrap;color:rgba(255,255,255,.62)}
.home-gallery-lightbox-close,
.home-gallery-lightbox-nav{
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.08);
  color:#fff;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.home-gallery-lightbox-close:hover,.home-gallery-lightbox-nav:hover{background:rgba(255,255,255,.16)}
.home-gallery-lightbox-close{
  position:absolute;
  top:0;
  right:0;
  z-index:3;
  width:46px;
  height:46px;
  border-radius:999px;
  font:300 31px/1 Arial,sans-serif;
}
.home-gallery-lightbox-nav{
  position:relative;
  z-index:2;
  width:52px;
  height:52px;
  border-radius:999px;
  justify-self:center;
  font:300 40px/.8 Arial,sans-serif;
}
.home-gallery-lightbox-nav:active{transform:scale(.95)}

@media(max-width:767px){
  .home-gallery-lightbox{padding:12px}
  .home-gallery-lightbox-panel{
    width:100%;
    height:94svh;
    grid-template-columns:44px minmax(0,1fr) 44px;
  }
  .home-gallery-lightbox-stage img{
    max-height:calc(94svh - 86px);
    border-radius:10px;
  }
  .home-gallery-lightbox-nav{width:38px;height:38px;font-size:32px}
  .home-gallery-lightbox-close{top:2px;right:2px;width:40px;height:40px;font-size:28px}
  .home-gallery-lightbox-meta{font-size:10px;gap:10px;width:94%}
}

/* ========================================================================== 
   V90 — LAPTOP HERO: FULL-WIDTH MEGA VIBES + SMALLER/HIGHER MINI BITES
   - Laptop/desktop only: MEGA VIBES starts at the left edge and stretches to
     the right safe edge without clipping outside the viewport.
   - MINI BITES stays under the event copy, slightly smaller and slightly higher.
   - Phone layout and gallery are intentionally untouched.
   ========================================================================== */
@media(min-width:900px){
  .page-index .hero-editorial-overlay{
    --hero-v90-mega-size:clamp(112px,13vw,248px)!important;
    --hero-v88-mega-size:var(--hero-v90-mega-size)!important;
  }

  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:clamp(8px,.72vw,14px)!important;
    right:clamp(8px,.72vw,14px)!important;
    bottom:clamp(6px,.85vh,12px)!important;
    width:auto!important;
    max-width:none!important;
    overflow:hidden!important;
    text-align:left!important;
  }

  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    display:inline-block!important;
    width:max-content!important;
    max-width:none!important;
    font-size:var(--hero-v90-mega-size)!important;
    line-height:.79!important;
    letter-spacing:-.052em!important;
    transform:scaleX(var(--hero-v90-mega-scale,1))!important;
    transform-origin:left bottom!important;
    -webkit-transform:scaleX(var(--hero-v90-mega-scale,1))!important;
    -webkit-transform-origin:left bottom!important;
  }

  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:clamp(28px,3vw,60px)!important;
    right:auto!important;
    bottom:calc(var(--hero-v90-mega-size) * .79 + 78px)!important;
    font-size:clamp(22px,1.95vw,36px)!important;
    line-height:.94!important;
  }

  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v90-mega-size) * .79 + 138px)!important;
  }

  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-v90-mega-size) * .79 + 134px)!important;
  }
}

/* ========================================================================== 
   V91 — LAPTOP HERO FINE TUNE
   - MINI BITES sits a little higher beneath the event copy.
   - MEGA VIBES is slightly smaller in height while keeping the full-width fit.
   - Mobile hero and gallery are intentionally untouched.
   ========================================================================== */
@media(min-width:900px){
  .page-index .hero-editorial-overlay{
    --hero-v90-mega-size:clamp(104px,11.8vw,224px)!important;
    --hero-v88-mega-size:var(--hero-v90-mega-size)!important;
  }

  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    bottom:calc(var(--hero-v90-mega-size) * .79 + 118px)!important;
  }
}

/* ========================================================================== 
   V92 — LAPTOP HERO: SMALL GAP ABOVE MINI BITES
   - Adds a small breathing space between the event copy and MINI BITES.
   - MEGA VIBES, mobile hero, and gallery are intentionally untouched.
   ========================================================================== */
@media(min-width:900px){
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    bottom:calc(var(--hero-v90-mega-size) * .79 + 104px)!important;
  }
}

/* ========================================================================== 
   V93 — PHONE/TABLET HERO RESPONSIVE LOCK
   - Desktop/laptop (>=900px) stays exactly as approved in V92.
   - Phones/tablets: MEGA VIBES always starts from the left safe edge and is
     stretched/fitted to the right safe edge without clipping.
   - MINI BITES stays under the event copy, matching the laptop composition.
   - Gallery rules are intentionally untouched.
   ========================================================================== */
@media(max-width:899px){
  .page-index .hero-editorial-overlay{
    --hero-v93-mega-size:clamp(50px,10.5vw,94px)!important;
    --hero-v88-mega-size:var(--hero-v93-mega-size)!important;
  }

  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:clamp(8px,2.2vw,18px)!important;
    right:clamp(8px,2.2vw,18px)!important;
    bottom:clamp(10px,1.4svh,16px)!important;
    width:auto!important;
    max-width:none!important;
    overflow:hidden!important;
    text-align:left!important;
    direction:ltr!important;
  }

  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    display:inline-block!important;
    width:max-content!important;
    max-width:none!important;
    font-size:var(--hero-v93-mega-size)!important;
    line-height:.80!important;
    letter-spacing:-.048em!important;
    transform:scaleX(var(--hero-v93-mega-scale,1))!important;
    transform-origin:left bottom!important;
    -webkit-transform:scaleX(var(--hero-v93-mega-scale,1))!important;
    -webkit-transform-origin:left bottom!important;
  }

  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:clamp(18px,3.2vw,30px)!important;
    right:auto!important;
    bottom:calc(var(--hero-v93-mega-size) * .80 + 94px)!important;
    font-size:clamp(20px,3.6vw,28px)!important;
    line-height:.94!important;
    letter-spacing:-.032em!important;
    text-align:left!important;
    direction:ltr!important;
  }

  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v93-mega-size) * .80 + 136px)!important;
  }

  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-v93-mega-size) * .80 + 132px)!important;
  }
}

@media(max-width:480px){
  .page-index .hero-editorial-overlay{
    --hero-v93-mega-size:clamp(48px,13.8vw,66px)!important;
    --hero-v88-mega-size:var(--hero-v93-mega-size)!important;
  }

  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:8px!important;
    right:8px!important;
    bottom:12px!important;
  }

  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:16px!important;
    bottom:calc(var(--hero-v93-mega-size) * .80 + 88px)!important;
    font-size:clamp(19px,5.2vw,23px)!important;
  }

  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v93-mega-size) * .80 + 126px)!important;
    max-width:170px!important;
  }

  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-v93-mega-size) * .80 + 124px)!important;
    width:120px!important;
    max-width:120px!important;
  }
}


/* ========================================================================== 
   V94 — LAPTOP MINI BITES STABILITY FIX
   Keep MINI BITES physically attached to the event copy on desktop/laptop,
   so viewport/font scaling cannot make the two labels collide or drift apart.
   Phone/tablet layout is intentionally unchanged.
   ========================================================================== */
.hero-mini-bites-desktop{display:none}

@media(min-width:900px){
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    display:none!important;
  }

  .page-index .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v90-mega-size) * .79 + 104px)!important;
    max-width:min(390px,36vw)!important;
  }

  .page-index .hero-mini-bites-desktop,
  .page-index.lang-ar .hero-mini-bites-desktop,
  .page-index .lang-ar .hero-mini-bites-desktop{
    display:block!important;
    margin-top:14px!important;
    color:#fff!important;
    font-family:var(--font-en)!important;
    font-size:clamp(24px,1.75vw,32px)!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:-.028em!important;
    white-space:nowrap!important;
    direction:ltr!important;
    text-align:left!important;
    text-shadow:0 3px 24px rgba(0,0,0,.25)!important;
  }

  .page-index.lang-ar .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    text-align:left!important;
    left:clamp(28px,3vw,60px)!important;
    right:auto!important;
  }
}

/* ========================================================================== 
   V95 — LAPTOP MINI BITES EXACT LEFT ALIGNMENT
   Desktop/laptop only: MINI BITES starts on the exact same left edge as the
   event copy above it. Phone/tablet hero remains untouched.
   ========================================================================== */
@media(min-width:900px){
  /* One shared left anchor for both lines. */
  .page-index .hero-editorial-intro,
  .page-index.lang-ar .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    left:max(var(--page-pad),calc((100vw - var(--content))/2))!important;
    right:auto!important;
    text-align:left!important;
  }

  /* Use the existing absolute MINI BITES node as the single desktop label.
     This also makes the fix resilient if an older cached index.php is served. */
  .page-index .hero-mini-bites-desktop,
  .page-index.lang-ar .hero-mini-bites-desktop,
  .page-index .lang-ar .hero-mini-bites-desktop{
    display:none!important;
  }

  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    display:block!important;
    position:absolute!important;
    left:max(var(--page-pad),calc((100vw - var(--content))/2))!important;
    right:auto!important;
    bottom:calc(var(--hero-v90-mega-size) * .79 + 58px)!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font-family:var(--font-en)!important;
    font-size:clamp(24px,1.75vw,32px)!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:-.028em!important;
    white-space:nowrap!important;
    direction:ltr!important;
    text-align:left!important;
    text-shadow:0 3px 24px rgba(0,0,0,.25)!important;
    z-index:10!important;
    pointer-events:none!important;
  }
}

/* ========================================================================== 
   V96 — PUBLIC GALLERY PAGE + HOME VIEW MORE
   ========================================================================== */
.home-gallery-more{display:flex;justify-content:flex-end;margin-top:26px}
.home-gallery-more .menu-cta{min-width:min(320px,100%)}
.gallery-page-main{background:#fffaf5;min-height:100vh;padding-top:var(--header-h,88px)}
.gallery-page-hero{padding:clamp(54px,7vw,108px) max(var(--page-pad),calc((100vw - var(--content))/2)) 34px}
.gallery-page-hero .eyebrow{margin-bottom:18px}
.gallery-page-title-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:36px;align-items:end}
.gallery-page-title-row h1{margin:0;max-width:850px;font-size:clamp(54px,7.4vw,126px);line-height:.9;letter-spacing:-.055em;font-weight:500}
.gallery-page-title-row p{margin:0 0 8px;color:#706960;line-height:1.7;font-size:13px}
.gallery-page-section{padding:28px max(var(--page-pad),calc((100vw - var(--content))/2)) clamp(70px,9vw,130px)}
.gallery-page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:14px;align-items:stretch}
.gallery-page-card{position:relative;overflow:hidden;border-radius:24px;background:#efe9e1;min-height:260px;margin:0}
.gallery-page-card:nth-child(10n+1){grid-column:span 5;grid-row:span 2;aspect-ratio:4/5}
.gallery-page-card:nth-child(10n+2){grid-column:span 7;aspect-ratio:16/9}
.gallery-page-card:nth-child(10n+3){grid-column:span 3;aspect-ratio:1/1}
.gallery-page-card:nth-child(10n+4){grid-column:span 4;aspect-ratio:4/5}
.gallery-page-card:nth-child(10n+5){grid-column:span 5;aspect-ratio:16/10}
.gallery-page-card:nth-child(10n+6){grid-column:span 7;aspect-ratio:16/9}
.gallery-page-card:nth-child(10n+7){grid-column:span 5;aspect-ratio:4/5}
.gallery-page-card:nth-child(10n+8){grid-column:span 4;aspect-ratio:1/1}
.gallery-page-card:nth-child(10n+9){grid-column:span 3;aspect-ratio:4/5}
.gallery-page-card:nth-child(10n+10){grid-column:span 5;aspect-ratio:16/10}
.gallery-page-card.gallery-mode-tall{aspect-ratio:4/5}
.gallery-page-card.gallery-mode-wide{aspect-ratio:16/9}
.gallery-page-card.gallery-mode-square{aspect-ratio:1/1}
.gallery-page-open{display:block;width:100%;height:100%;border:0;padding:0;margin:0;background:transparent;cursor:zoom-in;overflow:hidden}
.gallery-page-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-page-card.gallery-mode-original .gallery-page-open img{object-fit:contain;background:#eee8df}
@media(hover:hover){.gallery-page-card:hover .gallery-page-open img{transform:scale(1.018)}}
.gallery-page-card figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:10px 12px;border-radius:12px;background:rgba(34,28,24,.58);backdrop-filter:blur(8px);color:#fff;font-size:11px;line-height:1.45;pointer-events:none}
.gallery-page-more-wrap{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:38px;flex-direction:column}
.gallery-page-more-wrap .gallery-load-more{min-width:min(360px,100%);border:0;background:transparent;cursor:pointer}
.gallery-page-more-wrap small{color:#8a8178;font-size:11px}.gallery-page-more-wrap.is-complete small{opacity:.5}
.gallery-load-more.is-loading{opacity:.55;pointer-events:none}
.gallery-page-empty{padding:90px 20px;text-align:center;border:1px dashed rgba(37,37,37,.14);border-radius:24px}
.gallery-page-empty h2{margin:0;font-size:30px}
@media(max-width:900px){
  .gallery-page-title-row{grid-template-columns:1fr;gap:18px}.gallery-page-title-row h1{font-size:clamp(48px,12vw,86px)}
  .gallery-page-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
  .gallery-page-card:nth-child(n){grid-column:span 3;grid-row:span 1;aspect-ratio:1/1}
  .gallery-page-card:nth-child(5n+1){grid-column:span 3;grid-row:span 2;aspect-ratio:4/5}
  .gallery-page-card:nth-child(5n+2){grid-column:span 3;aspect-ratio:1/1}
  .gallery-page-card:nth-child(5n+3){grid-column:span 3;aspect-ratio:1/1}
  .gallery-page-card:nth-child(5n+4){grid-column:span 6;aspect-ratio:16/9}
  .gallery-page-card:nth-child(5n+5){grid-column:span 6;aspect-ratio:16/10}
  .gallery-page-card.gallery-mode-wide{grid-column:span 6!important;aspect-ratio:16/9!important}
  .gallery-page-card.gallery-mode-tall{grid-column:span 3!important;aspect-ratio:4/5!important}
  .gallery-page-card.gallery-mode-square{grid-column:span 3!important;aspect-ratio:1/1!important}
}
@media(max-width:520px){
  .gallery-page-hero{padding-top:44px}.gallery-page-title-row h1{font-size:clamp(44px,14vw,68px)}
  .gallery-page-section{padding-top:18px}.gallery-page-grid{gap:8px}.gallery-page-card{border-radius:16px;min-height:0}
  .gallery-page-card figcaption{left:8px;right:8px;bottom:8px;padding:8px;font-size:9px}
}

/* ========================================================================== 
   V97 — GALLERY EXPERIENCE + NATURAL DESKTOP HERO TYPE
   - Home Gallery CTA matches the centered View Menu CTA.
   - Gallery page becomes a photographic hero + glass copy + editorial wall.
   - Desktop MEGA VIBES keeps natural letter proportions: font-size fits width,
     never horizontal stretching.
   ========================================================================== */

/* Home gallery CTA: same geometry/centering as the View Menu CTA. */
.home-gallery-more{
  max-width:var(--content)!important;
  margin:26px auto 0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}
.home-gallery-more .menu-cta{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}

/* Gallery is a visual page, so its fixed header floats over the photography
   exactly like Home/Menu rather than creating a white utility header. */
.page-gallery{padding-top:0!important;background:#fffaf5!important}
.page-gallery .site-header{
  display:grid!important;
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  height:var(--header-h)!important;
  background:rgba(76,55,40,.52)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.03)!important;
  backdrop-filter:blur(8px) saturate(1.03)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  box-shadow:none!important;
}
.page-gallery .site-header .nav a,
.page-gallery .site-header .lang,
.page-gallery .site-header .book,
.page-gallery .site-header .account-header-link,
.page-gallery .site-header .cart-header-button{color:#fff!important}
.page-gallery .site-header .hamb i{background:#fff!important}
.page-gallery .site-header .account-header-link,
.page-gallery .site-header .cart-header-button{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.page-gallery .site-header .book{
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.25)!important;
}
.page-gallery .mobile-nav{
  top:var(--header-h)!important;
  background:rgba(27,22,19,.92)!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.page-gallery .mobile-nav a{color:#fff!important;border-color:rgba(255,255,255,.12)!important}

.gallery-page-main{background:#fffaf5!important;min-height:100vh!important;padding-top:0!important}
.gallery-page-hero.gallery-showcase-hero{
  position:relative!important;
  min-height:clamp(590px,72svh,790px)!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:flex-end!important;
  color:#252525!important;
  isolation:isolate!important;
}
.gallery-showcase-image{
  position:absolute!important;
  inset:0!important;
  z-index:-3!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  display:block!important;
}
.gallery-showcase-shade{
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background:
    linear-gradient(180deg,rgba(26,20,16,.18) 0%,rgba(26,20,16,.04) 38%,rgba(26,20,16,.32) 100%),
    linear-gradient(90deg,rgba(26,20,16,.16),transparent 58%)!important;
}
.lang-ar .gallery-showcase-shade{
  background:
    linear-gradient(180deg,rgba(26,20,16,.18) 0%,rgba(26,20,16,.04) 38%,rgba(26,20,16,.32) 100%),
    linear-gradient(270deg,rgba(26,20,16,.16),transparent 58%)!important;
}
.gallery-showcase-copy{
  position:relative!important;
  z-index:2!important;
  width:min(650px,calc(100vw - 48px))!important;
  margin:0 0 clamp(42px,5.5vw,76px) max(var(--page-pad),calc((100vw - var(--content))/2))!important;
  padding:clamp(28px,3vw,44px)!important;
  border:1px solid rgba(255,255,255,.60)!important;
  border-radius:28px!important;
  background:rgba(255,250,245,.74)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;
  box-shadow:0 26px 70px rgba(38,27,19,.16)!important;
}
.lang-ar .gallery-showcase-copy{
  margin-left:0!important;
  margin-right:max(var(--page-pad),calc((100vw - var(--content))/2))!important;
  text-align:right!important;
}
.gallery-showcase-copy .eyebrow{margin:0 0 16px!important;color:#756d65!important}
.gallery-showcase-copy h1{
  margin:0 0 18px!important;
  max-width:590px!important;
  font-size:clamp(48px,5.4vw,82px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  font-weight:500!important;
}
.lang-ar .gallery-showcase-copy h1{
  font-family:var(--font-ar)!important;
  font-size:clamp(30px,3.45vw,50px)!important;
  line-height:1.48!important;
  letter-spacing:0!important;
  font-weight:600!important;
}
.gallery-showcase-copy>p:not(.eyebrow){
  margin:0!important;
  max-width:540px!important;
  color:#625b54!important;
  font-size:13px!important;
  line-height:1.8!important;
}
.lang-ar .gallery-showcase-copy>p:not(.eyebrow){font-size:11px!important;line-height:1.95!important}
.gallery-showcase-link{
  margin-top:24px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  color:var(--ink)!important;
  font-size:11px!important;
  font-weight:650!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(37,37,37,.48)!important;
  padding-bottom:7px!important;
}
.gallery-showcase-link i{font-style:normal!important;font-size:16px!important;line-height:1!important}

.gallery-page-section{
  position:relative!important;
  padding:clamp(58px,7vw,96px) max(var(--page-pad),calc((100vw - var(--content))/2)) clamp(76px,9vw,132px)!important;
  background:linear-gradient(180deg,#fffaf5 0%,#faf4ed 100%)!important;
}
.gallery-page-section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:30px!important;
  margin:0 0 28px!important;
}
.gallery-page-section-head .eyebrow{margin:0!important}
.gallery-page-section-head>p:last-child{
  max-width:430px!important;
  margin:0!important;
  color:#766e66!important;
  font-size:12px!important;
  line-height:1.7!important;
}
.lang-ar .gallery-page-section-head>p:last-child{font-size:10.5px!important;line-height:1.9!important;text-align:right!important}

/* 10-image editorial rhythm. This is deliberately not the product grid. */
.gallery-page-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  gap:14px!important;
  align-items:start!important;
}
.gallery-page-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  background:#eee7df!important;
  min-height:0!important;
  margin:0!important;
  box-shadow:0 12px 34px rgba(54,39,28,.055)!important;
}
.gallery-page-card:nth-child(10n+1){grid-column:span 7!important;aspect-ratio:16/10!important}
.gallery-page-card:nth-child(10n+2){grid-column:span 5!important;aspect-ratio:4/5!important}
.gallery-page-card:nth-child(10n+3){grid-column:span 4!important;aspect-ratio:4/5!important}
.gallery-page-card:nth-child(10n+4){grid-column:span 8!important;aspect-ratio:16/9!important}
.gallery-page-card:nth-child(10n+5){grid-column:span 5!important;aspect-ratio:1/1!important}
.gallery-page-card:nth-child(10n+6){grid-column:span 7!important;aspect-ratio:16/10!important}
.gallery-page-card:nth-child(10n+7){grid-column:span 7!important;aspect-ratio:16/9!important}
.gallery-page-card:nth-child(10n+8){grid-column:span 5!important;aspect-ratio:4/5!important}
.gallery-page-card:nth-child(10n+9){grid-column:span 4!important;aspect-ratio:1/1!important}
.gallery-page-card:nth-child(10n+10){grid-column:span 8!important;aspect-ratio:16/9!important}
.gallery-page-card.gallery-mode-wide{aspect-ratio:16/9!important}
.gallery-page-card.gallery-mode-tall{aspect-ratio:4/5!important}
.gallery-page-card.gallery-mode-square{aspect-ratio:1/1!important}
.gallery-page-open{display:block!important;width:100%!important;height:100%!important;border:0!important;padding:0!important;margin:0!important;background:transparent!important;cursor:zoom-in!important;overflow:hidden!important}
.gallery-page-open img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .45s ease,filter .45s ease!important}
.gallery-page-card.gallery-mode-original .gallery-page-open img{object-fit:contain!important;background:#eee8df!important}
.gallery-page-card::after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:32%!important;
  pointer-events:none!important;
  background:linear-gradient(0deg,rgba(25,19,15,.24),transparent)!important;
  opacity:.55!important;
}
.gallery-page-card figcaption{
  z-index:2!important;
  left:14px!important;right:auto!important;bottom:14px!important;
  max-width:min(82%,430px)!important;
  padding:10px 13px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:14px!important;
  background:rgba(39,31,26,.48)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.05)!important;
  backdrop-filter:blur(12px) saturate(1.05)!important;
  color:#fff!important;
  font-size:10.5px!important;
  line-height:1.5!important;
}
.lang-ar .gallery-page-card figcaption{left:auto!important;right:14px!important;text-align:right!important}
@media(hover:hover){
  .gallery-page-card:hover .gallery-page-open img{transform:scale(1.025)!important;filter:saturate(1.03)!important}
}
.gallery-page-more-wrap{margin-top:42px!important}
.gallery-page-more-wrap .gallery-load-more{
  min-width:0!important;
  min-height:42px!important;
  padding:9px 11px 9px 14px!important;
  gap:8px!important;
  border:1px solid rgba(37,37,37,.18)!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(37,37,37,.045)!important;
  cursor:pointer!important;
}

/* Desktop only: fit MEGA VIBES with real font-size rather than scaleX, so the
   letters keep their natural proportions while still using the safe width. */
@media(min-width:900px){
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    transform:none!important;
    -webkit-transform:none!important;
    font-stretch:normal!important;
  }
}

@media(max-width:900px){
  .gallery-page-hero.gallery-showcase-hero{min-height:680px!important}
  .gallery-showcase-copy{
    width:auto!important;
    margin-left:var(--page-pad)!important;
    margin-right:var(--page-pad)!important;
    margin-bottom:34px!important;
    padding:30px!important;
  }
  .lang-ar .gallery-showcase-copy{margin-left:var(--page-pad)!important;margin-right:var(--page-pad)!important}
  .gallery-showcase-copy h1{font-size:clamp(44px,8vw,68px)!important}
  .lang-ar .gallery-showcase-copy h1{font-size:clamp(28px,5.2vw,40px)!important}
  .gallery-page-section-head{align-items:flex-start!important;flex-direction:column!important;gap:10px!important}
  .gallery-page-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
  .gallery-page-card:nth-child(10n+1){grid-column:span 4!important;aspect-ratio:16/10!important}
  .gallery-page-card:nth-child(10n+2){grid-column:span 2!important;aspect-ratio:4/5!important}
  .gallery-page-card:nth-child(10n+3){grid-column:span 3!important;aspect-ratio:1/1!important}
  .gallery-page-card:nth-child(10n+4){grid-column:span 3!important;aspect-ratio:4/5!important}
  .gallery-page-card:nth-child(10n+5){grid-column:span 6!important;aspect-ratio:16/9!important}
  .gallery-page-card:nth-child(10n+6){grid-column:span 3!important;aspect-ratio:4/5!important}
  .gallery-page-card:nth-child(10n+7){grid-column:span 3!important;aspect-ratio:1/1!important}
  .gallery-page-card:nth-child(10n+8){grid-column:span 6!important;aspect-ratio:16/9!important}
  .gallery-page-card:nth-child(10n+9){grid-column:span 2!important;aspect-ratio:4/5!important}
  .gallery-page-card:nth-child(10n+10){grid-column:span 4!important;aspect-ratio:16/10!important}
  .gallery-page-card.gallery-mode-wide{grid-column:span 6!important;aspect-ratio:16/9!important}
  .gallery-page-card.gallery-mode-tall{grid-column:span 3!important;aspect-ratio:4/5!important}
  .gallery-page-card.gallery-mode-square{grid-column:span 3!important;aspect-ratio:1/1!important}
}

@media(max-width:600px){
  .gallery-page-hero.gallery-showcase-hero{min-height:76svh!important;max-height:760px!important}
  .gallery-showcase-image{object-position:center center!important}
  .gallery-showcase-shade{background:linear-gradient(180deg,rgba(28,21,17,.10) 0%,rgba(28,21,17,.05) 42%,rgba(28,21,17,.42) 100%)!important}
  .gallery-showcase-copy,
  .lang-ar .gallery-showcase-copy{
    margin:0 14px 18px!important;
    padding:23px 20px!important;
    border-radius:22px!important;
    background:rgba(255,250,245,.78)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.06)!important;
    backdrop-filter:blur(16px) saturate(1.06)!important;
  }
  .gallery-showcase-copy .eyebrow{margin-bottom:10px!important}
  .gallery-showcase-copy h1{font-size:clamp(35px,10.2vw,46px)!important;line-height:1!important;margin-bottom:12px!important}
  .lang-ar .gallery-showcase-copy h1{font-size:clamp(23px,6.7vw,31px)!important;line-height:1.55!important}
  .gallery-showcase-copy>p:not(.eyebrow){font-size:11.5px!important;line-height:1.65!important}
  .lang-ar .gallery-showcase-copy>p:not(.eyebrow){font-size:10px!important;line-height:1.85!important}
  .gallery-showcase-link{margin-top:15px!important;font-size:9.5px!important}
  .gallery-page-section{padding:44px 12px 76px!important}
  .gallery-page-section-head{padding:0 4px!important;margin-bottom:20px!important}
  .gallery-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .gallery-page-card{border-radius:16px!important}
  .gallery-page-card:nth-child(5n+1){grid-column:span 1!important;aspect-ratio:4/5!important}
  .gallery-page-card:nth-child(5n+2){grid-column:span 1!important;aspect-ratio:1/1!important}
  .gallery-page-card:nth-child(5n+3){grid-column:span 1!important;aspect-ratio:1/1!important}
  .gallery-page-card:nth-child(5n+4){grid-column:span 2!important;aspect-ratio:16/9!important}
  .gallery-page-card:nth-child(5n+5){grid-column:span 2!important;aspect-ratio:16/10!important}
  .gallery-page-card.gallery-mode-wide{grid-column:span 2!important;aspect-ratio:16/9!important}
  .gallery-page-card.gallery-mode-tall{grid-column:span 1!important;aspect-ratio:4/5!important}
  .gallery-page-card.gallery-mode-square{grid-column:span 1!important;aspect-ratio:1/1!important}
  .gallery-page-card figcaption{left:8px!important;right:auto!important;bottom:8px!important;max-width:calc(100% - 16px)!important;padding:7px 9px!important;border-radius:10px!important;font-size:8.5px!important}
  .lang-ar .gallery-page-card figcaption{left:auto!important;right:8px!important}
}

/* ========================================================================== 
   V98 — MEGA VIBES NATURAL FULL-WIDTH TYPE
   - No scaleX / font stretching at any breakpoint.
   - JavaScript fits the real font-size to the safe width, so the wordmark feels
     bigger while every letter keeps its natural proportion.
   - Positioning and the approved MINI BITES placement stay unchanged.
   ========================================================================== */
.page-index .hero-megabytes .hero-signature-main,
.page-index .hero-megabytes .hero-signature-word:last-child{
  display:inline-block!important;
  width:max-content!important;
  max-width:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  transform-origin:left bottom!important;
  -webkit-transform-origin:left bottom!important;
  font-stretch:normal!important;
  white-space:nowrap!important;
}

@media(min-width:900px){
  .page-index .hero-editorial-overlay{
    --hero-v90-mega-size:clamp(118px,13.2vw,252px)!important;
    --hero-v88-mega-size:var(--hero-v90-mega-size)!important;
  }
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    font-size:var(--hero-v90-mega-size)!important;
    line-height:.78!important;
    letter-spacing:-.052em!important;
  }
}

@media(max-width:899px){
  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    transform:none!important;
    -webkit-transform:none!important;
    font-size:var(--hero-v93-mega-size)!important;
    line-height:.80!important;
    letter-spacing:-.048em!important;
  }
}

/* ========================================================================== 
   V99 — DESKTOP/LAPTOP MEGA VIBES POSITION
   - Desktop/laptop only.
   - Starts a little before the visual center and continues toward the right.
   - Keeps natural letter proportions; no scale/stretch.
   - Mobile/tablet layout stays exactly as approved in V98.
   ========================================================================== */
@media(min-width:900px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:clamp(330px,36vw,690px)!important;
    right:clamp(14px,1.2vw,24px)!important;
    width:auto!important;
    text-align:left!important;
  }
}

/* ========================================================================== 
   V100 — GALLERY PAGE REFINEMENT + FINAL MEGA VIBES EDGE SPACING
   - Gallery hero uses the same photographic language as Menu, with a glass copy card.
   - Gallery wall keeps natural image proportions in a masonry/editorial layout.
   - MEGA VIBES fills the safe width naturally: 12px desktop, 4px phone/tablet.
   ========================================================================== */

/* Home gallery CTA: same centered pill treatment as View Menu. */
.home-gallery-more{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin-top:30px!important;
}
.home-gallery-more .menu-cta,
.home-gallery-more .menu-cta-bottom{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}

/* Gallery page — visual language aligned with Menu, but more editorial. */
.gallery-page-main{
  background:var(--paper,#fffaf5)!important;
  min-height:100vh!important;
  padding-top:0!important;
}
.gallery-page-hero.gallery-showcase-hero{
  position:relative!important;
  min-height:650px!important;
  height:min(78vh,760px)!important;
  overflow:hidden!important;
  background:#2d2722!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.gallery-showcase-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 48%!important;
}
.gallery-showcase-shade{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(18,14,11,.45) 0%,rgba(18,14,11,.12) 58%,rgba(18,14,11,.06) 100%),linear-gradient(0deg,rgba(18,14,11,.34),transparent 54%)!important;
}
.lang-ar .gallery-showcase-shade{
  background:linear-gradient(270deg,rgba(18,14,11,.45) 0%,rgba(18,14,11,.12) 58%,rgba(18,14,11,.06) 100%),linear-gradient(0deg,rgba(18,14,11,.34),transparent 54%)!important;
}
.gallery-showcase-copy,
.lang-ar .gallery-showcase-copy{
  position:absolute!important;
  z-index:2!important;
  left:max(var(--page-pad),calc((100vw - var(--content))/2))!important;
  right:auto!important;
  bottom:48px!important;
  width:min(560px,46vw)!important;
  margin:0!important;
  padding:30px 32px 28px!important;
  border:1px solid rgba(255,255,255,.44)!important;
  border-radius:28px!important;
  background:rgba(255,250,245,.76)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.08)!important;
  backdrop-filter:blur(24px) saturate(1.08)!important;
  box-shadow:0 24px 70px rgba(24,18,14,.16)!important;
  color:var(--ink)!important;
  text-align:left!important;
}
.lang-ar .gallery-showcase-copy{
  left:auto!important;
  right:max(var(--page-pad),calc((100vw - var(--content))/2))!important;
  text-align:right!important;
}
.gallery-showcase-copy .eyebrow{margin:0 0 13px!important;color:#766d64!important}
.gallery-showcase-copy h1{
  margin:0 0 14px!important;
  font-size:clamp(48px,5.6vw,82px)!important;
  line-height:.94!important;
  letter-spacing:-.052em!important;
  font-weight:560!important;
  color:var(--ink)!important;
}
.lang-ar .gallery-showcase-copy h1{
  font-size:clamp(27px,3.15vw,43px)!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}
.gallery-showcase-copy>p:not(.eyebrow){
  margin:0!important;
  max-width:470px!important;
  font-size:12.5px!important;
  line-height:1.72!important;
  color:#665f57!important;
}
.lang-ar .gallery-showcase-copy>p:not(.eyebrow){font-size:10.5px!important;line-height:1.9!important}
.gallery-showcase-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:18px!important;
  color:var(--ink)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(37,37,37,.55)!important;
  padding-bottom:4px!important;
}

.gallery-page-section{
  max-width:1600px!important;
  margin:0 auto!important;
  padding:clamp(58px,7vw,96px) max(18px,var(--page-pad)) clamp(86px,9vw,132px)!important;
}
.gallery-page-section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,.55fr)!important;
  gap:38px!important;
  align-items:end!important;
  margin:0 0 32px!important;
  padding:0!important;
}
.gallery-page-section-head .eyebrow{margin:0 0 12px!important}
.gallery-page-section-head h2{
  margin:0!important;
  max-width:760px!important;
  font-size:clamp(38px,4.8vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  font-weight:540!important;
}
.lang-ar .gallery-page-section-head h2{
  font-size:clamp(24px,2.6vw,36px)!important;
  line-height:1.55!important;
  letter-spacing:0!important;
}
.gallery-page-section-head>p:last-child{
  margin:0 0 5px!important;
  color:#746d65!important;
  font-size:12px!important;
  line-height:1.75!important;
}
.lang-ar .gallery-page-section-head>p:last-child{font-size:10px!important;line-height:1.95!important;text-align:right!important}

/* True editorial masonry: auto/original keep natural proportions; explicit
   admin modes still force the requested card ratio. */
.gallery-page-grid{
  display:block!important;
  columns:3!important;
  column-gap:14px!important;
  grid-template-columns:none!important;
  gap:0!important;
}
.gallery-page-card,
.gallery-page-card:nth-child(n){
  display:inline-block!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 14px!important;
  break-inside:avoid!important;
  -webkit-column-break-inside:avoid!important;
  grid-column:auto!important;
  grid-row:auto!important;
  aspect-ratio:auto!important;
  border-radius:22px!important;
  background:#eee8df!important;
  overflow:hidden!important;
  position:relative!important;
  vertical-align:top!important;
}
.gallery-page-open{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  cursor:zoom-in!important;
  overflow:hidden!important;
}
.gallery-page-open img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transition:transform .45s ease,filter .45s ease!important;
}
.gallery-page-card.gallery-mode-tall .gallery-page-open{aspect-ratio:4/5!important}
.gallery-page-card.gallery-mode-wide .gallery-page-open{aspect-ratio:16/9!important}
.gallery-page-card.gallery-mode-square .gallery-page-open{aspect-ratio:1/1!important}
.gallery-page-card.gallery-mode-cover .gallery-page-open{aspect-ratio:4/3!important}
.gallery-page-card.gallery-mode-tall .gallery-page-open img,
.gallery-page-card.gallery-mode-wide .gallery-page-open img,
.gallery-page-card.gallery-mode-square .gallery-page-open img,
.gallery-page-card.gallery-mode-cover .gallery-page-open img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.gallery-page-card.gallery-mode-original .gallery-page-open img,
.gallery-page-card.gallery-mode-auto .gallery-page-open img{
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
}
.gallery-page-card::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0!important;
  height:26%!important;
  background:linear-gradient(0deg,rgba(25,19,15,.32),transparent)!important;
  pointer-events:none!important;
  opacity:.58!important;
}
.gallery-page-card figcaption{
  position:absolute!important;
  z-index:2!important;
  left:12px!important;
  right:auto!important;
  bottom:12px!important;
  max-width:calc(100% - 24px)!important;
  margin:0!important;
  padding:9px 11px!important;
  border:1px solid rgba(255,255,255,.3)!important;
  border-radius:13px!important;
  background:rgba(34,27,22,.46)!important;
  -webkit-backdrop-filter:blur(13px)!important;
  backdrop-filter:blur(13px)!important;
  color:#fff!important;
  font-size:9.5px!important;
  line-height:1.45!important;
}
.lang-ar .gallery-page-card figcaption{left:auto!important;right:12px!important;text-align:right!important}
.gallery-page-more-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:34px!important;
}
.gallery-page-more-wrap .gallery-load-more{
  width:auto!important;
  min-width:0!important;
  min-height:36px!important;
  padding:7px 10px 7px 12px!important;
  gap:7px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(37,37,37,.18)!important;
  box-shadow:0 5px 14px rgba(37,37,37,.04)!important;
}
.gallery-page-more-wrap small{font-size:9px!important;color:#8a8178!important}

@media(hover:hover){
  .gallery-page-card:hover .gallery-page-open img{transform:scale(1.018)!important;filter:saturate(1.025)!important}
}

@media(max-width:900px){
  .gallery-page-hero.gallery-showcase-hero{min-height:620px!important;height:72svh!important;max-height:720px!important}
  .gallery-showcase-copy,
  .lang-ar .gallery-showcase-copy{
    left:18px!important;
    right:18px!important;
    bottom:24px!important;
    width:auto!important;
    padding:24px 22px!important;
    border-radius:22px!important;
  }
  .gallery-showcase-copy h1{font-size:clamp(40px,8vw,62px)!important}
  .lang-ar .gallery-showcase-copy h1{font-size:clamp(24px,5vw,34px)!important}
  .gallery-page-section-head{grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}
  .gallery-page-grid{columns:2!important;column-gap:10px!important}
  .gallery-page-card,.gallery-page-card:nth-child(n){margin-bottom:10px!important;border-radius:18px!important}
}

@media(max-width:600px){
  .gallery-page-hero.gallery-showcase-hero{min-height:590px!important;height:72svh!important;max-height:690px!important}
  .gallery-showcase-image{object-position:center center!important}
  .gallery-showcase-copy,
  .lang-ar .gallery-showcase-copy{
    left:12px!important;
    right:12px!important;
    bottom:14px!important;
    padding:20px 18px!important;
    border-radius:20px!important;
    background:rgba(255,250,245,.80)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.06)!important;
    backdrop-filter:blur(18px) saturate(1.06)!important;
  }
  .gallery-showcase-copy .eyebrow{margin-bottom:8px!important}
  .gallery-showcase-copy h1{font-size:clamp(34px,9.7vw,45px)!important;line-height:1!important;margin-bottom:10px!important}
  .lang-ar .gallery-showcase-copy h1{font-size:clamp(22px,6vw,29px)!important;line-height:1.55!important}
  .gallery-showcase-copy>p:not(.eyebrow){font-size:10.5px!important;line-height:1.68!important}
  .lang-ar .gallery-showcase-copy>p:not(.eyebrow){font-size:9.5px!important;line-height:1.85!important}
  .gallery-showcase-link{margin-top:13px!important;font-size:9px!important}
  .gallery-page-section{padding:42px 8px 78px!important}
  .gallery-page-section-head{padding:0 6px!important;margin-bottom:18px!important}
  .gallery-page-section-head h2{font-size:clamp(31px,8.5vw,40px)!important}
  .lang-ar .gallery-page-section-head h2{font-size:clamp(21px,5.6vw,27px)!important}
  .gallery-page-grid{columns:2!important;column-gap:7px!important}
  .gallery-page-card,.gallery-page-card:nth-child(n){margin-bottom:7px!important;border-radius:14px!important}
  .gallery-page-card figcaption{left:7px!important;bottom:7px!important;max-width:calc(100% - 14px)!important;padding:6px 8px!important;border-radius:9px!important;font-size:8px!important}
  .lang-ar .gallery-page-card figcaption{left:auto!important;right:7px!important}
}

/* Final MEGA VIBES position: keep natural letters and use only edge spacing. */
.page-index .hero-megabytes,
.page-index.lang-ar .hero-megabytes,
.page-index .lang-ar .hero-megabytes{
  left:12px!important;
  right:12px!important;
  width:auto!important;
  max-width:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  text-align:left!important;
  direction:ltr!important;
}
@media(max-width:899px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:4px!important;
    right:4px!important;
    width:auto!important;
    transform:none!important;
    -webkit-transform:none!important;
    text-align:left!important;
    direction:ltr!important;
  }
}

/* ========================================================================== 
   V101 — CURATED GALLERY WALL + TRUE EDGE-TO-EDGE MEGA VIBES
   - Gallery becomes a spaced editorial wall, not a product grid or tight masonry.
   - Automatic cards follow a curated 10-image rhythm; explicit admin modes still win.
   - MEGA VIBES keeps natural letter proportions and fills the safe width by font-size.
   ========================================================================== */

/* Home hero wordmark: natural type, no horizontal transform/stretch. */
.page-index .hero-megabytes,
.page-index.lang-ar .hero-megabytes,
.page-index .lang-ar .hero-megabytes{
  left:12px!important;
  right:12px!important;
  width:auto!important;
  max-width:none!important;
  overflow:hidden!important;
  text-align:left!important;
  direction:ltr!important;
  transform:none!important;
  -webkit-transform:none!important;
}
.page-index .hero-megabytes .hero-signature-main,
.page-index .hero-megabytes .hero-signature-word:last-child{
  display:inline-block!important;
  width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  transform:none!important;
  -webkit-transform:none!important;
  font-stretch:normal!important;
  letter-spacing:-.052em!important;
  transform-origin:left bottom!important;
  -webkit-transform-origin:left bottom!important;
}
@media(max-width:899px){
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:4px!important;
    right:4px!important;
  }
}

/* Gallery surface gets more breathing room and a subtle editorial paper feel. */
.gallery-page-section{
  position:relative!important;
  overflow:hidden!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(72px,7vw,112px) max(28px,calc((100vw - 1540px)/2)) clamp(108px,10vw,160px)!important;
  background:
    radial-gradient(circle at 12% 8%,rgba(236,169,126,.11),transparent 26%),
    radial-gradient(circle at 88% 40%,rgba(207,145,145,.08),transparent 23%),
    linear-gradient(180deg,#fffaf5 0%,#fbf4ec 55%,#fff9f3 100%)!important;
}
.gallery-page-section-head{
  max-width:1540px!important;
  margin:0 auto clamp(42px,4.5vw,70px)!important;
  padding:0 4px!important;
  position:relative!important;
}
.gallery-page-section-head::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:calc(clamp(42px,4.5vw,70px) * -.48)!important;
  height:1px!important;
  background:linear-gradient(90deg,rgba(37,37,37,.22),rgba(37,37,37,.04) 68%,transparent)!important;
}
.lang-ar .gallery-page-section-head::after{
  background:linear-gradient(270deg,rgba(37,37,37,.22),rgba(37,37,37,.04) 68%,transparent)!important;
}

/* Editorial mosaic. Generous gutters are intentional so each image reads as a frame. */
.gallery-page-grid{
  counter-reset:galleryFrame!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:46px!important;
  grid-auto-flow:dense!important;
  column-gap:clamp(20px,1.75vw,30px)!important;
  row-gap:clamp(20px,1.75vw,30px)!important;
  columns:auto!important;
  max-width:1540px!important;
  margin:0 auto!important;
  align-items:stretch!important;
}
.gallery-page-card,
.gallery-page-card:nth-child(n){
  counter-increment:galleryFrame!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:5px!important;
  break-inside:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  aspect-ratio:auto!important;
  border:1px solid rgba(54,39,28,.09)!important;
  border-radius:28px!important;
  background:rgba(255,252,248,.94)!important;
  box-shadow:0 18px 50px rgba(59,42,29,.075)!important;
  overflow:hidden!important;
  position:relative!important;
}
.gallery-page-card::before{
  content:counter(galleryFrame, decimal-leading-zero)!important;
  position:absolute!important;
  top:14px!important;
  left:14px!important;
  z-index:4!important;
  min-width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  padding:0 8px!important;
  border:1px solid rgba(255,255,255,.5)!important;
  border-radius:999px!important;
  background:rgba(35,28,24,.34)!important;
  -webkit-backdrop-filter:blur(11px)!important;
  backdrop-filter:blur(11px)!important;
  color:#fff!important;
  font:650 9px/1 var(--font-en)!important;
  letter-spacing:.08em!important;
  pointer-events:none!important;
}
.lang-ar .gallery-page-card::before{left:auto!important;right:14px!important}
.gallery-page-open{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:23px!important;
}
.gallery-page-open img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Curated automatic rhythm: 10 images form one complete editorial composition. */
.gallery-page-card:nth-child(10n+1){grid-column:span 5!important;grid-row:span 11!important}
.gallery-page-card:nth-child(10n+2){grid-column:span 7!important;grid-row:span 7!important}
.gallery-page-card:nth-child(10n+3){grid-column:span 4!important;grid-row:span 7!important}
.gallery-page-card:nth-child(10n+4){grid-column:span 3!important;grid-row:span 7!important}
.gallery-page-card:nth-child(10n+5){grid-column:span 7!important;grid-row:span 8!important}
.gallery-page-card:nth-child(10n+6){grid-column:span 5!important;grid-row:span 8!important}
.gallery-page-card:nth-child(10n+7){grid-column:span 7!important;grid-row:span 7!important}
.gallery-page-card:nth-child(10n+8){grid-column:span 5!important;grid-row:span 10!important}
.gallery-page-card:nth-child(10n+9){grid-column:span 4!important;grid-row:span 7!important}
.gallery-page-card:nth-child(10n+10){grid-column:span 8!important;grid-row:span 7!important}

/* Explicit choices from admin remain meaningful and override the automatic rhythm. */
.gallery-page-card.gallery-mode-tall{grid-column:span 5!important;grid-row:span 11!important}
.gallery-page-card.gallery-mode-wide{grid-column:span 7!important;grid-row:span 7!important}
.gallery-page-card.gallery-mode-square{grid-column:span 5!important;grid-row:span 8!important}
.gallery-page-card.gallery-mode-cover{grid-column:span 6!important;grid-row:span 8!important}
.gallery-page-card.gallery-mode-original .gallery-page-open img{object-fit:contain!important;background:#eee8df!important}
.gallery-page-card.gallery-mode-original{grid-row:span 9!important}
.gallery-page-card.gallery-mode-auto .gallery-page-open img{object-fit:cover!important}
.gallery-page-card::after{
  left:5px!important;
  right:5px!important;
  bottom:5px!important;
  border-radius:0 0 23px 23px!important;
  height:30%!important;
}
.gallery-page-card figcaption{
  left:18px!important;
  bottom:18px!important;
  max-width:calc(100% - 36px)!important;
  padding:10px 13px!important;
  border-radius:13px!important;
}
.lang-ar .gallery-page-card figcaption{left:auto!important;right:18px!important}
@media(hover:hover){
  .gallery-page-card{transition:transform .28s ease,box-shadow .28s ease!important}
  .gallery-page-card:hover{transform:translateY(-5px)!important;box-shadow:0 26px 64px rgba(59,42,29,.13)!important}
  .gallery-page-card:hover .gallery-page-open img{transform:scale(1.018)!important}
}

/* Tablet keeps the same gallery feeling without turning into a product grid. */
@media(max-width:980px){
  .gallery-page-section{padding:62px 18px 105px!important}
  .gallery-page-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-rows:42px!important;
    column-gap:14px!important;
    row-gap:14px!important;
  }
  .gallery-page-card:nth-child(10n+1){grid-column:span 4!important;grid-row:span 10!important}
  .gallery-page-card:nth-child(10n+2){grid-column:span 2!important;grid-row:span 6!important}
  .gallery-page-card:nth-child(10n+3){grid-column:span 2!important;grid-row:span 4!important}
  .gallery-page-card:nth-child(10n+4){grid-column:span 3!important;grid-row:span 6!important}
  .gallery-page-card:nth-child(10n+5){grid-column:span 3!important;grid-row:span 6!important}
  .gallery-page-card:nth-child(10n+6){grid-column:span 6!important;grid-row:span 7!important}
  .gallery-page-card:nth-child(10n+7){grid-column:span 3!important;grid-row:span 6!important}
  .gallery-page-card:nth-child(10n+8){grid-column:span 3!important;grid-row:span 8!important}
  .gallery-page-card:nth-child(10n+9){grid-column:span 2!important;grid-row:span 5!important}
  .gallery-page-card:nth-child(10n+10){grid-column:span 4!important;grid-row:span 5!important}
  .gallery-page-card.gallery-mode-tall{grid-column:span 3!important;grid-row:span 9!important}
  .gallery-page-card.gallery-mode-wide{grid-column:span 6!important;grid-row:span 6!important}
  .gallery-page-card.gallery-mode-square{grid-column:span 3!important;grid-row:span 6!important}
  .gallery-page-card.gallery-mode-cover{grid-column:span 3!important;grid-row:span 7!important}
}

/* Phone: compact editorial collage, never a one-image-per-row feed. */
@media(max-width:600px){
  .gallery-page-section{padding:46px 10px 86px!important}
  .gallery-page-section-head{padding:0 4px!important;margin-bottom:26px!important}
  .gallery-page-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:34px!important;
    column-gap:10px!important;
    row-gap:10px!important;
  }
  .gallery-page-card,.gallery-page-card:nth-child(n){
    padding:3px!important;
    border-radius:17px!important;
  }
  .gallery-page-open{border-radius:14px!important}
  .gallery-page-card:nth-child(5n+1){grid-column:span 1!important;grid-row:span 8!important}
  .gallery-page-card:nth-child(5n+2){grid-column:span 1!important;grid-row:span 5!important}
  .gallery-page-card:nth-child(5n+3){grid-column:span 1!important;grid-row:span 5!important}
  .gallery-page-card:nth-child(5n+4){grid-column:span 2!important;grid-row:span 5!important}
  .gallery-page-card:nth-child(5n+5){grid-column:span 2!important;grid-row:span 6!important}
  .gallery-page-card.gallery-mode-tall{grid-column:span 1!important;grid-row:span 8!important}
  .gallery-page-card.gallery-mode-wide{grid-column:span 2!important;grid-row:span 5!important}
  .gallery-page-card.gallery-mode-square{grid-column:span 1!important;grid-row:span 5!important}
  .gallery-page-card.gallery-mode-cover{grid-column:span 1!important;grid-row:span 6!important}
  .gallery-page-card.gallery-mode-original{grid-row:span 7!important}
  .gallery-page-card::before{
    top:8px!important;left:8px!important;min-width:24px!important;height:24px!important;padding:0 6px!important;font-size:7px!important;
  }
  .lang-ar .gallery-page-card::before{left:auto!important;right:8px!important}
  .gallery-page-card::after{left:3px!important;right:3px!important;bottom:3px!important;border-radius:0 0 14px 14px!important}
  .gallery-page-card figcaption{left:9px!important;bottom:9px!important;max-width:calc(100% - 18px)!important;padding:6px 8px!important;font-size:8px!important}
  .lang-ar .gallery-page-card figcaption{left:auto!important;right:9px!important}
}

/* ========================================================================== 
   V102 — GALLERY PORTRAIT-AWARE EDITORIAL POLISH
   - Automatic mode now respects detected image orientation instead of forcing
     every image into a wide crop.
   - The wall keeps generous space and a curated staggered rhythm.
   - Explicit admin modes (Tall/Wide/Square/Cover/Original) still override it.
   ========================================================================== */
.gallery-collection-meta{
  max-width:1540px!important;
  margin:-22px auto 28px!important;
  padding:0 4px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  color:#8a8178!important;
  font:650 9px/1.2 var(--font-en)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.lang-ar .gallery-collection-meta{
  font-family:var(--font-ar)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  direction:rtl!important;
}

@media(min-width:981px){
  /* Automatic portrait images keep a portrait-led composition. */
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+1){grid-column:1/span 4!important;grid-row:1/span 12!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+2){grid-column:5/span 4!important;grid-row:3/span 12!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+3){grid-column:9/span 4!important;grid-row:1/span 12!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+4){grid-column:2/span 5!important;grid-row:14/span 12!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+5){grid-column:7/span 5!important;grid-row:14/span 12!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+6){grid-column:1/span 4!important;grid-row:27/span 11!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+7){grid-column:5/span 4!important;grid-row:29/span 11!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+8){grid-column:9/span 4!important;grid-row:27/span 11!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+9){grid-column:2/span 5!important;grid-row:40/span 11!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait:nth-child(10n+10){grid-column:7/span 5!important;grid-row:40/span 11!important}

  .gallery-page-card.gallery-mode-auto.gallery-orientation-landscape{grid-column:span 7!important;grid-row:span 7!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-square{grid-column:span 5!important;grid-row:span 8!important}

  /* Automatic images use their native orientation more gently. */
  .gallery-page-card.gallery-mode-auto.gallery-orientation-portrait .gallery-page-open img{object-position:center 46%!important}
  .gallery-page-card.gallery-mode-auto.gallery-orientation-landscape .gallery-page-open img{object-position:center!important}
}

/* A little more breathing room around each frame. */
.gallery-page-card{
  padding:7px!important;
  border-radius:30px!important;
}
.gallery-page-open{border-radius:23px!important}
.gallery-page-card::after{left:7px!important;right:7px!important;bottom:7px!important;border-radius:0 0 23px 23px!important}
.gallery-page-card figcaption{left:20px!important;bottom:20px!important}
.lang-ar .gallery-page-card figcaption{left:auto!important;right:20px!important}

@media(max-width:980px){
  .gallery-collection-meta{margin:-8px 2px 22px!important}
  .gallery-page-card{padding:5px!important;border-radius:22px!important}
  .gallery-page-open{border-radius:17px!important}
  .gallery-page-card::after{left:5px!important;right:5px!important;bottom:5px!important;border-radius:0 0 17px 17px!important}
}

@media(max-width:600px){
  .gallery-collection-meta{margin:0 4px 18px!important;font-size:8px!important}
  .gallery-page-grid{column-gap:9px!important;row-gap:9px!important}
  .gallery-page-card{padding:3px!important;border-radius:16px!important}
  .gallery-page-open{border-radius:13px!important}
  .gallery-page-card::after{left:3px!important;right:3px!important;bottom:3px!important;border-radius:0 0 13px 13px!important}
  .gallery-page-card figcaption{left:9px!important;bottom:9px!important}
  .lang-ar .gallery-page-card figcaption{left:auto!important;right:9px!important}
}

/* ========================================================================== 
   V115 — FULL GALLERY PORTRAIT RAIL
   Full Gallery page only: portrait editorial rail + arrows + swipe/drag.
   Home Gallery remains unchanged and keeps its mixed portrait/landscape layout.
   ========================================================================== */
.gallery-page-main .gallery-page-section{
  padding:clamp(68px,7vw,108px) max(24px,calc((100vw - 1540px)/2)) clamp(92px,9vw,142px)!important;
  background:#171310!important;
  color:#f8f2eb!important;
}
.gallery-page-main .gallery-page-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(215,160,128,.10),transparent 30%),
    radial-gradient(circle at 92% 44%,rgba(236,195,176,.055),transparent 28%)!important;
}
.gallery-page-main .gallery-page-section-head,
.gallery-page-main .gallery-collection-meta,
.gallery-page-main .gallery-rail-shell,
.gallery-page-main .gallery-page-more-wrap{
  position:relative!important;
  z-index:1!important;
}
.gallery-page-main .gallery-page-section-head h2{color:#fffaf5!important}
.gallery-page-main .gallery-page-section-head>p:last-child{color:rgba(255,248,241,.62)!important}
.gallery-page-main .gallery-page-section-head .eyebrow{color:#e5b3aa!important}
.gallery-page-main .gallery-page-section-head::after{background:rgba(255,255,255,.13)!important}
.gallery-page-main .gallery-collection-meta{
  color:rgba(255,248,241,.46)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  padding-bottom:15px!important;
  margin-bottom:18px!important;
}

.gallery-rail-shell{width:100%!important;max-width:1540px!important;margin:0 auto!important}
.gallery-rail-topline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 16px!important;
}
.gallery-rail-hint{
  color:rgba(255,248,241,.48)!important;
  font:650 9px/1.2 var(--font-en)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.lang-ar .gallery-rail-hint{
  font-family:var(--font-ar)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.gallery-rail-controls{display:flex!important;align-items:center!important;gap:9px!important;direction:ltr!important}
.gallery-rail-arrow{
  width:46px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  font:400 20px/1 Arial,sans-serif!important;
  cursor:pointer!important;
  transition:background .22s ease,border-color .22s ease,opacity .22s ease,transform .22s ease!important;
}
.gallery-rail-arrow:hover{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.5)!important;transform:translateY(-1px)!important}
.gallery-rail-arrow:disabled{opacity:.24!important;cursor:default!important;transform:none!important}

/* The full Gallery is one horizontal portrait-only exhibition rail. */
.gallery-page-main .gallery-page-grid{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-start!important;
  gap:clamp(12px,1.35vw,22px)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 2px 10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  columns:auto!important;
  column-gap:normal!important;
  grid-template-columns:none!important;
  grid-auto-rows:auto!important;
  counter-reset:galleryFrame!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding-inline:2px!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-inline:contain!important;
  touch-action:pan-x pan-y!important;
  cursor:grab!important;
  direction:ltr!important;
}
.gallery-page-main .gallery-page-grid::-webkit-scrollbar{display:none!important}
.gallery-page-main .gallery-page-grid.is-dragging{cursor:grabbing!important;scroll-snap-type:none!important;user-select:none!important}

.gallery-page-main .gallery-page-card,
.gallery-page-main .gallery-page-card:nth-child(n),
.gallery-page-main .gallery-page-card.gallery-mode-tall,
.gallery-page-main .gallery-page-card.gallery-mode-wide,
.gallery-page-main .gallery-page-card.gallery-mode-square,
.gallery-page-main .gallery-page-card.gallery-mode-cover,
.gallery-page-main .gallery-page-card.gallery-mode-original,
.gallery-page-main .gallery-page-card.gallery-mode-auto{
  flex:0 0 clamp(250px,22.5vw,348px)!important;
  width:clamp(250px,22.5vw,348px)!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  aspect-ratio:auto!important;
  break-inside:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  scroll-snap-align:start!important;
  counter-increment:galleryFrame!important;
}
.gallery-page-main .gallery-page-open,
.gallery-page-main .gallery-page-card:nth-child(n) .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-tall .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-wide .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-square .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-cover .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-original .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-auto .gallery-page-open{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:2px!important;
  background:#2a231e!important;
  overflow:hidden!important;
  cursor:zoom-in!important;
}
.gallery-page-main .gallery-page-open img,
.gallery-page-main .gallery-page-card:nth-child(n) .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-tall .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-wide .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-square .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-cover .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-original .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-auto .gallery-page-open img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#2a231e!important;
  transform:none!important;
  filter:none!important;
  transition:transform .5s cubic-bezier(.2,.65,.2,1),filter .35s ease!important;
}
.gallery-page-main .gallery-page-card::after{display:none!important}
.gallery-page-main .gallery-page-card::before{
  top:11px!important;
  left:11px!important;
  right:auto!important;
  min-width:28px!important;
  height:28px!important;
  padding:0 7px!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:999px!important;
  background:rgba(20,16,13,.30)!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
  font-size:8px!important;
}
.lang-ar .gallery-page-main .gallery-page-card::before{left:11px!important;right:auto!important}
.gallery-page-main .gallery-page-card figcaption,
.lang-ar .gallery-page-main .gallery-page-card figcaption{
  position:static!important;
  display:block!important;
  max-width:none!important;
  margin:11px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  color:rgba(255,248,241,.74)!important;
  font-size:9px!important;
  line-height:1.55!important;
  text-align:left!important;
}
.lang-ar .gallery-page-main .gallery-page-card figcaption{text-align:right!important;direction:rtl!important;font-family:var(--font-ar)!important}
@media(hover:hover){
  .gallery-page-main .gallery-page-card:hover{transform:none!important;box-shadow:none!important}
  .gallery-page-main .gallery-page-card:hover .gallery-page-open img{transform:scale(1.025)!important;filter:saturate(1.02) contrast(1.015)!important}
}

.gallery-page-main .gallery-page-more-wrap{margin-top:28px!important}
.gallery-page-main .gallery-page-more-wrap .gallery-load-more{
  background:transparent!important;
  border-color:rgba(255,255,255,.25)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.gallery-page-main .gallery-page-more-wrap small{color:rgba(255,248,241,.48)!important}

/* Keep the modal clean and large; rail navigation remains available beneath it. */
.gallery-page-main + .gallery-page-lightbox .home-gallery-lightbox-panel{max-width:min(94vw,1180px)!important}
.gallery-page-main + .gallery-page-lightbox .home-gallery-lightbox-stage img{max-height:84vh!important;object-fit:contain!important}

@media(max-width:980px){
  .gallery-page-main .gallery-page-section{padding:56px 18px 96px!important}
  .gallery-page-main .gallery-page-card,
  .gallery-page-main .gallery-page-card:nth-child(n),
  .gallery-page-main .gallery-page-card.gallery-mode-tall,
  .gallery-page-main .gallery-page-card.gallery-mode-wide,
  .gallery-page-main .gallery-page-card.gallery-mode-square,
  .gallery-page-main .gallery-page-card.gallery-mode-cover,
  .gallery-page-main .gallery-page-card.gallery-mode-original,
  .gallery-page-main .gallery-page-card.gallery-mode-auto{
    flex-basis:clamp(238px,35vw,320px)!important;
    width:clamp(238px,35vw,320px)!important;
  }
}

@media(max-width:600px){
  .gallery-page-main .gallery-page-section{padding:44px 0 78px!important}
  .gallery-page-main .gallery-page-section-head,
  .gallery-page-main .gallery-collection-meta,
  .gallery-page-main .gallery-rail-topline,
  .gallery-page-main .gallery-page-more-wrap{margin-left:14px!important;margin-right:14px!important}
  .gallery-page-main .gallery-page-section-head{padding:0!important}
  .gallery-page-main .gallery-collection-meta{padding-left:0!important;padding-right:0!important}
  .gallery-page-main .gallery-page-grid{
    gap:10px!important;
    padding:0 14px 10px!important;
    scroll-padding-inline:14px!important;
  }
  .gallery-page-main .gallery-page-card,
  .gallery-page-main .gallery-page-card:nth-child(n),
  .gallery-page-main .gallery-page-card.gallery-mode-tall,
  .gallery-page-main .gallery-page-card.gallery-mode-wide,
  .gallery-page-main .gallery-page-card.gallery-mode-square,
  .gallery-page-main .gallery-page-card.gallery-mode-cover,
  .gallery-page-main .gallery-page-card.gallery-mode-original,
  .gallery-page-main .gallery-page-card.gallery-mode-auto{
    flex:0 0 74vw!important;
    width:74vw!important;
    max-width:320px!important;
  }
  .gallery-rail-topline{margin-bottom:12px!important}
  .gallery-rail-hint{font-size:7.5px!important;letter-spacing:.12em!important}
  .gallery-rail-arrow{width:38px!important;height:38px!important;font-size:17px!important}
  .gallery-page-main .gallery-page-card::before{top:9px!important;left:9px!important;min-width:25px!important;height:25px!important;font-size:7px!important}
  .lang-ar .gallery-page-main .gallery-page-card::before{left:9px!important;right:auto!important}
  .gallery-page-main .gallery-page-card figcaption,
  .lang-ar .gallery-page-main .gallery-page-card figcaption{font-size:8.5px!important;margin-top:9px!important}
}
.gallery-page-main .gallery-page-empty{color:#fffaf5!important}
.gallery-page-main .gallery-page-empty h2{color:#fffaf5!important}
.gallery-page-main .gallery-page-more-wrap .gallery-load-more span,
.gallery-page-main .gallery-page-more-wrap .gallery-load-more i{color:#fff!important}

/* ========================================================================== 
   V116 — GALLERY LIGHT THEME RESTORE
   Keep V115 portrait horizontal navigation, but restore Mini's Corner's
   existing light/warm visual language. The reference is interaction only.
   ========================================================================== */
.gallery-page-main .gallery-page-section{
  background:
    radial-gradient(circle at 12% 8%,rgba(236,169,126,.11),transparent 26%),
    radial-gradient(circle at 88% 40%,rgba(207,145,145,.08),transparent 23%),
    linear-gradient(180deg,#fffaf5 0%,#fbf4ec 55%,#fff9f3 100%)!important;
  color:var(--ink,#252525)!important;
}
.gallery-page-main .gallery-page-section::before{
  content:none!important;
  display:none!important;
  background:none!important;
}
.gallery-page-main .gallery-page-section-head h2{color:var(--ink,#252525)!important}
.gallery-page-main .gallery-page-section-head>p:last-child{color:#746d65!important}
.gallery-page-main .gallery-page-section-head .eyebrow{color:#81786f!important}
.gallery-page-main .gallery-page-section-head::after{
  background:linear-gradient(90deg,rgba(37,37,37,.22),rgba(37,37,37,.04) 68%,transparent)!important;
}
.lang-ar .gallery-page-main .gallery-page-section-head::after{
  background:linear-gradient(270deg,rgba(37,37,37,.22),rgba(37,37,37,.04) 68%,transparent)!important;
}
.gallery-page-main .gallery-collection-meta{
  color:#8a8178!important;
  border-bottom:1px solid rgba(37,37,37,.12)!important;
}
.gallery-rail-hint{color:#8a8178!important}
.gallery-rail-arrow{
  border:1px solid rgba(37,37,37,.18)!important;
  background:rgba(255,255,255,.88)!important;
  color:var(--ink,#252525)!important;
  box-shadow:0 5px 14px rgba(37,37,37,.04)!important;
}
.gallery-rail-arrow:hover{
  background:#fff!important;
  border-color:rgba(37,37,37,.36)!important;
}
.gallery-rail-arrow:disabled{opacity:.28!important}
.gallery-page-main .gallery-page-open,
.gallery-page-main .gallery-page-card:nth-child(n) .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-tall .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-wide .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-square .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-cover .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-original .gallery-page-open,
.gallery-page-main .gallery-page-card.gallery-mode-auto .gallery-page-open{
  background:#eee8df!important;
}
.gallery-page-main .gallery-page-open img,
.gallery-page-main .gallery-page-card:nth-child(n) .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-tall .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-wide .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-square .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-cover .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-original .gallery-page-open img,
.gallery-page-main .gallery-page-card.gallery-mode-auto .gallery-page-open img{
  background:#eee8df!important;
}
.gallery-page-main .gallery-page-card figcaption,
.lang-ar .gallery-page-main .gallery-page-card figcaption{
  color:#6f675f!important;
}
.gallery-page-main .gallery-page-more-wrap .gallery-load-more{
  background:#fff!important;
  border-color:rgba(37,37,37,.18)!important;
  color:var(--ink,#252525)!important;
  box-shadow:0 5px 14px rgba(37,37,37,.04)!important;
}
.gallery-page-main .gallery-page-more-wrap small{color:#8a8178!important}
.gallery-page-main .gallery-page-more-wrap .gallery-load-more span,
.gallery-page-main .gallery-page-more-wrap .gallery-load-more i{color:var(--ink,#252525)!important}
.gallery-page-main .gallery-page-empty,
.gallery-page-main .gallery-page-empty h2{color:var(--ink,#252525)!important}
\n\n/* ==========================================================================\n   V117 — FULL GALLERY EDGE NAVIGATION + ADMIN GALLERY PAGE POLISH\n   Reference interaction only: keep Mini's light/warm palette.\n   ========================================================================== */\n.gallery-page-main .gallery-rail-shell{\n  position:relative!important;\n}\n.gallery-page-main .gallery-rail-topline{\n  justify-content:center!important;\n  min-height:46px!important;\n}\n.gallery-page-main .gallery-rail-hint{\n  text-align:center!important;\n}\n.gallery-page-main .gallery-rail-controls{\n  position:absolute!important;\n  left:-24px!important;\n  right:-24px!important;\n  top:50%!important;\n  transform:translateY(-50%)!important;\n  z-index:8!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:space-between!important;\n  gap:0!important;\n  pointer-events:none!important;\n}\n.gallery-page-main .gallery-rail-controls .gallery-rail-arrow{\n  pointer-events:auto!important;\n  width:48px!important;\n  height:48px!important;\n  background:rgba(255,255,255,.94)!important;\n  border:1px solid rgba(37,37,37,.18)!important;\n  box-shadow:0 8px 24px rgba(37,37,37,.09)!important;\n}\n.gallery-page-main .gallery-rail-controls .gallery-rail-arrow:hover{\n  background:#fff!important;\n  border-color:rgba(37,37,37,.34)!important;\n}\n.gallery-page-main .gallery-rail-controls .gallery-rail-arrow:disabled{\n  opacity:.34!important;\n}\n@media(max-width:980px){\n  .gallery-page-main .gallery-rail-controls{left:4px!important;right:4px!important;}\n}\n@media(max-width:600px){\n  .gallery-page-main .gallery-rail-topline{min-height:40px!important;}\n  .gallery-page-main .gallery-rail-controls{left:8px!important;right:8px!important;top:52%!important;}\n  .gallery-page-main .gallery-rail-controls .gallery-rail-arrow{width:40px!important;height:40px!important;font-size:18px!important;}\n}\n\n.admin-gallery-page-actions{\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px;\n  margin:14px 0 18px;\n}\n.admin-gallery-page-actions .admin-btn{\n  text-decoration:none;\n}\n
/* ========================================================================== 
   V118 — FULL GALLERY TRUE EDGE ARROWS
   Keep Mini's palette. Move navigation from the topline to the vertical
   center of the portrait image rail: one button at each outer edge.
   ========================================================================== */
.gallery-page-main .gallery-rail-topline{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:46px!important;
}
.gallery-page-main .gallery-rail-hint{
  text-align:left!important;
}
.lang-ar .gallery-page-main .gallery-rail-hint{
  text-align:right!important;
}
.gallery-page-main .gallery-rail-stage{
  position:relative!important;
  width:100%!important;
}
.gallery-page-main .gallery-rail-controls{
  display:none!important;
}
.gallery-page-main .gallery-edge-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:12!important;
  width:52px!important;
  height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(37,37,37,.18)!important;
  color:var(--ink,#252525)!important;
  box-shadow:0 8px 24px rgba(37,37,37,.10)!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .2s ease,border-color .2s ease,opacity .2s ease,box-shadow .2s ease!important;
}
.gallery-page-main .gallery-edge-arrow.is-prev{
  left:12px!important;
  right:auto!important;
}
.gallery-page-main .gallery-edge-arrow.is-next{
  right:12px!important;
  left:auto!important;
}
.gallery-page-main .gallery-edge-arrow:hover{
  transform:translateY(-50%)!important;
  background:#fff!important;
  border-color:rgba(37,37,37,.36)!important;
  box-shadow:0 10px 28px rgba(37,37,37,.14)!important;
}
.gallery-page-main .gallery-edge-arrow:disabled{
  opacity:.30!important;
  cursor:default!important;
  box-shadow:0 5px 14px rgba(37,37,37,.05)!important;
}
.gallery-page-main .gallery-page-grid{
  position:relative!important;
}
@media(max-width:980px){
  .gallery-page-main .gallery-edge-arrow{width:46px!important;height:46px!important;font-size:20px!important;}
  .gallery-page-main .gallery-edge-arrow.is-prev{left:10px!important;}
  .gallery-page-main .gallery-edge-arrow.is-next{right:10px!important;}
}
@media(max-width:600px){
  .gallery-page-main .gallery-rail-topline{min-height:40px!important;}
  .gallery-page-main .gallery-edge-arrow{width:40px!important;height:40px!important;font-size:18px!important;}
  .gallery-page-main .gallery-edge-arrow.is-prev{left:8px!important;}
  .gallery-page-main .gallery-edge-arrow.is-next{right:8px!important;}
}

/* ========================================================================== */
/* V119 — Reviews final rail: photo reviews + separate voice reviews          */
/* ========================================================================== */
.home-reviews{overflow:hidden}
.review-edge-shell{position:relative;max-width:var(--content);margin-left:auto;margin-right:auto;padding:0 54px}
.review-carousel-viewport,.voice-reviews-viewport{min-width:0;overflow:hidden}
.review-carousel-track,.voice-reviews-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;padding:2px 0 8px;direction:ltr}
.review-carousel-track::-webkit-scrollbar,.voice-reviews-track::-webkit-scrollbar{display:none}

.review-edge-arrow{position:absolute;z-index:6;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(37,37,37,.18);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(37,37,37,.08);color:var(--ink);font:500 18px/1 Poppins,Arial,sans-serif;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}
.review-edge-prev{left:0}.review-edge-next{right:0}
.review-edge-arrow:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-50%) scale(1.04)}
.review-edge-arrow:disabled{opacity:.28;cursor:default;box-shadow:none}

/* Five photo reviews per desktop page. */
.review-story-card{flex:0 0 calc((100% - 56px)/5);min-width:0;display:flex;flex-direction:column;min-height:0;border:1px solid rgba(37,37,37,.09);border-radius:18px;overflow:hidden;background:#fff;scroll-snap-align:start;scroll-snap-stop:always}
.review-story-card.review-no-image{display:flex;min-height:360px;background:#fff}
.review-story-image{width:100%;min-height:0;aspect-ratio:4/5;background:#eee7df;overflow:hidden}
.review-story-image img{display:block;width:100%;height:100%;object-fit:cover!important;object-position:center}
.review-story-copy{flex:1;padding:18px 16px 17px;display:flex;flex-direction:column;justify-content:flex-start;gap:14px;min-height:0}
.review-story-copy>span{font-size:9px;color:var(--muted);letter-spacing:.08em}
.review-story-copy blockquote{margin:0;font-size:13px;line-height:1.65;letter-spacing:-.015em;font-weight:500;overflow-wrap:anywhere}
.review-story-copy>div{margin-top:auto;padding-top:4px}
.review-story-copy b{display:block;font-size:10px;line-height:1.45}
.review-story-copy small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}
.lang-ar .review-story-copy{direction:rtl;text-align:right}
.lang-ar .review-story-copy blockquote{font-size:13px;line-height:1.9;letter-spacing:0}
.lang-ar .review-story-copy b{font-size:11px}.lang-ar .review-story-copy small{font-size:10px}

/* Voice reviews are intentionally a separate section under photo reviews. */
.voice-reviews-block{max-width:var(--content);margin:54px auto 0;padding-top:38px;border-top:1px solid rgba(37,37,37,.12)}
.voice-reviews-title{display:block;margin:0 0 20px}
.voice-reviews-title h3{margin:6px 0 0;font-size:clamp(24px,2.7vw,38px);line-height:1.08;letter-spacing:-.035em;font-weight:500}
.voice-reviews-intro{margin:9px 0 0;max-width:560px;color:var(--muted);font-size:10px;line-height:1.8}
.lang-ar .voice-reviews-title{direction:rtl;text-align:right}.lang-ar .voice-reviews-title h3{font-size:clamp(20px,2.3vw,30px);line-height:1.55;letter-spacing:0}.lang-ar .voice-reviews-intro{font-size:11px;line-height:1.95;margin-left:auto}
.voice-reviews-shell{max-width:none;margin:0;padding-left:54px;padding-right:54px}
.voice-review-card{flex:0 0 calc((100% - 56px)/5);min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;gap:16px;padding:16px;border:1px solid rgba(37,37,37,.1);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(37,37,37,.035)}
.voice-review-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.voice-review-index{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:999px;background:var(--ink);color:#fff;font-size:8px;font-weight:600}
.voice-review-card b{display:block;font-size:10px;line-height:1.35;overflow-wrap:anywhere}.voice-review-card p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.lang-ar .voice-review-card{direction:rtl;text-align:right}.lang-ar .voice-review-card b{font-size:11px}.lang-ar .voice-review-card p{font-size:10px}

.voice-review-player{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;margin-top:auto;direction:ltr}
.voice-review-player audio{display:none}
.voice-play-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(37,37,37,.13);border-radius:999px;background:#f7f1eb;color:var(--ink);font:500 12px/1 Arial,sans-serif;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.voice-review-player.is-playing .voice-play-button,.voice-play-button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.voice-player-body{min-width:0}
.voice-seek{display:block;width:100%;height:3px;margin:0;accent-color:var(--ink);cursor:pointer}
.voice-time{display:flex;justify-content:space-between;gap:8px;margin-top:6px;color:var(--muted);font-size:8px;font-variant-numeric:tabular-nums}
.voice-review-player.has-audio-error .voice-play-button{opacity:.45;pointer-events:none}

@media(max-width:1040px){
  .review-story-card,.voice-review-card{flex-basis:calc((100% - 28px)/3)}
}
@media(max-width:760px){
  .review-edge-shell,.voice-reviews-shell{padding-left:46px;padding-right:46px}
  .review-edge-arrow{width:38px;height:38px;font-size:16px}
  .review-story-card,.voice-review-card{flex-basis:calc((100% - 14px)/2)}
  .review-story-copy{padding:16px 14px}
  .voice-reviews-block{margin-top:44px;padding-top:30px}
}
@media(max-width:520px){
  .review-edge-shell,.voice-reviews-shell{padding-left:40px;padding-right:40px}
  .review-edge-arrow{width:34px;height:34px;font-size:15px}
  .review-story-card,.voice-review-card{flex-basis:100%}
  .review-story-card{border-radius:16px}
  .review-story-image{aspect-ratio:4/5}
  .review-story-copy{padding:18px 16px;gap:12px}
  .review-story-copy blockquote,.lang-ar .review-story-copy blockquote{font-size:15px}
  .voice-reviews-title{margin-bottom:16px}
  .voice-reviews-intro{font-size:10px}
  .voice-review-card{padding:15px}
}

/* ========================================================================== */
/* V120 — Reviews spacing/alignment refinement                                 */
/* Five comfortable cards on desktop + wider review rails.                    */
/* ========================================================================== */
.home-reviews{
  --reviews-max:1480px;
  padding-inline:max(18px,2.4vw);
}
.home-reviews .home-reviews-head{
  max-width:min(1380px,100%);
  margin-bottom:30px;
}
.home-reviews .review-edge-shell{
  max-width:min(var(--reviews-max),100%);
  padding-left:48px;
  padding-right:48px;
}
.home-reviews .review-carousel-track,
.home-reviews .voice-reviews-track{
  gap:16px;
  padding-bottom:10px;
}
.home-reviews .review-story-card,
.home-reviews .voice-review-card{
  flex-basis:calc((100% - 64px)/5);
}
.home-reviews .review-story-card{
  border-radius:20px;
  box-shadow:0 8px 24px rgba(37,37,37,.025);
}
.home-reviews .review-story-image{
  aspect-ratio:4/5;
}
.home-reviews .review-story-copy{
  padding:19px 17px 18px;
  gap:13px;
}
.home-reviews .review-story-copy blockquote{
  font-size:13.5px;
  line-height:1.72;
}
.lang-ar .home-reviews .review-story-copy blockquote{
  font-size:13.5px;
  line-height:1.95;
}
.home-reviews .voice-reviews-block{
  max-width:min(var(--reviews-max),100%);
  margin-top:58px;
  padding-top:40px;
}
.home-reviews .voice-reviews-shell{
  max-width:none;
}
.home-reviews .voice-review-card{
  min-height:152px;
  padding:17px;
}
.home-reviews .voice-review-player{
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
}
.home-reviews .voice-play-button{
  width:38px;
  height:38px;
}
.home-reviews .review-edge-arrow{
  width:40px;
  height:40px;
}
@media(max-width:1180px){
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card{flex-basis:calc((100% - 32px)/3)}
}
@media(max-width:760px){
  .home-reviews{padding-inline:18px}
  .home-reviews .review-edge-shell{padding-left:44px;padding-right:44px}
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card{flex-basis:calc((100% - 16px)/2)}
}
@media(max-width:520px){
  .home-reviews .review-edge-shell{padding-left:38px;padding-right:38px}
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card{flex-basis:100%}
}

/* ========================================================================== */
/* V122 — Review stories inspired by real customer journeys + polished voice  */
/* ========================================================================== */
.home-reviews .review-story-card{
  position:relative;
  border-color:rgba(37,37,37,.085);
  background:#fffdfb;
  box-shadow:0 10px 28px rgba(37,37,37,.035);
  transition:transform .22s var(--ease),box-shadow .22s ease,border-color .22s ease;
}
@media(hover:hover){
  .home-reviews .review-story-card:hover{transform:translateY(-4px);border-color:rgba(235,176,132,.48);box-shadow:0 18px 38px rgba(37,37,37,.075)}
}
.home-reviews .review-story-image{position:relative;background:#e9e0d8}
.home-reviews .review-story-image::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(to top,rgba(20,18,17,.38),transparent);pointer-events:none}
.review-story-badges{position:absolute;z-index:2;inset:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}
.review-real-badge,.review-event-badge{display:inline-flex;align-items:center;max-width:100%;min-height:25px;padding:5px 8px;border-radius:999px;font-size:7.5px;line-height:1.2;font-weight:700;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-real-badge{background:rgba(255,250,245,.92);color:var(--ink);border:1px solid rgba(255,255,255,.62);box-shadow:0 5px 16px rgba(0,0,0,.08)}
.review-event-badge{margin-top:auto;background:rgba(37,37,37,.84);color:#fff;border:1px solid rgba(255,255,255,.16);letter-spacing:0}
.lang-ar .review-real-badge,.lang-ar .review-event-badge{font-family:var(--font-ar);font-size:8.5px;letter-spacing:0;font-weight:650}
.home-reviews .review-story-copy{background:#fffdfb}
.review-story-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:18px}
.review-story-number{color:#9b9289;font-size:8px;font-weight:650;letter-spacing:.11em}
.review-rating{display:inline-flex;align-items:center;gap:1px;direction:ltr;line-height:1}
.review-rating i{font-style:normal;font-size:10px;color:#ded6cf}.review-rating i.is-on{color:#ca8a4d}
.home-reviews .review-story-copy blockquote{position:relative;padding-top:3px}
.home-reviews .review-story-copy blockquote::before{content:'“';position:absolute;top:-10px;inset-inline-start:-2px;color:rgba(235,176,132,.34);font-family:Georgia,serif;font-size:30px;line-height:1;pointer-events:none}
.lang-ar .home-reviews .review-story-copy blockquote::before{content:'”';font-family:Georgia,serif}
.review-story-person{margin-top:auto!important;padding-top:4px!important}
.review-story-person b{font-weight:650}.review-story-person small{color:#837a72!important}
.review-story-journey{display:grid;grid-template-columns:auto minmax(26px,1fr) auto;align-items:center;gap:7px;margin-top:2px;padding-top:11px;border-top:1px solid rgba(37,37,37,.075);color:#9b9289}
.review-story-journey>span{font-size:6.5px;line-height:1.2;font-weight:700;letter-spacing:.055em;white-space:nowrap}
.review-story-journey>i{position:relative;display:block;height:1px;background:rgba(37,37,37,.18)}
.review-story-journey>i::before,.review-story-journey>i::after{content:"";position:absolute;top:50%;width:4px;height:4px;border-radius:50%;background:var(--peach);transform:translateY(-50%)}
.review-story-journey>i::before{left:0}.review-story-journey>i::after{right:0}
.review-story-journey>i>em{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;border:1px solid var(--peach);transform:translate(-50%,-50%)}
.lang-ar .review-story-journey>span{font-family:var(--font-ar);font-size:7.5px;letter-spacing:0;font-weight:650}

/* Voice notes: compact WhatsApp-like rhythm, but kept inside Mini's visual system. */
.home-reviews .voice-review-card{
  position:relative;
  min-height:190px;
  gap:13px;
  padding:15px;
  overflow:hidden;
  border-color:rgba(37,37,37,.085);
  background:#fffdfb;
  box-shadow:0 10px 28px rgba(37,37,37,.035);
  transition:transform .22s var(--ease),box-shadow .22s ease,border-color .22s ease;
}
.home-reviews .voice-review-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--peach),#e6c6af 58%,transparent)}
@media(hover:hover){.home-reviews .voice-review-card:hover{transform:translateY(-3px);border-color:rgba(235,176,132,.45);box-shadow:0 16px 34px rgba(37,37,37,.07)}}
.voice-review-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0}
.voice-review-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f2dfcf;color:#765845;border:1px solid rgba(118,88,69,.08)}
.voice-review-avatar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.voice-review-meta{display:block;min-width:0}.voice-review-meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35}.voice-review-meta p{display:-webkit-box;margin:3px 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);font-size:8.5px;line-height:1.35}
.voice-review-tag{align-self:start;display:inline-flex;align-items:center;min-height:22px;padding:4px 6px;border:1px solid rgba(37,37,37,.09);border-radius:999px;background:#f8f2ec;color:#8d8177;font-size:6.5px;font-weight:750;line-height:1;letter-spacing:.08em;white-space:nowrap}
.lang-ar .voice-review-tag{font-family:var(--font-ar);font-size:7.5px;letter-spacing:0}
.lang-ar .voice-review-head{direction:rtl}.lang-ar .voice-review-meta{text-align:right}.lang-ar .voice-review-meta b{font-size:11px}.lang-ar .voice-review-meta p{font-size:9.5px;line-height:1.55}
.home-reviews .voice-review-player{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;margin-top:1px;padding:9px 10px;border:1px solid rgba(37,37,37,.065);border-radius:15px;background:#f8f2ec;direction:ltr}
.home-reviews .voice-play-button{width:40px;height:40px;border:0;background:#fff;color:var(--ink);box-shadow:0 5px 14px rgba(37,37,37,.07);font-size:11px}
.home-reviews .voice-review-player.is-playing .voice-play-button,.home-reviews .voice-play-button:hover{background:var(--ink);color:#fff}
.voice-player-body{min-width:0}
.voice-wave-wrap{position:relative;height:32px;border-radius:8px;overflow:hidden}
.voice-waveform{position:absolute;inset:0;display:flex;align-items:center;gap:2px;padding:3px 1px;pointer-events:none}
.voice-waveform i{display:block;flex:1 1 0;min-width:1px;max-width:3px;height:var(--wave-h,50%);border-radius:999px;background:#c9beb5;transition:background .1s linear,opacity .1s linear}
.voice-waveform i.is-played{background:#6f6259}
.voice-review-player.is-playing .voice-waveform i.is-played{background:var(--ink)}
.voice-seek{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;opacity:0;cursor:pointer;z-index:2}
.voice-wave-wrap:focus-within{outline:2px solid rgba(37,37,37,.38);outline-offset:2px}
.home-reviews .voice-time{margin-top:2px;color:#91867c;font-size:7px;line-height:1;font-weight:600}
.voice-review-foot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;margin-top:auto;color:#9c9187}
.voice-review-foot span{font-size:6px;font-weight:700;letter-spacing:.055em;white-space:nowrap}.voice-review-foot i{height:1px;background:rgba(37,37,37,.1)}
.lang-ar .voice-review-foot{direction:rtl}.lang-ar .voice-review-foot span{font-family:var(--font-ar);font-size:7px;letter-spacing:0;font-weight:650}

@media(max-width:1180px){
  .voice-review-head{grid-template-columns:40px minmax(0,1fr) auto}
  .voice-review-meta p{font-size:9px}
}
@media(max-width:760px){
  .review-real-badge,.review-event-badge{font-size:8px}
  .review-story-journey>span{font-size:7px}
  .home-reviews .voice-review-card{min-height:180px}
}
@media(max-width:520px){
  .home-reviews .review-story-copy{padding:18px 17px}
  .review-story-journey>span{font-size:7.5px}
  .home-reviews .voice-review-card{padding:16px;min-height:178px}
  .voice-review-head{grid-template-columns:40px minmax(0,1fr) auto}
  .voice-review-avatar{width:40px;height:40px}
  .voice-review-meta b{font-size:11px}.voice-review-meta p{font-size:9px}
  .home-reviews .voice-review-player{grid-template-columns:42px minmax(0,1fr);padding:10px}
  .home-reviews .voice-play-button{width:42px;height:42px}
  .voice-wave-wrap{height:34px}
}

/* ========================================================================== */
/* V123 — Stable mobile flow + customer-story reviews + lighter voice loading */
/* ========================================================================== */

/* Mobile flow is now intentionally static. This removes the observer-driven
   expanding dark card that could end up looking broken while assets/fonts were
   still settling on a weak connection. */
@media(max-width:767px){
  .page-index .flow-steps{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    border-top:1px solid var(--ink)!important;
    border-bottom:1px solid var(--ink)!important;
  }
  .page-index .flow-step,
  .page-index .flow-step.is-active{
    min-height:0!important;
    height:auto!important;
    padding:20px 2px!important;
    opacity:1!important;
    color:var(--ink)!important;
    transform:none!important;
    border-inline-end:0!important;
    border-bottom:1px solid rgba(37,37,37,.18)!important;
    cursor:default!important;
  }
  .page-index .flow-step:last-child{border-bottom:0!important}
  .page-index .flow-step::before,
  .page-index .flow-step.is-active::before{display:none!important;opacity:0!important;transform:none!important}
  .page-index .flow-step>span,
  .page-index .flow-step.is-active>span{margin:0 0 7px!important;color:var(--muted)!important}
  .page-index .flow-step h3,
  .page-index .flow-step.is-active h3{
    margin:0!important;
    color:var(--ink)!important;
    font-size:clamp(20px,5.7vw,24px)!important;
    line-height:1.2!important;
    transform:none!important;
  }
  .page-index .flow-step p,
  .page-index .flow-step.is-active p{
    max-height:none!important;
    margin:8px 0 0!important;
    opacity:1!important;
    color:var(--muted)!important;
    transform:none!important;
    overflow:visible!important;
    font-size:12px!important;
    line-height:1.7!important;
  }
  .page-index.lang-ar .flow-step h3,
  .page-index.lang-ar .flow-step.is-active h3{
    font-size:clamp(16px,4.8vw,20px)!important;
    line-height:1.6!important;
  }
  .page-index.lang-ar .flow-step p,
  .page-index.lang-ar .flow-step.is-active p{
    font-size:10.5px!important;
    line-height:1.9!important;
  }
}

/* Photo reviews: same Mini's visual language, but with a clearer customer-story
   structure inspired by the supplied journey/testimonial reference. */
.home-reviews .review-story-card{
  border-radius:22px;
  background:#fffaf6;
  border-color:rgba(70,55,45,.10);
  box-shadow:0 12px 30px rgba(55,40,30,.045);
}
.home-reviews .review-story-image{
  aspect-ratio:4/5;
  background:#e9dfd6;
}
.home-reviews .review-story-image::after{
  height:44%;
  background:linear-gradient(to top,rgba(24,19,16,.48),rgba(24,19,16,.08) 58%,transparent);
}
.review-story-badges{inset:12px;gap:8px}
.review-real-badge{
  min-height:27px;
  padding:6px 9px;
  background:rgba(255,250,246,.94);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 6px 18px rgba(20,16,13,.10);
  color:#4d4037;
}
.review-event-badge{
  min-height:26px;
  padding:6px 9px;
  background:rgba(37,31,27,.84);
  border-color:rgba(255,255,255,.14);
}
.home-reviews .review-story-copy{
  padding:18px 17px 17px;
  background:#fffaf6;
}
.home-reviews .review-story-copy blockquote{
  font-size:13.5px;
  line-height:1.78;
  font-weight:540;
}
.lang-ar .home-reviews .review-story-copy blockquote{font-size:13.5px;line-height:2}
.review-story-topline{min-height:20px}
.review-story-number{font-size:8px;color:#9b8e84}
.review-rating i{font-size:10px}.review-rating i.is-on{color:#c88a52}
.review-story-person{padding-top:2px!important}
.review-story-person b{font-size:10.5px;font-weight:650}
.review-story-person small{font-size:9px!important;color:#8f8278!important}
.lang-ar .review-story-person b{font-size:11.5px}.lang-ar .review-story-person small{font-size:10px!important}
.review-story-journey{
  grid-template-columns:minmax(0,auto) minmax(24px,1fr) minmax(0,auto);
  gap:7px;
  min-height:25px;
  margin-top:1px;
  padding-top:11px;
  border-top:1px solid rgba(70,55,45,.08);
}
.review-story-journey>span{
  max-width:86px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#8f8278;
  font-size:6.6px;
  letter-spacing:.045em;
}
.lang-ar .review-story-journey>span{font-size:7.6px;letter-spacing:0}
.review-story-journey>i{background:rgba(84,66,54,.18)}
.review-story-journey>i::before,.review-story-journey>i::after{background:var(--peach)}

/* Voice cards: brand-safe WhatsApp-like rhythm, without any technical/demo
   labels visible to the customer. The number is purely navigational. */
.home-reviews .voice-reviews-block{
  border-top-color:rgba(70,55,45,.10);
}
.home-reviews .voice-review-card{
  min-height:166px;
  gap:12px;
  padding:16px;
  border-radius:20px;
  border-color:rgba(70,55,45,.10);
  background:#fffaf6;
  box-shadow:0 12px 30px rgba(55,40,30,.045);
}
.home-reviews .voice-review-card::before{
  height:3px;
  background:linear-gradient(90deg,var(--peach),#dec0aa 55%,rgba(222,192,170,0));
}
.voice-review-head{
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:10px;
}
.voice-review-avatar{
  width:40px;
  height:40px;
  background:#f0dac9;
  color:#6e5140;
}
.voice-review-avatar svg{width:18px;height:18px}
.voice-review-meta b{font-size:10.5px;font-weight:650}
.voice-review-meta p{margin-top:3px;font-size:8.7px;line-height:1.45;color:#8d8178}
.lang-ar .voice-review-meta b{font-size:11.5px}.lang-ar .voice-review-meta p{font-size:9.5px;line-height:1.6}
.voice-review-number{
  align-self:start;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border:1px solid rgba(70,55,45,.09);
  border-radius:999px;
  background:#f7eee7;
  color:#8d8177;
  font-size:7px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  letter-spacing:.04em;
}
.home-reviews .voice-review-player{
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  margin-top:auto;
  padding:10px 11px;
  border:1px solid rgba(70,55,45,.07);
  border-radius:17px;
  background:#f5eee8;
}
.home-reviews .voice-play-button{
  width:42px;
  height:42px;
  background:#fff;
  color:#403731;
  box-shadow:0 5px 16px rgba(55,40,30,.075);
}
.home-reviews .voice-review-player.is-playing .voice-play-button{background:#403731;color:#fff}
.home-reviews .voice-review-player.is-buffering .voice-play-button{background:#fff;color:#7e6f64}
.home-reviews .voice-review-player.has-audio-error .voice-play-button{
  opacity:1!important;
  pointer-events:auto!important;
  background:#fff4eb;
  color:#8b5d42;
  border:1px solid rgba(139,93,66,.14);
}
.voice-wave-wrap{height:34px}
.voice-waveform{gap:2px;padding:4px 1px}
.voice-waveform i{background:#cdbfb5}
.voice-waveform i.is-played{background:#735f52}
.voice-review-player.is-playing .voice-waveform i.is-played{background:#403731}
.home-reviews .voice-time{font-size:7px;color:#94877d}
.voice-review-foot,.voice-review-tag{display:none!important}

/* Mobile reviews: swipe-first, one generous card with a small peek of the next.
   Edge arrows are removed on phone so there is no cramped 38px side gutter. */
@media(max-width:620px){
  .home-reviews{
    padding-inline:16px!important;
    overflow:hidden!important;
  }
  .home-reviews .home-reviews-head{
    display:block!important;
    margin-bottom:22px!important;
  }
  .home-reviews .home-reviews-head>p{margin-top:12px!important;justify-self:auto!important}
  .home-reviews .review-edge-shell,
  .home-reviews .voice-reviews-shell{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .home-reviews .review-edge-arrow{display:none!important}
  .home-reviews .review-carousel-viewport,
  .home-reviews .voice-reviews-viewport{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .home-reviews .review-carousel-track,
  .home-reviews .voice-reviews-track{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
    padding:2px 22px 10px 2px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:2px!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x;
  }
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card{
    flex:0 0 min(86vw,350px)!important;
    width:min(86vw,350px)!important;
    max-width:min(86vw,350px)!important;
    min-width:min(86vw,350px)!important;
    scroll-snap-align:start!important;
  }
  .home-reviews .review-story-card{border-radius:18px}
  .home-reviews .review-story-copy{padding:17px 16px 16px!important;gap:12px!important}
  .home-reviews .review-story-copy blockquote,
  .lang-ar .home-reviews .review-story-copy blockquote{font-size:14px!important}
  .review-story-journey>span{max-width:96px;font-size:7px}
  .lang-ar .review-story-journey>span{font-size:8px}
  .home-reviews .voice-reviews-block{margin-top:42px!important;padding-top:30px!important}
  .home-reviews .voice-reviews-title{margin-bottom:16px!important}
  .home-reviews .voice-review-card{min-height:166px!important;padding:15px!important}
  .home-reviews .voice-review-player{grid-template-columns:42px minmax(0,1fr)!important;padding:10px!important}
}
@media(max-width:390px){
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card{
    flex-basis:88vw!important;
    width:88vw!important;
    max-width:88vw!important;
    min-width:88vw!important;
  }
}

/* ========================================================================== */
/* V124 — Phone reviews: two-up, arrow controls, seamless four-second loop    */
/* ========================================================================== */
@media(max-width:620px){
  .home-reviews{
    padding-inline:14px!important;
  }
  .home-reviews .home-reviews-head{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-bottom:20px!important;
    overflow:visible!important;
  }
  .home-reviews .home-reviews-head>div,
  .home-reviews .home-reviews-head>p{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .home-reviews .home-reviews-head h2{
    max-width:100%!important;
    font-size:clamp(27px,8.1vw,34px)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  .lang-ar .home-reviews .home-reviews-head h2{
    font-size:clamp(23px,7vw,30px)!important;
    line-height:1.5!important;
    letter-spacing:0!important;
  }
  .home-reviews .home-reviews-head>p{
    margin-top:10px!important;
    font-size:9.5px!important;
    line-height:1.75!important;
  }
  .lang-ar .home-reviews .home-reviews-head>p{
    font-size:10.5px!important;
    line-height:1.9!important;
  }

  .home-reviews .review-edge-shell,
  .home-reviews .voice-reviews-shell{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    overflow:visible!important;
  }
  .home-reviews .review-carousel-viewport,
  .home-reviews .voice-reviews-viewport{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    border-radius:18px;
  }
  .home-reviews .review-carousel-track,
  .home-reviews .voice-reviews-track{
    display:flex!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    gap:10px!important;
    padding:2px 0 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:0!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
  }
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card{
    flex:0 0 calc((100% - 10px)/2)!important;
    width:calc((100% - 10px)/2)!important;
    max-width:calc((100% - 10px)/2)!important;
    min-width:calc((100% - 10px)/2)!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }

  /* Keep the previous/next controls visible without stealing layout width. */
  .home-reviews .review-edge-arrow{
    display:grid!important;
    place-items:center!important;
    z-index:12!important;
    width:31px!important;
    height:31px!important;
    padding:0!important;
    border:1px solid rgba(62,50,42,.12)!important;
    background:rgba(255,250,246,.94)!important;
    box-shadow:0 5px 16px rgba(45,34,27,.10)!important;
    color:#443a34!important;
    font-size:14px!important;
    line-height:1!important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:1!important;
    pointer-events:auto!important;
  }
  .home-reviews .review-edge-arrow:disabled{opacity:1!important}
  .home-reviews .review-edge-prev{left:5px!important}
  .home-reviews .review-edge-next{right:5px!important}
  .home-reviews .review-carousel-shell>.review-edge-arrow{top:31%!important}
  .home-reviews .voice-reviews-shell>.review-edge-arrow{top:50%!important}

  /* Compact photo story card so two reviews stay readable side by side. */
  .home-reviews .review-story-card{
    border-radius:16px!important;
  }
  .home-reviews .review-story-image{
    aspect-ratio:4/5!important;
  }
  .home-reviews .review-story-badges{
    inset:8px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:5px!important;
  }
  .home-reviews .review-real-badge,
  .home-reviews .review-event-badge{
    width:auto!important;
    max-width:100%!important;
    min-height:20px!important;
    padding:4px 6px!important;
    font-size:5.8px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .lang-ar .home-reviews .review-real-badge,
  .lang-ar .home-reviews .review-event-badge{
    font-size:6.8px!important;
  }
  .home-reviews .review-story-copy{
    padding:12px 10px 11px!important;
    gap:9px!important;
  }
  .home-reviews .review-story-topline{min-height:15px!important}
  .home-reviews .review-story-number{font-size:7px!important}
  .home-reviews .review-rating{gap:0!important}
  .home-reviews .review-rating i{font-size:7.5px!important}
  .home-reviews .review-story-copy blockquote,
  .lang-ar .home-reviews .review-story-copy blockquote{
    font-size:10.5px!important;
    line-height:1.58!important;
    letter-spacing:-.008em!important;
    overflow-wrap:anywhere!important;
  }
  .lang-ar .home-reviews .review-story-copy blockquote{
    font-size:10.8px!important;
    line-height:1.82!important;
    letter-spacing:0!important;
  }
  .home-reviews .review-story-person b{font-size:8.7px!important;line-height:1.35!important}
  .home-reviews .review-story-person small{font-size:7.5px!important;line-height:1.4!important}
  .lang-ar .home-reviews .review-story-person b{font-size:9.5px!important}
  .lang-ar .home-reviews .review-story-person small{font-size:8.2px!important}
  .home-reviews .review-story-journey{
    grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;
    gap:4px!important;
    min-height:20px!important;
    padding-top:8px!important;
  }
  .home-reviews .review-story-journey>span{
    max-width:100%!important;
    font-size:5.4px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .lang-ar .home-reviews .review-story-journey>span{font-size:6.2px!important}

  /* Two compact voice notes per mobile view. */
  .home-reviews .voice-reviews-block{
    margin-top:38px!important;
    padding-top:28px!important;
  }
  .home-reviews .voice-reviews-title{margin-bottom:14px!important}
  .home-reviews .voice-reviews-title h3{
    font-size:clamp(20px,6.4vw,26px)!important;
    line-height:1.14!important;
  }
  .lang-ar .home-reviews .voice-reviews-title h3{
    font-size:clamp(18px,5.7vw,23px)!important;
    line-height:1.55!important;
  }
  .home-reviews .voice-reviews-intro{font-size:9px!important;line-height:1.7!important}
  .home-reviews .voice-review-card{
    min-height:148px!important;
    padding:10px!important;
    gap:9px!important;
    border-radius:15px!important;
  }
  .home-reviews .voice-review-head{
    grid-template-columns:30px minmax(0,1fr) 21px!important;
    gap:7px!important;
  }
  .home-reviews .voice-review-avatar{
    width:30px!important;
    height:30px!important;
  }
  .home-reviews .voice-review-avatar svg{width:14px!important;height:14px!important}
  .home-reviews .voice-review-meta b{font-size:8.4px!important;line-height:1.25!important}
  .home-reviews .voice-review-meta p{font-size:7px!important;line-height:1.35!important}
  .lang-ar .home-reviews .voice-review-meta b{font-size:9.2px!important}
  .lang-ar .home-reviews .voice-review-meta p{font-size:7.8px!important}
  .home-reviews .voice-review-number{
    width:21px!important;
    height:21px!important;
    font-size:6px!important;
  }
  .home-reviews .voice-review-player{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:7px!important;
    padding:7px!important;
    border-radius:13px!important;
  }
  .home-reviews .voice-play-button{
    width:32px!important;
    height:32px!important;
    font-size:10px!important;
  }
  .home-reviews .voice-wave-wrap{height:27px!important}
  .home-reviews .voice-waveform{gap:1px!important;padding:3px 0!important}
  .home-reviews .voice-time{font-size:6px!important}
}

/* Preserve the two-card layout even on very small phones; earlier rules used
   an 88vw single-card width below 390px. */
@media(max-width:390px){
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card{
    flex:0 0 calc((100% - 8px)/2)!important;
    width:calc((100% - 8px)/2)!important;
    max-width:calc((100% - 8px)/2)!important;
    min-width:calc((100% - 8px)/2)!important;
  }
  .home-reviews .review-carousel-track,
  .home-reviews .voice-reviews-track{gap:8px!important}
  .home-reviews .review-story-copy blockquote,
  .lang-ar .home-reviews .review-story-copy blockquote{font-size:9.8px!important}
  .home-reviews .review-edge-arrow{width:29px!important;height:29px!important;font-size:13px!important}
}

/* ========================================================================== */
/* V126 — DESKTOP/LAPTOP HERO COPY LOCK                                       */
/* Approved composition: one shared left edge for the event copy, MINI BITES  */
/* and MEGA VIBES.  Phone/tablet rules are intentionally untouched.           */
/* ========================================================================== */
@media (min-width:900px){
  .page-index .hero-editorial-overlay{
    --hero-v126-left:clamp(88px,5.75vw,116px);
    --hero-v126-right:clamp(34px,2.4vw,52px);
    --hero-v90-mega-size:clamp(104px,11.8vw,224px)!important;
    --hero-v88-mega-size:var(--hero-v90-mega-size)!important;
  }

  .page-index .hero-editorial-intro,
  .page-index.lang-ar .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    left:var(--hero-v126-left)!important;
    right:auto!important;
    text-align:left!important;
    max-width:min(420px,34vw)!important;
  }

  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:var(--hero-v126-left)!important;
    right:auto!important;
    text-align:left!important;
  }

  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:var(--hero-v126-left)!important;
    right:var(--hero-v126-right)!important;
    width:auto!important;
    max-width:none!important;
    bottom:clamp(10px,1.25vh,16px)!important;
    overflow:hidden!important;
    text-align:left!important;
    direction:ltr!important;
    transform:none!important;
    -webkit-transform:none!important;
  }

  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    max-font-size:224px;
    line-height:.79!important;
    letter-spacing:-.052em!important;
    transform:none!important;
    -webkit-transform:none!important;
  }
}

/* ========================================================================== */
/* V128 — DESKTOP/LAPTOP HERO: LARGE WORDMARK + LOCKED ALIGNMENT               */
/* Keep the original large MEGA VIBES scale. Only its guides/spacing are       */
/* controlled here. Phone/tablet layout stays untouched.                       */
/* ========================================================================== */
@media (min-width:900px){
  .page-index .hero-editorial-overlay{
    --hero-v128-left:clamp(88px,5.75vw,112px);
    --hero-v128-right:clamp(18px,1.4vw,28px);
    /* First-paint fallback; JS replaces this with the exact fitted size. */
    --hero-v128-mega-size:clamp(170px,20vw,390px);
  }

  /* One exact left guide for all copy on the left. */
  .page-index .hero-editorial-intro,
  .page-index.lang-ar .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro,
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:var(--hero-v128-left)!important;
    right:auto!important;
    text-align:left!important;
  }

  /* Large, natural MEGA VIBES: fill the safe width without horizontal scaling. */
  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:var(--hero-v128-left)!important;
    right:var(--hero-v128-right)!important;
    width:auto!important;
    max-width:none!important;
    bottom:clamp(6px,.75vh,10px)!important;
    overflow:hidden!important;
    text-align:left!important;
    direction:ltr!important;
    transform:none!important;
    -webkit-transform:none!important;
  }

  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    display:inline-block!important;
    width:max-content!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
    font-size:var(--hero-v128-mega-size)!important;
    line-height:.78!important;
    letter-spacing:-.052em!important;
    font-stretch:normal!important;
    transform:none!important;
    -webkit-transform:none!important;
    transform-origin:left bottom!important;
    -webkit-transform-origin:left bottom!important;
  }

  /* The copy above follows the ACTUAL wordmark size, so enlarging it never
     causes overlap or drift. */
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    bottom:calc(var(--hero-v128-mega-size) * .78 + 58px)!important;
  }

  .page-index .hero-editorial-intro,
  .page-index.lang-ar .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro{
    bottom:calc(var(--hero-v128-mega-size) * .78 + 104px)!important;
    max-width:min(420px,34vw)!important;
  }

  .page-index .hero-editorial-actions,
  .page-index .lang-ar .hero-editorial-actions{
    bottom:calc(var(--hero-v128-mega-size) * .78 + 104px)!important;
  }
}


/* ========================================================================== */
/* V129 — V106 MEGA VIBES SCALE + V128 ALIGNMENT                              */
/* Desktop/laptop only: keep the approved V128 left/right positioning and     */
/* restore the larger V106 natural full-width type treatment.                 */
/* ========================================================================== */
@media (min-width:900px){
  .page-index .hero-editorial-overlay{
    /* Same approved V128 alignment guides. */
    --hero-v128-left:clamp(88px,5.75vw,112px);
    --hero-v128-right:clamp(18px,1.4vw,28px);
    /* V106-sized first paint while JS calculates the exact natural fit. */
    --hero-v128-mega-size:clamp(118px,13.2vw,252px);
  }

  .page-index .hero-megabytes,
  .page-index.lang-ar .hero-megabytes,
  .page-index .lang-ar .hero-megabytes{
    left:var(--hero-v128-left)!important;
    right:var(--hero-v128-right)!important;
    width:auto!important;
    max-width:none!important;
    bottom:clamp(6px,.75vh,10px)!important;
    overflow:hidden!important;
    text-align:left!important;
    direction:ltr!important;
    transform:none!important;
    -webkit-transform:none!important;
  }

  .page-index .hero-megabytes .hero-signature-main,
  .page-index .hero-megabytes .hero-signature-word:last-child{
    display:inline-block!important;
    width:max-content!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
    font-size:var(--hero-v128-mega-size)!important;
    line-height:.78!important;
    letter-spacing:-.052em!important;
    font-stretch:normal!important;
    transform:none!important;
    -webkit-transform:none!important;
    transform-origin:left bottom!important;
    -webkit-transform-origin:left bottom!important;
  }
}

/* ========================================================================== */
/* V130 — HERO VISUAL INK ALIGNMENT                                            */
/* Desktop/laptop only. Keep MEGA VIBES exactly where V129 placed it.          */
/* Shift the smaller copy to the actual visible ink-start of the M glyph,      */
/* compensating for the wordmark font's left side-bearing.                     */
/* ========================================================================== */
@media (min-width:900px){
  .page-index .hero-editorial-overlay{
    --hero-v130-ink-offset:clamp(12px,.82vw,16px);
  }

  .page-index .hero-editorial-intro,
  .page-index.lang-ar .hero-editorial-intro,
  .page-index .lang-ar .hero-editorial-intro,
  .page-index .hero-mini-bites,
  .page-index.lang-ar .hero-mini-bites,
  .page-index .lang-ar .hero-mini-bites{
    left:calc(var(--hero-v128-left) + var(--hero-v130-ink-offset))!important;
    right:auto!important;
    text-align:left!important;
  }
}

/* ========================================================================== */
/* V131 — Four Steps mobile hard reset / stable stacked layout               */
/* 2026-10-08                                                               */
/* Mobile only. No active expansion, no collapsing copy, no overlap.         */
/* ========================================================================== */
@media (max-width:767px){
  .page-index .flow{
    /* V135: keep the approved mobile layout, only give the section a little more horizontal room. */
    padding:48px 14px 30px!important;
    overflow:visible!important;
  }
  .page-index .flow-title{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 24px!important;
    opacity:1!important;
    transform:none!important;
  }
  .page-index .flow-title .eyebrow{
    margin:0 0 12px!important;
  }
  .page-index .flow-title h2{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    font-size:clamp(32px,8.6vw,40px)!important;
    line-height:1.12!important;
    letter-spacing:-.04em!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .page-index .flow-steps{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border-top:1px solid var(--ink)!important;
    border-bottom:1px solid var(--ink)!important;
    overflow:visible!important;
  }

  .page-index .flow-step,
  .page-index .flow-step.is-active,
  .page-index .flow-step:hover,
  .page-index .flow-step:focus,
  .page-index .flow-step:focus-visible{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:24px 2px 25px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-bottom:1px solid rgba(37,37,37,.18)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--ink)!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    overflow:visible!important;
    cursor:default!important;
    outline:0!important;
  }
  .page-index .flow-step:last-child{
    border-bottom:0!important;
  }
  .page-index .flow-step::before,
  .page-index .flow-step.is-active::before,
  .page-index .flow-step:hover::before,
  .page-index .flow-step:focus-visible::before{
    content:none!important;
    display:none!important;
  }

  .page-index .flow-step>span,
  .page-index .flow-step.is-active>span,
  .page-index .flow-step:hover>span,
  .page-index .flow-step:focus-visible>span{
    display:block!important;
    margin:0 0 10px!important;
    color:var(--muted)!important;
    font-size:10px!important;
    line-height:1!important;
    opacity:1!important;
    transform:none!important;
  }

  .page-index .flow-step h3,
  .page-index .flow-step.is-active h3,
  .page-index .flow-step:hover h3,
  .page-index .flow-step:focus-visible h3{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    color:var(--ink)!important;
    font-size:clamp(25px,6.6vw,31px)!important;
    line-height:1.14!important;
    font-weight:600!important;
    letter-spacing:-.025em!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    overflow-wrap:anywhere!important;
  }

  .page-index .flow-step p,
  .page-index .flow-step.is-active p,
  .page-index .flow-step:hover p,
  .page-index .flow-step:focus-visible p{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    margin:9px 0 0!important;
    padding:0!important;
    color:var(--muted)!important;
    font-size:13px!important;
    line-height:1.6!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
  }

  /* Do not wait for reveal JS in this section on mobile. */
  .page-index .flow .reveal,
  .page-index .flow .reveal.in{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

@media (max-width:420px){
  .page-index .flow{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .page-index .flow-title h2{
    font-size:clamp(30px,9vw,36px)!important;
  }
  .page-index .flow-step,
  .page-index .flow-step.is-active{
    padding-top:22px!important;
    padding-bottom:23px!important;
  }
  .page-index .flow-step h3,
  .page-index .flow-step.is-active h3{
    font-size:clamp(23px,7vw,28px)!important;
  }
}


/* V132 — Footer developer credit */
.footer .footer-credit{
  display:block;
  margin-top:5px;
  font-size:9px;
  line-height:1.55;
  color:#8d867e;
}
.footer .footer-credit a{
  display:inline;
  width:auto;
  font-size:inherit;
  line-height:inherit;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  transition:color .2s ease,opacity .2s ease;
}
.footer .footer-credit a:hover,
.footer .footer-credit a:focus-visible{
  color:var(--olive);
  opacity:1;
}

/* ========================================================================== */
/* V133 — MOBILE FLOW + TOUCH SCROLL + TRUE SVG VOICE CONTROLS               */
/* Root-cause fix: no emoji play glyphs; vertical page scrolling remains      */
/* available over both review rails; mobile flow uses a controlled active     */
/* state without the old oversized/dark overlay card.                         */
/* ========================================================================== */

.voice-play-icon{
  position:relative;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  line-height:0;
  pointer-events:none;
}
.voice-play-icon .voice-state-icon{
  grid-area:1/1;
  display:none;
  width:18px;
  height:18px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.voice-play-icon .voice-state-play{fill:currentColor;stroke:none;width:17px;height:17px}
.voice-play-icon[data-icon-state="play"] .voice-state-play,
.voice-play-icon[data-icon-state="pause"] .voice-state-pause,
.voice-play-icon[data-icon-state="retry"] .voice-state-retry{display:block}
.voice-state-loader{
  grid-area:1/1;
  display:none;
  width:15px;
  height:15px;
  box-sizing:border-box;
  border:1.6px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:voice-control-spin .72s linear infinite;
}
.voice-play-icon[data-icon-state="loading"] .voice-state-loader{display:block}
@keyframes voice-control-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.voice-state-loader{animation:none;border-right-color:currentColor;opacity:.55}}

@media(max-width:620px){
  /* Let Safari/Chrome choose vertical page pan or horizontal rail pan from the
     actual gesture direction. pan-x alone was trapping vertical page scroll. */
  .home-reviews .review-carousel-track,
  .home-reviews .voice-reviews-track{
    touch-action:pan-x pan-y!important;
    overscroll-behavior-y:auto!important;
  }
  .home-reviews .review-story-card,
  .home-reviews .voice-review-card,
  .home-reviews .voice-review-player{
    touch-action:pan-x pan-y!important;
  }
  .home-reviews .voice-seek{
    touch-action:pan-y!important;
  }
}

/* Final mobile flow behaviour — match the desktop interaction without layout shifts.
   Every step stays the same size; the step nearest the viewport focus band gets
   its own full background color (01 peach / 02 olive / 03 pink / 04 ink). */
@media(max-width:767px){
  .page-index .flow{
    padding:48px 20px 30px!important;
    overflow:visible!important;
  }
  .page-index .flow-steps{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border-top:1px solid var(--ink)!important;
    border-bottom:1px solid var(--ink)!important;
  }
  .page-index .flow-step,
  .page-index .flow-step:hover,
  .page-index .flow-step:focus,
  .page-index .flow-step:focus-visible{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:124px!important;
    height:auto!important;
    margin:0!important;
    padding:24px 14px 25px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-bottom:1px solid rgba(37,37,37,.17)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--ink)!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
    cursor:default!important;
    outline:0!important;
    box-shadow:none!important;
    transition:background-color .32s ease,color .32s ease,border-color .32s ease!important;
  }
  .page-index .flow-step:last-child{border-bottom:0!important}
  .page-index .flow-step::before,
  .page-index .flow-step.is-active::before,
  .page-index .flow-step:hover::before,
  .page-index .flow-step:focus-visible::before{content:none!important;display:none!important}

  /* Same per-step colors used by the desktop cards. */
  .page-index .flow-step:nth-child(1).is-active{background:var(--peach)!important}
  .page-index .flow-step:nth-child(2).is-active{background:var(--olive)!important}
  .page-index .flow-step:nth-child(3).is-active{background:var(--pink)!important}
  .page-index .flow-step:nth-child(4).is-active{background:var(--ink)!important}
  .page-index .flow-step.is-active{
    min-height:124px!important;
    padding:24px 14px 25px!important;
    color:#fff!important;
    opacity:1!important;
    box-shadow:none!important;
  }

  .page-index .flow-step>span{
    display:block!important;
    margin:0 0 9px!important;
    color:var(--muted)!important;
    font-size:10px!important;
    line-height:1!important;
    opacity:1!important;
    transform:none!important;
    transition:color .32s ease!important;
  }
  .page-index .flow-step.is-active>span{color:rgba(255,255,255,.78)!important}

  .page-index .flow-step h3{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    color:var(--ink)!important;
    font-size:clamp(23px,6.2vw,29px)!important;
    line-height:1.15!important;
    font-weight:600!important;
    letter-spacing:-.025em!important;
    opacity:1!important;
    transform:none!important;
    transition:color .32s ease!important;
    overflow-wrap:anywhere!important;
  }
  .page-index .flow-step.is-active h3{
    color:#fff!important;
    font-size:clamp(23px,6.2vw,29px)!important;
  }

  .page-index .flow-step p{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    margin:9px 0 0!important;
    padding:0!important;
    color:var(--muted)!important;
    font-size:12.5px!important;
    line-height:1.62!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
    transition:color .32s ease!important;
  }
  .page-index .flow-step.is-active p{
    color:rgba(255,255,255,.82)!important;
    font-size:12.5px!important;
    opacity:1!important;
  }

  .page-index.lang-ar .flow-step h3,
  .page-index .lang-ar .flow-step h3,
  .page-index.lang-ar .flow-step.is-active h3,
  .page-index .lang-ar .flow-step.is-active h3{
    font-size:clamp(17px,4.9vw,21px)!important;
    line-height:1.58!important;
    letter-spacing:0!important;
  }
  .page-index.lang-ar .flow-step p,
  .page-index .lang-ar .flow-step p,
  .page-index.lang-ar .flow-step.is-active p,
  .page-index .lang-ar .flow-step.is-active p{
    font-size:10.5px!important;
    line-height:1.9!important;
  }
}

@media(max-width:420px){
  .page-index .flow-step,
  .page-index .flow-step.is-active{
    min-height:118px!important;
    padding:22px 12px 23px!important;
  }
}

/* Mini's 2026-10 usability patch: no-image service cards, responsive footer and contact */
.booking-wizard-page .service-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:44px}
.booking-wizard-page .service-choice-card{min-height:125px;padding:17px;justify-content:center;gap:12px}
.booking-wizard-page .service-choice-check{position:absolute;inset-block-start:12px;inset-inline-end:12px;width:26px;height:26px}
.booking-wizard-page .service-choice-copy{margin-top:4px;padding-inline-end:20px}
.booking-wizard-page .service-choice-copy h3{font-size:15px;line-height:1.4}
.booking-wizard-page .service-choice-copy b{font-size:11px}
.booking-wizard-page .service-choice-extra{margin-top:0}
.lang-ar .booking-wizard-page .service-choice-copy h3{font-size:15px;line-height:1.8}
@media(max-width:1020px){.booking-wizard-page .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.booking-wizard-page .service-card-grid{grid-template-columns:1fr 1fr;gap:9px}.booking-wizard-page .service-choice-card{min-height:118px;padding:14px}.booking-wizard-page .service-choice-copy h3{font-size:13px}.lang-ar .booking-wizard-page .service-choice-copy h3{font-size:13px}}
@media(min-width:768px){.footer>small{display:flex!important;align-items:center;justify-content:space-between;flex-direction:row;gap:22px;font-size:12.5px!important;line-height:1.6}.footer .footer-credit{display:inline!important;margin:0!important;font-size:12.5px!important;text-align:right;margin-inline-start:auto!important}.lang-ar .footer>small{direction:ltr}}
@media(max-width:767px){.footer>small{font-size:11px!important}.footer .footer-credit{font-size:11px!important}}
.contact-reference-layout{align-items:stretch}
.contact-form-card,.contact-details-card{margin-top:0!important;margin-bottom:0!important;align-self:stretch;box-sizing:border-box}
.contact-page-head h1{max-width:100%;text-wrap:balance}

/* V134 — About: real stats, live services, process & admin-managed social links */
.minis-stats-section{padding:clamp(40px,5vw,75px) max(var(--page-pad),calc((100vw - var(--content))/2));background:#f9f4ef}
.minis-stats-heading{margin-bottom:25px}.minis-stats-heading h2{margin:7px 0 0;font-size:clamp(25px,3vw,41px);letter-spacing:-.04em;line-height:1.2}
.minis-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px}
.minis-stat{min-height:135px;border:1px solid #e7ded6;border-radius:18px;padding:22px 18px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}
.minis-stat strong{font-size:clamp(27px,4vw,51px);font-weight:600;line-height:1.08;letter-spacing:-.035em;color:#282421}
.minis-stat span{font-size:12px;line-height:1.5;color:#706960}
.about-extras-section{padding:clamp(56px,7vw,96px) max(var(--page-pad),calc((100vw - var(--content))/2))}
.about-extras-heading{max-width:720px;margin-bottom:29px}.about-extras-heading h2,.about-social-section h2{font-size:clamp(29px,4vw,56px);line-height:1.12;letter-spacing:-.045em;margin:9px 0 12px}
.about-extras-heading>p:last-child{font-size:14px;line-height:1.8;color:#766e68}
.about-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.about-service-tile{padding:20px 18px;min-height:145px;border:1px solid #e5dcd5;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
.about-service-tile>span{font-size:18px;color:#ba7b62}.about-service-tile h3{font-size:18px;margin:16px 0 6px;line-height:1.4}.about-service-tile p{font-size:12px;color:#77716b;line-height:1.6;margin:0}
.about-action-link{display:inline-flex;gap:22px;margin-top:28px;border-bottom:1px solid #7f7067;padding-bottom:9px;font-weight:600;font-size:14px;color:#282421}
.about-process-section{background:#f4eae2}.about-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.about-process-grid article{min-height:220px;background:rgba(255,255,255,.78);border:1px solid #ead9cc;border-radius:17px;padding:25px 23px;display:flex;flex-direction:column;align-items:flex-start}
.about-process-grid article span{font-size:14px;color:#ae7056}.about-process-grid article h3{font-size:21px;line-height:1.3;margin:auto 0 9px}.about-process-grid article p{font-size:12.5px;line-height:1.7;color:#756d64;margin:0}
.about-social-section{padding:60px max(var(--page-pad),calc((100vw - var(--content))/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fbf7f4}
.about-social-section h2{max-width:650px}.about-social-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.about-social-links a{display:inline-flex;padding:13px 19px;border-radius:100px;border:1px solid #d8c9bd;color:#352b25;font-size:13px;white-space:nowrap;background:#fff}
.lang-ar .about-extras-heading h2,.lang-ar .about-social-section h2{letter-spacing:0;line-height:1.6}
.lang-ar .about-service-tile h3{font-size:17px;line-height:1.8}.lang-ar .about-process-grid article h3{font-size:19px;line-height:1.7}
.delivery-estimate-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid #e9dfd7;font-size:13px}
.delivery-estimate-line b{font-size:13px;text-align:end}.delivery-estimate-line small{font-size:11px;color:#80766e}
@media(max-width:980px){.about-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-social-section{flex-direction:column;align-items:flex-start}.about-social-links{justify-content:flex-start}}
@media(max-width:620px){.minis-stats-section,.about-extras-section,.about-social-section{padding:45px 20px}.minis-stats-grid,.about-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.minis-stat{min-height:112px;padding:15px}.minis-stat strong{font-size:27px}.about-service-tile{min-height:126px;padding:15px}.about-service-tile h3{font-size:15px}.about-process-grid{grid-template-columns:1fr;gap:10px}.about-process-grid article{min-height:145px;padding:20px}.about-process-grid article h3{margin:20px 0 7px}}


/* V135 — About hero desktop: clear breathing room below the fixed-height header.
   Keep the original copy, image, glass card, and mobile composition untouched. */
@media (min-width:900px) {
  .page-about .public-hero {
    min-height:760px;
    padding-top:150px;
    padding-bottom:76px;
    align-items:center;
  }
  .page-about .public-hero-copy {
    margin-top:0;
  }
}
@media (min-width:768px) and (max-width:899px) {
  .page-about .public-hero {
    min-height:700px;
    padding-top:140px;
    padding-bottom:62px;
    align-items:center;
  }
}

/* Contact panel: social links controlled by the existing admin contact settings. */
.contact-social-section{margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}
.contact-social-heading{margin:0 0 12px;color:#9a714f;font-size:10px;font-weight:750;letter-spacing:.11em;line-height:1.5}
.contact-social-grid{display:grid;grid-template-columns:1fr;gap:9px}
.contact-social-link{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.94);color:var(--ink);text-decoration:none;transition:background .2s ease,transform .2s ease,border-color .2s ease}
.contact-social-link:hover,.contact-social-link:focus-visible{background:#fff8f2;border-color:rgba(192,131,70,.55);transform:translateY(-1px)}
.contact-social-icon{flex:none;display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#fff2e6;color:#b27a4a}
.contact-social-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.contact-social-link[href*="facebook.com"] .contact-social-icon svg,.contact-social-link[href*="t.me/"] .contact-social-icon svg{fill:currentColor;stroke:none}
.contact-social-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.contact-social-copy b{font-size:13px;line-height:1.35;font-weight:650}
.contact-social-copy small{font-size:10px;color:var(--muted);line-height:1.55}
.contact-social-arrow{color:#9b806c;font-size:18px;line-height:1;flex:none}
.lang-ar .contact-social-heading{font-size:12px;letter-spacing:0}
.lang-ar .contact-social-copy b{font-size:14px}
.lang-ar .contact-social-copy small{font-size:11px}
@media(max-width:767px){.contact-social-section{margin-top:20px;padding-top:18px}.contact-social-link{min-height:58px}}

/* Oct 17 — Arabic readability with balanced English, no fixed-width collisions */
body.lang-ar {font-size:clamp(14px,1.03vw,16px)!important;line-height:1.72!important;}
.lang-ar .site-header .nav a, .site-header .nav a {font-size:clamp(13px,1.06vw,15px)!important;font-weight:650!important;line-height:1.5!important;}
.lang-ar .site-header .nav{gap:clamp(16px,1.9vw,27px)!important;flex-wrap:nowrap;}
.lang-ar .site-header a, .lang-ar .site-header button{unicode-bidi:isolate;}
.lang-ar .hero-editorial-intro p {font-size:clamp(14px,1.14vw,17px)!important;line-height:1.65!important;}
.lang-ar .hero-editorial-intro .eyebrow{font-size:clamp(11px,.96vw,13px)!important;}
.lang-ar .events h2,.lang-ar .events h3 {line-height:1.3!important;}
.lang-ar .event-types b {font-size:clamp(14px,1.25vw,17px)!important;line-height:1.55!important;}
.lang-ar .event-types small,.lang-ar .events p,.lang-ar .booking-shell p,.lang-ar .booking-shell label {font-size:clamp(13px,1.05vw,16px)!important;line-height:1.7!important;}
.lang-ar .wizard-steps,.lang-ar .wizard-steps *, .lang-ar .booking-shell .eyebrow{font-size:clamp(12px,.98vw,14px)!important;line-height:1.65!important;}
.lang-ar .booking-shell h2,.lang-ar .booking-shell h3 {line-height:1.4!important;}
.lang-ar .hero-editorial-overlay,.lang-ar .events,.lang-ar .booking-shell{overflow-wrap:normal;word-break:normal;}
.lang-ar :is(input,textarea,select,button){font-family:var(--font-ar)!important;}
.lang-ar [dir=ltr] {direction:ltr;unicode-bidi:isolate;}
@media(max-width:767px){
 .lang-ar .site-header .nav a{font-size:15px!important}
 .lang-ar .event-types b{font-size:15px!important}
 .lang-ar .booking-shell h2{font-size:clamp(23px,6vw,31px)!important}
}
/* Arabic HERO clarity — separate small caption from wordmark without changing English. */
@media(min-width:900px){
 .page-index.lang-ar .hero-editorial-intro{
   width:min(440px,36vw)!important;
   max-width:min(440px,36vw)!important;
   direction:rtl!important;
   text-align:right!important;
   z-index:8!important;
   bottom:calc(var(--hero-v128-mega-size) * .78 + 130px)!important;
 }
 .page-index.lang-ar .hero-editorial-intro p{
   font-size:clamp(17px,1.4vw,22px)!important;
   font-weight:750!important;
   letter-spacing:0!important;
   line-height:1.52!important;
   text-shadow:0 2px 14px rgba(21,16,14,.64)!important;
 }
 .page-index.lang-ar .hero-mini-bites-desktop{display:none!important}
 .page-index.lang-ar .hero-editorial-actions{gap:14px!important;}
}


/* 2026-10-17 — RESTORE ARABIC HERO COMPOSITION AFTER TYPOGRAPHY UPDATE.
   Desktop only: event introduction LEFT / actions RIGHT, like approved English layout.
   Does not change the English copy, bottom MEGA VIBES sizing or phone layout. */
@media (min-width:900px) {
  body.page-index.lang-ar .hero-editorial-intro {
    left:calc(var(--hero-v128-left, 6vw) + clamp(12px,.82vw,16px))!important;
    right:auto!important;
    top:clamp(245px,38vh,380px)!important;
    bottom:auto!important;
    width:min(390px,35vw)!important;
    max-width:min(390px,35vw)!important;
    text-align:left!important;
    direction:rtl!important;
    transform:none!important;
  }
  body.page-index.lang-ar .hero-editorial-intro p {
    direction:rtl!important;
    text-align:left!important;
    font-size:clamp(16px,1.25vw,20px)!important;
    line-height:1.55!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-transform:none!important;
    margin:0!important;
  }
  body.page-index.lang-ar .hero-editorial-actions {
    position:absolute!important;
    right:clamp(55px,6.4vw,128px)!important;
    left:auto!important;
    top:clamp(250px,38vh,385px)!important;
    bottom:auto!important;
    width:clamp(165px,13vw,200px)!important;
    max-width:200px!important;
    gap:13px!important;
    align-items:stretch!important;
    transform:none!important;
    direction:rtl!important;
  }
  body.page-index.lang-ar .hero-editorial-actions a {
    width:100%!important;
    justify-content:flex-start!important;
    text-align:right!important;
    direction:rtl!important;
    font-size:clamp(12px,.9vw,14px)!important;
    line-height:1.4!important;
    white-space:nowrap!important;
  }
}
/* The current hero uses an actual <video> nested in .hero-device-media.
   An old V53 rule hid .hero-video with !important. Restore visibility only
   for the CURRENT adaptive hero without re-enabling obsolete hero variants. */
body.page-index .hero-adaptive-media .hero-device-media > video.hero-video {
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:cover!important;
  object-position:center center!important;
  pointer-events:none!important;
}
body.page-index .hero-adaptive-media .hero-device-media {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
body.page-index .hero-adaptive-media .hero-device-mobile {display:none!important}
@media (max-width:767px) {
  body.page-index .hero-adaptive-media .hero-device-desktop {display:none!important}
  body.page-index .hero-adaptive-media .hero-device-mobile {display:block!important}
}


/* 2026-10-17 — ENGLISH DESKTOP HERO CTA MICRO ALIGNMENT ONLY.
   Previously +3px; user requested another 3px = +6px TOTAL. No Arabic or phone changes. */
@media (min-width:900px) {
  body.page-index.lang-en .hero-editorial-actions {
    translate: 0 6px !important;
  }
}

/* Full-buffer cinematic Hero — overlay remains visually identical in AR/EN.
   A FIRST FRAME poster is visible until video is fully downloaded and playing. */
body.page-index .hero-adaptive-media .hero-device-media > img.hero-static-poster {
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:center center!important;z-index:1!important;
}
body.page-index .hero-adaptive-media .hero-device-media > video.hero-video {
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:center center!important;pointer-events:none!important;
  z-index:2!important;opacity:0!important;visibility:visible!important;
  transition:opacity 180ms ease!important;
}
body.page-index .hero-adaptive-media .hero-device-media.hero-motion-playing > video.hero-video {
  opacity:1!important;
}

/* 2026-10-17 iPhone AUTOPLAY FIX: video MUST be CSS-visible on first paint.
   Safari may withhold autoplay from opacity:0 video until a user gesture/scroll.
   Keep the poster ABOVE it until playback has really started. */
body.page-index .hero-adaptive-media .hero-device-media > video.hero-video {
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  transition:none!important;
}
body.page-index .hero-adaptive-media .hero-device-media > img.hero-static-poster {
  opacity:1!important;
  visibility:visible!important;
  z-index:3!important;
  pointer-events:none!important;
  transition:opacity .18s ease, visibility 0s linear .18s!important;
}
body.page-index .hero-adaptive-media .hero-device-media.hero-motion-playing > img.hero-static-poster {
  opacity:0!important;
  visibility:hidden!important;
}

/* 2026-10-17 — English desktop navigation: regular lettering only.
   Retain the stronger Arabic nav and all mobile rules unchanged. */
@media (min-width: 900px) {
  body.lang-en .site-header .nav a {
    font-weight: 400 !important;
  }
}

/* ========================================================================
   2026-10-17 -- requested mobile refinements, Arabic hero + home menu cards.
   Does not move the hero English copy, nav, MEGA VIBES or desktop layout.
   ======================================================================== */
@media (max-width: 767px) {
  /* Arabic HERO: keep horizontal anchors. Raise the action links and MINI
     BITES so View Gallery begins level with the 'Have an occasion?' intro. */
  body.page-index.lang-ar .hero-editorial-actions {
    bottom: calc(var(--hero-v93-mega-size) * .80 + 166px) !important;
  }
  body.page-index.lang-ar .hero-mini-bites {
    bottom: calc(var(--hero-v93-mega-size) * .80 + 114px) !important;
  }

  /* Home THE MINI'S EDIT: ensure the long English/Arabic titles fit in
     the TWO small side-by-side tiles without running through the + button. */
  body.page-index .editorial-grid .food-card .food-caption h3 {
    font-size: 15px !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere;
  }
  body.page-index .editorial-grid :is(.food-3,.food-4) .food-caption {
    grid-template-columns: minmax(0,1fr) !important;
    align-items: start !important;
    gap: 3px !important;
    padding: 10px 11px 43px !important;
  }
  body.page-index .editorial-grid :is(.food-3,.food-4) .food-caption > span {
    font-size: 9px !important;
  }
  body.page-index .editorial-grid :is(.food-3,.food-4) .food-caption h3 {
    font-size: clamp(11px, 2.9vw, 12.5px) !important;
    line-height: 1.29 !important;
    font-weight: 550 !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  body.page-index .editorial-grid :is(.food-3,.food-4) .food-caption p {
    margin-top: 3px !important;
    font-size: clamp(9px, 2.2vw, 10px) !important;
    line-height: 1.42 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
  }
  /* Keep plus in the bottom corner, with a clear reserved area for it. */
  body.page-index .editorial-grid :is(.food-3,.food-4) .food-card-add {
    bottom: 11px !important;
    inset-inline-end: 11px !important;
  }
}
@media (max-width: 480px) {
  body.page-index.lang-ar .hero-editorial-actions {
    bottom: calc(var(--hero-v93-mega-size) * .80 + 158px) !important;
  }
}


/* 2026-10-17: mobile flow, optical + centring, unified hero wordmark.
   Scoped overrides. Keep Desktop hero, cart, admin and booking unaffected. */

/* The English wordmark is the visual master in BOTH site languages.
   Never inherit the Arabic UI font for Latin "MEGA VIBES" lettering. */
body.page-index.lang-ar .hero-editorial-overlay .hero-megabytes,
body.page-index.lang-en .hero-editorial-overlay .hero-megabytes,
body.page-index.lang-ar .hero-editorial-overlay .hero-signature-main,
body.page-index.lang-en .hero-editorial-overlay .hero-signature-main {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
  letter-spacing: -.052em !important;
  font-synthesis: none !important;
}

/* Both links use a true CSS cross instead of font glyphs, so Arabic and
   English render a perfectly centred plus regardless of font baseline. */
body.page-index .menu-cta-bottom .menu-cta-plus {
  position: relative !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-align: center !important;
  direction: ltr !important;
}
body.page-index .menu-cta-bottom .menu-cta-plus::before,
body.page-index .menu-cta-bottom .menu-cta-plus::after,
body.page-index.lang-ar .menu-cta-bottom .menu-cta-plus::before {
  content: '' !important;
  position: absolute !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  display: block !important;
  width: 9px !important;
  height: 1.5px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: currentColor !important;
  font-size: 0 !important;
  transform: translate(-50%, -50%) !important;
}
body.page-index .menu-cta-bottom .menu-cta-plus::after {
  transform: translate(-50%, -50%) rotate(90deg) !important;
}

/* Safari: a video hidden under an opaque image can get its native autoplay
   deferred. The video stays CSS-visible; its poster attribute renders until
   the first real frame. The decorative image remains behind for errors. */
body.page-index .hero-adaptive-media .hero-device-media > img.hero-static-poster {
  z-index: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}
body.page-index .hero-adaptive-media .hero-device-media > video.hero-video {
  z-index: 2 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

/* Screenshot regression: an earlier active-step animation expanded the
   olive mobile step into a nearly square block. Keep all 4 rows consistent. */
@media (max-width: 767px) {
  body.page-index .flow-steps {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
  }
  body.page-index .flow-steps > .flow-step,
  body.page-index .flow-steps > .flow-step.is-active {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    min-height: 132px !important;
    height: auto !important;
    max-height: 182px !important;
    aspect-ratio: auto !important;
    padding: 22px 14px !important;
    margin: 0 !important;
    transform: none !important;
    overflow: hidden !important;
    transition: background-color .25s ease, color .25s ease !important;
  }
  body.page-index .flow-steps > .flow-step h3,
  body.page-index .flow-steps > .flow-step.is-active h3 { margin: 0 !important; }
  body.page-index .flow-steps > .flow-step p,
  body.page-index .flow-steps > .flow-step.is-active p {
    max-height: none !important;
    margin-top: 8px !important;
    opacity: 1 !important;
    transform: none !important;
  }
  body.page-index .flow-title h2 {
    font-size: clamp(26px, 7.2vw, 34px) !important;
    line-height: 1.24 !important;
    overflow-wrap: normal !important;
  }
}


/* 2026-10-17 -- WEBM ONLY hero, no browser video controls / native play badge.
   Keep player CSS-visible for iOS autoplay; show still image if rejected. */
body.page-index .hero-adaptive-media .hero-device-media > video.hero-video {
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  z-index:2!important;
  background:transparent!important;
}
body.page-index .hero-adaptive-media .hero-device-media > img.hero-static-poster {
  z-index:1!important;
  opacity:1!important;
  visibility:visible!important;
}
body.page-index .hero-adaptive-media .hero-device-media.hero-autoplay-blocked > video.hero-video {
  opacity:0!important;
}
body.page-index .hero-adaptive-media video.hero-video::-webkit-media-controls,
body.page-index .hero-adaptive-media video.hero-video::-webkit-media-controls-enclosure,
body.page-index .hero-adaptive-media video.hero-video::-webkit-media-controls-panel,
body.page-index .hero-adaptive-media video.hero-video::-webkit-media-controls-overlay-play-button,
body.page-index .hero-adaptive-media video.hero-video::-webkit-media-controls-start-playback-button {
  display:none!important;
  opacity:0!important;
}

/* 2026-10-18 | booking account gate and unmissable consent; hero untouched */
.booking-wizard-page .booking-account-gate{padding:22px 24px;background:#fff7f2;border:1px solid #e7d7d3;border-radius:17px}
.booking-wizard-page .booking-account-gate h3{font-size:clamp(19px,2vw,26px);line-height:1.35;margin:0 0 10px;color:#262324}
.booking-wizard-page .booking-account-gate p{font-size:14px;line-height:1.85;color:#706561;margin:0 0 18px}
.booking-wizard-page .booking-account-gate-actions{display:flex;flex-wrap:wrap;gap:12px}
.booking-wizard-page .booking-account-gate-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:11px;padding:12px 20px;font-weight:700;font-size:13px;text-decoration:none}
.booking-wizard-page .booking-account-primary{background:#eeae81;color:#251f1b}
.booking-wizard-page .booking-account-secondary{border:1px solid #cbbdba;color:#392f2b;background:#fff}
.booking-wizard-page .customer-review-form .booking-wa-consent{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:14px;padding:17px 18px;background:#fff2ec;border:1px solid #e2bcb4;border-radius:12px;cursor:pointer}
.booking-wizard-page .customer-review-form .booking-wa-consent input[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox;width:22px;height:22px;min-width:22px;flex:0 0 22px;margin:0;accent-color:#bc777e;cursor:pointer;border:1px solid #ac9292}
.booking-wizard-page .customer-review-form .booking-wa-consent>span{display:block;font-size:13px;font-weight:600;line-height:1.6;color:#332d2c;margin:0}
.booking-wizard-page .booking-wa-note{grid-column:1/-1;color:#7e716d;font-size:11px;line-height:1.65;margin:-4px 2px 0}
.booking-wizard-page .booking-wa-error{grid-column:1/-1}
@media(max-width:600px){.booking-wizard-page .booking-account-gate{padding:16px}.booking-wizard-page .booking-account-gate-actions a{width:100%}}


/* 2026-10-18 | Booking actions: strong text contrast across language and steps.
   A parent live-bar span rule previously muted the label inside its save button. */
.booking-wizard-page .booking-live-bar button,
.booking-wizard-page .booking-form-actions .booking-next,
.booking-wizard-page .customer-review-form .booking-next,
.booking-wizard-page .checkout-confirm {
  background:#eaa87f!important;
  border:1px solid #d99569!important;
  color:#24211e!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-shadow:none!important;
  opacity:1!important;
  box-shadow:0 10px 26px rgba(80,44,30,.13)!important;
}
.booking-wizard-page .booking-live-bar button>span,
.booking-wizard-page .booking-form-actions .booking-next>span,
.booking-wizard-page .customer-review-form .booking-next>span,
.booking-wizard-page .checkout-confirm>span {
  color:#24211e!important;
  font-size:inherit!important;
  font-weight:750!important;
  opacity:1!important;
  visibility:visible!important;
}
.booking-wizard-page .booking-live-bar button .css-arrow,
.booking-wizard-page .booking-next .css-arrow,
.booking-wizard-page .checkout-confirm .css-arrow{color:#393c2a!important;opacity:1!important}
.booking-wizard-page .booking-live-bar button:not(:disabled):hover,
.booking-wizard-page .booking-next:not(:disabled):hover,
.booking-wizard-page .checkout-confirm:not(:disabled):hover {
  background:#e19b70!important; border-color:#cf875a!important;
}
.booking-wizard-page .booking-live-bar button:focus-visible,
.booking-wizard-page .booking-next:focus-visible,
.booking-wizard-page .checkout-confirm:focus-visible{outline:3px solid #665e44!important;outline-offset:3px!important}
.booking-wizard-page .booking-live-bar button:disabled,
.booking-wizard-page .booking-next:disabled,
.booking-wizard-page .checkout-confirm:disabled{opacity:.65!important;background:#ede4de!important;border-color:#d1c7c1!important;box-shadow:none!important;cursor:not-allowed}
.booking-wizard-page .booking-contact-edit-hint{margin:4px 0 14px;padding:12px 15px;background:#f9f0e9;border-inline-start:3px solid #d99569;border-radius:8px;color:#53453d;font-size:13px;line-height:1.75}
.booking-wizard-page .customer-review-form .field-error{display:block;margin-top:7px;color:#a23535;font-size:12px;line-height:1.5}
@media(max-width:760px){
  .booking-wizard-page .booking-live-bar button,
  .booking-wizard-page .booking-form-actions .booking-next,
  .booking-wizard-page .customer-review-form .booking-next,
  .booking-wizard-page .checkout-confirm{font-size:13px!important;min-height:52px!important}
}


/* Mini's Corner — consistent dropdown chevrons | 2026-10-18
   Pure CSS, no font glyphs, no JavaScript, no extra image file.
   Preserve existing inputs, select colors, borders and layout. */
select:not([multiple]):not([size]) {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23554D49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: 17px 17px !important;
  background-position: right 15px center !important;
  padding-inline-end: 43px !important;
  cursor: pointer;
}
html[dir="rtl"] select:not([multiple]):not([size]) {
  background-position: left 15px center !important;
}
/* Old event select contained a literal V-like character. The select now
   draws exactly one matching icon, so the overlaid glyph must be hidden. */
.booking-select-chevron { display:none !important; }


/* 2026-10-18 | Mini's Corner — footer / About alignment / account readability.
   Presentation-only: no effect on hero video, cart, booking or pricing. */

/* Footer: same physical positions in AR + EN, including iPhone.
   Copyright LEFT; developer credit RIGHT. */
body .footer > small {
  display:flex !important;
  flex-direction:row !important;
  justify-content:space-between !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  column-gap:18px !important;
  row-gap:4px !important;
  width:100% !important;
  min-width:0 !important;
  direction:ltr !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.65 !important;
  color:#554c45 !important;
}
body .footer > small .footer-copyright {
  display:block !important;
  flex:0 1 auto !important;
  font-size:inherit !important;
  white-space:nowrap;
  color:inherit;
}
body .footer > small .footer-credit {
  display:block !important;
  flex:0 0 auto !important;
  margin:0 0 0 auto !important;
  font-size:inherit !important;
  font-weight:500;
  line-height:inherit !important;
  text-align:right !important;
  white-space:nowrap !important;
  color:inherit;
}
body .footer > small .footer-credit a {
  display:inline !important;
  width:auto !important;
  font-size:inherit !important;
  line-height:inherit !important;
  color:inherit;
}
body .footer b {font-size:13.5px !important;line-height:1.5 !important;}
body .footer p,body .footer a {font-size:14px !important;line-height:1.75 !important;}
body.lang-ar .footer p,body.lang-ar .footer a {font-size:14px !important;line-height:1.85 !important;}
/* Restore exact bottom credit link sizing after the general footer text rule. */
body .footer > small .footer-credit a {font-size:inherit !important;}

/* About Us — numbers, headings and descriptions start on the same baseline.
   The former justify-content:flex-end caused 02 to sit lower than 01 and 03. */
body .about-values,body .about-process-grid{align-items:stretch !important;}
body .about-value {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  align-self:stretch !important;
  height:100% !important;
  min-height:218px !important;
  box-sizing:border-box;
}
body .about-value > span {display:block !important;margin:0 !important;font-size:12px !important;line-height:1.5 !important;}
body .about-value > h3 {margin:14px 0 0 !important;font-size:19px !important;line-height:1.4 !important;}
body .about-value > p {margin:10px 0 0 !important;font-size:13.5px !important;line-height:1.65 !important;}
body.lang-ar .about-value > h3 {font-size:18px !important;line-height:1.65 !important;}
body.lang-ar .about-value > p {font-size:14px !important;line-height:1.8 !important;}
body .about-process-grid article {justify-content:flex-start !important;align-items:stretch !important;}
body .about-process-grid article h3 {margin:16px 0 8px !important;}
body .about-process-grid article p {margin:0 !important;}

/* Customer accounts — readable laptop typography across dashboard, lists,
   profile/settings, booking status timeline and quote details (AR + EN). */
body .account-page {font-size:16px;line-height:1.65;}
body .account-page .eyebrow {font-size:12px !important;line-height:1.5 !important;}
body.lang-ar .account-page .eyebrow {font-size:13px !important;letter-spacing:0 !important;}
body .account-hero-copy > p:not(.eyebrow),
body .account-page-head p:not(.eyebrow) {
  font-size:17px !important;line-height:1.75 !important;
  max-width:690px;
  color:#554f49 !important;
}
body.lang-ar .account-hero-copy > p:not(.eyebrow),
body.lang-ar .account-page-head p:not(.eyebrow) {
  font-size:17px !important;line-height:1.85 !important;
}
body .account-hero {min-height:350px;}
body .account-identity strong {font-size:16px !important;}
body .account-identity span {font-size:14px !important;}
body .account-tabs a {font-size:14px !important;line-height:1.4 !important;}
body .account-logout-btn,body .account-small-link {font-size:14px !important;line-height:1.5 !important;}
body .account-stat-grid article > span {font-size:14px !important;}
body .account-stat-grid article > small {font-size:13px !important;line-height:1.5 !important;}
body .account-panel-head h2 {font-size:24px !important;line-height:1.4 !important;}
body.lang-ar .account-panel-head h2 {font-size:22px !important;line-height:1.65 !important;}
body .account-panel-head > a {font-size:13px !important;}
body .account-list b,body .account-record-card h2 {font-size:16px !important;line-height:1.5 !important;}
body .account-list small,body .account-record-meta,body .account-record-top,
body .account-record-total > span {font-size:13.5px !important;line-height:1.6 !important;}
body .account-empty,body .account-empty p {font-size:15px !important;line-height:1.75 !important;}
body .account-plan-card h2 {font-size:28px !important;}
body.lang-ar .account-plan-card h2 {font-size:24px !important;}
body .account-plan-card p {font-size:15px !important;line-height:1.7 !important;}
body .account-detail-head > div > p:last-child {font-size:15px !important;line-height:1.6 !important;}
body .account-back {font-size:14px !important;}
body .account-status {
  min-height:30px !important;
  padding:5px 11px !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  white-space:normal !important;
}
body .account-panel {padding:24px;}
body .account-detail-lines b {font-size:16px !important;line-height:1.5 !important;}
body .account-detail-lines small {font-size:14px !important;line-height:1.5 !important;}
body .account-detail-lines strong {font-size:15px !important;line-height:1.5 !important;}
body .account-summary-card span {font-size:14px !important;line-height:1.5 !important;}
body .account-summary-card b {font-size:15px !important;}
body .account-summary-card .account-summary-total strong {font-size:26px !important;}
body .account-primary-btn,body .account-secondary-btn {
  font-size:14px !important;line-height:1.45 !important;
  min-height:46px;
}
body .account-facts span {font-size:13px !important;line-height:1.5 !important;}
body .account-facts b {font-size:15px !important;line-height:1.6 !important;overflow-wrap:anywhere;}
body .account-progress-track > div {min-width:0;}
body .account-progress-track span {
  display:block !important;
  padding:0 4px;
  font-size:13px !important;
  line-height:1.55 !important;
  overflow-wrap:break-word;
}
body .account-history b {font-size:15px !important;}
body .account-history p {font-size:14px !important;line-height:1.65 !important;}
body .account-history small {font-size:13px !important;}
body .account-payment-list span {font-size:14px !important;}
body .account-payment-list b {font-size:14px !important;}
body .account-change-form textarea,
body .account-request-list p {font-size:15px !important;line-height:1.7 !important;}
body .account-request-list small,body .account-muted {font-size:13.5px !important;line-height:1.7 !important;}
body .account-settings-heading h2 {font-size:clamp(27px,2.5vw,36px) !important;}
body.lang-ar .account-settings-heading h2 {font-size:clamp(24px,2.25vw,32px) !important;line-height:1.6 !important;}
body .account-settings-heading > p,
body .account-settings-card-head p:not(.eyebrow) {
  font-size:15px !important;line-height:1.8 !important;
  color:#62594f !important;
}
body .account-settings-card-head h3 {font-size:22px !important;line-height:1.4 !important;}
body.lang-ar .account-settings-card-head h3 {font-size:21px !important;line-height:1.6 !important;}
body .account-settings-form label > span,
body .account-settings-label > span {font-size:13px !important;line-height:1.5 !important;}
body .account-settings-form input,body .account-settings-label input,
body .account-auth-form input {font-size:16px !important;line-height:1.5 !important;}
body .account-settings-note {font-size:13px !important;line-height:1.65 !important;}
body .account-saved-addresses-head > b {font-size:16px !important;}
body .account-saved-addresses-head > small {font-size:13px !important;line-height:1.65 !important;}
body .account-address-title b,body .account-address-item p {font-size:14px !important;line-height:1.65 !important;}
body .account-address-title span,body .account-address-item a {font-size:12.5px !important;}
body .account-address-actions button {font-size:13.5px !important;min-height:40px;}
/* Signup/login screens belong to the same customer experience. */
body .account-auth-form label > span {font-size:13px !important;}
body .account-auth-switch,body .account-alert {font-size:14px !important;line-height:1.6 !important;}
body .account-security-note {font-size:12.5px !important;line-height:1.6 !important;}
body.lang-ar .account-auth-form h2 {font-size:27px !important;}
body .account-auth-form .account-primary-btn,body .account-auth-form .account-secondary-btn {font-size:15px !important;}

@media (max-width:899px) {
  body .account-hero {min-height:0;}
  body .account-panel {padding:20px;}
  body .account-progress-track span {font-size:13px !important;}
}
@media (max-width:767px) {
  body .footer > small {font-size:12.5px !important;}
  body .footer b {font-size:13.5px !important;}
  body .footer p,body .footer a,
  body.lang-ar .footer p,body.lang-ar .footer a {font-size:13.5px !important;}
  body .footer > small .footer-credit a {font-size:inherit !important;}
  body .about-value {height:auto !important;min-height:158px !important;}
  body .about-value > h3 {font-size:18px !important;}
  body .about-value > p {font-size:13.5px !important;}
  body.lang-ar .about-value > h3 {font-size:18px !important;}
  body.lang-ar .about-value > p {font-size:14px !important;}
  body .account-hero-copy > p:not(.eyebrow),
  body .account-page-head p:not(.eyebrow),
  body.lang-ar .account-hero-copy > p:not(.eyebrow),
  body.lang-ar .account-page-head p:not(.eyebrow) {font-size:15.5px !important;line-height:1.8 !important;}
  body .account-page {font-size:15px;}
  body .account-tabs a {font-size:13px !important;}
  body .account-panel-head h2 {font-size:21px !important;}
  body.lang-ar .account-panel-head h2 {font-size:20px !important;}
  body .account-facts span {font-size:12.5px !important;}
  body .account-facts b {font-size:14px !important;}
  body .account-progress-track span {font-size:13px !important;}
  body .account-detail-lines b {font-size:15px !important;}
  body .account-detail-lines small {font-size:13px !important;}
  body .account-detail-lines strong {font-size:14px !important;}
  body .account-summary-card span {font-size:13.5px !important;}
  body .account-settings-card-head h3,
  body.lang-ar .account-settings-card-head h3 {font-size:20px !important;}
}
@media (max-width:420px) {
  body .footer > small {font-size:13px !important;gap:8px !important;}
  body .footer > small .footer-copyright {white-space:normal;}
  body .account-progress-track span {font-size:13px !important;}
}
@media (max-width:350px) {
  body .footer > small {font-size:12px !important;}
}


/* 2026-10-18 | EN mobile footer: natural regular developer credit.
   Scope: English mobile only; Arabic and laptop retain the existing styling. */
@media (max-width: 767px) {
  html[lang="en"] body .footer > small .footer-credit,
  body.lang-en .footer > small .footer-credit {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
  html[lang="en"] body .footer > small .footer-credit a,
  body.lang-en .footer > small .footer-credit a {
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: inherit !important;
  }
}

/* Mini's Corner · 2026-10-18 · Mobile typography readability follow-up.
   Scoped to mobile, AR + EN. Leaves approved Hero, header, booking logic, PDFs,
   desktop account text, About step baseline and footer credit untouched. */
@media (max-width: 767px) {
  /* About: intro, body, closing and process explanations. */
  body .public-hero-copy > p:not(.eyebrow),
  body.lang-ar .public-hero-copy > p:not(.eyebrow),
  body .public-copy > p,
  body.lang-ar .public-copy > p,
  body .public-section-title > p:not(.eyebrow),
  body.lang-ar .public-section-title > p:not(.eyebrow),
  body .about-extras-heading > p:last-child {
    font-size: 15px !important;
    line-height: 1.85 !important;
    overflow-wrap: break-word;
  }
  body .about-service-tile p,
  body .about-process-grid article p {font-size:14px !important;line-height:1.75 !important;}
  body.lang-ar .about-service-tile p,
  body.lang-ar .about-process-grid article p {font-size:14px !important;line-height:1.9 !important;}
  /* Previously fixed: three About values share the same number/title/body baseline.
     Keep the earlier layout; don't override alignment/height with another stagger. */

  /* Home: keep existing editorial cards and journey, fix unreadable microcopy. */
  body.page-index .flow-step > p,
  body.page-index .flow-step.is-active > p,
  body.page-index.lang-ar .flow-step > p {
    font-size:14px !important;line-height:1.8 !important;
  }
  body .home-gallery-head > p,
  body .home-reviews .home-reviews-head > p,
  body.lang-ar .home-gallery-head > p,
  body.lang-ar .home-reviews .home-reviews-head > p {
    font-size:14px !important;line-height:1.75 !important;
  }
  body .home-reviews .review-story-copy blockquote,
  body.lang-ar .home-reviews .review-story-copy blockquote {
    font-size:13.5px !important;line-height:1.75 !important;
  }
  body .home-reviews .review-story-person small,
  body .home-reviews .review-story-journey > span,
  body .home-reviews .voice-review-meta p,
  body .home-reviews .voice-review-time {font-size:11.5px !important;line-height:1.55 !important;}
  body .home-reviews .voice-review-meta b {font-size:13px !important;}
  body .home-reviews .voice-review-foot span {font-size:10.5px !important;}

  /* Menu: category filters, product blurbs, minimums, and price breakdown. */
  body .menu-page-hero-copy > p:not(.eyebrow),
  body.lang-ar .menu-page-hero-copy > p:not(.eyebrow),
  body .menu-catalog-head > p,
  body.lang-ar .menu-catalog-head > p,
  body .menu-bottom-cta-copy > p:not(.eyebrow),
  body.lang-ar .menu-bottom-cta-copy > p:not(.eyebrow) {
    font-size:15px !important;line-height:1.75 !important;
  }
  body .menu-product-meta,body.lang-ar .menu-product-meta {
    font-size:12px !important;line-height:1.45 !important;letter-spacing:0 !important;
    flex-wrap:wrap;gap:5px 10px;
  }
  body .menu-product-body > p,body.lang-ar .menu-product-body > p {
    font-size:14px !important;line-height:1.75 !important;min-height:0 !important;
    overflow-wrap:break-word;
  }
  body .menu-price-list > div,body .menu-price-from,
  body.lang-ar .menu-price-list > div,body.lang-ar .menu-price-from {
    font-size:12.5px !important;line-height:1.5 !important;min-width:0;
  }
  body .menu-price-list b,body .menu-price-from b,
  body.lang-ar .menu-price-list b,body.lang-ar .menu-price-from b {font-size:13px !important;}
  body .menu-filter-summary,body.lang-ar .menu-filter-summary,
  body .menu-category-pill,body.lang-ar .menu-category-pill {
    font-size:12.5px !important;line-height:1.5 !important;
  }
  body .menu-category-pill small {font-size:11.5px !important;}
  body .menu-search input {font-size:16px !important;}
  body .menu-search button,body.lang-ar .menu-search button {font-size:13px !important;}

  /* Product details: unit, minimum, quantity limit and live price information. */
  body .product-detail-description,body.lang-ar .product-detail-description {
    font-size:15px !important;line-height:1.85 !important;
  }
  body .product-minimum,body .product-minimum span,
  body.lang-ar .product-minimum span,
  body .product-tier-note > span,body.lang-ar .product-tier-note > span,
  body .product-quantity-row > div:first-child > small,
  body.lang-ar .product-quantity-row > div:first-child > small {
    font-size:12.5px !important;line-height:1.55 !important;
  }
  body .product-price-option span,body.lang-ar .product-price-option span,
  body .product-quantity-row > div:first-child > span {font-size:14px !important;line-height:1.5 !important;}
  body .product-price-option small,body .product-tier-pills small,
  body.lang-ar .product-tier-pills small,
  body .product-live-price span,body.lang-ar .product-live-price span {
    font-size:12px !important;line-height:1.5 !important;
  }
  body .product-quantity-error,body .cart-line-error {font-size:13px !important;line-height:1.55 !important;}

  /* Event wizard: body text only; never enlarge the approved big headers. */
  body .booking-wizard-page .booking-step-intro > p:not(.eyebrow),
  body .booking-wizard-page .booking-step-hero-copy > p:not(.eyebrow),
  body.lang-ar .booking-wizard-page .booking-step-intro > p:not(.eyebrow),
  body.lang-ar .booking-wizard-page .booking-step-hero-copy > p:not(.eyebrow),
  body .booking-wizard-page .booking-section-heading > p,
  body .booking-wizard-page .booking-catalog-head > p,
  body.lang-ar .booking-wizard-page .booking-section-heading > p,
  body.lang-ar .booking-wizard-page .booking-catalog-head > p {
    font-size:14.5px !important;line-height:1.75 !important;
  }
  body .booking-wizard-page .booking-event-type-head small,
  body.lang-ar .booking-wizard-page .booking-event-type-head small,
  body .booking-wizard-page .booking-field label,
  body.lang-ar .booking-wizard-page .booking-field label {
    font-size:12.5px !important;line-height:1.55 !important;
  }
  body .booking-wizard-page .booking-time-quick button,
  body.lang-ar .booking-wizard-page .booking-time-quick button {
    font-size:12.5px !important;line-height:1.4 !important;min-height:34px;
  }
  body .booking-wizard-page .booking-note-chip {font-size:12px !important;line-height:1.5 !important;}
  body .booking-wizard-page .service-choice-copy p,
  body.lang-ar .booking-wizard-page .service-choice-copy p {
    font-size:13px !important;line-height:1.65 !important;
  }
  body .booking-wizard-page .service-choice-copy b {font-size:13px !important;line-height:1.5 !important;}
  body .booking-wizard-page .booking-item-note,
  body .booking-wizard-page .booking-price-label small,
  body .booking-wizard-page .booking-product-price > small,
  body .booking-wizard-page .booking-product-price > span,
  body .booking-wizard-page .booking-menu-category-title span,
  body .booking-wizard-page .booking-menu-card-media small {
    font-size:12px !important;line-height:1.55 !important;
  }
  body .booking-wizard-page .booking-price-label span,
  body .booking-wizard-page .booking-price-label b,
  body .booking-wizard-page .booking-product-price > b {font-size:13px !important;line-height:1.45 !important;}
  body .booking-wizard-page .review-facts span,
  body .booking-wizard-page .review-line small,
  body .booking-wizard-page .review-line em,
  body .booking-wizard-page .review-summary span,
  body .booking-wizard-page .review-summary-note,
  body .booking-wizard-page .review-map-link {
    font-size:12px !important;line-height:1.6 !important;
  }
  body .booking-wizard-page .review-facts b,
  body .booking-wizard-page .review-line b,
  body .booking-wizard-page .review-line strong,
  body .booking-wizard-page .review-summary b {font-size:13.5px !important;line-height:1.5 !important;}
  body .booking-wizard-page .checkout-card > p:not(.eyebrow),
  body .booking-wizard-page .checkout-mini-list > div,
  body .booking-wizard-page .checkout-summary-card span,
  body .booking-wizard-page .checkout-summary-card > small,
  body .booking-wizard-page .checkout-status-card p {
    font-size:13px !important;line-height:1.65 !important;
  }
  body .booking-wizard-page .customer-review-form label > span,
  body .booking-wizard-page .review-card-head > a,
  body .booking-wizard-page .checkout-edit-link {font-size:13px !important;line-height:1.55 !important;}
  body .booking-wizard-page .customer-review-form input,
  body .booking-wizard-page .booking-search-wrap input,
  body .booking-wizard-page .partner-card-fields input {font-size:16px !important;}
  body .booking-wizard-page .partner-card-fields span {font-size:12px !important;}
  body .booking-wizard-page .booking-live-bar span {font-size:12px !important;line-height:1.4 !important;}
  body .booking-wizard-page .booking-live-bar button {font-size:13.5px !important;}
  /* Existing account description and tracking-size fixes have higher quality
     and remain untouched; this patch contains no account or footer overrides. */
}
/* Very narrow phones: preserve balance in two-column selection and review. */
@media (max-width: 390px) {
  body .booking-wizard-page .review-facts {grid-template-columns:repeat(2,minmax(0,1fr));}
  body .booking-wizard-page .review-facts > div:nth-child(2) {border-inline-end:0;}
  body .booking-wizard-page .review-facts > div {min-width:0;}
  body .booking-wizard-page .booking-event-type-head small {max-width:100%;}
}


body .site-search-action{width:38px;height:38px;display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;color:inherit;border-radius:50%;transition:background .2s ease}
body .site-search-action:hover,body .site-search-action:focus-visible{background:rgba(130,118,97,.14)}
body .site-search-action svg{height:19px;width:19px}
body .mobile-nav .mobile-search-link{font-weight:600}
body .mini-footer-refresh{display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important}
body .mini-footer-refresh .footer-top{display:block!important;max-width:none!important;padding:0 0 25px!important;margin:0!important;border-bottom:1px solid var(--line)!important}
body .mini-footer-refresh .footer-brand{width:100%!important;max-width:none!important;align-items:flex-start!important}
body .mini-footer-refresh .footer-brand .footer-welcome{max-width:700px!important;width:auto!important;white-space:normal!important;line-height:1.72!important;display:block!important;overflow:visible!important}
body .mini-footer-refresh .footer-bottom-links{display:grid!important;direction:ltr!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;max-width:none!important;width:100%!important;padding:27px 0 14px!important;border:0!important}
body .mini-footer-refresh .footer-bottom-links .footer-explore{grid-column:1!important;transform:none!important}
body .mini-footer-refresh .footer-bottom-links .footer-contact{grid-column:2!important}
body .mini-footer-refresh .footer-bottom-links .footer-info{grid-column:3!important}
body.lang-ar .mini-footer-refresh .footer-bottom-links .footer-links{direction:rtl;text-align:right;align-items:flex-end}
body .mini-footer-refresh>small{display:flex!important;justify-content:space-between!important;align-items:center!important;direction:ltr!important;gap:16px!important;width:100%!important;margin-top:10px!important;padding-top:18px!important}
body .mini-footer-refresh>small .footer-copyright{order:0;text-align:left!important;margin:0!important}
body .mini-footer-refresh>small .footer-credit{order:1;text-align:right!important;margin:0!important;margin-inline-start:auto!important}
body .event-types b{font-size:17px!important;line-height:1.45!important}
body.lang-ar .event-types b{font-size:clamp(15px,1.35vw,19px)!important;line-height:1.6!important}
body .about-value{transition:background .23s ease,box-shadow .23s ease,border-color .23s ease,transform .23s ease}
@media(hover:hover){body .about-value:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(33,30,25,.1)}body .about-value:nth-child(3n+1):hover{background:#f6e0dc!important;border-color:#e8b5ad!important}body .about-value:nth-child(3n+2):hover{background:#edf0e0!important;border-color:#b9c29b!important}body .about-value:nth-child(3n):hover{background:#f8e3cc!important;border-color:#e6c19e!important}}
body .events-copy .btn,body .final-copy .btn,body .about-action-link{font-weight:700!important}
body.lang-ar .flow-step p{font-size:clamp(13px,1.05vw,16px)!important;line-height:1.8!important}
.minis-search-page{max-width:1320px;margin:0 auto;padding:clamp(115px,11vw,180px) var(--page-pad) 90px;min-height:68vh}
.minis-search-intro{max-width:830px;margin-bottom:42px}.minis-search-intro h1{font-size:clamp(34px,4.1vw,58px);line-height:1.18;margin:8px 0 14px}.minis-search-intro p:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--muted)}
.minis-search-form{display:flex;gap:10px;margin-top:28px}.minis-search-form input{min-width:0;flex:1;background:#fff;border:1px solid var(--line);padding:16px 19px;border-radius:16px;font-size:16px;color:var(--ink)}.minis-search-form button{border-radius:14px;background:var(--ink);color:#fff;padding:13px 30px;border:0;cursor:pointer;font-weight:700}
.minis-search-group{margin:40px 0}.minis-search-group h2{font-size:24px;margin:0 0 18px}.minis-search-group h2 span{font-size:15px;color:var(--muted)}.minis-search-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.minis-search-result{display:flex;gap:15px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff}.minis-search-result>img{height:66px;width:76px;object-fit:cover;border-radius:10px}.minis-search-result>span:nth-last-child(2){flex:1;min-width:0}.minis-search-result strong,.minis-search-result small{display:block}.minis-search-result strong{font-size:16px}.minis-search-result small{color:var(--muted);font-size:13px;margin-top:5px}.minis-search-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.minis-search-links a{display:flex;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:13px;padding:16px;background:#fff;font-size:16px;font-weight:500}.minis-search-empty{padding:24px;border:1px solid var(--line);border-radius:18px}.minis-search-empty p{font-size:15px}
@media(max-width:899px){body .mini-footer-refresh .footer-brand .footer-welcome{max-width:100%!important}}
@media(max-width:767px){body .site-search-action{height:34px;width:34px}body .site-search-action svg{height:18px;width:18px}body .mini-footer-refresh .footer-bottom-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:'explore info' 'contact contact';gap:22px!important}body .mini-footer-refresh .footer-bottom-links .footer-explore{grid-area:explore;grid-column:auto!important}body .mini-footer-refresh .footer-bottom-links .footer-info{grid-area:info;grid-column:auto!important}body .mini-footer-refresh .footer-bottom-links .footer-contact{grid-area:contact;grid-column:auto!important}body .mini-footer-refresh>small{font-size:12px!important;gap:9px!important}body .mini-footer-refresh>small .footer-copyright,body .mini-footer-refresh>small .footer-credit{font-size:12px!important}body .mini-footer-refresh .footer-brand .footer-welcome{white-space:normal!important}body .event-types b,body.lang-ar .event-types b{font-size:clamp(14px,3.7vw,16px)!important}body .minis-search-page{padding:104px 20px 68px}.minis-search-form{flex-direction:column}.minis-search-form input,.minis-search-form button{width:100%}.minis-search-cards,.minis-search-links{grid-template-columns:1fr}}

.site-header .site-search-action{color:#fff!important}
@media(max-width:899px){body .site-search-action{display:none!important}}


/* Mini’s Corner — compact full-site search overlay; all other page styles remain unchanged */
body .site-header .site-search-action{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;border-radius:50%;color:inherit!important}
body .site-header .site-search-action:focus-visible,body .site-header .site-search-action:hover{background:rgba(190,167,150,.2);outline-offset:2px}
body:not(.page-index):not(.page-gallery):not(.page-menu):not(.page-contact) .site-header .site-search-action{color:#252525!important}
body.page-index .site-header .site-search-action,body.page-menu .site-header .site-search-action,body.page-contact .site-header .site-search-action,body.page-gallery .site-header .site-search-action{color:#fff!important}
body .mobile-nav .mobile-search-link{width:100%;display:flex;align-items:center;gap:12px;min-height:48px;padding:0;background:transparent;border:0;border-bottom:1px solid rgba(37,37,37,.12);color:inherit;font:inherit;font-size:14px;text-align:start;cursor:pointer}
body .mobile-nav .mobile-search-link svg{width:18px;height:18px;flex:0 0 18px}
@media(max-width:899px){body .site-header .site-search-action{display:none!important}}
.minis-search-overlay[hidden]{display:none!important}
.minis-search-overlay{position:fixed!important;inset:0;z-index:20000!important;display:flex;align-items:flex-start;justify-content:center;padding:clamp(22px,7vh,92px) 18px 20px;overscroll-behavior:contain;isolation:isolate}
.minis-search-backdrop{position:absolute;inset:0;cursor:default;border:0;background:rgba(32,27,29,.63);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;transition:opacity .23s ease}
.minis-search-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(88dvh,820px);display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid rgba(84,67,54,.11);border-radius:26px;background:#fffaf6;color:#252525;box-shadow:0 35px 100px rgba(20,17,15,.22);transform:translateY(13px) scale(.985);opacity:0;transition:transform .24s ease,opacity .2s ease;direction:inherit}
.minis-search-overlay.is-open .minis-search-backdrop{opacity:1}
.minis-search-overlay.is-open .minis-search-dialog{transform:translateY(0) scale(1);opacity:1}
.minis-search-dialog-head{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;padding:27px 30px 18px}
.minis-search-kicker{display:block;font-size:11px;letter-spacing:.13em;font-weight:700;color:#a37e75;margin-bottom:9px}
html[lang=ar] .minis-search-kicker{letter-spacing:0;font-size:12px}
.minis-search-dialog-head h2{font-family:inherit;font-weight:700;font-size:clamp(24px,3vw,33px);line-height:1.3;margin:0 0 8px;color:#252525}
.minis-search-dialog-head p{font-size:14px;line-height:1.65;color:#736b65;margin:0}
.minis-search-dismiss{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid #e7ddd6;border-radius:50%;background:#fff;color:#252525;cursor:pointer}
.minis-search-dismiss svg{width:16px;height:16px}
.minis-search-dismiss:hover,.minis-search-dismiss:focus-visible{background:#f7e5dd}
.minis-search-inline-form{position:relative;display:flex;align-items:center;gap:12px;margin:0 30px 6px;padding:0 17px;min-height:64px;border:1px solid #ddcec5;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(51,34,25,.035)}
.minis-search-inline-form:focus-within{border-color:#d3938b;box-shadow:0 0 0 3px rgba(211,147,139,.14)}
.minis-search-inline-form>svg{width:21px;height:21px;flex:0 0 21px;color:#a3877e}
.minis-search-inline-form input[type=search]{appearance:none;-webkit-appearance:none;border:0;outline:none;box-shadow:none;background:none;color:#252525;min-width:0;flex:1;width:100%;height:60px;padding:0;font:inherit;font-size:17px;line-height:1.4;direction:inherit}
.minis-search-inline-form input[type=search]::placeholder{color:#8e8680}
.minis-search-inline-form input::-webkit-search-cancel-button{display:none}
.minis-search-clear{border:0;background:#f3e9e4;color:#4b3d39;border-radius:50%;font-size:23px;line-height:28px;width:30px;height:30px;cursor:pointer}
.minis-search-clear[hidden]{display:none!important}
.minis-search-content{min-height:110px;max-height:min(52dvh,480px);overflow-y:auto;overscroll-behavior:contain;padding:12px 30px 25px;scrollbar-color:#c7b5a9 transparent}
.minis-search-prompt{margin:26px auto;text-align:center;color:#7e756c;font-size:15px;line-height:1.8}
.minis-search-prompt.is-loading{opacity:.7}
.minis-search-hit-group{margin-top:18px}
.minis-search-hit-group h3{color:#86756c;text-transform:none;font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 9px}
.minis-search-hit-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.minis-search-hit{display:flex;gap:11px;align-items:center;min-width:0;padding:11px;border-radius:13px;text-decoration:none;color:#282523;background:#fff;border:1px solid #eee3de;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.minis-search-hit:hover,.minis-search-hit:focus-visible{background:#fdf0e9;border-color:#e3bbad;transform:translateY(-1px)}
.minis-search-thumb,.minis-search-hit-icon{width:51px;height:52px;flex:0 0 51px;border-radius:10px;object-fit:cover;background:#f5e9e4}
.minis-search-hit-icon{display:grid;place-items:center;color:#ae7469;font-size:21px}
.minis-search-hit-words{display:block;flex:1;min-width:0}
.minis-search-hit-words strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.5}
.minis-search-hit-words small{display:block;color:#8b8078;font-size:12px;line-height:1.6;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.minis-search-result-arrow{color:#a17f70;font-size:18px;flex:0 0 auto}
.minis-search-dialog-foot{border-top:1px solid #eee4df;display:flex;justify-content:space-between;align-items:center;padding:12px 30px;color:#978a80;font-size:11px;letter-spacing:.03em}
@media(max-width:767px){.minis-search-overlay{padding:10px 10px 10px;align-items:flex-start}.minis-search-dialog{width:100%;border-radius:19px;max-height:calc(100dvh - 20px)}.minis-search-dialog-head{padding:19px 17px 14px}.minis-search-dialog-head h2{font-size:24px}.minis-search-dialog-head p{font-size:13px}.minis-search-kicker{font-size:10px}.minis-search-inline-form{margin:0 17px 5px;min-height:56px;padding:0 13px}.minis-search-inline-form input[type=search]{font-size:16px;height:54px}.minis-search-content{padding:8px 17px 16px;max-height:calc(100dvh - 255px)}.minis-search-hit-list{grid-template-columns:1fr}.minis-search-hit{padding:10px}.minis-search-dialog-foot{padding:10px 17px}.minis-search-prompt{margin:18px 0}.minis-search-dialog-head h2{line-height:1.3}}
@media(prefers-reduced-motion:reduce){.minis-search-backdrop,.minis-search-dialog,.minis-search-hit{transition:none!important;transform:none!important}}


body .site-header .site-search-action{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;order:0;min-width:36px;min-height:36px;color:inherit!important}
body .site-header .site-search-action svg{width:19px;height:19px;max-width:none}
body .minis-search-overlay[hidden]{display:none!important}
body .minis-search-overlay{position:fixed!important;inset:0!important;display:block!important;padding:0!important;z-index:20100!important;isolation:isolate;overscroll-behavior:contain;pointer-events:auto}
body .minis-search-overlay .minis-search-backdrop{position:absolute;inset:0;background:rgba(28,24,21,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
body .minis-search-overlay .minis-search-dialog{position:absolute;inset-block:0;inset-inline-end:0;inset-inline-start:auto;z-index:1;width:min(470px,100vw);max-width:100vw;height:100%;height:100dvh;max-height:none;min-height:0;margin:0;display:flex;flex-direction:column;border:0;border-inline-start:1px solid #e9e1da;border-radius:0;background:#fffaf7;box-shadow:-22px 0 60px rgba(26,22,19,.17);transform:translateX(103%);opacity:1;transition:transform .3s ease;direction:inherit}
body.lang-ar .minis-search-overlay .minis-search-dialog{inset-inline-end:0;inset-inline-start:auto;transform:translateX(-103%);box-shadow:22px 0 60px rgba(26,22,19,.17)}
body .minis-search-overlay.is-open .minis-search-dialog,body.lang-ar .minis-search-overlay.is-open .minis-search-dialog{transform:translateX(0)!important;opacity:1!important}
body .minis-search-overlay .minis-search-dialog-head{padding:23px 23px 19px;border-bottom:1px solid #eee3dc;align-items:flex-start}
body .minis-search-overlay .minis-search-dialog-head h2{font-size:clamp(23px,2.8vw,29px)}
body .minis-search-overlay .minis-search-dialog-head p{font-size:13px}
body .minis-search-overlay .minis-search-inline-form{margin:18px 22px 5px;min-height:58px}
body .minis-search-overlay .minis-search-inline-form input[type=search]{height:56px;font-size:16px}
body .minis-search-overlay .minis-search-content{min-height:0;max-height:none;overflow-y:auto;flex:1;padding:13px 22px 26px}
body .minis-search-overlay .minis-search-hit-list{grid-template-columns:1fr}
body .minis-search-overlay .minis-search-dialog-foot{margin-top:auto;padding:14px 22px;padding-bottom:max(14px,env(safe-area-inset-bottom));font-size:11px}
@media(max-width:899px){
  body .site-header .site-search-action{display:inline-flex!important;width:34px;height:34px;min-width:34px;min-height:34px;padding:0!important;background:rgba(255,255,255,.14);border-radius:50%;color:inherit!important}
  body .site-header .actions{gap:clamp(5px,1.3vw,9px)}
  body .site-header .site-search-action svg{width:18px;height:18px}
}
@media(max-width:767px){
  body .minis-search-overlay .minis-search-dialog{width:100vw;max-width:100vw;border-radius:0;max-height:none;height:100%;height:100dvh}
  body .minis-search-overlay .minis-search-dialog-head{padding:22px 18px 16px}
  body .minis-search-overlay .minis-search-dialog-head h2{font-size:25px}
  body .minis-search-overlay .minis-search-dialog-head p{font-size:13px}
  body .minis-search-overlay .minis-search-inline-form{margin:17px 18px 6px}
  body .minis-search-overlay .minis-search-content{max-height:none;padding:12px 18px 20px}
  body .minis-search-overlay .minis-search-dialog-foot{padding:13px 18px;padding-bottom:max(13px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){body .minis-search-overlay .minis-search-dialog{transition:none!important}}
