/* Shanasheel premium menu — page-specific, dependency-free and performance-minded. */
.menu-premium { --menu-gold:#d6ad52; --menu-gold-light:#f0d07b; --menu-line:rgba(214,173,82,.25); background:#080908; }
.menu-premium [hidden] { display:none!important; }
.menu-svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.menu-premium svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.menu-premium .menu-hero { min-height:665px; display:block; padding:0 0 35px; background-color:#070807; background-image:linear-gradient(90deg,rgba(5,6,5,.05) 0%,rgba(5,6,5,.15) 42%,rgba(5,6,5,.9) 73%,#060706 100%),linear-gradient(0deg,#080908 0%,transparent 22%),url('/assets/images/dish-mixed-grill-v1.webp'); background-position:center,center,center 52%; background-size:cover; }
.menu-premium .menu-hero::before { background:radial-gradient(circle at 78% 44%,rgba(214,173,82,.08),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.12),transparent 45%,rgba(0,0,0,.12)); }
.menu-premium .menu-hero::after { width:47%; opacity:.022; }
.menu-premium .menu-hero__inner { width:min(calc(100% - 80px),1540px); min-height:550px; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:40px 0 8px; text-align:right; }
.menu-premium .menu-hero__content { grid-column:1; width:min(100%,540px); justify-self:start; }
.menu-hero__eyebrow { display:flex; align-items:center; justify-content:flex-start; gap:11px; margin:0 0 17px; color:var(--menu-gold-light); font:600 .75rem/1.6 var(--font-body); }
.menu-hero__eyebrow span { width:34px; height:1px; background:linear-gradient(90deg,transparent,var(--menu-gold)); }
.menu-hero__eyebrow span:last-child { background:linear-gradient(90deg,var(--menu-gold),transparent); }
.menu-premium .menu-hero h1 { max-width:540px; color:#fffaf1; font-size:clamp(2.85rem,4vw,4.45rem); line-height:1.32; white-space:normal; }
.menu-premium .menu-hero h1 em { display:block; color:var(--menu-gold-light); }
.menu-premium .menu-hero__lead { max-width:490px!important; margin:13px 0 0!important; color:#bdb5aa!important; font-size:.82rem!important; line-height:2!important; }
.menu-hero__actions { display:flex; align-items:center; gap:14px; margin-top:30px; }
.menu-hero__primary,.menu-hero__secondary { min-width:196px; min-height:58px; display:inline-flex; align-items:center; justify-content:center; gap:27px; padding:0 25px; border:1px solid var(--menu-gold); border-radius:10px; font:700 .84rem var(--font-body); transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease; }
.menu-hero__primary { background:linear-gradient(135deg,#f0cf79,#bd8e33); color:#090909; box-shadow:0 14px 34px rgba(192,143,46,.2); }
.menu-hero__secondary { background:rgba(8,9,8,.63); color:#eee5d7; backdrop-filter:blur(4px); }
.menu-hero__primary b,.menu-hero__secondary b { width:23px; height:23px; display:grid; place-items:center; flex:none; }
.menu-hero__primary b svg,.menu-hero__secondary b svg { width:19px; height:19px; stroke-width:2.2; }
.menu-hero__primary b { color:#090909; }.menu-hero__secondary b { color:var(--menu-gold-light); }
.menu-hero__primary:hover,.menu-hero__secondary:hover { transform:translateY(-2px); box-shadow:0 17px 38px rgba(192,143,46,.27); }
.menu-premium .menu-hero__facts { justify-content:flex-start; gap:12px; margin-top:24px; }
.menu-premium .menu-hero__facts span { min-height:49px; display:flex; align-items:center; gap:10px; padding:0 18px; border:1px solid rgba(218,185,110,.2); border-radius:99px; background:rgba(6,7,6,.62); color:#c9c0b4; font-size:.65rem; }
.menu-premium .menu-hero__facts svg { color:var(--menu-gold); }
.menu-fact-icon { position:relative; width:18px; height:18px; display:inline-block; color:var(--menu-gold); }
.menu-fact-icon::before { content:""; position:absolute; inset:3px; border:1.5px solid currentColor; border-radius:50% 50% 45% 45%; }
.menu-fact-icon--leaf::before { border-radius:90% 0 90% 0; transform:rotate(-25deg); }
.menu-fact-icon--bag::before { inset:5px 2px 1px; border-radius:2px; }
.menu-fact-icon--bag::after { content:""; position:absolute; top:1px; right:5px; width:7px; height:7px; border:1.5px solid currentColor; border-bottom:0; border-radius:8px 8px 0 0; }
.menu-hero__categories { position:relative; z-index:4; width:min(calc(100% - 140px),1420px); min-height:88px; display:flex; align-items:center; justify-content:center; overflow-x:auto; padding:9px 20px; border:1px solid rgba(218,185,110,.31); border-radius:26px 26px 8px 8px; background:linear-gradient(115deg,rgba(17,17,15,.98),rgba(9,10,9,.98)); box-shadow:0 25px 60px rgba(0,0,0,.4); scrollbar-width:none; }
.menu-hero__categories::-webkit-scrollbar { display:none; }
.menu-hero__categories button { min-width:max-content; min-height:58px; display:flex; align-items:center; justify-content:center; gap:13px; padding:0 clamp(19px,2.35vw,34px); border:0; border-inline-end:1px solid rgba(214,173,82,.2); background:transparent; color:#bdb4a8; font:600 .77rem var(--font-body); cursor:pointer; transition:color .16s ease,background-color .16s ease; }
.menu-hero__categories button:last-child { border-inline-end:0; }
.menu-hero__categories button svg { width:25px; height:25px; color:#a89f91; stroke-width:1.45; transition:color .16s ease,transform .16s ease; }
.menu-hero__categories button:hover { color:#eee5d7; background:rgba(214,173,82,.035); }.menu-hero__categories button:hover svg { color:var(--menu-gold-light); transform:translateY(-1px); }
.menu-hero__categories button.is-active { color:var(--menu-gold-light); }
.menu-hero__categories button.is-active svg { color:var(--menu-gold-light); stroke-width:1.8; }
.menu-hero__categories button.is-active::after { content:""; position:absolute; bottom:0; width:70px; height:2px; background:var(--menu-gold-light); box-shadow:0 0 15px var(--menu-gold); }

.menu-premium .menu-catalog { padding:54px 0 92px; background:radial-gradient(circle at 75% 8%,rgba(214,173,82,.04),transparent 25%),#080908; }
.menu-premium .menu-catalog > .container { width:min(calc(100% - 80px),1540px); }
.menu-control-row { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:center; gap:34px; margin-bottom:18px; }
.menu-catalog__intro { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:28px; }
.menu-catalog__intro > div > p { margin:0 0 7px; color:var(--menu-gold); font-size:.67rem; }
.menu-catalog__intro h2 { margin:0; color:#f5ede2; font:600 clamp(1.7rem,2.7vw,2.65rem)/1.5 var(--font-display); }
.menu-catalog__intro h2 em { color:var(--menu-gold-light); font-style:normal; }
.menu-results-summary { display:flex; align-items:center; gap:13px; }
.menu-results-summary__icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid var(--menu-line); border-radius:50%; color:var(--menu-gold); background:rgba(214,173,82,.04); }
.menu-results-summary p { display:flex; flex-direction:column; gap:4px; margin:0; color:#eee5d9; font-size:.78rem; }
.menu-results-summary strong { color:var(--menu-gold-light); font-size:1rem; }
.menu-results-summary small { color:#766f66; font-size:.58rem; }
.menu-premium .menu-toolbar { display:grid; grid-template-columns:minmax(390px,1fr) 190px 230px; gap:18px; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.menu-premium .menu-search { min-height:58px; border-color:rgba(214,173,82,.28); border-radius:12px; background:#0d0e0d; }
.menu-premium .menu-search input { font-size:.78rem; }
.menu-search__svg { flex:none; color:var(--menu-gold); }
.menu-premium .menu-check { min-height:58px; padding:0 18px; border:1px solid rgba(214,173,82,.2); border-radius:12px; background:#0d0e0d; }
.menu-premium .menu-check b { color:#bcb3a7; font-size:.69rem; }
.menu-premium .menu-check i { color:#6d9e55; font-style:normal; }
.menu-premium .menu-sort select { width:230px; height:58px; border-color:rgba(214,173,82,.28); border-radius:12px; }
.menu-premium .menu-categories--catalog { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.menu-premium .menu-categories--catalog button { min-height:54px; display:flex; align-items:center; justify-content:center; gap:11px; border:1px solid rgba(214,173,82,.2); border-radius:11px; background:#0d0e0d; font-size:.72rem; }
.menu-premium .menu-categories--catalog button.is-active { border-color:var(--menu-gold-light); background:linear-gradient(135deg,#efd078,#bd8d32); box-shadow:0 8px 22px rgba(190,143,51,.2); }
.menu-premium .menu-categories--catalog button svg { width:22px; height:22px; stroke-width:1.55; }
.menu-premium .menu-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.menu-premium .menu-card { grid-column:auto; display:grid; grid-template-columns:.95fr 1.05fr; min-height:220px; border-color:rgba(214,173,82,.24); border-radius:12px; background:#0d0e0d; box-shadow:0 15px 35px rgba(0,0,0,.18); }
.menu-premium .menu-card:hover { transform:translateY(-3px); border-color:rgba(239,207,125,.58); }
.menu-premium .menu-card--wide { grid-column:span 2; grid-template-columns:1fr 1fr; min-height:285px; }
.menu-premium .menu-card__media { min-height:220px; order:2; }
.menu-premium .menu-card--wide .menu-card__media { min-height:285px; }
.menu-premium .menu-card__media::after { background:linear-gradient(180deg,transparent 58%,rgba(5,5,5,.42)); }
.menu-premium .menu-card__media img { filter:saturate(.92) contrast(1.06) brightness(.83); }
.menu-premium .menu-card__media > span { top:14px; right:14px; display:flex; align-items:center; gap:6px; border:0; border-radius:7px; background:linear-gradient(135deg,#f0d17d,#bd8c30); color:#090909; font-size:.54rem; font-weight:700; }
.menu-premium .menu-card__media > span svg { width:14px; height:14px; }
.menu-premium .menu-card__body { min-width:0; min-height:220px; padding:19px 20px; order:1; }
.menu-premium .menu-card--wide .menu-card__body { min-height:285px; justify-content:center; padding:25px; }
.menu-premium .menu-card h3 { font-size:.98rem; }
.menu-premium .menu-card--wide h3 { font-size:1.32rem; }
.menu-premium .menu-card__top { gap:7px; }.menu-premium .menu-card__top span svg { width:15px; height:15px; color:#8e877c; }
.menu-premium .menu-card__description { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.7em; }
.menu-premium .menu-card__body footer { align-items:flex-start; flex-direction:column; gap:10px; padding-top:13px; }
.menu-premium .menu-card__price { width:100%; justify-content:flex-start; }
.menu-premium .menu-add-button { position:relative; min-width:142px; min-height:42px; align-self:flex-start; justify-content:center; padding:0 42px 0 16px; border:1px solid rgba(255,232,166,.28); border-radius:8px; background:linear-gradient(135deg,#f0cf72,#c59434); color:#080808; box-shadow:0 8px 20px rgba(190,141,46,.18); font-size:.68rem; font-weight:800; white-space:nowrap; }
.menu-premium .menu-add-button span { width:100%; color:#080808; font-weight:800; text-align:center; white-space:nowrap; }
.menu-premium .menu-add-button b { position:absolute; inset-inline-start:13px; top:50%; width:21px; height:21px; display:grid; place-items:center; background:transparent; color:#080808; transform:translateY(-50%); }.menu-premium .menu-add-button b svg { width:20px; height:20px; stroke-width:2.5; }
.menu-quality-strip { min-height:62px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; margin-top:20px; border:1px solid rgba(214,173,82,.2); border-radius:10px; color:#948c81; font-size:.68rem; }
.menu-quality-strip span { display:flex; align-items:center; justify-content:center; gap:10px; }
.menu-quality-strip svg { color:var(--menu-gold); }

@media (max-width:1100px) {
  .menu-premium .menu-hero__inner { grid-template-columns:.88fr 1.12fr; }
  .menu-control-row { grid-template-columns:1fr; }.menu-premium .menu-toolbar { grid-template-columns:1fr auto; }.menu-premium .menu-sort { grid-column:1/-1; }.menu-premium .menu-sort select { width:100%; }
  .menu-premium .menu-categories--catalog { grid-template-columns:repeat(3,1fr); }
  .menu-premium .menu-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .menu-premium .menu-hero { min-height:auto; padding-bottom:24px; background-image:linear-gradient(180deg,rgba(5,6,5,.15) 0%,rgba(5,6,5,.92) 68%,#080908 100%),url('/assets/images/dish-mixed-grill-v1.webp'); background-position:center; }
  .menu-premium .menu-hero__inner { min-height:570px; display:flex; align-items:center; justify-content:flex-end; padding:210px 0 28px; text-align:center; }
  .menu-premium .menu-hero__content { width:100%; }.menu-hero__eyebrow,.menu-premium .menu-hero__facts,.menu-hero__actions { justify-content:center; }
  .menu-premium .menu-hero h1 { margin-inline:auto; font-size:2.7rem; }.menu-premium .menu-hero__lead { margin-inline:auto!important; }
  .menu-hero__categories { width:min(calc(100% - 28px),var(--container)); justify-content:flex-start; border-radius:18px; }
  .menu-catalog__intro { align-items:flex-start; flex-direction:column; }.menu-results-summary { align-self:stretch; }
  .menu-premium .menu-toolbar { display:flex; flex-direction:column; }.menu-premium .menu-check { justify-content:center; }
  .menu-premium .menu-categories--catalog { display:flex; justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }.menu-premium .menu-categories--catalog button { min-width:145px; }
  .menu-premium .menu-catalog > .container { width:min(calc(100% - 28px),var(--container)); }.menu-premium .menu-grid { grid-template-columns:1fr; }.menu-premium .menu-card--wide { grid-column:auto; min-height:240px; }
  .menu-premium .menu-card--wide .menu-card__media { min-height:240px; }.menu-premium .menu-card--wide .menu-card__body { min-height:240px; padding:21px; }
  .menu-quality-strip { grid-template-columns:repeat(2,1fr); gap:20px 8px; padding:18px 8px; }
}
@media (max-width:480px) {
  .menu-premium .menu-hero h1 { font-size:2.25rem; }.menu-hero__actions { flex-direction:column; }.menu-hero__primary,.menu-hero__secondary { width:100%; }
  .menu-premium .menu-hero__facts { gap:7px; }.menu-premium .menu-hero__facts span { min-height:44px; padding:0 11px; font-size:.58rem; }
  .menu-premium .menu-card,.menu-premium .menu-card--wide { display:flex; min-height:0; }.menu-premium .menu-card__media,.menu-premium .menu-card--wide .menu-card__media { min-height:235px; }.menu-premium .menu-card__body,.menu-premium .menu-card--wide .menu-card__body { min-height:220px; }
  .menu-quality-strip { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .menu-premium .menu-card,.menu-premium .menu-card__media img,.menu-hero__primary,.menu-hero__secondary { transition:none; }
}
