:root{
  --bg:#11100e;
  --bg-2:#171511;
  --panel:#1d1a16;
  --panel-soft:#242019;
  --gold:#c68a3e;
  --gold-2:#e8bf77;
  --cream:#f6e5c4;
  --muted:#b5aa99;
  --line:rgba(198,138,62,.28);
  --line-soft:rgba(255,255,255,.08);
  --shadow:0 24px 70px rgba(0,0,0,.5);
  --radius:22px;
  --container:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Vazirmatn","IRANSans",Tahoma,sans-serif;
  background:radial-gradient(circle at top right,rgba(198,138,62,.08),transparent 34%),var(--bg);
  color:var(--cream);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.center{text-align:center}

/* ===== Premium page loader ===== */
.page-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 18% 18%,rgba(232,191,119,.16),transparent 28%),
    radial-gradient(circle at 82% 78%,rgba(198,138,62,.12),transparent 32%),
    linear-gradient(145deg,#070604,#15110d 58%,#090806);
  transition:opacity .55s ease,visibility .55s ease;
}
.page-loader::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(232,191,119,.08);
  border-radius:34px;
  pointer-events:none;
}
.page-loader::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.28));
  pointer-events:none;
}
.page-loader.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.page-loader__card{
  position:relative;
  z-index:1;
  width:min(360px,100%);
  display:grid;
  justify-items:center;
  gap:18px;
  padding:34px 28px 30px;
  border:1px solid rgba(232,191,119,.22);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.028));
  box-shadow:0 32px 85px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.10);
  overflow:hidden;
  isolation:isolate;
}
.page-loader__card::before{
  content:"";
  position:absolute;
  inset:-45% -28%;
  z-index:-1;
  background:conic-gradient(from 120deg,transparent,rgba(232,191,119,.22),transparent 34%);
  animation:loaderAura 4.8s linear infinite;
}
.page-loader__card::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:29px;
  background:linear-gradient(145deg,rgba(18,15,11,.96),rgba(10,9,7,.92));
}
.page-loader__emblem{
  position:relative;
  width:118px;
  height:118px;
  display:grid;
  place-items:center;
}
.page-loader__ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(232,191,119,.35);
  box-shadow:0 0 42px rgba(198,138,62,.18);
}
.page-loader__ring--outer{
  border-top-color:var(--gold-2);
  border-left-color:transparent;
  animation:loaderSpin 1.35s linear infinite;
}
.page-loader__ring--inner{
  inset:16px;
  border-right-color:var(--gold);
  border-bottom-color:transparent;
  animation:loaderSpinReverse 1.9s linear infinite;
}
.page-loader__letter{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:linear-gradient(145deg,#f8dfac,#c68a3e 58%,#8a5a24);
  color:#130d07;
  font-size:34px;
  font-weight:1000;
  box-shadow:0 18px 46px rgba(198,138,62,.30),inset 0 1px 0 rgba(255,255,255,.45);
  transform:rotate(45deg);
}
.page-loader__letter span{display:block;transform:rotate(-45deg)}
.page-loader__copy{
  display:grid;
  justify-items:center;
  gap:6px;
  text-align:center;
}
.page-loader__copy strong{
  color:#fff;
  font-size:22px;
  font-weight:1000;
  letter-spacing:-.4px;
}
.page-loader__copy span{
  color:#d8ccb8;
  font-size:13px;
  font-weight:700;
}
.page-loader__bar{
  width:100%;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.page-loader__bar span{
  display:block;
  width:45%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,transparent,var(--gold-2),var(--gold),transparent);
  animation:loaderBar 1.35s ease-in-out infinite;
}
@keyframes loaderSpin{to{transform:rotate(360deg)}}
@keyframes loaderSpinReverse{to{transform:rotate(-360deg)}}
@keyframes loaderAura{to{transform:rotate(360deg)}}
@keyframes loaderBar{0%{transform:translateX(140%)}100%{transform:translateX(-240%)}}
@media(prefers-reduced-motion:reduce){
  .page-loader__card::before,.page-loader__ring,.page-loader__bar span{animation:none}
}
@media(max-width:480px){
  .page-loader{padding:18px}
  .page-loader::before{inset:10px;border-radius:24px}
  .page-loader__card{padding:28px 20px 24px;border-radius:26px}
  .page-loader__emblem{width:104px;height:104px}
}

.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(14,13,11,.82);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-soft);
}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;color:var(--gold-2);min-width:max-content}
.brand-kicker{font-size:14px;font-weight:500;color:var(--gold)}
.brand strong{font-size:27px;font-weight:900;letter-spacing:-.8px}
.main-nav{display:flex;align-items:center;gap:34px;margin-inline:auto}
.main-nav a{font-weight:700;font-size:14px;color:#fff;opacity:.92;position:relative;padding-block:28px;transition:.25s ease}
.main-nav a::after{content:"";position:absolute;right:0;left:0;bottom:18px;height:2px;background:var(--gold);transform:scaleX(0);transition:.25s ease;transform-origin:center}
.main-nav a:hover,.main-nav a.active{color:var(--gold-2);opacity:1}
.main-nav a.active::after,.main-nav a:hover::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:10px;direction:ltr}
.social,.icon-btn{
  width:39px;height:39px;border:1px solid var(--line);border-radius:50%;
  display:grid;place-items:center;color:var(--gold-2);background:rgba(198,138,62,.05);transition:.25s ease;
}
.social:hover,.icon-btn:hover{background:var(--gold);color:#15110d;transform:translateY(-2px)}
.social svg,.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cart-btn{position:relative;border:0;background:rgba(198,138,62,.13)}
.cart-count{position:absolute;top:-4px;right:-3px;min-width:18px;height:18px;border-radius:999px;background:var(--gold);color:#120f0c;font-size:11px;font-weight:900;display:grid;place-items:center;border:1px solid #12100d}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:rgba(198,138,62,.04);border-radius:12px;padding:9px}
.menu-toggle span{display:block;height:2px;background:var(--gold-2);margin:5px 0;border-radius:4px}

.hero{padding-top:78px;position:relative;overflow:hidden;background:#0d0c0a;border-bottom:1px solid rgba(198,138,62,.12)}
.hero-grid{display:grid;grid-template-columns:48% 52%;min-height:690px;direction:ltr}
.hero-copy{position:relative;display:flex;align-items:center;justify-content:center;direction:rtl;background:
  radial-gradient(circle at 18% 36%,rgba(198,138,62,.14),transparent 24%),
  linear-gradient(90deg,rgba(9,8,7,.94),rgba(13,11,9,.98));border-right:1px solid rgba(198,138,62,.08)}
.hero-copy::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.22));pointer-events:none}
.hero-copy-inner{position:relative;z-index:1;max-width:560px;width:100%;padding:112px 78px 84px 52px;text-align:center}
.hero-copy-ghost{position:absolute;left:-2%;top:0;bottom:0;width:42%;background:url("../img/hero-shadow-arch.webp") left center/cover no-repeat;opacity:.28;mix-blend-mode:screen;pointer-events:none;filter:brightness(.8)}
.hero-visual{position:relative;min-height:690px;background:
  linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.2)),
  url("../img/hero-doorway.webp") center center/cover no-repeat}
.hero-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,11,9,.18),rgba(12,11,9,.03) 24%,rgba(12,11,9,0) 42%)}
.hero-visual::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 58% 34%,rgba(228,165,78,.15),transparent 24%),linear-gradient(180deg,transparent,rgba(0,0,0,.14) 92%)}
.hero-visual-frame{position:absolute;inset:0;border-left:1px solid rgba(198,138,62,.08)}
.eyebrow{display:block;color:var(--gold);font-size:25px;font-weight:800;margin-bottom:14px}
h1,.hero-title{margin:0;color:#f2cf8f;font-size:clamp(40px,5.1vw,72px);line-height:1.2;font-weight:900;letter-spacing:-1.6px;text-shadow:0 8px 28px rgba(0,0,0,.55)}
.hero-title span{display:block;white-space:nowrap}
.ornament{display:flex;align-items:center;justify-content:center;margin:26px auto 22px;width:min(360px,84%);color:var(--gold)}
.ornament::before,.ornament::after{content:"";height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);flex:1;opacity:.75}
.ornament span{width:32px;height:12px;margin-inline:12px;position:relative;display:inline-block}
.ornament span::before,.ornament span::after{content:"";position:absolute;inset:2px 10px;border:1px solid var(--gold);transform:rotate(45deg)}
.ornament span::after{inset:2px 6px;opacity:.45}
.ornament.small{width:220px;margin:18px 0 0 auto}
.hero p{font-size:16px;line-height:2.1;color:#d7cebf;max-width:430px;margin:0 auto 34px}
.hero-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;direction:ltr}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:4px;padding:14px 34px;font-weight:800;border:1px solid transparent;transition:.25s ease;min-height:52px}
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn-primary{background:linear-gradient(135deg,var(--gold),#b27632);color:#17110a;box-shadow:0 14px 30px rgba(198,138,62,.22)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(198,138,62,.30)}
.btn-outline{background:rgba(0,0,0,.08);border-color:var(--line);color:var(--gold-2)}
.btn-outline:hover{background:rgba(198,138,62,.12);border-color:var(--gold);transform:translateY(-3px)}

.section{position:relative;padding:58px 0;border-top:1px solid rgba(198,138,62,.14)}
.menu-section{background:radial-gradient(circle at 50% 0,rgba(198,138,62,.12),transparent 33%),linear-gradient(180deg,#171511,#12110f)}
.section-title{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:34px}
.section-title span{width:38px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.section-title h2{margin:0;color:var(--gold-2);font-size:25px;font-weight:900}
.menu-wrap{position:relative;padding-inline:28px}
.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dish-card{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.25);transition:.3s ease}
.dish-card:hover{transform:translateY(-8px);border-color:rgba(198,138,62,.45);box-shadow:0 30px 80px rgba(0,0,0,.38)}
.dish-card img{width:100%;height:145px;object-fit:cover;filter:saturate(.95) contrast(1.05)}
.dish-body{padding:17px 18px 16px}
.dish-body h3{margin:0 0 8px;font-size:18px;color:#fff;font-weight:800}
.dish-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.dish-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;direction:ltr}
.dish-footer strong{direction:rtl;color:var(--gold);font-size:15px}
.add-to-cart{width:29px;height:29px;border-radius:50%;border:1px solid var(--gold);background:rgba(198,138,62,.09);color:var(--gold-2);display:grid;place-items:center;transition:.25s ease}
.add-to-cart:hover{background:var(--gold);color:#14100d;transform:scale(1.08)}
.add-to-cart svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.slider-arrow{position:absolute;top:50%;translate:0 -50%;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.24);color:var(--gold-2);font-size:32px;line-height:1;display:grid;place-items:center;transition:.25s ease}
.slider-arrow:hover{background:var(--gold);color:#12100d}
.slider-prev{right:-8px}.slider-next{left:-8px}
.menu-section .center{margin-top:30px}

.order-section{padding:48px 0;background:linear-gradient(180deg,#161410,#12100e)}
.order-layout{display:grid;grid-template-columns:150px 230px 1fr;align-items:center;gap:34px}
.order-title{justify-self:end;text-align:right;color:var(--gold-2)}
.order-title h2{font-size:28px;line-height:1.6;margin:0;font-weight:900}
.steps{display:grid;grid-template-columns:1fr 32px 1fr 32px 1fr 32px 1fr;align-items:start;gap:12px;text-align:center}
.step-icon{width:68px;height:68px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;color:var(--gold);background:rgba(198,138,62,.04)}
.step-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.step h3{font-size:17px;color:var(--gold-2);margin:0 0 8px}
.step p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.steps i{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin-top:34px;opacity:.4}

.reserve-about{background:linear-gradient(180deg,#14120f,#171410)}
.reserve-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:36px;align-items:stretch}
.reserve-card,.about-card,.contact-card,.map-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.018));border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.reserve-card{border-radius:8px;padding:30px;min-height:270px}
.form-head h2,.about-text h2,.contact-card h2{margin:0 0 12px;color:var(--gold-2);font-size:25px;font-weight:900}
.form-head p,.about-text p{margin:0 0 22px;color:#ccc2b2;line-height:2}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
label span{display:block;color:var(--muted);font-size:12px;margin:0 0 7px}
input,select,textarea{width:100%;border:1px solid var(--line-soft);background:#13110f;color:var(--cream);border-radius:5px;padding:13px 14px;outline:none;transition:.2s ease;color-scheme:dark}
textarea{min-height:92px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,138,62,.12)}
.form-submit{width:100%;margin-top:6px}
.form-message{margin:12px 0 0;color:var(--gold-2);font-weight:700;min-height:24px}
.about-card{border-radius:8px;display:grid;grid-template-columns:1fr 295px;overflow:hidden;min-height:300px}
.about-text{padding:34px 34px 28px}
.about-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.75);border-right:1px solid var(--line-soft)}

.contact-section{background:#15130f}
.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.6fr;gap:22px;align-items:stretch}
.contact-card{border-radius:8px;padding:28px 24px;min-height:190px}
.contact-card p{display:flex;align-items:center;gap:12px;margin:12px 0;color:#d7cbbb;line-height:1.8}
.contact-card svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-card a:hover{color:var(--gold-2)}
.direction-link{display:inline-flex;margin-top:14px;border:1px solid var(--line);border-radius:4px;color:var(--gold-2);padding:9px 18px}
.map-card{margin:0;border-radius:8px;overflow:hidden;min-height:210px}
.map-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.72)}

.site-footer{position:relative;background:#0f0d0b url("../img/wood-texture.webp") center/cover fixed;color:#d9ceb9;border-top:1px solid rgba(198,138,62,.22);padding-top:42px;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;background:rgba(12,9,6,.74);pointer-events:none}
.footer-top,.copyright{position:relative;z-index:1}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:28px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:28px}
.footer-brand span{color:var(--gold);display:block;font-weight:700}.footer-brand strong{font-size:31px;color:var(--gold-2);font-weight:900}.footer-brand p{max-width:420px;line-height:2;color:#bfb5a6;margin:10px 0 0}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;color:#cec4b3}.footer-links a:hover{color:var(--gold-2)}
.footer-socials{display:flex;justify-content:flex-end;gap:12px;direction:ltr}.footer-socials a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold-2)}.footer-socials svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-socials a:hover{background:var(--gold);color:#120f0c}
.copyright{text-align:center;color:#a99f91;padding:18px 0 22px;font-size:13px}
.to-top{position:fixed;right:24px;bottom:22px;z-index:80;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff;font-size:22px;transition:.25s ease}.to-top:hover{background:var(--gold);color:#120f0c}

.cart-drawer{position:fixed;inset:0;z-index:2500;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.25s ease;display:flex;justify-content:flex-start}
.cart-drawer.open{opacity:1;visibility:visible}
.cart-panel{width:min(430px,92vw);height:100%;background:#14120f;border-right:1px solid var(--line);box-shadow:20px 0 90px rgba(0,0,0,.55);padding:24px;overflow:auto;transform:translateX(-100%);transition:.3s ease}
.cart-drawer.open .cart-panel{transform:translateX(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft);padding-bottom:18px;margin-bottom:18px}.cart-head h2{margin:0;color:var(--gold-2)}.cart-head button,.modal-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--gold-2);font-size:24px}
.cart-items{display:grid;gap:12px}.empty-cart{color:var(--muted);text-align:center;padding:28px 0}.cart-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:rgba(255,255,255,.035);border:1px solid var(--line-soft);padding:12px;border-radius:8px}.cart-row strong{color:#fff}.cart-row span{color:var(--gold-2);font-size:13px}.remove-item{border:0;background:transparent;color:#e5aa6b;font-size:22px}.cart-total{display:flex;justify-content:space-between;align-items:center;margin:22px 0;padding-top:18px;border-top:1px solid var(--line-soft)}.cart-total strong{color:var(--gold-2);font-size:20px}.checkout-form{display:grid;gap:12px}

.modal{position:fixed;inset:0;z-index:2300;background:rgba(0,0,0,.58);backdrop-filter:blur(12px);display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:.25s ease}.modal.open{opacity:1;visibility:visible}.modal-content{width:min(850px,96vw);max-height:88vh;overflow:auto;background:#16130f;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:34px;position:relative}.modal-close{position:absolute;top:18px;left:18px}.modal h2{margin:0 0 10px;color:var(--gold-2);font-size:28px}.modal p{color:var(--muted);line-height:2}.full-menu-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.full-menu-list div{border:1px solid var(--line-soft);border-radius:10px;padding:20px;background:rgba(255,255,255,.025)}.full-menu-list h3{margin:0 0 16px;color:var(--gold)}.full-menu-list p{display:flex;justify-content:space-between;gap:12px;margin:12px 0;color:#e5dac7}.full-menu-list strong{color:var(--gold-2)}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}

@media (max-width:1050px){
  .main-nav{gap:18px}.hero-grid{grid-template-columns:44% 56%;min-height:620px}.hero-copy-inner{max-width:480px;padding:100px 40px 64px 26px}.hero-visual{min-height:620px}.hero-title span{white-space:normal}.menu-grid{grid-template-columns:repeat(2,1fr)}.order-layout{grid-template-columns:1fr}.order-cta{order:3}.order-title{text-align:center;justify-self:center}.ornament.small{margin-inline:auto}.steps{grid-template-columns:repeat(4,1fr)}.steps i{display:none}.reserve-grid,.contact-grid{grid-template-columns:1fr 1fr}.about-card{grid-template-columns:1fr}.about-card img{height:260px;border-right:0;border-top:1px solid var(--line-soft)}.map-card{grid-column:auto / span 2}
}
@media (max-width:820px){
  .container{width:min(100% - 28px,var(--container))}.header-inner{height:70px}.brand strong{font-size:21px}.brand-kicker{font-size:12px}.main-nav{position:fixed;top:70px;right:14px;left:14px;display:grid;gap:0;background:#15130f;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px;transform:translateY(-16px);opacity:0;visibility:hidden;transition:.25s ease}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav a{padding:13px 16px;border-bottom:1px solid var(--line-soft)}.main-nav a:last-child{border-bottom:0}.main-nav a::after{display:none}.social{display:none}.menu-toggle{display:block}.hero{padding-top:70px}.hero-grid{grid-template-columns:1fr;direction:ltr}.hero-visual{order:1;min-height:330px}.hero-copy{order:2;min-height:420px}.hero-copy-inner{padding:76px 24px 52px}.hero-copy-ghost{display:none}.eyebrow{font-size:20px}.hero-title,.hero-title span,h1{font-size:45px;white-space:normal}.hero p{font-size:16px}.section{padding:46px 0}.order-title h2{font-size:24px}.steps{grid-template-columns:1fr 1fr;gap:24px}.footer-top{grid-template-columns:1fr;text-align:center}.footer-brand p{margin-inline:auto}.footer-socials{justify-content:center}.footer-links{max-width:360px;margin-inline:auto}.full-menu-list{grid-template-columns:1fr}.cart-panel{transform:translateX(-105%)}
}
@media (max-width:560px){
  .hero-buttons,.form-row{grid-template-columns:1fr;display:grid}.btn{width:100%;padding-inline:18px}.menu-wrap{padding-inline:0}.menu-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 18px}.dish-card{flex:0 0 83%;scroll-snap-align:center}.slider-arrow{display:none}.steps,.reserve-grid,.contact-grid{grid-template-columns:1fr}.map-card{grid-column:auto}.contact-card{min-height:auto}.section-title h2{font-size:22px}.about-text{padding:26px 22px}.reserve-card{padding:24px 18px}.site-header{background:rgba(14,13,11,.94)}.header-actions{gap:8px}.cart-btn{display:grid}.hero-copy{min-height:380px}.hero-copy-inner{padding:64px 18px 42px}.hero-visual{min-height:240px}.hero-title,.hero-title span,h1{font-size:36px;line-height:1.28;white-space:normal}.footer-links{grid-template-columns:1fr}.to-top{right:14px;bottom:14px}.modal-content{padding:52px 18px 24px}.order-cta .btn{width:auto}.order-cta{text-align:center}
}


/* ===== Farshid Bonab update: premium hero + professional reservation ===== */
.hero{
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 20%,rgba(232,191,119,.16),transparent 28%),
    radial-gradient(circle at 83% 18%,rgba(198,138,62,.12),transparent 32%),
    #0d0c0a;
}
.hero::before{
  content:"";position:absolute;inset:78px 0 0;z-index:0;pointer-events:none;
  background:
    linear-gradient(135deg,rgba(232,191,119,.08) 0 1px,transparent 1px 38px),
    radial-gradient(circle at 50% 100%,rgba(198,138,62,.13),transparent 44%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.72),transparent 88%);
}
.hero-grid{position:relative;z-index:1;grid-template-columns:minmax(430px,48%) minmax(0,52%);min-height:720px}
.hero-copy{
  background:
    linear-gradient(90deg,rgba(10,9,8,.96),rgba(17,14,11,.97)),
    radial-gradient(circle at 22% 28%,rgba(198,138,62,.18),transparent 26%);
}
.hero-copy::before{
  content:"";position:absolute;inset:28px;border:1px solid rgba(232,191,119,.14);border-radius:26px;pointer-events:none;
  box-shadow:inset 0 0 60px rgba(198,138,62,.06);
}
.hero-copy::after{background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.24))}
.hero-copy-inner{max-width:610px;text-align:right;padding:116px 82px 86px 58px}
.hero-copy-ghost{opacity:.36;left:-10%;width:50%}
.hero-status{
  display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;border:1px solid rgba(232,191,119,.28);
  border-radius:999px;color:var(--gold-2);background:rgba(198,138,62,.08);font-size:13px;font-weight:800;
}
.hero-status i{width:8px;height:8px;border-radius:50%;background:#7de38a;box-shadow:0 0 0 6px rgba(125,227,138,.08)}
.eyebrow{font-size:19px;letter-spacing:0;color:#d1a45d;margin-bottom:12px}
h1,.hero-title{font-size:clamp(44px,5.4vw,82px);line-height:1.13;color:#ffe2a8;text-align:right;letter-spacing:-2px}
.hero-title span{white-space:normal}
.hero .ornament{margin:26px 0 22px auto;justify-content:flex-start;width:min(420px,92%)}
.hero p{max-width:520px;margin:0 0 30px auto;text-align:right;color:#e2d5c1;font-size:18px}
.hero-buttons{justify-content:flex-end;direction:rtl}
.hero-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.hero-highlights div{
  min-height:92px;padding:15px 14px;border:1px solid rgba(255,255,255,.09);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:0 14px 34px rgba(0,0,0,.18)
}
.hero-highlights strong{display:block;color:var(--gold-2);font-size:15px;margin-bottom:8px;line-height:1.6}
.hero-highlights span{display:block;color:#bfb5a6;font-size:12px;line-height:1.8}
.hero-visual{min-height:720px;background:
  linear-gradient(90deg,rgba(12,10,8,.64),rgba(12,10,8,.12) 34%,rgba(12,10,8,0) 58%),
  linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.24)),
  url("../img/hero-doorway.webp") center center/cover no-repeat;
}
.hero-visual::before{background:linear-gradient(90deg,rgba(12,11,9,.38),rgba(12,11,9,.05) 34%,rgba(12,11,9,0) 62%)}
.hero-visual::after{background:radial-gradient(circle at 62% 31%,rgba(255,204,128,.18),transparent 25%),linear-gradient(180deg,transparent 64%,rgba(0,0,0,.38) 100%)}
.hero-visual-frame{inset:24px;border:1px solid rgba(232,191,119,.17);border-radius:30px;box-shadow:inset 0 0 80px rgba(0,0,0,.22)}
.hero-floating-card,.hero-hours-pill{position:absolute;z-index:2;backdrop-filter:blur(16px);border:1px solid rgba(232,191,119,.25);box-shadow:0 24px 60px rgba(0,0,0,.38)}
.hero-floating-card{
  right:34px;bottom:38px;width:min(330px,calc(100% - 68px));padding:20px 22px;border-radius:22px;
  background:linear-gradient(180deg,rgba(21,18,14,.88),rgba(14,12,10,.74));direction:rtl
}
.hero-floating-card span{display:block;color:var(--gold);font-size:13px;font-weight:800;margin-bottom:6px}
.hero-floating-card strong{display:block;color:#fff1c7;font-size:23px;margin-bottom:8px}
.hero-floating-card small{display:block;color:#cbbfae;line-height:1.8;font-size:12px}
.hero-hours-pill{
  left:34px;top:38px;display:flex;align-items:center;gap:9px;border-radius:999px;padding:11px 16px;
  background:rgba(14,12,10,.76);color:var(--gold-2);font-weight:800;font-size:13px
}
.hero-hours-pill svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.reserve-about{background:radial-gradient(circle at 12% 10%,rgba(198,138,62,.14),transparent 30%),linear-gradient(180deg,#14120f,#171410)}
.reserve-grid{grid-template-columns:minmax(420px,1.08fr) minmax(0,1.12fr);align-items:stretch}
.reservation-card{border-radius:22px;padding:30px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));position:relative;overflow:hidden}
.reservation-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--gold),transparent,var(--gold-2));opacity:.9}
.reservation-head{position:relative;z-index:1}
.reservation-kicker{display:inline-flex;margin-bottom:10px;color:var(--gold);font-weight:900;font-size:13px}
.reservation-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 20px}
.reservation-progress span{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:14px;background:rgba(0,0,0,.16);border:1px solid var(--line-soft);color:#d8ccbb;font-size:12px;font-weight:700;line-height:1.6}
.reservation-progress b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(198,138,62,.16);color:var(--gold-2);font-size:12px;flex:0 0 24px}
.booking-fieldset{border:0;margin:0 0 18px;padding:0;min-width:0}
.booking-fieldset legend{color:#f1d59d;font-weight:900;font-size:14px;margin-bottom:10px}
.jalali-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.reserve-option{border:1px solid rgba(255,255,255,.09);background:#13110f;color:var(--cream);border-radius:16px;padding:12px 8px;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:.2s ease;text-align:center}
.reserve-option:hover{border-color:rgba(232,191,119,.5);transform:translateY(-2px);background:rgba(198,138,62,.08)}
.reserve-option.is-selected{border-color:var(--gold);background:linear-gradient(180deg,rgba(198,138,62,.26),rgba(198,138,62,.09));box-shadow:0 0 0 3px rgba(198,138,62,.1)}
.reserve-option .day-name{font-size:12px;color:#cbbfae;font-weight:700}
.reserve-option .day-number{font-size:20px;color:#fff;font-weight:900;line-height:1}
.reserve-option .month-name{font-size:11px;color:var(--gold-2);font-weight:800}
.time-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.time-slot{min-height:56px;border-radius:14px;padding:10px;border:1px solid rgba(255,255,255,.09);background:#13110f;color:#efe1c6;font-weight:900;transition:.2s ease}
.time-slot:hover{border-color:rgba(232,191,119,.5);transform:translateY(-2px);background:rgba(198,138,62,.08)}
.time-slot.is-selected{border-color:var(--gold);background:linear-gradient(135deg,rgba(198,138,62,.28),rgba(198,138,62,.1));color:#fff4d7;box-shadow:0 0 0 3px rgba(198,138,62,.1)}
.time-slot small{display:block;margin-top:4px;color:#bdb1a0;font-size:10px;font-weight:700}
.reservation-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 18px;padding:13px 14px;border-radius:14px;border:1px dashed rgba(232,191,119,.34);background:rgba(198,138,62,.06);color:#d7cbbb;line-height:1.8;font-size:13px}
.reservation-summary strong{color:var(--gold-2)}
.reservation-card .form-row{gap:12px;margin-bottom:12px}
.reservation-card input,.reservation-card select{border-radius:13px;background:rgba(11,10,9,.72);min-height:50px}
.reservation-card .form-message.is-error{color:#ffb5a8}
.reservation-card .form-message.is-success{color:#9de7a7}
.about-card{border-radius:22px}

@media (max-width:1050px){
  .hero-grid{grid-template-columns:45% 55%;min-height:650px}.hero-copy-inner{padding:96px 38px 66px 28px}.hero-visual{min-height:650px}.hero-highlights{grid-template-columns:1fr}.reserve-grid{grid-template-columns:1fr}.jalali-date-grid{grid-template-columns:repeat(7,1fr)}
}
@media (max-width:820px){
  .hero::before{inset:70px 0 0}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-visual{order:1;min-height:410px}.hero-copy{order:2;min-height:auto}.hero-copy::before{inset:16px}.hero-copy-inner{max-width:none;padding:58px 24px 48px}.hero p,.hero-title,h1,.hero .ornament{text-align:center;margin-inline:auto}.hero-buttons{justify-content:center}.hero-highlights{grid-template-columns:repeat(3,1fr)}.hero-floating-card{right:22px;bottom:22px}.hero-hours-pill{left:22px;top:22px}.reservation-progress{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .hero-visual{min-height:310px}.hero-copy-inner{padding:46px 18px 38px}.hero-status{font-size:12px}.hero-title,.hero-title span,h1{font-size:37px;line-height:1.22}.hero-highlights{grid-template-columns:1fr}.hero-floating-card{width:auto;left:14px;right:14px;bottom:16px;padding:16px}.hero-floating-card strong{font-size:19px}.hero-hours-pill{left:14px;right:14px;top:16px;justify-content:center}.reservation-card{padding:24px 16px}.jalali-date-grid{grid-template-columns:repeat(2,1fr)}.reserve-option{min-height:76px}.time-slot-grid{grid-template-columns:1fr 1fr}.reservation-summary{align-items:flex-start}.reservation-progress span{font-size:11px}.reserve-card{padding:24px 16px}
}

/* ===== Farshid Bonab update v2: unified Persian hero + smarter reservation ===== */
.hero.hero-single{
  padding-top:78px;
  min-height:730px;
  display:flex;
  align-items:center;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(8,7,6,.22),rgba(8,7,6,.58)),
    radial-gradient(circle at 50% 37%,rgba(232,191,119,.18),transparent 28%),
    linear-gradient(90deg,rgba(9,8,7,.94),rgba(9,8,7,.56) 42%,rgba(9,8,7,.92)),
    url("../img/hero-doorway.webp") center center/cover no-repeat;
}
.hero.hero-single::before{
  content:"";
  position:absolute;
  inset:78px 0 0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(232,191,119,.09) 0 1px,transparent 1px 42px),
    radial-gradient(circle at 50% 8%,rgba(198,138,62,.24),transparent 26%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.56));
  mask-image:none;
}
.hero.hero-single::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:0;
  height:220px;
  background:linear-gradient(180deg,transparent,#171511 92%);
  pointer-events:none;
}
.hero-single .hero-unified{
  position:relative;
  z-index:2;
  min-height:652px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:76px 0 86px;
}
.hero-panel{
  width:min(940px,100%);
  margin-inline:auto;
  text-align:center;
  padding:42px 48px 36px;
  border:1px solid rgba(232,191,119,.23);
  border-radius:34px;
  background:linear-gradient(180deg,rgba(12,10,8,.58),rgba(12,10,8,.34));
  box-shadow:0 34px 110px rgba(0,0,0,.46), inset 0 0 70px rgba(198,138,62,.05);
  backdrop-filter:blur(10px);
}
.hero-panel .hero-status{margin-bottom:16px}
.hero-panel .eyebrow{font-size:20px;color:#e7b66a;margin-bottom:10px}
.hero-panel .hero-title,
.hero-panel .hero-title span,
.hero-panel h1{
  text-align:center;
  color:#ffe4ae;
  font-size:clamp(42px,6vw,82px);
  line-height:1.18;
  letter-spacing:-2px;
  text-shadow:0 12px 42px rgba(0,0,0,.72);
}
.hero-panel .hero-title span{display:block;white-space:normal}
.hero-panel .ornament{margin:28px auto 22px;justify-content:center;width:min(520px,92%)}
.hero-panel p{
  max-width:690px;
  margin:0 auto 30px;
  text-align:center;
  color:#efe0ca;
  font-size:18px;
  line-height:2.15;
}
.hero-panel .hero-buttons{justify-content:center;direction:rtl}
.hero-info-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:32px;
}
.hero-info-strip div{
  min-height:88px;
  padding:16px 14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}
.hero-info-strip strong{display:block;color:var(--gold-2);font-size:16px;margin-bottom:7px;line-height:1.6}
.hero-info-strip span{display:block;color:#cabda9;font-size:12px;line-height:1.8}
.hero-note{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  max-width:100%;
  margin-top:18px;
  padding:10px 15px;
  border-radius:999px;
  border:1px solid rgba(232,191,119,.24);
  background:rgba(0,0,0,.24);
  color:#d7c9b8;
  font-size:12px;
  font-weight:700;
  line-height:1.9;
}
.hero-note svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--gold-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.reserve-about{background:radial-gradient(circle at 82% 8%,rgba(232,191,119,.12),transparent 30%),linear-gradient(180deg,#14120f,#171410)}
.reserve-grid{grid-template-columns:minmax(0,1.22fr) minmax(320px,.88fr);gap:30px;align-items:start}
.reservation-card{padding:28px;border-radius:26px}
.reservation-head{margin-bottom:16px}
.reservation-head h2{margin-bottom:10px;color:#ffe0a2}
.reservation-head p{color:#cfc1ad;line-height:2;margin:0 0 8px}
.reservation-rule{
  border:1px solid rgba(232,191,119,.18);
  background:rgba(198,138,62,.07);
  border-radius:14px;
  padding:10px 13px;
  font-size:12px;
  font-weight:700;
}
.reservation-progress{margin-bottom:18px}
.booking-fieldset{
  padding:16px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:20px;
  background:rgba(0,0,0,.12);
}
.booking-fieldset + .booking-fieldset{margin-top:14px}
.booking-fieldset legend{
  padding:0 8px;
  margin-right:-4px;
  color:#ffdfa4;
}
.slot-helper{
  margin:0 0 12px;
  color:#bfb19f;
  font-size:12px;
  line-height:1.8;
}
.reserve-option small{
  margin-top:3px;
  font-size:10px;
  color:#998f82;
  font-weight:800;
}
.reserve-option.is-disabled,
.time-slot.is-disabled{
  cursor:not-allowed;
  opacity:.48;
  filter:grayscale(.35);
  background:rgba(22,20,18,.76);
  border-color:rgba(255,255,255,.055);
  transform:none;
}
.reserve-option.is-disabled:hover,
.time-slot.is-disabled:hover{
  transform:none;
  background:rgba(22,20,18,.76);
  border-color:rgba(255,255,255,.055);
}
.time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}
.time-slot span{display:block;line-height:1.5}
.time-slot.is-disabled small{color:#d2a18f}
.reservation-summary{margin-top:16px}
.reservation-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

@media (max-width:1050px){
  .hero.hero-single{min-height:680px}.hero-single .hero-unified{min-height:610px}.hero-panel{padding:38px 34px}.reserve-grid{grid-template-columns:1fr}.hero-info-strip{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .hero.hero-single{padding-top:70px;min-height:auto}.hero.hero-single::before{inset:70px 0 0}.hero-single .hero-unified{min-height:620px;padding:54px 0 64px}.hero-panel{border-radius:26px;padding:32px 24px}.hero-panel .hero-title,.hero-panel .hero-title span,.hero-panel h1{font-size:clamp(36px,9vw,58px)}.hero-info-strip{grid-template-columns:1fr 1fr}.hero-note{border-radius:18px;align-items:flex-start}.reservation-progress{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .hero-single .hero-unified{min-height:auto;padding:36px 0 48px}.hero-panel{padding:28px 16px 22px;border-radius:22px}.hero-panel .eyebrow{font-size:17px}.hero-panel p{font-size:15px;line-height:2}.hero-info-strip{grid-template-columns:1fr;margin-top:22px}.hero-note{font-size:11px}.jalali-date-grid{grid-template-columns:repeat(2,1fr)}.time-slot-grid{grid-template-columns:1fr 1fr}.reservation-card .form-row{grid-template-columns:1fr}.booking-fieldset{padding:13px}.reservation-card{padding:22px 14px}
}

/* ===== Farshid Bonab update v3: elegant single hero ===== */
.hero.hero-single.hero-restaurant{
  min-height:760px;
  padding-top:78px;
  display:flex;
  align-items:center;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(7,6,5,.18),rgba(10,8,6,.58) 64%,#171511 100%),
    radial-gradient(circle at 50% 40%,rgba(232,191,119,.24),transparent 31%),
    linear-gradient(90deg,rgba(8,7,6,.94),rgba(8,7,6,.42) 44%,rgba(8,7,6,.94)),
    url("../img/hero-doorway.webp") center center/cover no-repeat;
  border-bottom:1px solid rgba(232,191,119,.14);
}
.hero.hero-single.hero-restaurant::before{
  content:"";
  position:absolute;
  inset:78px 0 0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 28%,rgba(232,191,119,.18),transparent 25%),
    radial-gradient(circle at 82% 36%,rgba(198,138,62,.16),transparent 26%),
    linear-gradient(135deg,rgba(232,191,119,.08) 0 1px,transparent 1px 44px);
  opacity:.78;
  mask-image:linear-gradient(180deg,transparent 0,#000 15%,#000 74%,transparent 100%);
}
.hero.hero-single.hero-restaurant::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:0;
  height:260px;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,#171511 82%);
}
.hero-restaurant .hero-unified{
  position:relative;
  z-index:2;
  min-height:682px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:86px 0 98px;
}
.hero-restaurant .hero-unified::before{
  content:"";
  position:absolute;
  width:min(720px,80vw);
  height:min(720px,80vw);
  border-radius:50%;
  background:radial-gradient(circle,rgba(232,191,119,.16),rgba(232,191,119,.035) 45%,transparent 67%);
  filter:blur(2px);
  z-index:-1;
}
.hero-restaurant .hero-panel{
  position:relative;
  width:min(880px,100%);
  margin-inline:auto;
  padding:58px 62px 48px;
  text-align:center;
  border-radius:40px;
  border:1px solid rgba(232,191,119,.26);
  background:
    linear-gradient(180deg,rgba(18,14,10,.72),rgba(18,14,10,.46)),
    radial-gradient(circle at 50% 0,rgba(232,191,119,.13),transparent 45%);
  box-shadow:0 34px 120px rgba(0,0,0,.55), inset 0 0 80px rgba(255,223,169,.045);
  backdrop-filter:blur(12px);
  overflow:hidden;
}
.hero-restaurant .hero-panel::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(232,191,119,.18);
  border-radius:30px;
  pointer-events:none;
}
.hero-restaurant .hero-panel::after{
  content:"ف";
  position:absolute;
  top:18px;
  right:50%;
  transform:translateX(50%);
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#1b130a;
  background:linear-gradient(135deg,#f1cc8a,#b97b34);
  font-size:25px;
  font-weight:900;
  box-shadow:0 12px 32px rgba(198,138,62,.28);
}
.hero-restaurant .hero-mini-badge{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:30px auto 18px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(232,191,119,.27);
  background:rgba(0,0,0,.24);
  color:#efd3a1;
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.hero-restaurant .hero-mini-badge span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.hero-restaurant .hero-mini-badge span i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#7ee28b;
  box-shadow:0 0 0 6px rgba(126,226,139,.09);
}
.hero-restaurant .hero-mini-badge small{
  color:#cfc0aa;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.hero-restaurant .eyebrow{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  color:#e8bf77;
  font-size:19px;
  font-weight:900;
  letter-spacing:0;
}
.hero-restaurant .hero-title,
.hero-restaurant .hero-title span,
.hero-restaurant h1{
  position:relative;
  z-index:1;
  text-align:center;
  color:#ffe7b7;
  font-size:clamp(44px,5.7vw,78px);
  line-height:1.18;
  letter-spacing:-2.2px;
  text-shadow:0 13px 44px rgba(0,0,0,.72);
}
.hero-restaurant .hero-title span{display:block;white-space:normal}
.hero-restaurant .ornament{
  position:relative;
  z-index:1;
  width:min(470px,90%);
  margin:24px auto 20px;
}
.hero-restaurant p{
  position:relative;
  z-index:1;
  max-width:650px;
  margin:0 auto 30px;
  color:#f0dfc4;
  font-size:18px;
  line-height:2.12;
  text-align:center;
}
.hero-restaurant .hero-buttons{
  position:relative;
  z-index:1;
  justify-content:center;
  direction:rtl;
  gap:12px;
}
.hero-restaurant .btn{
  border-radius:16px;
  min-width:158px;
  padding:14px 28px;
}
.hero-restaurant .hero-meta-row{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.hero-restaurant .hero-meta-row span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.055);
  color:#e2d2b8;
  font-size:13px;
  line-height:1.7;
}
.hero-restaurant .hero-meta-row strong{color:#f1cf91;font-weight:900}

@media (max-width:1050px){
  .hero.hero-single.hero-restaurant{min-height:700px}
  .hero-restaurant .hero-unified{min-height:620px;padding:70px 0 82px}
  .hero-restaurant .hero-panel{padding:54px 38px 42px}
}
@media (max-width:820px){
  .hero.hero-single.hero-restaurant{padding-top:70px;min-height:auto;background-position:center center}
  .hero.hero-single.hero-restaurant::before{inset:70px 0 0}
  .hero-restaurant .hero-unified{min-height:610px;padding:58px 0 70px}
  .hero-restaurant .hero-panel{border-radius:30px;padding:52px 24px 34px}
  .hero-restaurant .hero-panel::before{inset:10px;border-radius:23px}
  .hero-restaurant .hero-title,
  .hero-restaurant .hero-title span,
  .hero-restaurant h1{font-size:clamp(37px,9vw,58px);letter-spacing:-1.4px}
  .hero-restaurant p{font-size:16px;max-width:540px}
  .hero-restaurant .hero-mini-badge{gap:8px;flex-wrap:wrap;border-radius:22px;margin-top:26px}
}
@media (max-width:560px){
  .hero-restaurant .hero-unified{min-height:auto;padding:34px 0 48px}
  .hero-restaurant .hero-panel{padding:50px 16px 24px;border-radius:24px}
  .hero-restaurant .hero-panel::after{top:14px;width:42px;height:42px;font-size:22px}
  .hero-restaurant .hero-mini-badge{padding:8px 10px;margin:24px auto 14px}
  .hero-restaurant .hero-mini-badge span,
  .hero-restaurant .hero-mini-badge small{font-size:11px}
  .hero-restaurant .eyebrow{font-size:16px;margin-bottom:10px}
  .hero-restaurant .hero-title,
  .hero-restaurant .hero-title span,
  .hero-restaurant h1{font-size:clamp(32px,11vw,42px);line-height:1.27;letter-spacing:-1px}
  .hero-restaurant .ornament{margin:18px auto 16px;width:min(310px,88%)}
  .hero-restaurant p{font-size:14px;line-height:2;margin-bottom:22px}
  .hero-restaurant .hero-buttons{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-restaurant .btn{width:100%;min-width:0}
  .hero-restaurant .hero-meta-row{margin-top:20px;gap:8px}
  .hero-restaurant .hero-meta-row span{width:100%;min-height:38px;font-size:12px;padding:8px 12px}
}

/* PHP app additions */
.toast-message{position:fixed;top:96px;right:24px;z-index:3000;max-width:420px;padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px);box-shadow:0 18px 55px rgba(0,0,0,.35);font-weight:700}.toast-message.is-success{background:rgba(16,185,129,.18);color:#b8ffd9}.toast-message.is-error{background:rgba(239,68,68,.18);color:#ffd2d2}.auth-page,.account-page{padding-top:140px;min-height:70vh}.auth-shell{display:grid;place-items:center}.auth-card,.account-card{width:min(560px,100%);background:linear-gradient(145deg,rgba(29,26,22,.96),rgba(17,16,14,.96));border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}.auth-card h1,.account-head h1,.account-card h2{margin-top:0;color:var(--gold-2)}.auth-card p,.account-head p,.account-card p{color:var(--muted);line-height:2}.auth-card label{display:grid;gap:8px;margin-bottom:14px}.auth-link{display:block;margin-top:16px;color:var(--gold-2);text-decoration:none;text-align:center}.account-shell{display:grid;gap:24px}.account-head{background:linear-gradient(145deg,rgba(29,26,22,.96),rgba(17,16,14,.96));border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.account-box{text-decoration:none;background:rgba(255,255,255,.035);border:1px solid var(--line-soft);border-radius:18px;padding:24px;color:#fff}.account-box strong{display:block;color:var(--gold-2);font-size:28px}.account-box span{color:var(--muted)}.account-card{width:100%}.simple-table{overflow:auto}.simple-table table{width:100%;border-collapse:collapse;min-width:680px}.simple-table th,.simple-table td{padding:12px;border-bottom:1px solid var(--line-soft);text-align:right}.simple-table th{color:var(--gold-2)}.full-width-contact{grid-column:1/-1}.full-width-contact label{display:grid;gap:8px;margin-bottom:12px}.full-width-contact textarea{min-height:110px}.checkout-form input,.checkout-form textarea{font-family:inherit}@media(max-width:760px){.account-grid{grid-template-columns:1fr}.account-head{align-items:flex-start}.toast-message{left:16px;right:16px;top:84px}}

/* v1.0.1 - SEO menu page and modern auth pages */
.menu-hero-page{
  position:relative;
  padding:132px 0 72px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(12,10,8,.96),rgba(12,10,8,.84)),
    url('../img/interior-dining.webp') center/cover no-repeat;
  border-bottom:1px solid rgba(198,138,62,.18);
}
.menu-hero-page::before{content:"";position:absolute;inset:-30% -10% auto auto;width:520px;height:520px;background:rgba(198,138,62,.18);border-radius:50%;filter:blur(110px);pointer-events:none}
.menu-hero-page::after{content:"";position:absolute;inset:auto auto -28% -12%;width:520px;height:520px;background:rgba(232,191,119,.08);border-radius:50%;filter:blur(120px);pointer-events:none}
.menu-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:34px;align-items:center}
.menu-hero-copy{max-width:710px}
.menu-eyebrow,.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(198,138,62,.12);border:1px solid rgba(198,138,62,.26);color:var(--gold-2);font-weight:900;font-size:13px}
.menu-eyebrow::before,.auth-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(198,138,62,.12)}
.menu-hero-copy h1{font-size:clamp(34px,5vw,64px);line-height:1.28;margin:0 0 18px;color:#fff;text-shadow:0 16px 50px rgba(0,0,0,.45)}
.menu-hero-copy p{color:#d8cdb9;font-size:18px;line-height:2.1;margin:0 0 28px;max-width:680px}
.menu-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.menu-hero-panel{border:1px solid rgba(198,138,62,.24);border-radius:28px;background:linear-gradient(145deg,rgba(29,26,22,.88),rgba(17,15,12,.78));box-shadow:var(--shadow);padding:28px;backdrop-filter:blur(16px);position:relative;overflow:hidden}
.menu-hero-panel::before{content:"";position:absolute;left:-60px;top:-60px;width:160px;height:160px;border-radius:50%;background:rgba(198,138,62,.13);filter:blur(10px)}
.menu-hero-badge{position:relative;z-index:1;display:inline-flex;border-radius:999px;border:1px solid rgba(255,255,255,.08);padding:7px 12px;color:var(--gold-2);font-size:12px;font-weight:900;background:rgba(255,255,255,.04);margin-bottom:16px}
.menu-hero-stat{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-hero-stat strong{font-size:42px;color:var(--gold-2);line-height:1;font-weight:900}
.menu-hero-stat span{color:#efe2cc;font-weight:800}
.menu-hero-panel p{position:relative;z-index:1;color:var(--muted);line-height:2;margin:18px 0 0}
.menu-category-nav{position:sticky;top:78px;z-index:850;background:rgba(13,12,10,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(198,138,62,.14)}
.menu-category-scroll{display:flex;gap:12px;overflow-x:auto;padding-block:14px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.menu-category-scroll a{flex:0 0 auto;display:flex;align-items:center;gap:10px;border:1px solid rgba(198,138,62,.22);border-radius:999px;padding:10px 16px;background:rgba(255,255,255,.035);color:#fff;transition:.25s ease}
.menu-category-scroll a:hover{background:rgba(198,138,62,.15);border-color:rgba(198,138,62,.55);transform:translateY(-2px)}
.menu-category-scroll span{font-weight:900}.menu-category-scroll small{color:var(--muted);font-size:12px}
.menu-list-section{background:radial-gradient(circle at 50% 0,rgba(198,138,62,.10),transparent 36%),linear-gradient(180deg,#15130f,#100f0d)}
.menu-category-block{scroll-margin-top:155px;margin-bottom:54px}
.menu-category-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px;padding:0 4px 18px;border-bottom:1px solid rgba(198,138,62,.18)}
.menu-category-head span{color:var(--gold);font-size:13px;font-weight:900}.menu-category-head h2{margin:6px 0 0;font-size:30px;color:#fff}.menu-category-head strong{border:1px solid rgba(198,138,62,.26);border-radius:999px;padding:9px 14px;color:var(--gold-2);background:rgba(198,138,62,.08);white-space:nowrap}
.menu-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.menu-page-card{border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden}.menu-card-image{position:relative;overflow:hidden}.menu-page-card .menu-card-image img{height:210px;width:100%;object-fit:cover;transition:.45s ease}.menu-page-card:hover .menu-card-image img{transform:scale(1.06)}.menu-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(0,0,0,.46))}.menu-card-image span{position:absolute;right:14px;top:14px;z-index:2;padding:7px 11px;border-radius:999px;background:rgba(17,14,10,.76);border:1px solid rgba(232,191,119,.38);color:var(--gold-2);font-size:12px;font-weight:900;backdrop-filter:blur(10px)}.menu-page-card .dish-body{padding:22px}.menu-page-card .dish-body h3{font-size:21px;margin-bottom:10px}.menu-page-card .dish-body p{min-height:56px}.menu-add-btn{width:38px;height:38px}.empty-menu-card{text-align:center;width:min(720px,100%);margin:20px auto;padding:42px;border:1px dashed rgba(198,138,62,.34);border-radius:26px;background:rgba(255,255,255,.03)}.empty-menu-card h2{margin-top:0;color:var(--gold-2)}.empty-menu-card p{color:var(--muted);line-height:2}

.auth-page{position:relative;min-height:calc(100vh - 1px);padding:132px 0 76px;background:linear-gradient(90deg,rgba(13,11,9,.94),rgba(13,11,9,.76)),url('../img/wood-texture.webp') center/cover fixed;border-top:0;overflow:hidden}.auth-page::before{content:"";position:absolute;right:-180px;top:100px;width:420px;height:420px;border-radius:50%;background:rgba(198,138,62,.16);filter:blur(100px)}.auth-page::after{content:"";position:absolute;left:-160px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:rgba(232,191,119,.10);filter:blur(110px)}.auth-shell-modern{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:26px;align-items:stretch;place-items:initial}.auth-showcase{min-height:560px;border:1px solid rgba(198,138,62,.22);border-radius:30px;padding:46px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.62)),url('../img/interior-dining.webp') center/cover no-repeat;box-shadow:var(--shadow);overflow:hidden}.auth-showcase h1{font-size:clamp(34px,5vw,62px);line-height:1.25;margin:0 0 16px;color:#fff}.auth-showcase p{max-width:620px;color:#f0dfc4;font-size:18px;line-height:2;margin:0 0 24px}.auth-benefits{display:flex;gap:10px;flex-wrap:wrap}.auth-benefits span{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:9px 13px;background:rgba(0,0,0,.26);color:#fff;font-weight:800;font-size:13px;backdrop-filter:blur(10px)}.auth-card-modern{width:100%;border-radius:30px;padding:34px;background:linear-gradient(145deg,rgba(30,26,21,.95),rgba(17,15,12,.95));border:1px solid rgba(198,138,62,.26);box-shadow:var(--shadow);align-self:stretch;display:flex;flex-direction:column;justify-content:center}.auth-card-head{margin-bottom:22px}.auth-card-head span{color:var(--gold);font-size:13px;font-weight:900}.auth-card-head h2{font-size:32px;color:#fff;margin:6px 0 8px}.auth-card-head p{color:var(--muted);line-height:1.9;margin:0}.auth-field{display:grid;gap:9px;margin-bottom:15px}.auth-field span{color:#f6e5c4;font-weight:800}.auth-field input{height:54px;border-radius:16px;border:1px solid rgba(198,138,62,.18);background:rgba(255,255,255,.045);color:#fff;padding:0 16px;outline:0;transition:.25s ease}.auth-field input:focus{border-color:rgba(232,191,119,.70);box-shadow:0 0 0 4px rgba(198,138,62,.10);background:rgba(255,255,255,.07)}.auth-field input::placeholder{color:rgba(246,229,196,.38)}.auth-submit{width:100%;border-radius:16px;margin-top:6px}.auth-switch{margin-top:18px;text-align:center;color:var(--muted);line-height:2}.auth-switch a{color:var(--gold-2);font-weight:900}.auth-switch a:hover{color:#fff}.auth-page-register .auth-showcase{background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.66)),url('../img/hero-doorway.webp') center/cover no-repeat}

@media(max-width:980px){.menu-hero-grid,.auth-shell-modern{grid-template-columns:1fr}.menu-hero-panel{max-width:560px}.menu-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-showcase{min-height:360px;padding:34px}.auth-card-modern{padding:28px}}
@media(max-width:760px){.menu-hero-page{padding:108px 0 48px}.menu-hero-copy p{font-size:16px}.menu-hero-actions .btn{width:100%}.menu-category-nav{top:70px}.menu-category-scroll{padding-block:11px}.menu-category-block{scroll-margin-top:135px;margin-bottom:38px}.menu-category-head{align-items:flex-start}.menu-category-head h2{font-size:24px}.menu-page-grid{grid-template-columns:1fr;gap:18px}.menu-page-card .menu-card-image img{height:190px}.auth-page{padding:100px 0 50px}.auth-shell-modern{gap:18px}.auth-showcase{min-height:310px;padding:24px;border-radius:24px}.auth-card-modern{border-radius:24px;padding:24px}.auth-card-head h2{font-size:26px}.auth-benefits span{font-size:12px}.menu-hero-panel{border-radius:22px;padding:22px}}

/* v1.0.2 - dedicated reservation page, homepage cleanup, Mizino luxury footer */
.reservation-teaser{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%,rgba(232,191,119,.12),transparent 28%),
    linear-gradient(180deg,#14120f,#100f0d);
}
.reservation-teaser::before{content:"";position:absolute;inset:auto -120px -180px auto;width:360px;height:360px;border-radius:50%;background:rgba(198,138,62,.13);filter:blur(85px);pointer-events:none}
.reservation-teaser-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:28px;align-items:stretch}
.reservation-teaser-copy{border:1px solid rgba(198,138,62,.22);border-radius:30px;padding:40px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}
.reservation-teaser-copy h2{font-size:clamp(28px,4vw,46px);line-height:1.45;color:#fff;margin:0 0 14px}
.reservation-teaser-copy p{color:#d7cbb7;line-height:2.05;font-size:16px;max-width:760px;margin:0 0 24px}
.reservation-teaser-actions{display:flex;gap:12px;flex-wrap:wrap}.reservation-teaser-card{overflow:hidden;border-radius:30px}.reservation-teaser-card img{min-height:100%;object-fit:cover}
.reservation-page{background:#100f0d;min-height:70vh}
.reservation-page-hero{position:relative;padding:136px 0 72px;overflow:hidden;background:linear-gradient(90deg,rgba(12,10,8,.96),rgba(12,10,8,.76)),url('../img/hero-doorway.webp') center/cover no-repeat;border-bottom:1px solid rgba(198,138,62,.2)}
.reservation-page-hero::before{content:"";position:absolute;right:-160px;top:40px;width:480px;height:480px;border-radius:50%;background:rgba(198,138,62,.18);filter:blur(110px);pointer-events:none}.reservation-page-hero::after{content:"";position:absolute;left:-170px;bottom:-200px;width:520px;height:520px;border-radius:50%;background:rgba(232,191,119,.08);filter:blur(120px);pointer-events:none}
.reservation-page-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:28px;align-items:center}.reservation-page-copy h1{font-size:clamp(36px,5vw,66px);line-height:1.28;color:#fff;margin:0 0 18px;text-shadow:0 16px 50px rgba(0,0,0,.45)}.reservation-page-copy p{color:#efe1c8;line-height:2.05;font-size:18px;max-width:720px;margin:0 0 28px}.reservation-page-actions{display:flex;gap:12px;flex-wrap:wrap}.reservation-page-stats{display:grid;gap:14px;border:1px solid rgba(232,191,119,.24);background:linear-gradient(145deg,rgba(29,26,22,.86),rgba(17,15,12,.72));backdrop-filter:blur(16px);border-radius:30px;padding:26px;box-shadow:var(--shadow)}.reservation-page-stats div{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}.reservation-page-stats div:last-child{border-bottom:0}.reservation-page-stats strong{font-size:34px;line-height:1;color:var(--gold-2);font-weight:900}.reservation-page-stats span{color:#f2e3ca;font-weight:800}.reservation-page-section{padding-top:70px}.reservation-page-section .reserve-grid{align-items:start}.reservation-side-panel{border:1px solid rgba(198,138,62,.22);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));border-radius:28px;overflow:hidden;box-shadow:var(--shadow);position:sticky;top:100px}.reservation-side-panel img{width:100%;height:245px;object-fit:cover;display:block}.reservation-side-content{padding:28px}.reservation-side-content h2{color:#fff;font-size:27px;margin:8px 0 14px}.reservation-side-content ul{margin:0;padding:0;list-style:none;display:grid;gap:12px;color:#d8ccb8;line-height:1.9}.reservation-side-content li{position:relative;padding-right:24px}.reservation-side-content li::before{content:"";position:absolute;right:0;top:.82em;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(198,138,62,.10)}.reservation-contact-box{margin-top:22px;padding:18px;border-radius:20px;border:1px solid rgba(232,191,119,.22);background:rgba(198,138,62,.08);display:grid;gap:6px}.reservation-contact-box span{color:#cfc2ae}.reservation-contact-box a{color:var(--gold-2);font-size:22px;font-weight:900;direction:ltr;text-align:right}.contact-section .contact-grid{grid-template-columns:1fr 1fr 1.15fr 1.2fr}.copyright-luxury{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;text-align:initial;padding:18px 0 24px}.copyright-luxury span{color:#a99f91}.copyright-luxury a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;color:#17110a;background:linear-gradient(135deg,#f8dfac,#c68a3e 58%,#8a5a24);box-shadow:0 10px 30px rgba(198,138,62,.2), inset 0 1px 0 rgba(255,255,255,.35);font-weight:800;transition:.25s ease}.copyright-luxury a::before{content:"";width:7px;height:7px;border-radius:50%;background:#17110a;opacity:.72}.copyright-luxury a:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 16px 38px rgba(198,138,62,.28), inset 0 1px 0 rgba(255,255,255,.45)}.copyright-luxury strong{font-weight:1000;color:#0f0b06}
@media(max-width:980px){.reservation-teaser-grid,.reservation-page-hero-grid{grid-template-columns:1fr}.reservation-page-stats{max-width:560px}.reservation-side-panel{position:relative;top:auto}.contact-section .contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.reservation-teaser-copy{padding:26px;border-radius:24px}.reservation-teaser-actions .btn,.reservation-page-actions .btn{width:100%}.reservation-page-hero{padding:110px 0 48px}.reservation-page-copy p{font-size:16px}.reservation-page-stats{border-radius:24px;padding:20px}.reservation-page-stats strong{font-size:28px}.reservation-side-panel{border-radius:22px}.contact-section .contact-grid{grid-template-columns:1fr}.copyright-luxury{justify-content:center;text-align:center}.copyright-luxury a{width:100%;max-width:280px;justify-content:center}.reservation-contact-box a{text-align:center}}

/* ===== FarshidBonab v1.2 feature update ===== */
.brand-logo{max-width:150px;max-height:58px;object-fit:contain}.table-order-notice{margin:16px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(198,138,62,.12);color:var(--cream);line-height:1.9}.rating-mini{display:inline-flex;align-items:center;gap:6px;margin:8px 0 10px;color:var(--gold-2);font-size:13px;font-weight:900}.rating-mini small{color:var(--muted);font-weight:600}.review-open-btn{border:1px solid var(--line);background:rgba(198,138,62,.08);color:var(--gold-2);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900}.dish-footer{gap:10px}.review-form{display:grid;gap:14px}.review-modal-content .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.gallery-preview-grid figure{position:relative;overflow:hidden;margin:0;border-radius:20px;border:1px solid var(--line-soft);min-height:230px;background:#17130f;box-shadow:0 22px 56px rgba(0,0,0,.24)}.gallery-preview-grid img{width:100%;height:100%;min-height:230px;object-fit:cover;transition:.45s ease}.gallery-preview-grid figure:hover img{transform:scale(1.06)}.gallery-preview-grid figcaption{position:absolute;right:14px;left:14px;bottom:14px;padding:12px 14px;border-radius:16px;background:rgba(15,13,10,.72);backdrop-filter:blur(14px);border:1px solid rgba(232,191,119,.18)}.gallery-preview-grid strong{display:block;color:#fff}.gallery-preview-grid small{display:block;color:var(--gold-2);margin-top:4px}.gallery-full-grid{grid-template-columns:repeat(3,1fr)}.site-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{padding:22px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid var(--line-soft);box-shadow:0 18px 50px rgba(0,0,0,.18)}.review-stars{color:var(--gold-2);letter-spacing:2px;margin-bottom:12px}.review-card p{color:#e8dac3;line-height:2}.review-card strong{display:block;color:#fff;margin-top:12px}.review-card small{display:block;margin-top:10px;color:var(--muted);line-height:1.8}.gallery-page .menu-hero-page{border-bottom:1px solid var(--line-soft)}
@media(max-width:900px){.gallery-preview-grid,.gallery-full-grid,.site-reviews-grid{grid-template-columns:1fr 1fr}.review-modal-content .form-row{grid-template-columns:1fr}}
@media(max-width:560px){.brand-logo{max-width:118px}.gallery-preview-grid,.gallery-full-grid,.site-reviews-grid{grid-template-columns:1fr}.gallery-preview-grid figure{min-height:260px}}
.site-review-form-section{background:radial-gradient(circle at 80% 10%,rgba(198,138,62,.12),transparent 28%),linear-gradient(180deg,#100f0d,#15130f)}
.review-form-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:26px;align-items:center;border:1px solid var(--line);border-radius:30px;padding:34px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:var(--shadow)}
.review-form-card h2{margin:8px 0 12px;color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.45}.review-form-card p{color:var(--muted);line-height:2}.site-review-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.site-review-form textarea{grid-column:1/-1;min-height:112px}.site-review-form button,.site-review-form .form-message{grid-column:1/-1}
@media(max-width:820px){.review-form-card{grid-template-columns:1fr;padding:24px;border-radius:24px}.site-review-form{grid-template-columns:1fr}.site-review-form textarea,.site-review-form button,.site-review-form .form-message{grid-column:auto}}

/* ===== FarshidBonab v1.2.2 maintenance mode ===== */
.maintenance-body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at top right,rgba(198,138,62,.18),transparent 28%),
    radial-gradient(circle at bottom left,rgba(198,138,62,.10),transparent 30%),
    #090806;
  color:#fff;
  font-family:Vazirmatn,Tahoma,sans-serif;
  overflow-x:hidden;
}
.maintenance-shell{
  position:relative;
  min-height:100vh;
  padding:28px;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.maintenance-noise,
.maintenance-orb{pointer-events:none;position:absolute;inset:auto}
.maintenance-noise{
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.78),transparent 96%);
  opacity:.55;
}
.maintenance-orb{border-radius:999px;filter:blur(70px);opacity:.58;z-index:-1}
.orb-one{width:320px;height:320px;right:-110px;top:12%;background:rgba(198,138,62,.32)}
.orb-two{width:420px;height:420px;left:-150px;bottom:-110px;background:rgba(232,191,119,.14)}
.orb-three{width:240px;height:240px;left:18%;top:4%;background:rgba(255,255,255,.08)}
.maintenance-panel{
  position:relative;
  z-index:1;
  width:min(1280px,100%);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  background:linear-gradient(145deg,rgba(19,15,11,.90),rgba(8,7,6,.84));
  border:1px solid rgba(232,191,119,.22);
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 42px 140px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(18px);
}
.maintenance-panel::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(232,191,119,.08);
  border-radius:26px;
  pointer-events:none;
}
.maintenance-copy{
  position:relative;
  padding:34px 36px 38px;
  display:flex;
  flex-direction:column;
  gap:28px;
  background:
    radial-gradient(circle at 12% 16%,rgba(198,138,62,.16),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
}
.maintenance-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.maintenance-brand{display:flex;align-items:center;gap:16px;min-width:0}
.maintenance-brand strong{display:block;font-size:26px;font-weight:900;color:#fff;line-height:1.35}
.maintenance-brand-kicker{display:block;color:#d6b17e;font-size:13px;font-weight:800;margin-bottom:5px}
.maintenance-logo-wrap{
  position:relative;
  width:88px;
  height:88px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f2d39b,var(--gold));
  box-shadow:0 22px 48px rgba(198,138,62,.25),inset 0 1px 0 rgba(255,255,255,.55);
  flex:0 0 88px;
}
.maintenance-logo-wrap img{max-width:74px;max-height:74px;object-fit:contain}
.maintenance-logo-wrap span{font-size:42px;font-weight:900;color:#17100a}
.maintenance-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(232,191,119,.18);
  background:rgba(255,255,255,.04);
  color:#f3ddbb;
  font-size:13px;
  font-weight:800;
}
.maintenance-pill.live i{
  width:10px;height:10px;border-radius:50%;background:var(--gold);display:inline-block;
  box-shadow:0 0 0 0 rgba(198,138,62,.75);animation:maintenancePulse 1.8s infinite;
}
.maintenance-main{display:grid;gap:24px;align-content:center;flex:1}
.maintenance-badge{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(232,191,119,.24);
  background:rgba(198,138,62,.10);
  color:var(--gold-2);
  font-weight:900;
  font-size:13px;
}
.maintenance-main h1{
  margin:0;
  font-size:clamp(30px,4vw,56px);
  line-height:1.28;
  letter-spacing:-1px;
  color:#fff;
}
.maintenance-lead{
  margin:0;
  max-width:680px;
  color:#decfb7;
  font-size:17px;
  line-height:2.1;
}
.maintenance-highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.maintenance-info-card,
.maintenance-note-card{
  position:relative;
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid rgba(232,191,119,.14);
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.maintenance-info-card span,
.maintenance-note-card span{
  display:block;
  color:#b59f83;
  font-size:12px;
  font-weight:800;
  margin-bottom:8px;
}
.maintenance-info-card strong,
.maintenance-note-card strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.8;
}
.maintenance-info-card p,
.maintenance-note-card p{
  margin:8px 0 0;
  color:#cabda7;
  font-size:13px;
  line-height:1.9;
}
.maintenance-info-card.emphasis{
  background:linear-gradient(145deg,rgba(198,138,62,.17),rgba(255,255,255,.04));
  border-color:rgba(232,191,119,.24);
}
.maintenance-actions{display:flex;flex-wrap:wrap;gap:12px}
.maintenance-actions .btn{min-width:148px;justify-content:center}
.maintenance-actions .btn.ghost{background:rgba(255,255,255,.04);color:#f1dfbf;border:1px solid rgba(232,191,119,.22)}
.maintenance-quick-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.maintenance-quick-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  color:#e8d6b9;
  font-size:14px;
}
.maintenance-quick-links strong{color:#fff}
.maintenance-visual-panel{
  position:relative;
  padding:24px;
  display:grid;
  align-content:space-between;
  gap:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  border-right:1px solid rgba(255,255,255,.06);
}
.maintenance-visual-media{
  position:relative;
  min-height:380px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(232,191,119,.16);
  background:#120f0c;
}
.maintenance-visual-media img,
.maintenance-pattern-fallback{
  width:100%;height:100%;object-fit:cover;display:block;
}
.maintenance-visual-media img{filter:saturate(.92) brightness(.76)}
.maintenance-pattern-fallback{
  background:
    radial-gradient(circle at 20% 20%,rgba(232,191,119,.24),transparent 22%),
    radial-gradient(circle at 82% 24%,rgba(198,138,62,.22),transparent 24%),
    radial-gradient(circle at 50% 82%,rgba(255,255,255,.06),transparent 26%),
    linear-gradient(135deg,#1f1711,#090806 58%,#15100b);
}
.maintenance-visual-media.is-fallback::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:46px 46px;
  opacity:.55;
}
.maintenance-visual-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,7,6,.05),rgba(8,7,6,.40) 54%,rgba(8,7,6,.88)),
    linear-gradient(135deg,rgba(198,138,62,.08),transparent 38%);
}
.maintenance-floating-summary{
  position:relative;
  margin-top:-96px;
  margin-inline:18px 0;
  padding:24px 24px 22px;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(16,13,10,.94),rgba(33,24,18,.86));
  border:1px solid rgba(232,191,119,.16);
  box-shadow:0 24px 65px rgba(0,0,0,.38);
  backdrop-filter:blur(14px);
}
.maintenance-floating-summary h2{
  margin:8px 0 10px;
  color:#fff;
  font-size:28px;
  line-height:1.55;
}
.maintenance-floating-summary p{
  margin:0;
  color:#d3c3ab;
  line-height:2;
  font-size:15px;
}
.maintenance-floating-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.maintenance-note-card.soft{background:rgba(255,255,255,.03)}
@keyframes maintenancePulse{
  0%{box-shadow:0 0 0 0 rgba(198,138,62,.72)}
  70%{box-shadow:0 0 0 14px rgba(198,138,62,0)}
  100%{box-shadow:0 0 0 0 rgba(198,138,62,0)}
}
@media (max-width:1180px){
  .maintenance-panel{grid-template-columns:1fr}
  .maintenance-visual-panel{border-right:0;border-top:1px solid rgba(255,255,255,.06)}
  .maintenance-floating-summary{margin:-88px 18px 0}
}
@media (max-width:860px){
  .maintenance-shell{padding:16px}
  .maintenance-copy{padding:24px 20px 22px}
  .maintenance-visual-panel{padding:18px}
  .maintenance-logo-wrap{width:74px;height:74px;border-radius:22px;flex-basis:74px}
  .maintenance-logo-wrap img{max-width:60px;max-height:60px}
  .maintenance-brand strong{font-size:22px}
  .maintenance-main h1{font-size:clamp(28px,7vw,42px)}
  .maintenance-lead{font-size:15px;line-height:2}
  .maintenance-highlights,
  .maintenance-floating-notes{grid-template-columns:1fr}
  .maintenance-visual-media{min-height:310px}
}
@media (max-width:560px){
  .maintenance-shell{padding:10px}
  .maintenance-panel{border-radius:24px}
  .maintenance-panel::before{inset:8px;border-radius:18px}
  .maintenance-topbar{align-items:flex-start}
  .maintenance-brand{align-items:center;gap:12px}
  .maintenance-copy{padding:18px 16px 18px;gap:20px}
  .maintenance-pill{padding:10px 12px;font-size:12px}
  .maintenance-badge{font-size:12px;line-height:1.8;width:100%;justify-content:center;text-align:center}
  .maintenance-main{gap:18px}
  .maintenance-actions{display:grid;grid-template-columns:1fr}
  .maintenance-actions .btn{width:100%;min-width:0}
  .maintenance-quick-links{display:grid;grid-template-columns:1fr}
  .maintenance-quick-links a{justify-content:center;text-align:center}
  .maintenance-visual-panel{padding:14px}
  .maintenance-visual-media{min-height:220px;border-radius:20px}
  .maintenance-floating-summary{margin:-44px 0 0;padding:18px 16px 16px;border-radius:18px}
  .maintenance-floating-summary h2{font-size:22px}
  .maintenance-floating-summary p{font-size:14px;line-height:1.9}
  .maintenance-note-card,
  .maintenance-info-card{padding:16px 14px 14px;border-radius:16px}
}

/* v1.4.0 - inventory, customer profile, dynamic item pages */
.dish-card.is-unavailable{position:relative;filter:saturate(.65);opacity:.72}.dish-card.is-unavailable:hover{transform:none;border-color:var(--line-soft);box-shadow:0 16px 40px rgba(0,0,0,.25)}.dish-card.is-unavailable .menu-card-image img,.dish-card.is-unavailable .home-dish-image img,.dish-card.is-unavailable .menu-item-media img{filter:grayscale(.55) brightness(.72)}.stock-badge{position:absolute;right:14px;top:14px;z-index:3;border-radius:999px;padding:7px 12px;background:rgba(17,14,10,.82);border:1px solid rgba(232,191,119,.38);color:var(--gold-2);font-size:12px;font-weight:900;backdrop-filter:blur(10px)}.stock-badge-out{background:rgba(120,34,34,.84);border-color:rgba(255,140,140,.38);color:#ffe1d3}.add-to-cart.is-disabled,.add-to-cart:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(1)}.add-to-cart.is-disabled:hover,.add-to-cart:disabled:hover{background:rgba(198,138,62,.09);color:var(--gold-2);transform:none}.home-dish-image{display:block;position:relative;text-decoration:none;color:inherit}.dish-body h3 a{color:inherit;text-decoration:none}.dish-body h3 a:hover{color:var(--gold-2)}.checkout-form select{font-family:inherit;width:100%;border:1px solid var(--line);background:#0f0d0b;color:#fff;border-radius:12px;padding:13px 14px}
.menu-item-page{padding-top:140px}.menu-item-shell{display:grid;gap:22px}.breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted)}.breadcrumb a{color:var(--gold-2);text-decoration:none}.breadcrumb strong{color:#fff}.menu-item-hero{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:0;border-radius:30px;overflow:hidden}.menu-item-media{position:relative;margin:0;min-height:430px;background:#0f0d0b}.menu-item-media img{width:100%;height:100%;object-fit:cover;display:block}.menu-item-copy{padding:46px;display:grid;align-content:center;gap:16px}.menu-item-copy h1{margin:0;color:#fff;font-size:42px}.menu-item-copy p{color:var(--muted);line-height:2;font-size:17px}.menu-item-price{font-size:28px;color:var(--gold-2)}.menu-item-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.menu-item-reviews{width:100%}.account-dashboard-pro .account-shell{max-width:1180px}.account-hero-card{background:radial-gradient(circle at top right,rgba(198,138,62,.18),transparent 38%),linear-gradient(145deg,rgba(29,26,22,.96),rgba(17,16,14,.96));border:1px solid var(--line);border-radius:28px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:var(--shadow)}.account-kicker{color:var(--gold-2);font-weight:900}.account-hero-card h1{margin:8px 0 12px;color:#fff;font-size:34px}.account-hero-card p{margin:0;color:var(--muted);line-height:2}.account-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.account-grid-advanced{grid-template-columns:repeat(5,minmax(0,1fr))}.points-box{background:linear-gradient(145deg,rgba(198,138,62,.18),rgba(255,255,255,.035))}.points-box small{display:block;color:#a99d87;margin-top:6px}.account-panels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.account-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.account-card-head h2{margin:0}.account-card-head a{color:var(--gold-2);text-decoration:none;font-weight:800}.status-chip{display:inline-flex;border-radius:999px;padding:5px 10px;background:rgba(198,138,62,.12);border:1px solid rgba(198,138,62,.2);color:var(--gold-2);font-size:12px;font-weight:800}.account-review-list,.address-mini-list{display:grid;gap:12px}.account-review-list article,.address-mini-list article,.saved-address-card{border:1px solid var(--line-soft);background:rgba(255,255,255,.035);border-radius:16px;padding:16px}.account-review-list strong,.address-mini-list strong,.saved-address-card strong{display:block;color:#fff}.account-review-list p,.address-mini-list p,.saved-address-card p{margin:.5rem 0;color:var(--muted);line-height:1.9}.account-review-list span{color:var(--gold-2);font-size:12px}.account-review-list.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.address-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.address-form-grid label{display:grid;gap:8px;color:var(--muted)}.address-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.saved-address-card{display:grid;gap:14px}.saved-address-card span{color:var(--gold-2);font-size:13px}.saved-address-card .actions{display:flex;gap:8px;flex-wrap:wrap}.saved-address-card form{margin:0}.btn-outline{background:transparent;color:var(--gold-2);border:1px solid var(--line)}.btn-outline:hover{border-color:rgba(198,138,62,.55);background:rgba(198,138,62,.09)}
@media(max-width:980px){.menu-item-hero{grid-template-columns:1fr}.menu-item-media{min-height:310px}.account-grid-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}.account-panels-grid,.address-card-grid,.account-review-list.detailed{grid-template-columns:1fr}.account-hero-card{display:grid}.account-hero-actions .btn{width:auto}}@media(max-width:640px){.menu-item-page{padding-top:100px}.menu-item-copy{padding:26px}.menu-item-copy h1{font-size:30px}.menu-item-actions .btn{width:100%}.account-hero-card{padding:24px;border-radius:22px}.account-hero-card h1{font-size:26px}.account-grid-advanced,.address-form-grid{grid-template-columns:1fr}.account-hero-actions .btn{width:100%}.simple-table table{min-width:620px}}

/* v1.5.3 - reservation hall table map */
.reservation-table-fieldset{position:relative}.reservation-table-map{position:relative;min-height:380px;border-radius:28px;border:1px solid rgba(232,191,119,.18);overflow:hidden;background:radial-gradient(circle at 52% 15%,rgba(232,191,119,.16),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018)),repeating-linear-gradient(90deg,rgba(232,191,119,.045) 0 1px,transparent 1px 54px),repeating-linear-gradient(0deg,rgba(232,191,119,.035) 0 1px,transparent 1px 54px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 22px 55px rgba(0,0,0,.18);margin-top:14px}.reservation-table-map::before{content:"نقشه سالن";position:absolute;right:18px;top:16px;border-radius:999px;padding:7px 12px;background:rgba(12,10,8,.68);border:1px solid rgba(232,191,119,.18);color:var(--gold-2);font-size:12px;font-weight:900}.reservation-table-map::after{content:"ورودی";position:absolute;right:18px;bottom:16px;border-radius:999px;padding:7px 12px;background:rgba(12,10,8,.68);border:1px solid rgba(232,191,119,.18);color:var(--muted);font-size:12px}.reservation-table-option{position:absolute;transform:translate(50%,-50%);min-width:90px;min-height:72px;border:0;border-radius:22px;padding:10px;background:linear-gradient(145deg,var(--gold-2),var(--gold));color:#15100b;font-family:inherit;font-weight:950;text-align:center;cursor:pointer;display:grid;place-items:center;box-shadow:0 18px 45px rgba(0,0,0,.28),0 0 0 7px rgba(232,191,119,.1);transition:.2s ease;z-index:2}.reservation-table-option span{line-height:1.4}.reservation-table-option small{display:block;font-size:11px;opacity:.78;font-weight:800}.reservation-table-option:hover{transform:translate(50%,-50%) scale(1.04);box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 0 9px rgba(232,191,119,.14)}.reservation-table-option.is-selected{background:linear-gradient(145deg,#fff4ce,var(--gold-2));box-shadow:0 22px 64px rgba(198,138,62,.38),0 0 0 10px rgba(232,191,119,.18)}.reservation-table-option.is-disabled,.reservation-table-option:disabled{cursor:not-allowed;filter:grayscale(.88);opacity:.52;background:linear-gradient(145deg,#877a67,#50483e);color:#fff;box-shadow:none}.reservation-table-option.is-disabled:hover,.reservation-table-option:disabled:hover{transform:translate(50%,-50%)}.reservation-table-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);line-height:2;padding:24px}.reservation-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.reservation-progress span{min-width:0}
@media(max-width:720px){.reservation-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-table-map{min-height:320px;border-radius:22px}.reservation-table-option{min-width:76px;min-height:62px;border-radius:18px;font-size:12px}.reservation-table-option small{font-size:10px}}@media(max-width:460px){.reservation-table-map{min-height:290px}.reservation-table-option{min-width:68px;min-height:58px;padding:8px}}


/* FarshidBonab v1.6.1 - Elegant placeholder for menu items without images */
.menu-card-image--empty{display:block;min-height:210px;background:radial-gradient(circle at 30% 20%,rgba(232,191,119,.24),transparent 30%),linear-gradient(135deg,#21170f,#090806 72%);border-bottom:1px solid rgba(232,191,119,.14)}
.home-dish-image.menu-card-image--empty{min-height:210px}.menu-empty-image{height:210px;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--gold-2);position:relative;overflow:hidden}.menu-empty-image::before{content:"";width:78px;height:78px;border-radius:26px;background:linear-gradient(135deg,rgba(198,138,62,.95),rgba(232,191,119,.76));box-shadow:0 18px 42px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.22);position:absolute}.menu-empty-image::after{content:"";position:absolute;inset:auto 18% 20px;height:1px;background:linear-gradient(90deg,transparent,rgba(232,191,119,.42),transparent)}.menu-empty-image span{position:relative;z-index:2;right:auto;top:auto;padding:0;border:0;background:transparent;backdrop-filter:none;font-family:serif;font-weight:900;font-size:30px;letter-spacing:.08em;color:#1b120b;text-shadow:0 1px 0 rgba(255,255,255,.35)}.menu-empty-image small{position:relative;z-index:2;margin-top:86px;font-size:12px;font-weight:900;color:rgba(255,244,224,.78);letter-spacing:-.01em}.menu-item-media--empty{background:radial-gradient(circle at 30% 20%,rgba(232,191,119,.18),transparent 32%),linear-gradient(135deg,#21170f,#090806 72%)}.menu-item-media .menu-empty-image--large{height:100%;min-height:380px}.menu-item-media .menu-empty-image--large::before{width:118px;height:118px;border-radius:34px}.menu-item-media .menu-empty-image--large span{font-size:44px}.menu-item-media .menu-empty-image--large small{margin-top:132px;font-size:14px;color:rgba(255,244,224,.84)}@media(max-width:760px){.menu-card-image--empty,.home-dish-image.menu-card-image--empty,.menu-empty-image{min-height:190px;height:190px}.menu-empty-image::before{width:68px;height:68px;border-radius:22px}.menu-empty-image span{font-size:26px}.menu-empty-image small{margin-top:78px}.menu-item-media .menu-empty-image--large{min-height:280px;height:280px}}

/* FarshidBonab v1.7.0 - public multi-floor reservation map */
.reservation-table-map{display:grid;gap:18px;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.reservation-table-map::before,.reservation-table-map::after{display:none}.reservation-floor-block{border:1px solid rgba(232,191,119,.18);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018));padding:14px;box-shadow:0 18px 48px rgba(0,0,0,.14)}.reservation-floor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:0 4px}.reservation-floor-head strong{color:#fff;font-size:18px}.reservation-floor-head span{color:var(--muted);font-size:13px;line-height:1.7;text-align:left}.reservation-floor-stage{position:relative;min-height:360px;border-radius:22px;overflow:hidden;border:1px solid rgba(232,191,119,.14);background:radial-gradient(circle at 52% 15%,rgba(232,191,119,.16),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018)),repeating-linear-gradient(90deg,rgba(232,191,119,.045) 0 1px,transparent 1px 44px),repeating-linear-gradient(0deg,rgba(232,191,119,.035) 0 1px,transparent 1px 44px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.reservation-plan-object{position:absolute;z-index:1;display:grid;place-items:center;text-align:center;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:6px;color:#fff;font-size:11px;font-weight:950;line-height:1.45;text-shadow:0 2px 7px rgba(0,0,0,.32);transform-origin:center;pointer-events:none}.reservation-plan-object--wall{border-radius:7px;background:linear-gradient(145deg,#65584a,#2a241d);border-color:rgba(232,191,119,.22);color:#f4debc}.reservation-plan-object--stage{background:linear-gradient(145deg,rgba(147,51,234,.46),rgba(76,29,149,.34));border-color:rgba(216,180,254,.25)}.reservation-plan-object--vip{background:linear-gradient(145deg,rgba(232,191,119,.34),rgba(198,138,62,.18));border-color:rgba(232,191,119,.36);color:#fff4d7}.reservation-plan-object--counter{background:linear-gradient(145deg,rgba(14,165,233,.38),rgba(3,105,161,.18));border-color:rgba(125,211,252,.26)}.reservation-plan-object--stairs{background:repeating-linear-gradient(135deg,rgba(255,255,255,.13) 0 7px,rgba(255,255,255,.04) 7px 14px),rgba(100,116,139,.22);border-color:rgba(203,213,225,.22)}.reservation-plan-object--entrance{background:linear-gradient(145deg,rgba(16,185,129,.34),rgba(6,95,70,.2));border-color:rgba(110,231,183,.25)}.reservation-plan-object--window{background:linear-gradient(145deg,rgba(56,189,248,.28),rgba(14,165,233,.12));border-color:rgba(125,211,252,.25)}.reservation-plan-object--plant{border-radius:999px;background:linear-gradient(145deg,rgba(34,197,94,.36),rgba(22,101,52,.19));border-color:rgba(134,239,172,.24)}.reservation-plan-object--text{background:rgba(12,10,8,.56);border-style:dashed}.reservation-floor-stage .reservation-table-option{z-index:4}.reservation-floor-stage .reservation-table-empty{inset:0;z-index:2;background:rgba(12,10,8,.16);backdrop-filter:blur(2px)}@media(max-width:720px){.reservation-floor-block{border-radius:22px;padding:12px}.reservation-floor-head{display:grid}.reservation-floor-head span{text-align:right}.reservation-floor-stage{min-height:320px;border-radius:18px}.reservation-plan-object{font-size:10px}.reservation-table-map{gap:14px}}@media(max-width:460px){.reservation-floor-stage{min-height:285px}.reservation-plan-object{font-size:9px}}

/* FarshidBonab v1.7.1 - public 2D tables with dynamic chairs */
.reservation-floor-stage .reservation-table-option{--table-w:116px;--table-h:96px;--chair-distance:46px;width:var(--table-w);height:var(--table-h);min-width:0;min-height:0;border:0;border-radius:0;padding:0;background:transparent!important;color:#15100b;box-shadow:none;overflow:visible;display:block;z-index:4}.reservation-floor-stage .reservation-table-option--large{--table-w:134px;--table-h:108px;--chair-distance:53px}.reservation-floor-stage .reservation-table-option--xl{--table-w:148px;--table-h:120px;--chair-distance:59px}.reservation-table-shape{position:absolute;inset:0;display:block;pointer-events:none;filter:drop-shadow(0 16px 25px rgba(0,0,0,.24))}.reservation-table-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72%;height:58%;border-radius:23px;background:radial-gradient(circle at 32% 20%,rgba(255,255,255,.52),transparent 28%),linear-gradient(145deg,#ffe5a6,var(--gold-2) 64%,#8f5521);border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 0 0 2px rgba(88,53,22,.2),0 11px 24px rgba(0,0,0,.28),0 0 0 5px rgba(232,191,119,.1);display:grid;align-content:center;justify-items:center;gap:1px;padding:8px;box-sizing:border-box;line-height:1.35;z-index:2}.reservation-table-core::before{content:"";position:absolute;inset:9px;border-radius:17px;border:1px dashed rgba(65,39,16,.24);pointer-events:none}.reservation-table-core>span,.reservation-table-core small{position:relative;z-index:1}.reservation-table-core>span{display:block;color:#15100b;font-size:12.5px;font-weight:950;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-table-core small{display:block;font-size:10.5px;opacity:.82;font-weight:900;margin-top:0}.reservation-table-chair{position:absolute;left:50%;top:50%;width:15px;height:17px;border-radius:7px 7px 10px 10px;background:linear-gradient(145deg,#f6cf84,#8b5524);border:1px solid rgba(255,255,255,.22);box-shadow:0 7px 14px rgba(0,0,0,.28),inset 0 -3px 0 rgba(79,44,16,.2);transform:translate(-50%,-50%) rotate(var(--chair-angle)) translateY(calc(var(--chair-distance) * -1));transform-origin:center;z-index:1}.reservation-floor-stage .reservation-table-option:hover{transform:translate(50%,-50%) scale(1.05);box-shadow:none}.reservation-floor-stage .reservation-table-option:hover .reservation-table-core,.reservation-floor-stage .reservation-table-option.is-selected .reservation-table-core{background:radial-gradient(circle at 32% 20%,rgba(255,255,255,.58),transparent 28%),linear-gradient(145deg,#fff2bd,#e8bf77 62%,#a76629);box-shadow:inset 0 0 0 2px rgba(88,53,22,.18),0 16px 34px rgba(0,0,0,.32),0 0 0 8px rgba(232,191,119,.18)}.reservation-floor-stage .reservation-table-option.is-selected{box-shadow:none}.reservation-floor-stage .reservation-table-option.is-disabled,.reservation-floor-stage .reservation-table-option:disabled{background:transparent!important;filter:grayscale(.86);opacity:.55;box-shadow:none}.reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core,.reservation-floor-stage .reservation-table-option:disabled .reservation-table-core{background:linear-gradient(145deg,#877a67,#50483e);color:#fff}.reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core>span,.reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core small,.reservation-floor-stage .reservation-table-option:disabled .reservation-table-core>span,.reservation-floor-stage .reservation-table-option:disabled .reservation-table-core small{color:#fff}.reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-chair,.reservation-floor-stage .reservation-table-option:disabled .reservation-table-chair{background:linear-gradient(145deg,#877a67,#50483e)}.reservation-plan-object--wall::after,.reservation-plan-object--window::after{content:"";position:absolute;inset:50% 8px auto;height:1px;background:rgba(255,255,255,.16);transform:translateY(-50%);pointer-events:none}@media(max-width:720px){.reservation-floor-stage .reservation-table-option{--table-w:92px;--table-h:80px;--chair-distance:38px}.reservation-floor-stage .reservation-table-option--large{--table-w:106px;--table-h:88px;--chair-distance:43px}.reservation-floor-stage .reservation-table-option--xl{--table-w:116px;--table-h:96px;--chair-distance:47px}.reservation-table-core>span{font-size:10.5px}.reservation-table-core small{font-size:9px}.reservation-table-chair{width:12px;height:14px}}


/* FarshidBonab v1.9.1 - polished public menu list and review eligibility */
.menu-page--list{background:radial-gradient(circle at 82% 4%,rgba(232,191,119,.10),transparent 30%),linear-gradient(180deg,#12100e 0,#171410 38%,#100f0d 100%)}
.menu-hero-page--compact{padding-top:116px;padding-bottom:36px;border-bottom:1px solid rgba(232,191,119,.12)}
.menu-hero-grid--compact{grid-template-columns:minmax(0,1.5fr) minmax(260px,.56fr);gap:24px;align-items:stretch}
.menu-hero-grid--compact .menu-hero-copy,.menu-hero-panel--compact{border:1px solid rgba(232,191,119,.13);background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018));box-shadow:0 20px 60px rgba(0,0,0,.22);border-radius:28px;padding:32px}
.menu-hero-grid--compact .menu-hero-copy h1{font-size:clamp(30px,4vw,52px)}
.menu-hero-grid--compact .menu-hero-copy p{max-width:780px;color:#d8cab5;line-height:2}
.menu-hero-panel--compact{display:grid;align-content:center;gap:16px}
.menu-category-nav--smart{position:sticky;top:78px;z-index:700;background:rgba(14,12,10,.84);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(232,191,119,.14)}
.menu-category-nav--smart .menu-category-scroll{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:13px 0;scroll-padding-inline:24px}
.menu-category-nav--smart .menu-category-scroll::-webkit-scrollbar{height:6px}.menu-category-nav--smart .menu-category-scroll::-webkit-scrollbar-thumb{background:rgba(232,191,119,.25);border-radius:999px}
.menu-category-nav--smart a{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#e7dac6;font-weight:900;transition:.22s ease;white-space:nowrap}
.menu-category-nav--smart a small{color:#ab9e89;font-size:11px;font-weight:800}.menu-category-nav--smart a:hover,.menu-category-nav--smart a.is-active{background:linear-gradient(135deg,var(--gold),#a8672a);color:#16100a;border-color:rgba(255,255,255,.2);box-shadow:0 14px 32px rgba(198,138,62,.18)}
.menu-category-nav--smart a.is-active small,.menu-category-nav--smart a:hover small{color:rgba(20,14,8,.74)}
.menu-list-section--list{padding-top:34px}.menu-list-container{display:grid;gap:30px}.menu-category-block--list{scroll-margin-top:168px}.menu-category-head--list{position:relative;margin-bottom:14px;padding:0 4px 12px;border-bottom:1px solid rgba(232,191,119,.13)}
.menu-category-head--list span{color:var(--gold);font-size:12px;font-weight:900}.menu-category-head--list h2{margin:5px 0 0;color:#fff;font-size:25px}.menu-category-head--list strong{color:var(--gold-2);background:rgba(198,138,62,.08);border:1px solid rgba(198,138,62,.16);border-radius:999px;padding:8px 13px;font-size:13px}
.menu-list-stack{display:grid;gap:14px}.fb-menu-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;padding:13px;border-radius:24px;overflow:visible;align-items:stretch;background:linear-gradient(145deg,rgba(255,255,255,.062),rgba(255,255,255,.024));border-color:rgba(232,191,119,.12)}
.fb-menu-row:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(0,0,0,.32);border-color:rgba(232,191,119,.34)}
.fb-menu-thumb{position:relative;display:block;width:132px;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:#12100d;border:1px solid rgba(232,191,119,.14);align-self:start}.fb-menu-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.03)}
.fb-menu-thumb .stock-badge{right:8px;top:8px;padding:5px 8px;font-size:10.5px}.fb-menu-thumb--empty .fb-menu-empty-image{height:100%;min-height:0}.fb-menu-thumb--empty .menu-empty-image::before{width:54px;height:54px;border-radius:18px}.fb-menu-thumb--empty .menu-empty-image span{font-size:22px}.fb-menu-thumb--empty .menu-empty-image small{font-size:10px;margin-top:62px}
.fb-menu-content{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.fb-menu-main{min-width:0}.fb-menu-title-row{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:8px}.fb-menu-title-row h3{margin:0;color:#fff;font-size:20px;line-height:1.65}.fb-menu-title-row h3 a:hover{color:var(--gold-2)}
.fb-menu-content p{margin:0;max-width:680px;color:#bfb29f;font-size:14px;line-height:1.9}.fb-menu-rating{flex:0 0 auto;margin-top:4px}.rating-mini:empty{display:none}.fb-menu-actions{display:grid;justify-items:end;gap:13px;min-width:180px}.fb-menu-price{color:var(--gold-2);font-size:18px;white-space:nowrap}.fb-menu-buttons{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.fb-add-btn{width:auto;height:42px;border-radius:999px;padding:0 15px;display:inline-flex;gap:8px;font-weight:900}.fb-add-btn svg{width:15px;height:15px}.fb-review-btn{border:1px solid rgba(232,191,119,.24);background:rgba(198,138,62,.08);color:var(--gold-2);border-radius:999px;padding:10px 14px;font-size:12px;font-weight:900;transition:.2s ease}.fb-review-btn:hover{background:rgba(198,138,62,.18);border-color:rgba(232,191,119,.45);transform:translateY(-1px)}
.fb-review-locked{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.035);border:1px dashed rgba(255,255,255,.10);color:#9f9383;font-size:11.5px;font-weight:800;line-height:1.7;text-align:center}.fb-review-locked--detail{border-radius:14px;padding:13px 16px;color:#b8aa96;max-width:280px}.fb-menu-row.is-unavailable .fb-menu-price{color:#b8aa96}.fb-menu-row.is-unavailable .fb-add-btn{min-width:86px;justify-content:center}
@media(max-width:980px){.menu-hero-grid--compact{grid-template-columns:1fr}.menu-hero-panel--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.fb-menu-content{grid-template-columns:1fr}.fb-menu-actions{justify-items:start;min-width:0}.fb-menu-buttons{justify-content:flex-start}.fb-menu-title-row{display:grid;gap:4px}}
@media(max-width:720px){.menu-hero-page--compact{padding-top:100px;padding-bottom:22px}.menu-hero-grid--compact .menu-hero-copy,.menu-hero-panel--compact{padding:22px;border-radius:22px}.menu-category-nav--smart{top:72px}.menu-category-nav--smart .menu-category-scroll{width:calc(100% - 24px);padding:10px 0}.menu-category-nav--smart a{padding:9px 12px;font-size:13px}.menu-category-nav--smart a small{display:none}.menu-category-block--list{scroll-margin-top:142px}.menu-category-head--list h2{font-size:21px}.fb-menu-row{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px;border-radius:18px}.fb-menu-thumb{width:96px;border-radius:15px}.fb-menu-title-row h3{font-size:16px;line-height:1.55}.fb-menu-content p{font-size:12.5px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fb-menu-price{font-size:15px}.fb-menu-actions{gap:9px}.fb-add-btn{height:36px;padding:0 12px;font-size:12px}.fb-add-btn span{display:none}.fb-review-btn{padding:8px 11px}.fb-review-locked{font-size:10.5px;min-height:30px;padding:7px 9px}.fb-menu-thumb--empty .menu-empty-image small{display:none}.fb-menu-thumb--empty .menu-empty-image::before{width:44px;height:44px;border-radius:15px}.fb-menu-thumb--empty .menu-empty-image span{font-size:18px}}
@media(max-width:430px){.container{width:min(var(--container),calc(100% - 28px))}.fb-menu-row{grid-template-columns:84px minmax(0,1fr)}.fb-menu-thumb{width:84px}.fb-menu-buttons{gap:6px}.fb-review-locked{display:none}.menu-hero-panel--compact{grid-template-columns:1fr}.fb-menu-title-row h3{font-size:15px}.fb-menu-content p{display:none}}


/* FarshidBonab v1.9.2 - display-only menu and premium compact prices */
.fb-menu-actions{align-self:center}
.fb-menu-price,.menu-item-price{direction:rtl;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:max-content;border-radius:999px;border:1px solid rgba(232,191,119,.28);background:linear-gradient(135deg,rgba(232,191,119,.18),rgba(198,138,62,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(0,0,0,.18);font-weight:950;letter-spacing:-.02em}
.fb-menu-price{min-height:44px;padding:9px 16px;color:#f7d79a;font-size:17px}
.fb-menu-price::before,.menu-item-price::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--gold-2);box-shadow:0 0 0 5px rgba(232,191,119,.10)}
.menu-item-price{min-height:54px;padding:11px 20px;color:#f7d79a;font-size:24px;justify-self:start}
.fb-menu-buttons:empty{display:none}
.fb-menu-row.is-unavailable .fb-menu-price{color:#cdbfa9;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.045)}
@media(max-width:720px){.fb-menu-price{min-height:38px;padding:7px 11px;font-size:13.5px;white-space:normal;text-align:center}.fb-menu-price::before{width:6px;height:6px;box-shadow:0 0 0 4px rgba(232,191,119,.10)}.menu-item-price{font-size:19px;min-height:46px;padding:9px 15px}}
@media(max-width:430px){.fb-menu-actions{align-items:start}.fb-menu-price{justify-content:flex-start;max-width:100%;line-height:1.65}.fb-menu-buttons{display:flex}.fb-menu-review-locked{display:none}}

/* FarshidBonab v1.9.3 - clean luxury menu hero, premium category nav, accent titles and underline prices */
.menu-hero-page--compact{
  padding:118px 0 46px;
  border-bottom:0;
  background:
    radial-gradient(circle at 50% 0,rgba(232,191,119,.15),transparent 28%),
    radial-gradient(circle at 13% 28%,rgba(198,138,62,.13),transparent 28%),
    linear-gradient(180deg,rgba(18,15,12,.96),rgba(13,12,10,.92));
}
.menu-hero-page--compact::before{
  inset:-170px auto auto 50%;
  width:560px;
  height:560px;
  transform:translateX(-50%);
  background:rgba(232,191,119,.10);
  filter:blur(120px);
}
.menu-hero-page--compact::after{
  inset:auto 10% -250px auto;
  width:460px;
  height:460px;
  background:rgba(198,138,62,.10);
  filter:blur(115px);
}
.menu-hero-grid--clean{
  display:block;
  max-width:920px;
  margin-inline:auto;
}
.menu-hero-copy--clean{
  position:relative;
  max-width:860px;
  margin-inline:auto;
  padding:34px 42px !important;
  text-align:center;
  border-radius:32px;
  border:1px solid rgba(232,191,119,.18) !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.070),rgba(255,255,255,.025)),
    linear-gradient(180deg,rgba(20,17,13,.72),rgba(15,13,11,.62)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow:hidden;
  backdrop-filter:blur(18px);
}
.menu-hero-copy--clean::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,transparent,var(--gold-2),var(--gold),transparent);
  opacity:.88;
}
.menu-hero-copy--clean::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.55),transparent);
}
.menu-hero-copy--clean .menu-eyebrow{
  margin-bottom:13px;
  background:rgba(232,191,119,.10);
  border-color:rgba(232,191,119,.24);
  color:#f3d49b;
}
.menu-hero-copy--clean h1{
  margin-bottom:12px;
  font-size:clamp(28px,4.2vw,48px) !important;
  letter-spacing:-.045em;
  text-shadow:0 12px 36px rgba(0,0,0,.34);
}
.menu-hero-copy--clean p{
  max-width:690px !important;
  margin:0 auto !important;
  color:#d9cbb8 !important;
  font-size:16px !important;
  line-height:2.05 !important;
}
.menu-category-nav--smart{
  top:76px;
  padding:10px 0;
  border:0;
  background:linear-gradient(180deg,rgba(18,16,13,.92),rgba(12,11,9,.86));
  box-shadow:0 18px 44px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.04);
}
.menu-category-nav--smart .menu-category-scroll{
  position:relative;
  gap:12px;
  padding:10px;
  border:1px solid rgba(232,191,119,.13);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.020));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 38px rgba(0,0,0,.18);
}
.menu-category-nav--smart .menu-category-scroll::before,
.menu-category-nav--smart .menu-category-scroll::after{
  content:"";
  position:sticky;
  z-index:2;
  flex:0 0 18px;
  pointer-events:none;
}
.menu-category-nav--smart .menu-category-scroll::before{
  right:0;
  background:linear-gradient(90deg,rgba(18,16,13,.92),transparent);
}
.menu-category-nav--smart .menu-category-scroll::after{
  left:0;
  background:linear-gradient(270deg,rgba(18,16,13,.92),transparent);
}
.menu-category-nav--smart a{
  position:relative;
  min-height:52px;
  padding:9px 14px 9px 10px;
  gap:11px;
  border-radius:18px;
  border:1px solid rgba(232,191,119,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.060),rgba(255,255,255,.025));
  color:#f3e7d4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}
.menu-category-nav--smart a::before{
  content:"";
  width:8px;
  height:26px;
  border-radius:999px;
  background:rgba(232,191,119,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  transition:.22s ease;
}
.menu-category-nav--smart a span{
  font-size:14px;
  line-height:1.4;
}
.menu-category-nav--smart a small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  height:26px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.075);
  color:#c8baa5;
}
.menu-category-nav--smart a:hover,
.menu-category-nav--smart a.is-active{
  transform:translateY(-1px);
  border-color:rgba(232,191,119,.34);
  background:linear-gradient(135deg,rgba(232,191,119,.22),rgba(198,138,62,.09));
  color:#fff7e8;
  box-shadow:0 15px 36px rgba(0,0,0,.26),0 0 0 1px rgba(232,191,119,.06) inset;
}
.menu-category-nav--smart a:hover::before,
.menu-category-nav--smart a.is-active::before{
  background:linear-gradient(180deg,#f5db9f,var(--gold));
  box-shadow:0 0 0 5px rgba(232,191,119,.10),0 10px 22px rgba(198,138,62,.22);
}
.menu-category-nav--smart a.is-active small,
.menu-category-nav--smart a:hover small{
  color:#f8e4b4;
  border-color:rgba(232,191,119,.20);
  background:rgba(0,0,0,.22);
}
.menu-list-section--list{
  padding-top:38px;
  background:
    radial-gradient(circle at 15% 4%,rgba(232,191,119,.075),transparent 28%),
    radial-gradient(circle at 86% 28%,rgba(198,138,62,.060),transparent 24%),
    linear-gradient(180deg,#14120f,#100f0d 62%,#0d0c0a);
}
.fb-menu-row{
  position:relative;
  background:
    linear-gradient(135deg,rgba(255,255,255,.070),rgba(255,255,255,.026)),
    linear-gradient(180deg,rgba(24,21,17,.90),rgba(16,14,12,.88));
  border:1px solid rgba(232,191,119,.14);
  box-shadow:0 16px 42px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);
}
.fb-menu-row::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(232,191,119,.10),transparent 22%,transparent 78%,rgba(232,191,119,.035));
  opacity:.65;
}
.fb-menu-thumb{
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.fb-menu-title-row h3{
  position:relative;
  padding-inline-start:15px;
  margin:0;
  letter-spacing:-.025em;
}
.fb-menu-title-row h3::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:.40em;
  bottom:.38em;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#f5dca5,var(--gold));
  box-shadow:0 0 0 4px rgba(232,191,119,.08),0 8px 18px rgba(198,138,62,.24);
}
.fb-menu-title-row h3 a{
  color:#fff;
  text-decoration:none;
}
.fb-menu-title-row h3 a:hover{
  color:#f4d89f;
}
.fb-menu-actions{
  min-width:170px;
}
.fb-menu-price{
  position:relative;
  min-height:auto;
  padding:0 2px 7px 2px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#f6d79c;
  font-size:18px;
  font-weight:1000;
  line-height:1.5;
  letter-spacing:-.035em;
}
.fb-menu-price::before{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  width:auto;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold-2),var(--gold),rgba(232,191,119,.18));
  box-shadow:0 8px 18px rgba(198,138,62,.16);
}
.fb-menu-row.is-unavailable .fb-menu-price{
  color:#b9ad9b;
  background:transparent !important;
  border:0 !important;
}
.fb-menu-row.is-unavailable .fb-menu-price::before{
  background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.08));
  box-shadow:none;
}
@media(max-width:980px){
  .menu-category-nav--smart{top:72px}
  .fb-menu-actions{min-width:0;justify-items:start}
}
@media(max-width:720px){
  .menu-hero-page--compact{padding-top:96px;padding-bottom:24px}
  .menu-hero-copy--clean{padding:24px 22px !important;border-radius:24px}
  .menu-hero-copy--clean h1{font-size:clamp(26px,8vw,34px) !important}
  .menu-hero-copy--clean p{font-size:13.8px !important;line-height:2 !important}
  .menu-category-nav--smart{padding:8px 0;top:70px}
  .menu-category-nav--smart .menu-category-scroll{width:calc(100% - 24px);gap:8px;padding:8px;border-radius:20px}
  .menu-category-nav--smart .menu-category-scroll::before,
  .menu-category-nav--smart .menu-category-scroll::after{flex-basis:8px}
  .menu-category-nav--smart a{min-height:44px;border-radius:15px;padding:8px 11px;font-size:13px}
  .menu-category-nav--smart a::before{width:6px;height:22px}
  .menu-category-nav--smart a small{display:none}
  .fb-menu-title-row h3{padding-inline-start:12px}
  .fb-menu-title-row h3::before{width:3px;top:.38em;bottom:.32em}
  .fb-menu-price{padding-bottom:6px;font-size:14.5px;line-height:1.55;white-space:normal;text-align:right;justify-content:flex-start}
  .fb-menu-price::before{height:2px}
}
@media(max-width:430px){
  .menu-hero-copy--clean{padding:22px 18px !important}
  .fb-menu-actions{align-items:start}
  .fb-menu-price{font-size:13.5px;max-width:100%}
}

/* ===== Farshid Bonab v1.9.7: homepage clean-up + luxury brand ===== */
.brand-luxury{
  flex-direction:row;
  align-items:center;
  gap:12px;
  min-width:210px;
  padding:7px 10px 7px 14px;
  border:1px solid rgba(232,191,119,.18);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(232,191,119,.10),rgba(198,138,62,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 34px rgba(0,0,0,.18);
}
.brand-emblem{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  overflow:hidden;
  color:#18110a;
  font-family:Georgia,serif;
  font-size:16px;
  font-weight:900;
  letter-spacing:.04em;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  box-shadow:0 12px 28px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.25);
}
.brand-emblem img{width:100%;height:100%;object-fit:cover;background:#120f0b}
.brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.05;min-width:0}
.brand-luxury .brand-kicker{font-size:12px;font-weight:800;letter-spacing:.04em;color:#d9ac65}
.brand-luxury strong{
  font-size:24px;
  font-weight:950;
  color:#ffe2a8;
  letter-spacing:-.9px;
  text-shadow:0 8px 28px rgba(0,0,0,.38);
  white-space:nowrap;
}
.menu-section .home-dish-image{
  aspect-ratio:1/1;
  overflow:hidden;
  background:#17130f;
}
.menu-section .home-dish-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.menu-section .home-dish-image.menu-card-image--empty,
.menu-section .home-dish-image .menu-empty-image{
  min-height:0;
  height:100%;
}
.menu-section .dish-footer--price-only{
  direction:rtl;
  justify-content:flex-start;
  margin-top:16px;
}
.menu-section .dish-footer--price-only strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(232,191,119,.25);
  background:linear-gradient(135deg,rgba(232,191,119,.14),rgba(198,138,62,.06));
  color:#f4d28f;
  font-size:15px;
  font-weight:950;
}
@media(max-width:980px){
  .brand-luxury{min-width:190px;padding:6px 8px 6px 11px;gap:10px}
  .brand-emblem{width:42px;height:42px;flex-basis:42px;border-radius:14px}
  .brand-luxury strong{font-size:21px}
}
@media(max-width:560px){
  .brand-luxury{min-width:0;max-width:calc(100vw - 138px);border-radius:15px;padding:6px 7px;gap:8px}
  .brand-emblem{width:38px;height:38px;flex-basis:38px;border-radius:13px;font-size:14px}
  .brand-luxury .brand-kicker{font-size:10.5px}
  .brand-luxury strong{font-size:18px;letter-spacing:-.6px}
}


/* ===== FarshidBonab v1.9.8: text logo + homepage menu carousel ===== */
.brand-luxury.brand-luxury--text{
  min-width:0;
  padding:0;
  gap:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-decoration:none;
}
.brand-luxury--text .brand-text{
  position:relative;
  padding:3px 0 5px 18px;
  gap:5px;
}
.brand-luxury--text .brand-text::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:6px;
  bottom:7px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,transparent,var(--gold-2),var(--gold),transparent);
  box-shadow:0 0 18px rgba(232,191,119,.32);
}
.brand-luxury--text .brand-kicker{
  color:#d9ac65;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
}
.brand-luxury--text strong{
  position:relative;
  display:inline-block;
  color:#ffe4ad;
  font-size:25px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.9px;
  text-shadow:0 10px 28px rgba(0,0,0,.48),0 0 18px rgba(232,191,119,.12);
}
.brand-luxury--text strong::after{
  content:"";
  position:absolute;
  right:0;
  left:12%;
  bottom:-8px;
  height:1px;
  background:linear-gradient(90deg,rgba(232,191,119,.7),transparent);
}
.menu-section .menu-wrap{
  padding-inline:46px;
}
.menu-section .menu-grid{
  display:flex;
  grid-template-columns:none;
  gap:22px;
  overflow-x:auto;
  overflow-y:visible;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  padding:8px 2px 28px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.menu-section .menu-grid::-webkit-scrollbar{display:none}
.menu-section .dish-card{
  flex:0 0 calc((100% - 66px) / 4);
  min-width:0;
  scroll-snap-align:start;
  border-radius:22px;
  background:radial-gradient(circle at 50% 0,rgba(232,191,119,.10),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
}
.menu-section .dish-body{
  padding:18px 18px 20px;
}
.menu-section .dish-body h3{
  min-height:56px;
  display:flex;
  align-items:center;
  font-size:18px;
  line-height:1.55;
}
.menu-section .dish-body p{
  min-height:46px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.menu-section .dish-footer--price-only strong{
  min-height:auto;
  padding:0 0 9px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#f6d692;
  font-size:16px;
  font-weight:950;
  line-height:1.55;
  box-shadow:none;
  position:relative;
}
.menu-section .dish-footer--price-only strong::after{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold-2),rgba(198,138,62,.28),transparent);
}
.menu-section .slider-arrow{
  width:46px;
  height:46px;
  border-color:rgba(232,191,119,.30);
  background:linear-gradient(145deg,rgba(24,20,15,.92),rgba(11,9,7,.78));
  box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
}
.menu-section .slider-arrow:hover{
  transform:translateY(-2px);
  border-color:rgba(232,191,119,.58);
  color:#fff1cf;
}
@media(max-width:1100px){
  .menu-section .dish-card{flex-basis:calc((100% - 44px) / 3)}
}
@media(max-width:980px){
  .brand-luxury.brand-luxury--text{padding:0;gap:0;min-width:0}
  .brand-luxury--text strong{font-size:22px}
  .brand-luxury--text .brand-text{padding-inline-start:14px}
  .menu-section .menu-wrap{padding-inline:38px}
}
@media(max-width:760px){
  .menu-section .dish-card{flex-basis:calc((100% - 18px) / 2)}
  .menu-section .dish-body h3{min-height:auto;font-size:16px}
  .menu-section .dish-body p{min-height:42px;font-size:12.5px}
}
@media(max-width:560px){
  .brand-luxury.brand-luxury--text{max-width:calc(100vw - 128px);padding:0;gap:0;border-radius:0}
  .brand-luxury--text .brand-kicker{font-size:10.5px}
  .brand-luxury--text strong{font-size:18px;letter-spacing:-.55px;white-space:nowrap}
  .brand-luxury--text .brand-text{padding-inline-start:12px}
  .menu-section .menu-wrap{padding-inline:0}
  .menu-section .menu-grid{padding-inline:2px;gap:16px}
  .menu-section .dish-card{flex-basis:83%}
  .menu-section .slider-arrow{display:none}
}

/* ===== FarshidBonab v1.9.9: visible logo mark + richer menu item title accent ===== */
.brand-luxury--with-logo{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:12px !important;
}
.brand-logo-mark{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible;
}
.brand-logo-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.34)) drop-shadow(0 0 14px rgba(232,191,119,.16));
}
.brand-luxury--with-logo .brand-text{
  padding-inline-start:16px;
}
.menu-page--list .fb-menu-title-row h3{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  min-height:42px;
  padding:6px 16px 9px 18px;
  border-radius:0 16px 16px 0;
  background:linear-gradient(90deg,rgba(232,191,119,.115),rgba(232,191,119,.035) 52%,transparent 100%);
  isolation:isolate;
  overflow:visible;
}
.menu-page--list .fb-menu-title-row h3::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:6px;
  bottom:7px;
  width:6px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff2c9,var(--gold-2) 44%,var(--gold));
  box-shadow:0 0 0 5px rgba(232,191,119,.075),0 10px 24px rgba(198,138,62,.28);
  z-index:0;
}
.menu-page--list .fb-menu-title-row h3::after{
  content:"";
  position:absolute;
  inset-inline-start:0;
  inset-inline-end:10px;
  bottom:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold-2),var(--gold),rgba(232,191,119,.10));
  box-shadow:0 10px 24px rgba(198,138,62,.18);
  z-index:0;
}
.menu-page--list .fb-menu-title-row h3 a{
  position:relative;
  z-index:1;
  text-shadow:0 8px 22px rgba(0,0,0,.35);
}
.menu-page--list .fb-menu-row:hover .fb-menu-title-row h3{
  background:linear-gradient(90deg,rgba(232,191,119,.17),rgba(232,191,119,.055) 58%,transparent 100%);
}
@media(max-width:980px){
  .brand-luxury--with-logo{gap:10px !important}
  .brand-logo-mark{width:42px;height:42px}
  .brand-luxury--with-logo .brand-text{padding-inline-start:14px}
}
@media(max-width:720px){
  .menu-page--list .fb-menu-title-row h3{
    min-height:36px;
    padding:5px 12px 8px 14px;
    border-radius:0 13px 13px 0;
  }
  .menu-page--list .fb-menu-title-row h3::before{width:4px;top:7px;bottom:7px}
  .menu-page--list .fb-menu-title-row h3::after{height:2px;inset-inline-end:8px}
}
@media(max-width:560px){
  .brand-luxury--with-logo{gap:8px !important;max-width:calc(100vw - 126px)}
  .brand-logo-mark{width:36px;height:36px}
  .brand-luxury--with-logo .brand-text{padding-inline-start:11px}
}

/* Payment gateway checkout and result - modular update */
.checkout-payment-box{display:grid;gap:10px;margin:4px 0 2px;padding:14px;border:1px solid rgba(232,191,119,.18);border-radius:16px;background:linear-gradient(180deg,rgba(198,138,62,.08),rgba(255,255,255,.025))}
.checkout-payment-box>strong{color:var(--gold-2);font-size:14px}.checkout-payment-options{display:grid;gap:9px}.checkout-payment-option{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:11px;border:1px solid var(--line-soft);border-radius:13px;background:rgba(0,0,0,.16);cursor:pointer;transition:.25s ease}.checkout-payment-option:hover{border-color:rgba(232,191,119,.36);background:rgba(198,138,62,.08)}.checkout-payment-option input{margin-top:4px;accent-color:var(--gold)}.checkout-payment-option span{display:grid;gap:3px}.checkout-payment-option b{color:#fff;font-size:13px}.checkout-payment-option small{color:var(--muted);line-height:1.7;font-size:11px}.checkout-payment-option.is-online{background:linear-gradient(135deg,rgba(198,138,62,.10),rgba(255,255,255,.025))}.payment-result-page{min-height:70vh;display:flex;align-items:center}.payment-result-card{position:relative;overflow:hidden;margin-inline:auto;max-width:760px;text-align:center;border:1px solid rgba(232,191,119,.25);border-radius:32px;padding:42px 34px;background:radial-gradient(circle at top,rgba(198,138,62,.15),transparent 45%),linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:var(--shadow)}.payment-result-card::before{content:"";position:absolute;inset:-80px auto auto -80px;width:180px;height:180px;border-radius:50%;background:rgba(198,138,62,.12);filter:blur(22px)}.payment-result-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;font-size:40px;font-weight:900;border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 42px rgba(0,0,0,.28)}.payment-result-card.is-success .payment-result-icon{background:linear-gradient(135deg,#d7b16a,#67c587);color:#11100e}.payment-result-card.is-failed .payment-result-icon{background:linear-gradient(135deg,#d7b16a,#b44949);color:#fff}.payment-result-card h1{font-size:clamp(28px,4vw,44px);color:#fff;margin:0 0 12px}.payment-result-card p{color:#d8ccb8;line-height:2;margin:0 auto 24px;max-width:620px}.payment-result-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;text-align:right}.payment-result-details div{padding:14px;border:1px solid var(--line-soft);border-radius:16px;background:rgba(0,0,0,.18)}.payment-result-details dt{color:var(--muted);font-size:12px;margin-bottom:5px}.payment-result-details dd{margin:0;color:var(--gold-2);font-weight:900}.payment-result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* More polished Mizino powered footer */
.copyright-luxury{border-top:1px solid rgba(232,191,119,.12);margin-top:22px}.copyright-luxury span{display:inline-flex;align-items:center;gap:8px}.copyright-luxury span::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.8}.copyright-luxury a{isolation:isolate;overflow:hidden;padding:10px 18px 10px 16px;border:1px solid rgba(255,255,255,.18)}.copyright-luxury a::after{content:"";position:absolute;inset:-40% -25%;z-index:-1;background:linear-gradient(120deg,transparent 22%,rgba(255,255,255,.32) 42%,transparent 62%);transform:translateX(130%);transition:.55s ease}.copyright-luxury a:hover::after{transform:translateX(-130%)}.copyright-luxury a strong{letter-spacing:.2px}.copyright-luxury a strong::after{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:2px;background:#17110a;transform:rotate(45deg);opacity:.72}
@media(max-width:760px){.payment-result-card{padding:32px 18px;border-radius:24px}.payment-result-details{grid-template-columns:1fr}.payment-result-actions .btn{width:100%}.checkout-payment-option{padding:10px}.copyright-luxury span{justify-content:center;flex-wrap:wrap}.copyright-luxury span::before{display:none}}
.copyright-luxury .mizino-powered{gap:8px}.copyright-luxury .mizino-powered small{font-size:11px;font-weight:700;color:rgba(23,17,10,.72)}.copyright-luxury .mizino-powered em{font-style:normal;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:rgba(23,17,10,.62);border-right:1px solid rgba(23,17,10,.22);padding-right:8px}
@media(max-width:760px){.copyright-luxury .mizino-powered{flex-wrap:wrap}.copyright-luxury .mizino-powered em{border-right:0;padding-right:0;width:100%;text-align:center}}
.btn.add-to-cart{width:auto;height:auto;border-radius:4px;display:inline-flex;padding:14px 24px}.fb-menu-buttons{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}.fb-menu-buttons .add-to-cart{flex:0 0 34px;width:34px;height:34px}.fb-review-btn{border:1px solid var(--line);border-radius:999px;background:rgba(198,138,62,.08);color:var(--gold-2);padding:7px 12px;font-weight:800}

/* ===== FarshidBonab v2.0.2 - business status + premium review form ===== */
.business-status-pill{display:inline-flex;align-items:center;gap:9px;min-width:188px;max-width:238px;padding:8px 12px;border:1px solid rgba(232,191,119,.18);border-radius:999px;background:rgba(255,255,255,.045);color:#fff;text-decoration:none;box-shadow:0 12px 36px rgba(0,0,0,.18);transition:.25s ease;flex:0 0 auto;direction:rtl}
.business-status-pill:hover{transform:translateY(-2px);border-color:rgba(232,191,119,.36);background:rgba(198,138,62,.10)}
.business-status-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px;background:#f59e0b;box-shadow:0 0 0 6px rgba(245,158,11,.12)}
.business-status-pill.is-open .business-status-dot{background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.14),0 0 18px rgba(34,197,94,.35)}
.business-status-pill.is-closed .business-status-dot{background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.14),0 0 18px rgba(239,68,68,.24)}
.business-status-pill strong{font-size:13px;font-weight:900;white-space:nowrap;color:#fff}
.business-status-pill small{font-size:11px;line-height:1.45;color:#cdbfaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hero-status-badge{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-bottom:1.5rem;padding:.48rem .85rem;border:1px solid rgba(232,191,119,.16);border-radius:999px;background:rgba(24,22,18,.82);color:#d4d4d8;box-shadow:0 16px 42px rgba(0,0,0,.22);backdrop-filter:blur(14px);font-size:12px;font-weight:800}
.hero-live-dot{position:relative;width:11px;height:11px;display:inline-flex;flex:0 0 11px}
.hero-live-dot span{position:absolute;inset:0;border-radius:50%;background:#f59e0b}.hero-live-dot span:first-child{animation:heroStatusPulse 1.6s ease-out infinite;opacity:.55}.hero-status-badge.is-open .hero-live-dot span{background:#22c55e}.hero-status-badge.is-closed .hero-live-dot span{background:#ef4444}
@keyframes heroStatusPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.4);opacity:0}}
.contact-open-state{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;margin-left:6px;font-weight:900;font-size:12px;border:1px solid rgba(245,158,11,.25);background:rgba(245,158,11,.10);color:#ffd38a}
.contact-open-state.is-open{border-color:rgba(34,197,94,.30);background:rgba(34,197,94,.12);color:#9ff2c1}.contact-open-state.is-closed{border-color:rgba(239,68,68,.30);background:rgba(239,68,68,.12);color:#ffc4c4}
.review-form-card--premium{position:relative;overflow:hidden;grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);border-radius:34px;padding:38px;background:radial-gradient(circle at 14% 20%,rgba(232,191,119,.18),transparent 30%),linear-gradient(145deg,rgba(27,24,19,.97),rgba(13,12,10,.96));border-color:rgba(232,191,119,.22)}
.review-form-card--premium::before{content:"";position:absolute;inset:18px;border:1px solid rgba(232,191,119,.08);border-radius:28px;pointer-events:none}.review-form-card--premium::after{content:"★★★★★";position:absolute;left:34px;bottom:20px;color:rgba(232,191,119,.12);font-size:76px;letter-spacing:6px;font-weight:900;pointer-events:none}
.review-form-copy{position:relative;z-index:1;padding:8px 4px}.review-form-copy .reservation-kicker{display:inline-flex;margin-bottom:8px;border:1px solid rgba(232,191,119,.22);border-radius:999px;padding:7px 12px;background:rgba(198,138,62,.10);color:var(--gold-2);font-weight:900}.review-form-copy h2{max-width:520px}.review-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.review-benefits span{display:inline-flex;align-items:center;border:1px solid rgba(232,191,119,.16);border-radius:999px;padding:9px 12px;background:rgba(255,255,255,.045);color:#f1dfbf;font-size:13px;font-weight:800}
.site-review-form--premium{position:relative;z-index:1;padding:22px;border-radius:26px;background:rgba(9,8,7,.45);border:1px solid rgba(232,191,119,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.site-review-form--premium label{display:grid;gap:8px;color:#ead7b7;font-size:13px;font-weight:800}.site-review-form--premium label span{padding-inline:3px}.site-review-form--premium input,.site-review-form--premium select,.site-review-form--premium textarea{border-radius:16px;border:1px solid rgba(232,191,119,.18);background:rgba(255,255,255,.055);color:#fff;padding:14px 15px;outline:none;transition:.22s ease}.site-review-form--premium input:focus,.site-review-form--premium select:focus,.site-review-form--premium textarea:focus{border-color:rgba(232,191,119,.55);box-shadow:0 0 0 4px rgba(198,138,62,.10);background:rgba(255,255,255,.075)}.site-review-form--premium textarea{min-height:136px}.site-review-form--premium button{border-radius:18px;width:100%;font-size:16px;box-shadow:0 18px 45px rgba(198,138,62,.22)}.site-review-form--premium .form-message{min-height:22px;margin:0;color:#d8c8ae}.rating-select select{color:#f8d793}.review-textarea{grid-column:1/-1}
@media(max-width:1180px){.main-nav{gap:22px}.business-status-pill{min-width:auto;max-width:180px}.business-status-pill small{display:none}}
@media(max-width:900px){.business-status-pill{margin-inline-start:auto;padding:8px 10px}.business-status-pill strong{font-size:12px}.review-form-card--premium{grid-template-columns:1fr;padding:28px}.review-form-card--premium::after{font-size:48px;left:20px}.site-review-form--premium{grid-template-columns:1fr}.review-textarea{grid-column:auto}}
@media(max-width:560px){.business-status-pill{display:none}.hero-status-badge{font-size:11px;line-height:1.7;white-space:normal;border-radius:18px}.review-form-card--premium{padding:22px;border-radius:24px}.site-review-form--premium{padding:16px}.review-benefits span{width:100%;justify-content:center}}

/* ===== FarshidBonab v2.0.3 - compact header business status ===== */
.business-status-pill{min-width:auto;max-width:none;padding:9px 13px;gap:8px}
.business-status-pill small{display:none!important}
.business-status-pill strong{font-size:13px;line-height:1;white-space:nowrap}
@media(max-width:1180px){.business-status-pill{max-width:none}}


/* ===== FarshidBonab v2.0.5 - luxury menu list + item preview modal ===== */
.menu-category-nav--smart{
  top:76px;
  padding:12px 0;
  border:0;
  background:
    radial-gradient(circle at 16% 50%,rgba(232,191,119,.12),transparent 34%),
    linear-gradient(180deg,rgba(16,14,11,.94),rgba(9,8,7,.86));
  box-shadow:0 18px 48px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.045);
}
.menu-category-nav--smart .menu-category-scroll{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px;
  border:1px solid rgba(232,191,119,.16);
  border-radius:999px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),
    rgba(12,10,8,.64);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.065),0 14px 38px rgba(0,0,0,.20);
  overflow-x:auto;
  scrollbar-width:none;
}
.menu-category-nav--smart .menu-category-scroll::-webkit-scrollbar{display:none}
.menu-category-nav--smart .menu-category-scroll::before,
.menu-category-nav--smart .menu-category-scroll::after{display:none!important;content:none!important}
.menu-category-nav__label{
  position:sticky;
  right:0;
  z-index:4;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),#e8bf77 58%,#9f642b);
  color:#1b1208;
  font-size:13px;
  font-weight:950;
  box-shadow:0 14px 30px rgba(198,138,62,.22);
  white-space:nowrap;
}
.menu-category-nav__label::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1b1208;
  box-shadow:0 0 0 5px rgba(27,18,8,.10);
}
.menu-category-nav--smart a{
  position:relative;
  min-height:44px;
  padding:8px 15px;
  gap:9px;
  border-radius:999px;
  border:1px solid rgba(232,191,119,.13);
  background:rgba(255,255,255,.040);
  color:#efe1ca;
  box-shadow:none;
  isolation:isolate;
}
.menu-category-nav--smart a::before{
  content:"";
  position:absolute;
  inset:7px auto 7px 7px;
  width:3px;
  height:auto;
  border-radius:999px;
  background:rgba(232,191,119,.20);
  box-shadow:none;
  transition:.22s ease;
}
.menu-category-nav--smart a span{font-size:13.5px;line-height:1.55}
.menu-category-nav--smart a small{
  min-width:auto;
  height:auto;
  padding:4px 8px;
  border:0;
  background:rgba(0,0,0,.20);
  color:#baa98f;
  font-size:10.5px;
}
.menu-category-nav--smart a:hover,
.menu-category-nav--smart a.is-active{
  transform:translateY(-1px);
  border-color:rgba(232,191,119,.42);
  background:linear-gradient(135deg,rgba(232,191,119,.24),rgba(198,138,62,.08));
  color:#fff7e8;
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.075);
}
.menu-category-nav--smart a:hover::before,
.menu-category-nav--smart a.is-active::before{
  background:linear-gradient(180deg,#fff0c5,var(--gold));
  box-shadow:0 0 0 5px rgba(232,191,119,.10);
}
.menu-category-nav--smart a:hover small,
.menu-category-nav--smart a.is-active small{color:#ffe4ad;background:rgba(0,0,0,.24)}
.fb-menu-row{
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.fb-menu-row:focus-visible{
  outline:3px solid rgba(232,191,119,.36);
  outline-offset:4px;
}
.menu-page--list .fb-menu-title-row h3,
.fb-menu-title-row h3{
  display:block;
  width:auto;
  min-height:0;
  padding:0 16px 0 0;
  border-radius:0;
  background:transparent!important;
  color:#fff8e8;
  font-size:21px;
  font-weight:950;
  line-height:1.75;
  letter-spacing:-.035em;
  text-shadow:0 12px 28px rgba(0,0,0,.34);
}
.menu-page--list .fb-menu-title-row h3::before,
.fb-menu-title-row h3::before{
  content:"";
  position:absolute;
  right:0;
  left:auto;
  top:.44em;
  bottom:.44em;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#fff0c8,var(--gold-2) 48%,var(--gold));
  box-shadow:0 0 0 4px rgba(232,191,119,.075),0 8px 18px rgba(198,138,62,.22);
}
.menu-page--list .fb-menu-title-row h3::after,
.fb-menu-title-row h3::after{display:none!important;content:none!important}
.menu-page--list .fb-menu-row:hover .fb-menu-title-row h3{background:transparent!important}
.menu-page--list .fb-menu-title-row h3 a,
.fb-menu-title-row h3 a{color:inherit;text-decoration:none;text-shadow:none}
.menu-page--list .fb-menu-title-row h3 a:hover,
.fb-menu-title-row h3 a:hover{color:#f7dca4}
.fb-menu-actions{align-self:center;gap:12px}
.fb-menu-price{
  position:relative;
  display:inline-grid;
  justify-items:end;
  gap:2px;
  min-height:0;
  padding:0 0 8px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#ffe1a7;
  font-size:19px;
  font-weight:1000;
  line-height:1.45;
  letter-spacing:-.04em;
  text-shadow:0 10px 26px rgba(198,138,62,.18);
}
.fb-menu-price::before{
  content:none;
  display:none;
}
.fb-menu-price::after{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(232,191,119,.08),var(--gold-2),var(--gold));
  box-shadow:0 8px 18px rgba(198,138,62,.16);
}
.fb-menu-row.is-unavailable .fb-menu-price{color:#baad99;background:transparent!important;border:0!important}
.fb-menu-row.is-unavailable .fb-menu-price::before{color:#8d8273;background:none;box-shadow:none}
.fb-menu-row.is-unavailable .fb-menu-price::after{background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.26));box-shadow:none}
.fb-menu-preview-modal{z-index:2450;background:rgba(0,0,0,.64)}
.fb-menu-preview-content{
  width:min(980px,96vw);
  max-height:90vh;
  padding:0;
  overflow:hidden;
  border-radius:32px;
  border:1px solid rgba(232,191,119,.24);
  background:
    radial-gradient(circle at 18% 10%,rgba(232,191,119,.20),transparent 32%),
    linear-gradient(145deg,rgba(28,24,18,.98),rgba(10,9,8,.98));
  box-shadow:0 32px 120px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.06);
}
.fb-menu-preview-close{z-index:6;background:rgba(12,10,8,.68)!important;backdrop-filter:blur(12px)}
.fb-menu-preview-grid{display:grid;grid-template-columns:minmax(320px,.96fr) minmax(0,1.04fr);min-height:470px}
.fb-menu-preview-media{position:relative;margin:0;min-height:470px;background:#11100e;overflow:hidden}
.fb-menu-preview-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.42));pointer-events:none}
.fb-menu-preview-media img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover;filter:saturate(1.04) contrast(1.04)}
.fb-menu-preview-media.is-empty{display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(232,191,119,.16),transparent 36%),#12100d}
.fb-menu-preview-empty{width:100%;height:100%;min-height:470px;border:0;background:transparent}
.fb-menu-preview-copy{position:relative;display:grid;align-content:center;gap:16px;padding:48px 44px 42px;overflow:hidden}
.fb-menu-preview-copy::before{content:"";position:absolute;inset:22px;border:1px solid rgba(232,191,119,.09);border-radius:24px;pointer-events:none}
.fb-menu-preview-kicker{position:relative;width:max-content;max-width:100%;border:1px solid rgba(232,191,119,.18);border-radius:999px;padding:7px 12px;background:rgba(198,138,62,.10);color:#f4d49b;font-size:12px;font-weight:950}
.fb-menu-preview-copy h2{position:relative;margin:0;color:#fff;font-size:clamp(28px,4vw,44px);line-height:1.45;letter-spacing:-.045em;text-shadow:0 16px 36px rgba(0,0,0,.32)}
.fb-menu-preview-copy p{position:relative;margin:0;color:#d6c8b4;font-size:16px;line-height:2.05}
.fb-menu-preview-price{position:relative;display:inline-grid;justify-self:start;gap:3px;margin-top:4px;padding-bottom:9px;color:#ffe0a1;font-size:25px;font-weight:1000;letter-spacing:-.045em}
.fb-menu-preview-price::before{content:none;display:none}.fb-menu-preview-price::after{content:"";position:absolute;right:0;left:0;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--gold-2),var(--gold),rgba(232,191,119,.18))}
.fb-menu-preview-actions{position:relative;display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:8px}
.fb-menu-preview-actions .btn{width:auto}.fb-menu-preview-cart{display:inline-flex;align-items:center;gap:8px}.fb-menu-preview-cart svg{width:17px;height:17px}.fb-menu-preview-cart.is-disabled{opacity:.58;filter:grayscale(1);cursor:not-allowed}
@media(max-width:900px){
  .fb-menu-preview-grid{grid-template-columns:1fr;min-height:0}
  .fb-menu-preview-media,.fb-menu-preview-media img,.fb-menu-preview-empty{min-height:310px;max-height:46vh}
  .fb-menu-preview-copy{padding:34px 24px 28px}
}
@media(max-width:720px){
  .menu-category-nav--smart{top:70px;padding:8px 0}
  .menu-category-nav--smart .menu-category-scroll{width:calc(100% - 24px);padding:7px;border-radius:22px;gap:7px}
  .menu-category-nav__label{min-height:40px;padding:0 12px;font-size:12px}
  .menu-category-nav--smart a{min-height:40px;padding:7px 12px;font-size:12.5px;border-radius:16px}
  .menu-category-nav--smart a::before{display:none}
  .menu-page--list .fb-menu-title-row h3,.fb-menu-title-row h3{font-size:16.5px;line-height:1.7;padding:0 11px 0 0}
  .menu-page--list .fb-menu-title-row h3::before,.fb-menu-title-row h3::before{width:3px;top:.40em;bottom:.40em;box-shadow:0 0 0 3px rgba(232,191,119,.07)}
  .fb-menu-content{gap:10px}
  .fb-menu-actions{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid rgba(232,191,119,.10)}
  .fb-menu-price{justify-items:start;text-align:right;font-size:15px;padding-bottom:6px;white-space:nowrap}
  .fb-menu-price::before{font-size:9px}.fb-menu-price::after{height:2px}
  .fb-menu-buttons{justify-content:flex-end;flex:0 0 auto}
  .fb-menu-row{cursor:pointer}
  .fb-menu-preview-content{border-radius:24px;width:min(94vw,680px)}
  .fb-menu-preview-media,.fb-menu-preview-media img,.fb-menu-preview-empty{min-height:250px}
  .fb-menu-preview-copy{padding:30px 20px 22px;gap:13px}
  .fb-menu-preview-copy::before{inset:14px;border-radius:20px}
  .fb-menu-preview-copy p{font-size:14px;line-height:1.95}
  .fb-menu-preview-price{font-size:21px}
  .fb-menu-preview-actions .btn{width:100%;justify-content:center}
}
@media(max-width:430px){
  .menu-category-nav__label{display:none}
  .fb-menu-actions{align-items:flex-start;justify-content:flex-start;flex-wrap:wrap}
  .fb-menu-price{flex:1 1 100%;max-width:100%;font-size:14px;white-space:normal;text-align:right}
  .fb-menu-buttons{width:100%;justify-content:flex-start}
  .fb-menu-preview-media,.fb-menu-preview-media img,.fb-menu-preview-empty{min-height:220px}
  .fb-menu-preview-copy h2{font-size:25px}
}


/* ===== FarshidBonab v2.0.6: temporary ordering disable + RTL menu refinements ===== */
.add-to-cart,
.cart-btn,
.fb-menu-preview-cart{display:none!important}
.menu-page--list .fb-menu-title-row h3::before,
.fb-menu-title-row h3::before{right:0!important;left:auto!important;inset-inline-start:auto!important;inset-inline-end:auto!important}
.fb-menu-price::before,
.fb-menu-preview-price::before{content:none!important;display:none!important}
.fb-menu-buttons:empty{display:none!important}
.fb-menu-preview-actions{justify-content:flex-start}
@media(max-width:720px){
  .fb-menu-actions{direction:ltr;justify-content:space-between}
  .fb-menu-price{direction:rtl;justify-items:start;text-align:left}
  .fb-menu-buttons{direction:rtl;justify-content:flex-end}
}
@media(max-width:430px){
  .fb-menu-actions{direction:ltr;justify-content:flex-start}
  .fb-menu-price{flex:1 1 100%;justify-items:start;text-align:left}
  .fb-menu-buttons{direction:rtl;justify-content:flex-end}
}

/* ===== FarshidBonab v2.0.7: menu typography spacing + mobile price alignment ===== */
.menu-page--list .fb-menu-title-row h3,
.fb-menu-title-row h3{
  padding-right:24px!important;
}
.menu-page--list .fb-menu-title-row h3::before,
.fb-menu-title-row h3::before{
  right:0!important;
  left:auto!important;
}
.menu-page--list .fb-menu-content p,
.fb-menu-content p{
  color:rgba(214,202,184,.62)!important;
  font-size:13.7px;
  line-height:2.05;
  font-weight:500;
  letter-spacing:-.012em;
  text-shadow:none;
}
@media(max-width:720px){
  .menu-page--list .fb-menu-title-row h3,
  .fb-menu-title-row h3{
    padding-right:20px!important;
  }
  .menu-page--list .fb-menu-content p,
  .fb-menu-content p{
    color:rgba(214,202,184,.58)!important;
    font-size:12.6px;
    line-height:1.9;
  }
  .fb-menu-actions{
    direction:ltr!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
  }
  .fb-menu-price{
    flex:0 0 auto!important;
    width:max-content!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:auto!important;
    direction:rtl!important;
    text-align:left!important;
    justify-self:start!important;
    align-self:flex-start!important;
  }
}
@media(max-width:430px){
  .menu-page--list .fb-menu-title-row h3,
  .fb-menu-title-row h3{
    padding-right:19px!important;
  }
  .fb-menu-actions{
    direction:ltr!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
  }
  .fb-menu-price{
    flex:0 0 auto!important;
    width:max-content!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
    justify-self:start!important;
  }
}

/* v2.1.0 - SMS OTP authentication */
.auth-otp-card{gap:0}.auth-otp-step{display:grid;gap:0;margin-bottom:14px}.auth-otp-verify{border-top:1px solid rgba(232,191,119,.16);padding-top:18px;margin-top:6px}.auth-remember{display:flex!important;align-items:center;gap:10px;margin:4px 0 12px;color:#e9d7b9;font-weight:800;line-height:1.8}.auth-remember input{width:18px;height:18px;accent-color:var(--gold)}.auth-password-fallback{margin-top:12px;border:1px solid rgba(232,191,119,.16);border-radius:18px;background:rgba(255,255,255,.035);padding:12px 14px}.auth-password-fallback summary{cursor:pointer;color:var(--gold-2);font-weight:900}.auth-password-fallback form{margin-top:16px}.auth-disabled-note{border:1px solid rgba(245,158,11,.24);border-radius:16px;background:rgba(245,158,11,.08);color:#ffe6b0;padding:14px 16px;line-height:1.9;margin-bottom:14px}.auth-otp-card .auth-submit.secondary,.auth-password-fallback .btn.secondary{background:rgba(255,255,255,.06);border-color:rgba(232,191,119,.2);color:#f8e8c8}.auth-otp-card .auth-field input[autocomplete="one-time-code"]{letter-spacing:6px;text-align:center;direction:ltr;font-size:22px;font-weight:900}.auth-otp-card .auth-field input[autocomplete="tel"]{direction:ltr;text-align:left}

/* v2.2.1 - Reservation page comfort layout and responsive non-compressed hall map */
.reservation-page .reservation-page-hero{
  background:
    radial-gradient(circle at 18% 20%,rgba(232,191,119,.18),transparent 28%),
    linear-gradient(90deg,rgba(10,8,6,.97),rgba(13,10,8,.76)),
    url('../img/hero-doorway.webp') center/cover no-repeat;
}
.reservation-page .reservation-page-copy h1{max-width:900px;color:#fff7e8;letter-spacing:-1.1px}
.reservation-page .reservation-page-copy p{max-width:780px;color:#f0debf}
.reservation-page .reservation-page-section .reserve-grid{
  grid-template-columns:minmax(0,1fr);
  width:min(1180px,calc(100% - 48px));
}
.reservation-page .reservation-card{
  overflow:visible;
  border:1px solid rgba(232,191,119,.18);
  background:
    radial-gradient(circle at 88% 0,rgba(232,191,119,.10),transparent 30%),
    linear-gradient(145deg,rgba(28,23,17,.94),rgba(16,14,12,.96));
  box-shadow:0 30px 90px rgba(0,0,0,.34);
}
.reservation-page .reservation-head{display:grid;gap:6px;max-width:920px}
.reservation-page .reservation-head h2{font-size:clamp(26px,3.2vw,42px)}
.reservation-page .reservation-rule{
  border-style:solid;
  border-color:rgba(232,191,119,.18);
  background:linear-gradient(135deg,rgba(232,191,119,.12),rgba(255,255,255,.035));
}
.reservation-page .reservation-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.reservation-page .reservation-progress span{
  border-color:rgba(232,191,119,.16);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  min-height:54px;
}
.reservation-page .booking-fieldset{
  border:1px solid rgba(232,191,119,.14);
  border-radius:24px;
  padding:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016));
}
.reservation-page .booking-fieldset legend{
  padding:0 10px;
  color:#ffe0a5;
  font-size:15px;
}
.reservation-page .slot-helper{
  color:#d9c8ac;
  line-height:2;
  margin:0 0 12px;
}
.reservation-page .jalali-date-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}
.reservation-page .reserve-option,
.reservation-page .time-slot{
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
  border-color:rgba(232,191,119,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.reservation-page .reserve-option.is-selected,
.reservation-page .time-slot.is-selected{
  border-color:rgba(232,191,119,.74);
  background:linear-gradient(145deg,rgba(232,191,119,.30),rgba(198,138,62,.12));
}
.reservation-page .time-slot-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}
.reservation-page .reservation-table-fieldset{
  padding:20px;
  background:
    radial-gradient(circle at 18% 10%,rgba(232,191,119,.08),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
}
.reservation-page .reservation-table-map{display:grid;gap:22px;margin-top:16px;overflow:visible}
.reservation-page .reservation-floor-block{
  border-radius:30px;
  padding:18px;
  border:1px solid rgba(232,191,119,.20);
  background:
    radial-gradient(circle at 12% 0,rgba(232,191,119,.08),transparent 28%),
    linear-gradient(145deg,rgba(24,20,16,.92),rgba(14,12,10,.94));
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.reservation-page .reservation-floor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  padding:0 2px;
}
.reservation-page .reservation-floor-head div{display:grid;gap:5px}
.reservation-page .reservation-floor-head strong{font-size:20px;color:#fff2cf}
.reservation-page .reservation-floor-head span{color:#cbbda7;text-align:right}
.reservation-page .reservation-floor-head em{
  font-style:normal;
  flex:0 0 auto;
  border:1px solid rgba(232,191,119,.16);
  background:rgba(232,191,119,.08);
  color:#f4dab0;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
}
.reservation-page .reservation-map-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 12px;
  color:#d7c8ae;
  font-size:12px;
  font-weight:850;
}
.reservation-page .reservation-map-toolbar span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  border-radius:999px;
  padding:7px 10px;
}
.reservation-page .reservation-map-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--gold-2);box-shadow:0 0 0 4px rgba(232,191,119,.12)}
.reservation-page .reservation-map-dot--selected{background:#fff4ce;box-shadow:0 0 0 4px rgba(232,191,119,.22)}
.reservation-page .reservation-map-dot--disabled{background:#786d60;box-shadow:0 0 0 4px rgba(255,255,255,.06)}
.reservation-page .reservation-floor-stage-scroll{
  position:relative;
  overflow:auto;
  overscroll-behavior-x:contain;
  border-radius:26px;
  border:1px solid rgba(232,191,119,.18);
  background:#100d0a;
  scrollbar-width:thin;
  scrollbar-color:rgba(232,191,119,.45) rgba(255,255,255,.04);
}
.reservation-page .reservation-floor-stage-scroll::-webkit-scrollbar{height:9px;width:9px}
.reservation-page .reservation-floor-stage-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.reservation-page .reservation-floor-stage-scroll::-webkit-scrollbar-thumb{background:rgba(232,191,119,.45);border-radius:999px}
.reservation-page .reservation-floor-stage{
  width:100%;
  min-width:1040px;
  min-height:640px;
  border:0;
  border-radius:0;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),
    radial-gradient(circle at 50% 14%,rgba(232,191,119,.15),transparent 26%),
    repeating-linear-gradient(90deg,rgba(232,191,119,.045) 0 1px,transparent 1px 56px),
    repeating-linear-gradient(0deg,rgba(232,191,119,.035) 0 1px,transparent 1px 56px),
    linear-gradient(145deg,#17120e,#0b0907);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.reservation-page .reservation-floor-stage::before{
  content:"نقشه سالن";
  position:absolute;
  right:18px;
  top:18px;
  z-index:3;
  border-radius:999px;
  padding:8px 12px;
  color:#ffe1aa;
  background:rgba(8,7,6,.72);
  border:1px solid rgba(232,191,119,.18);
  font-size:12px;
  font-weight:950;
  pointer-events:none;
}
.reservation-page .reservation-plan-object{z-index:1;opacity:.88}
.reservation-page .reservation-floor-stage .reservation-table-option{
  --table-w:112px;
  --table-h:92px;
  --chair-distance:43px;
  width:var(--table-w)!important;
  height:var(--table-h)!important;
  transform:translate(50%,-50%);
  transition:transform .22s ease,opacity .22s ease,filter .22s ease;
  will-change:transform;
}
.reservation-page .reservation-floor-stage .reservation-table-option--large{--table-w:128px;--table-h:104px;--chair-distance:50px}
.reservation-page .reservation-floor-stage .reservation-table-option--xl{--table-w:142px;--table-h:116px;--chair-distance:56px}
.reservation-page .reservation-floor-stage .reservation-table-option:hover{transform:translate(50%,-50%) scale(1.06)}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled:hover,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled:hover{transform:translate(50%,-50%)}
.reservation-page .reservation-table-core{
  width:73%;
  height:60%;
  border-radius:24px;
  background:
    radial-gradient(circle at 28% 16%,rgba(255,255,255,.58),transparent 30%),
    linear-gradient(145deg,#ffe8ad,#e8bf77 62%,#9a5e25);
}
.reservation-page .reservation-table-core>span{font-size:12px;letter-spacing:-.02em}
.reservation-page .reservation-table-core small{font-size:10px;line-height:1.45}
.reservation-page .reservation-table-chair{width:14px;height:16px}
.reservation-page .reservation-floor-stage .reservation-table-option.is-selected .reservation-table-core{
  outline:2px solid rgba(255,255,255,.66);
  box-shadow:inset 0 0 0 2px rgba(88,53,22,.16),0 18px 38px rgba(0,0,0,.34),0 0 0 10px rgba(232,191,119,.20);
}
.reservation-page .reservation-table-empty--static{
  position:relative;
  min-height:120px;
  border:1px dashed rgba(232,191,119,.20);
  border-radius:20px;
  background:rgba(255,255,255,.03);
}
.reservation-page .reservation-summary{
  border-style:solid;
  border-color:rgba(232,191,119,.22);
  background:linear-gradient(135deg,rgba(232,191,119,.13),rgba(255,255,255,.035));
  padding:15px 16px;
  font-size:14px;
}
.reservation-page .reservation-guest-form{
  margin-top:18px;
  border:1px solid rgba(232,191,119,.15);
  border-radius:26px;
  padding:20px;
  background:
    radial-gradient(circle at 86% 0,rgba(232,191,119,.10),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018));
}
.reservation-page .reservation-guest-form-head{margin-bottom:14px}
.reservation-page .reservation-guest-form-head h3{margin:0 0 6px;color:#fff;font-size:22px}
.reservation-page .reservation-guest-form-head p{margin:0;color:#cbbba3;line-height:1.9;font-size:13px}
.reservation-page .reservation-card .form-row{gap:14px;margin-bottom:14px}
.reservation-page .reservation-card label{
  display:grid;
  gap:8px;
  color:#ecd6b4;
  font-weight:900;
}
.reservation-page .reservation-card label span{font-size:13px;color:#f2d8a5}
.reservation-page .reservation-card input,
.reservation-page .reservation-card select{
  width:100%;
  min-height:56px;
  border-radius:18px;
  border:1px solid rgba(232,191,119,.18);
  background:linear-gradient(145deg,rgba(12,10,8,.86),rgba(24,20,15,.84));
  color:#fff8e7;
  padding:0 16px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.reservation-page .reservation-card input::placeholder{color:rgba(232,220,201,.45)}
.reservation-page .reservation-card input:focus,
.reservation-page .reservation-card select:focus{
  border-color:rgba(232,191,119,.72);
  box-shadow:0 0 0 4px rgba(232,191,119,.12);
  background:linear-gradient(145deg,rgba(12,10,8,.94),rgba(30,24,17,.90));
}
.reservation-page .form-submit{
  width:min(100%,360px);
  border-radius:18px;
  margin-top:6px;
  min-height:58px;
}
.reservation-page .reservation-side-panel{
  position:relative;
  top:auto;
  display:grid;
  grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);
  align-items:stretch;
}
.reservation-page .reservation-side-panel img{height:100%;min-height:300px}
.reservation-page .reservation-side-content{display:grid;align-content:center}
@media(max-width:980px){
  .reservation-page .reservation-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page .reservation-side-panel{grid-template-columns:1fr}
  .reservation-page .reservation-side-panel img{height:260px;min-height:0}
  .reservation-page .reservation-floor-stage{min-width:980px;min-height:610px}
}
@media(max-width:720px){
  .reservation-page .reservation-page-section .reserve-grid{width:min(100% - 28px,1180px)}
  .reservation-page .reservation-card{padding:18px 12px;border-radius:24px}
  .reservation-page .booking-fieldset,
  .reservation-page .reservation-guest-form{padding:14px;border-radius:20px}
  .reservation-page .reservation-progress{gap:8px}
  .reservation-page .reservation-progress span{font-size:11px;min-height:50px;padding:9px}
  .reservation-page .time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page .reservation-floor-block{padding:12px;border-radius:22px}
  .reservation-page .reservation-floor-head{display:grid}
  .reservation-page .reservation-floor-head em{width:max-content;max-width:100%}
  .reservation-page .reservation-floor-stage{min-width:900px;min-height:560px}
  .reservation-page .reservation-floor-stage .reservation-table-option{--table-w:104px;--table-h:86px;--chair-distance:40px}
  .reservation-page .reservation-floor-stage .reservation-table-option--large{--table-w:118px;--table-h:96px;--chair-distance:46px}
  .reservation-page .reservation-floor-stage .reservation-table-option--xl{--table-w:132px;--table-h:108px;--chair-distance:52px}
  .reservation-page .reservation-card .form-row{grid-template-columns:1fr}
  .reservation-page .form-submit{width:100%}
}
@media(max-width:460px){
  .reservation-page .reservation-page-hero{padding-top:104px}
  .reservation-page .reservation-progress{grid-template-columns:1fr}
  .reservation-page .jalali-date-grid,
  .reservation-page .time-slot-grid{grid-template-columns:1fr}
  .reservation-page .reservation-floor-stage{min-width:820px;min-height:520px}
  .reservation-page .reservation-map-toolbar{font-size:11px}
  .reservation-page .reservation-table-core>span{font-size:11px}
  .reservation-page .reservation-table-core small{font-size:9px}
}

/* FarshidBonab v2.2.2 - playful compact reservation map */
.reservation-page .reservation-table-fieldset{
  overflow:hidden;
}
.reservation-page .reservation-table-map{
  gap:18px;
}
.reservation-page .reservation-floor-block{
  border-radius:28px;
  padding:16px;
  background:
    radial-gradient(circle at 12% 2%,rgba(232,191,119,.10),transparent 26%),
    linear-gradient(145deg,rgba(24,20,16,.94),rgba(12,10,8,.96));
}
.reservation-page .reservation-floor-head{
  align-items:center;
  margin-bottom:10px;
}
.reservation-page .reservation-floor-head strong{
  font-size:19px;
}
.reservation-page .reservation-floor-head em{
  background:linear-gradient(135deg,rgba(232,191,119,.14),rgba(255,255,255,.04));
  color:#ffe1aa;
}
.reservation-page .reservation-map-toolbar{
  gap:8px;
  margin-bottom:10px;
}
.reservation-page .reservation-map-toolbar span{
  padding:6px 9px;
  font-size:11.5px;
}
.reservation-page .reservation-floor-stage-scroll{
  border-radius:24px;
  background:#0d0a07;
}
.reservation-page .reservation-floor-stage{
  width:100%;
  min-width:1100px;
  min-height:620px;
  background:
    radial-gradient(circle at 50% 15%,rgba(232,191,119,.13),transparent 25%),
    radial-gradient(circle at 25% 85%,rgba(198,138,62,.08),transparent 25%),
    repeating-linear-gradient(90deg,rgba(232,191,119,.036) 0 1px,transparent 1px 56px),
    repeating-linear-gradient(0deg,rgba(232,191,119,.030) 0 1px,transparent 1px 56px),
    linear-gradient(145deg,#17110d,#0a0806);
}
.reservation-page .reservation-floor-stage::before{
  content:"یک میز را انتخاب کنید";
  right:16px;
  top:16px;
  padding:7px 11px;
  font-size:11.5px;
  color:#ffe8b8;
  background:rgba(9,7,5,.72);
}
.reservation-page .reservation-plan-object{
  z-index:1;
  opacity:.72;
  pointer-events:none;
}
.reservation-page .reservation-plan-object--text{
  opacity:.46;
  border-style:dashed;
  font-size:10px;
  color:#c6a56b;
  background:rgba(8,7,6,.34);
}
.reservation-page .reservation-floor-stage .reservation-table-option{
  --table-w:66px;
  --table-h:60px;
  --chair-distance:24px;
  width:var(--table-w)!important;
  height:var(--table-h)!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#1d1208;
  display:block;
  overflow:visible;
  z-index:6;
  cursor:pointer;
  touch-action:manipulation;
  transform:translate(50%,-50%);
  transition:transform .18s ease,filter .18s ease,opacity .18s ease;
}
.reservation-page .reservation-floor-stage .reservation-table-option--large{
  --table-w:74px;
  --table-h:66px;
  --chair-distance:27px;
}
.reservation-page .reservation-floor-stage .reservation-table-option--xl{
  --table-w:82px;
  --table-h:72px;
  --chair-distance:30px;
}
.reservation-page .reservation-floor-stage .reservation-table-option::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:80%;
  height:76%;
  border-radius:999px;
  background:rgba(232,191,119,.16);
  transform:translate(-50%,-50%) scale(.72);
  opacity:0;
  z-index:0;
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
}
.reservation-page .reservation-floor-stage .reservation-table-option:hover,
.reservation-page .reservation-floor-stage .reservation-table-option:focus-visible{
  transform:translate(50%,-50%) scale(1.12);
  outline:none;
}
.reservation-page .reservation-floor-stage .reservation-table-option:hover::before,
.reservation-page .reservation-floor-stage .reservation-table-option:focus-visible::before,
.reservation-page .reservation-floor-stage .reservation-table-option.is-selected::before{
  opacity:1;
  transform:translate(-50%,-50%) scale(1.12);
}
.reservation-page .reservation-table-shape{
  position:absolute;
  inset:0;
  display:block;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.34));
  pointer-events:none;
  z-index:1;
}
.reservation-page .reservation-table-core{
  position:absolute;
  left:50%;
  top:50%;
  width:60%;
  height:50%;
  transform:translate(-50%,-50%);
  border-radius:999px;
  padding:0;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.58),transparent 30%),
    linear-gradient(145deg,#ffe7aa 0%,#e6bb70 58%,#9b5d23 100%);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:
    inset 0 0 0 2px rgba(93,54,20,.17),
    inset 0 -6px 12px rgba(95,54,19,.22),
    0 10px 18px rgba(0,0,0,.28),
    0 0 0 4px rgba(232,191,119,.09);
  display:grid;
  place-items:center;
  z-index:2;
}
.reservation-page .reservation-table-core::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:999px;
  border:1px dashed rgba(72,42,15,.26);
  pointer-events:none;
}
.reservation-page .reservation-table-core small{
  display:none!important;
}
.reservation-page .reservation-table-core > span.reservation-table-number{
  display:block;
  color:#1d1208;
  font-size:16px;
  font-weight:1000;
  line-height:1;
  letter-spacing:-.02em;
  text-shadow:0 1px 0 rgba(255,255,255,.36);
  max-width:none;
  overflow:visible;
  white-space:nowrap;
  position:relative;
  z-index:1;
}
.reservation-page .reservation-table-chair{
  position:absolute;
  left:50%;
  top:50%;
  width:9px;
  height:10px;
  border-radius:6px 6px 9px 9px;
  background:linear-gradient(145deg,#f4c977,#8b5222);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 5px 9px rgba(0,0,0,.30),inset 0 -2px 0 rgba(72,40,14,.22);
  transform:translate(-50%,-50%) rotate(var(--chair-angle)) translateY(calc(var(--chair-distance) * -1));
  transform-origin:center;
  z-index:1;
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-selected .reservation-table-core{
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.70),transparent 30%),
    linear-gradient(145deg,#fff5cc 0%,#f0c878 58%,#b26d2c 100%);
  box-shadow:
    inset 0 0 0 2px rgba(93,54,20,.13),
    inset 0 -6px 12px rgba(95,54,19,.18),
    0 15px 24px rgba(0,0,0,.32),
    0 0 0 6px rgba(232,191,119,.22),
    0 0 26px rgba(232,191,119,.28);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-selected .reservation-table-chair{
  background:linear-gradient(145deg,#ffe7a9,#b36a29);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled{
  cursor:not-allowed;
  filter:grayscale(.85);
  opacity:.46;
  transform:translate(50%,-50%);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled:hover,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled:hover{
  transform:translate(50%,-50%);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled::before,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled::before{
  display:none;
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled .reservation-table-core{
  background:linear-gradient(145deg,#8a7b68,#4e453b);
  color:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.06),0 7px 14px rgba(0,0,0,.18);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core > span.reservation-table-number,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled .reservation-table-core > span.reservation-table-number{
  color:#fff7ea;
  text-shadow:none;
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-chair,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled .reservation-table-chair{
  background:linear-gradient(145deg,#8a7b68,#4e453b);
}
@media(max-width:980px){
  .reservation-page .reservation-floor-stage{
    min-width:980px;
    min-height:570px;
  }
}
@media(max-width:720px){
  .reservation-page .reservation-floor-block{
    padding:10px;
  }
  .reservation-page .reservation-floor-stage{
    min-width:860px;
    min-height:520px;
  }
  .reservation-page .reservation-floor-stage .reservation-table-option{
    --table-w:58px;
    --table-h:54px;
    --chair-distance:21px;
  }
  .reservation-page .reservation-floor-stage .reservation-table-option--large{
    --table-w:64px;
    --table-h:58px;
    --chair-distance:23px;
  }
  .reservation-page .reservation-floor-stage .reservation-table-option--xl{
    --table-w:70px;
    --table-h:62px;
    --chair-distance:25px;
  }
  .reservation-page .reservation-table-core > span.reservation-table-number{
    font-size:14px;
  }
  .reservation-page .reservation-table-chair{
    width:8px;
    height:9px;
  }
}
@media(max-width:460px){
  .reservation-page .reservation-floor-stage{
    min-width:780px;
    min-height:500px;
  }
  .reservation-page .reservation-floor-stage::before{
    font-size:10.5px;
    right:12px;
    top:12px;
  }
}

/* FarshidBonab v2.2.3 - guided reservation flow and realistic playful tables */
.reservation-page .reservation-head p{max-width:980px}
.reservation-page .reservation-booking-layout{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
  gap:16px;
  align-items:start;
  margin-bottom:18px;
}
.reservation-page .reservation-date-time-stack{display:grid;gap:16px}
.reservation-page fieldset.reservation-guest-form{
  margin:0;
  height:100%;
  align-content:start;
  background:
    radial-gradient(circle at 82% 8%,rgba(232,191,119,.12),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.056),rgba(255,255,255,.018));
}
.reservation-page .reservation-guest-form-head h3{font-size:clamp(20px,2.2vw,28px)}
.reservation-page .reservation-guest-form-head p{font-size:13px;color:#d7c7ad}
.reservation-page .reservation-card select{cursor:pointer}
.reservation-page .reservation-table-fieldset{margin-top:2px}
.reservation-page .reservation-floor-picker{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin:14px 0 16px;
}
.reservation-page .reservation-floor-choice{
  appearance:none;
  border:1px solid rgba(232,191,119,.18);
  border-radius:22px;
  padding:15px 16px;
  text-align:right;
  background:
    radial-gradient(circle at 12% 18%,rgba(232,191,119,.15),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.064),rgba(255,255,255,.020));
  color:#fff0d0;
  display:grid;
  gap:5px;
  min-height:112px;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 14px 36px rgba(0,0,0,.18);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease;
  position:relative;
  overflow:hidden;
}
.reservation-page .reservation-floor-choice::before{
  content:"";
  position:absolute;
  left:14px;
  top:14px;
  width:34px;
  height:34px;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(232,191,119,.30),rgba(198,138,62,.12));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.reservation-page .reservation-floor-choice::after{
  content:"";
  position:absolute;
  left:23px;
  top:23px;
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid rgba(255,239,199,.72);
  opacity:.7;
}
.reservation-page .reservation-floor-choice span{font-size:19px;font-weight:1000;color:#ffe8b6}
.reservation-page .reservation-floor-choice small{color:#cdbfa8;line-height:1.75;font-weight:750;padding-left:48px}
.reservation-page .reservation-floor-choice em{
  width:max-content;
  max-width:100%;
  font-style:normal;
  margin-top:auto;
  border-radius:999px;
  padding:6px 10px;
  color:#221509;
  background:linear-gradient(135deg,#ffe4ad,#c68a3e);
  font-size:11.5px;
  font-weight:950;
}
.reservation-page .reservation-floor-choice:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(232,191,119,.44);box-shadow:0 18px 42px rgba(0,0,0,.24)}
.reservation-page .reservation-floor-choice.is-selected{
  border-color:rgba(232,191,119,.78);
  background:
    radial-gradient(circle at 12% 18%,rgba(232,191,119,.26),transparent 34%),
    linear-gradient(145deg,rgba(232,191,119,.18),rgba(198,138,62,.07));
  box-shadow:0 0 0 4px rgba(232,191,119,.10),0 20px 48px rgba(0,0,0,.25);
}
.reservation-page .reservation-floor-choice.is-selected::after{background:#fff2c8;border-color:#fff2c8;box-shadow:0 0 20px rgba(232,191,119,.55)}
.reservation-page .reservation-floor-choice:disabled{opacity:.50;cursor:not-allowed;filter:grayscale(.55)}
.reservation-page .reservation-map-gate{
  min-height:260px;
  border:1px dashed rgba(232,191,119,.26);
  border-radius:26px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  gap:10px;
  padding:30px;
  background:
    radial-gradient(circle at 50% 0,rgba(232,191,119,.13),transparent 34%),
    linear-gradient(145deg,rgba(13,10,8,.72),rgba(26,21,16,.58));
  color:#e7d7bc;
}
.reservation-page .reservation-map-gate span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#201307;
  background:linear-gradient(145deg,#ffe4ad,#c68a3e);
  box-shadow:0 12px 26px rgba(198,138,62,.22),inset 0 1px 0 rgba(255,255,255,.36);
  font-weight:1000;
  font-size:20px;
}
.reservation-page .reservation-map-gate strong{font-size:24px;color:#fff0c7}
.reservation-page .reservation-map-gate p{margin:0;max-width:560px;line-height:2;color:#d8c9ad}
.reservation-page .reservation-floor-stage{
  min-width:1060px;
  min-height:590px;
  background:
    radial-gradient(circle at 50% 15%,rgba(232,191,119,.12),transparent 24%),
    radial-gradient(circle at 18% 82%,rgba(198,138,62,.08),transparent 26%),
    linear-gradient(90deg,rgba(232,191,119,.040) 1px,transparent 1px),
    linear-gradient(0deg,rgba(232,191,119,.032) 1px,transparent 1px),
    linear-gradient(145deg,#17110d,#090706);
  background-size:auto,auto,62px 62px,62px 62px,auto;
}
.reservation-page .reservation-floor-stage::before{content:"میز دلخواه را لمس کنید"}
.reservation-page .reservation-floor-stage .reservation-table-option{
  --table-w:70px;
  --table-h:62px;
  --chair-distance:27px;
  transform:translate(50%,-50%);
}
.reservation-page .reservation-floor-stage .reservation-table-option--round{--table-w:66px;--table-h:64px;--chair-distance:26px}
.reservation-page .reservation-floor-stage .reservation-table-option--large{--table-w:80px;--table-h:68px;--chair-distance:31px}
.reservation-page .reservation-floor-stage .reservation-table-option--xl{--table-w:88px;--table-h:74px;--chair-distance:34px}
.reservation-page .reservation-floor-stage .reservation-table-option:hover,
.reservation-page .reservation-floor-stage .reservation-table-option:focus-visible{transform:translate(50%,-50%) scale(1.15)}
.reservation-page .reservation-table-shape{filter:drop-shadow(0 16px 18px rgba(0,0,0,.38))}
.reservation-page .reservation-table-core{
  width:64%;
  height:52%;
  border-radius:24px;
  background:
    radial-gradient(circle at 24% 20%,rgba(255,255,255,.62),transparent 26%),
    linear-gradient(90deg,rgba(255,255,255,.10),transparent 18%,rgba(91,50,17,.10) 19%,transparent 32%,rgba(255,255,255,.06) 33%,transparent 46%,rgba(91,50,17,.12) 47%,transparent 62%,rgba(255,255,255,.08) 63%,transparent 78%),
    linear-gradient(145deg,#ffdfa0 0%,#d79747 52%,#7a4218 100%);
  border:1px solid rgba(255,239,204,.45);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.28),
    inset 0 -7px 12px rgba(71,38,12,.30),
    inset 0 0 0 3px rgba(101,57,19,.18),
    0 12px 18px rgba(0,0,0,.34),
    0 0 0 5px rgba(232,191,119,.10);
}
.reservation-page .reservation-table-option--round .reservation-table-core{width:56%;height:56%;border-radius:50%}
.reservation-page .reservation-table-core::before{
  inset:5px;
  border:1px solid rgba(83,46,15,.28);
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.reservation-page .reservation-table-core::after{
  content:"";
  position:absolute;
  inset:10px 12px;
  border-radius:inherit;
  background:
    linear-gradient(90deg,transparent 0 18%,rgba(91,50,17,.18) 18% 20%,transparent 20% 45%,rgba(255,255,255,.10) 45% 48%,transparent 48% 72%,rgba(91,50,17,.15) 72% 74%,transparent 74% 100%);
  opacity:.74;
  pointer-events:none;
}
.reservation-page .reservation-table-core > span.reservation-table-number{
  min-width:24px;
  height:24px;
  padding:0 7px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#271607;
  background:rgba(255,239,197,.52);
  border:1px solid rgba(90,50,17,.18);
  font-size:16px;
  line-height:1;
  box-shadow:0 2px 0 rgba(255,255,255,.18),inset 0 -2px 0 rgba(91,50,17,.08);
}
.reservation-page .reservation-table-chair{
  width:10px;
  height:13px;
  border-radius:7px 7px 10px 10px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),transparent 36%),
    linear-gradient(145deg,#f2c879,#9b5c23 72%,#5e3212);
  border:1px solid rgba(255,237,198,.24);
  box-shadow:0 6px 10px rgba(0,0,0,.34),inset 0 -3px 0 rgba(72,40,14,.25);
}
.reservation-page .reservation-table-chair::before{
  content:"";
  position:absolute;
  left:50%;
  top:-5px;
  width:12px;
  height:6px;
  border-radius:7px 7px 4px 4px;
  transform:translateX(-50%);
  background:linear-gradient(145deg,#ffe0a4,#9f5f27);
  box-shadow:0 3px 7px rgba(0,0,0,.22);
}
.reservation-page .reservation-table-chair::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-4px;
  width:8px;
  height:4px;
  border-radius:0 0 6px 6px;
  transform:translateX(-50%);
  background:rgba(72,40,14,.55);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-selected .reservation-table-core{
  background:
    radial-gradient(circle at 24% 20%,rgba(255,255,255,.72),transparent 26%),
    linear-gradient(90deg,rgba(255,255,255,.12),transparent 18%,rgba(91,50,17,.08) 19%,transparent 32%,rgba(255,255,255,.08) 33%,transparent 46%,rgba(91,50,17,.10) 47%,transparent 62%,rgba(255,255,255,.10) 63%,transparent 78%),
    linear-gradient(145deg,#fff0bd 0%,#efbf69 54%,#a76023 100%);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.30),
    inset 0 -7px 12px rgba(71,38,12,.20),
    inset 0 0 0 3px rgba(101,57,19,.12),
    0 16px 24px rgba(0,0,0,.36),
    0 0 0 7px rgba(232,191,119,.22),
    0 0 34px rgba(232,191,119,.32);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-selected .reservation-table-core > span.reservation-table-number{background:#fff5d6}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled{opacity:.42;filter:grayscale(.86)}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled .reservation-table-core{
  background:linear-gradient(145deg,#8c806f,#4d4439);
  border-color:rgba(255,255,255,.12);
}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core::after,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled .reservation-table-core::after{display:none}
.reservation-page .reservation-floor-stage .reservation-table-option.is-disabled .reservation-table-core > span.reservation-table-number,
.reservation-page .reservation-floor-stage .reservation-table-option:disabled .reservation-table-core > span.reservation-table-number{background:rgba(255,255,255,.12);color:#fff7e8}
@media(max-width:980px){
  .reservation-page .reservation-booking-layout{grid-template-columns:1fr}
  .reservation-page .reservation-floor-stage{min-width:980px;min-height:560px}
}
@media(max-width:720px){
  .reservation-page .reservation-floor-picker{grid-template-columns:1fr;gap:10px}
  .reservation-page .reservation-floor-choice{min-height:100px;padding:14px}
  .reservation-page .reservation-map-gate{min-height:220px;padding:24px 16px}
  .reservation-page .reservation-map-gate strong{font-size:20px}
  .reservation-page .reservation-floor-stage{min-width:850px;min-height:500px}
  .reservation-page .reservation-floor-stage .reservation-table-option{--table-w:62px;--table-h:56px;--chair-distance:24px}
  .reservation-page .reservation-floor-stage .reservation-table-option--round{--table-w:58px;--table-h:58px;--chair-distance:23px}
  .reservation-page .reservation-floor-stage .reservation-table-option--large{--table-w:70px;--table-h:60px;--chair-distance:28px}
  .reservation-page .reservation-floor-stage .reservation-table-option--xl{--table-w:76px;--table-h:64px;--chair-distance:30px}
  .reservation-page .reservation-table-core > span.reservation-table-number{font-size:14px;min-width:22px;height:22px}
  .reservation-page .reservation-table-chair{width:9px;height:11px}
  .reservation-page .reservation-table-chair::before{width:10px;height:5px;top:-4px}
}
@media(max-width:460px){
  .reservation-page .reservation-floor-stage{min-width:760px;min-height:470px}
  .reservation-page .reservation-floor-stage::before{content:"انتخاب میز"}
}

/* ===== FarshidBonab v2.3.0 - homepage premium cards + app-like review rating ===== */
.home-feature-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:28px!important;
  border-color:rgba(232,191,119,.18)!important;
  background:
    radial-gradient(circle at 18% 0,rgba(232,191,119,.22),transparent 34%),
    linear-gradient(180deg,rgba(31,26,20,.96),rgba(12,10,8,.98))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.home-feature-card::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:1;
  pointer-events:none;
  border:1px solid rgba(232,191,119,.08);
  border-radius:22px;
}
.home-feature-card::after{
  content:"";
  position:absolute;
  right:20px;
  left:20px;
  bottom:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.52),transparent);
}
.home-feature-card:hover{
  transform:translateY(-10px) scale(1.01)!important;
  border-color:rgba(232,191,119,.42)!important;
  box-shadow:0 34px 90px rgba(0,0,0,.44),0 0 0 1px rgba(232,191,119,.08) inset!important;
}
.home-feature-card__image{
  position:relative;
  border-bottom:1px solid rgba(232,191,119,.12);
}
.home-feature-card__image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 38%,rgba(10,8,6,.42) 74%,rgba(10,8,6,.82));
}
.home-feature-card__image img{
  transition:transform .55s ease,filter .55s ease;
}
.home-feature-card:hover .home-feature-card__image img{
  transform:scale(1.07);
  filter:saturate(1.08) contrast(1.05);
}
.home-feature-card__badge{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border:1px solid rgba(255,237,190,.26);
  border-radius:999px;
  color:#ffe7ac;
  background:rgba(15,11,7,.64);
  box-shadow:0 12px 30px rgba(0,0,0,.24);
  backdrop-filter:blur(12px);
  font-size:11px;
  font-weight:950;
}
.home-feature-card__badge::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,#fff0b6,var(--gold));
  box-shadow:0 0 0 5px rgba(232,191,119,.10);
}
.home-feature-card__body{
  position:relative;
  z-index:2;
  display:grid;
  min-height:235px;
  grid-template-rows:auto 1fr auto;
  gap:12px;
}
.home-feature-card__heading{
  display:grid;
  gap:8px;
}
.menu-section .home-feature-card__title{
  min-height:0;
  margin:0;
  display:block;
  color:#fff5dd;
  font-size:20px;
  line-height:1.55;
  letter-spacing:-.45px;
  text-shadow:0 10px 28px rgba(0,0,0,.46);
}
.menu-section .home-feature-card__title a{
  display:inline;
  background:linear-gradient(180deg,transparent 62%,rgba(198,138,62,.20) 0);
  text-decoration:none;
}
.menu-section .home-feature-card__title a:hover{
  color:#ffe2a2;
}
.home-feature-card__rating{
  width:max-content;
  max-width:100%;
  margin:0!important;
  padding:5px 9px;
  border:1px solid rgba(232,191,119,.18);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.menu-section .home-feature-card__description{
  min-height:0;
  color:#cfc1ad;
  font-size:13px;
  line-height:1.9;
}
.home-feature-card__footer{
  align-items:center;
  justify-content:space-between!important;
  gap:12px;
  margin-top:0!important;
  padding:12px 13px;
  border:1px solid rgba(232,191,119,.14);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(232,191,119,.12),rgba(255,255,255,.035)),
    rgba(0,0,0,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.home-feature-card__price-label{
  color:#bcae98;
  font-size:12px;
  font-weight:900;
}
.menu-section .home-feature-card__footer .home-feature-card__price{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:0!important;
  border:0!important;
  color:#ffdd91;
  background:transparent!important;
  font-size:18px;
  font-weight:950;
  line-height:1.4;
  text-shadow:0 0 22px rgba(232,191,119,.16);
}
.menu-section .home-feature-card__footer .home-feature-card__price::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--gold-2);
  box-shadow:0 0 0 6px rgba(232,191,119,.10);
}
.menu-section .home-feature-card__footer .home-feature-card__price::after{
  display:none!important;
}
.section-action-full{
  margin-top:32px;
}
.section-action-full .btn-section-full{
  width:100%;
  min-height:58px;
  border-radius:18px;
  justify-content:center;
  border-color:rgba(232,191,119,.24);
  background:linear-gradient(135deg,rgba(232,191,119,.12),rgba(255,255,255,.025));
  box-shadow:0 18px 50px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.055);
}
.section-action-full .btn-section-full:hover{
  background:linear-gradient(135deg,rgba(232,191,119,.18),rgba(198,138,62,.08));
}
.review-rating-field{
  grid-column:1/-1;
  margin:0;
  padding:16px;
  border:1px solid rgba(232,191,119,.16);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(232,191,119,.08),rgba(255,255,255,.035));
}
.review-rating-field legend{
  padding:0 8px;
  color:#ead7b7;
  font-size:13px;
  font-weight:900;
}
.review-rating-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.review-rating-head span{
  color:#cfc1ad;
  font-size:12px;
  font-weight:800;
}
.review-rating-head strong{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(232,191,119,.13);
  color:#ffe1a0;
  font-size:12px;
  font-weight:950;
}
.review-rating-stars{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  direction:ltr;
}
.review-rating-stars label{
  position:relative;
  min-height:70px;
  display:grid!important;
  place-items:center;
  gap:2px!important;
  cursor:pointer;
  border:1px solid rgba(232,191,119,.14);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  color:#6f6253!important;
  transition:.2s ease;
  user-select:none;
}
.review-rating-stars label:hover,
.review-rating-stars label.is-active{
  transform:translateY(-2px);
  border-color:rgba(232,191,119,.48);
  background:linear-gradient(180deg,rgba(232,191,119,.18),rgba(198,138,62,.075));
  color:#ffd66d!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06);
}
.review-rating-stars input{
  position:absolute;
  opacity:0;
  inset:0;
  cursor:pointer;
}
.review-rating-stars span{
  padding:0!important;
  font-size:29px;
  line-height:1;
  color:currentColor;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.20));
}
.review-rating-stars small{
  color:currentColor;
  font-size:11px;
  font-weight:950;
  opacity:.78;
}
@media(max-width:760px){
  .home-feature-card__body{min-height:205px}
  .menu-section .home-feature-card__title{font-size:17px}
  .home-feature-card__footer{padding:10px 11px;border-radius:16px}
  .menu-section .home-feature-card__footer .home-feature-card__price{font-size:15px}
  .review-rating-stars{gap:6px}
  .review-rating-stars label{min-height:60px;border-radius:15px}
  .review-rating-stars span{font-size:24px}
}
@media(max-width:420px){
  .review-rating-field{padding:13px}
  .review-rating-head{display:grid;gap:8px}
  .review-rating-stars label{min-height:54px}
  .review-rating-stars span{font-size:21px}
}

/* ===== FarshidBonab v2.3.9: softer customer-friendly menu hero ===== */
.fb-menu-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:126px 0 54px;
  border-bottom:1px solid rgba(232,191,119,.13);
  background:
    linear-gradient(90deg,rgba(9,7,5,.97) 0%,rgba(17,13,9,.88) 48%,rgba(21,15,10,.66) 100%),
    url('../img/interior-dining.webp') center/cover no-repeat;
}
.fb-menu-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 78% 18%,rgba(232,191,119,.20),transparent 27%),
    radial-gradient(circle at 12% 78%,rgba(198,138,62,.16),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.030),transparent 50%);
  pointer-events:none;
}
.fb-menu-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  z-index:-1;
  height:170px;
  background:linear-gradient(180deg,transparent,#14120f 88%);
  pointer-events:none;
}
.fb-menu-hero__glow{
  position:absolute;
  z-index:-1;
  width:480px;
  height:480px;
  border-radius:999px;
  filter:blur(92px);
  opacity:.48;
  pointer-events:none;
}
.fb-menu-hero__glow--right{top:-220px;right:4%;background:rgba(232,191,119,.16)}
.fb-menu-hero__glow--left{bottom:-260px;left:4%;background:rgba(198,138,62,.13)}
.fb-menu-hero__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  gap:42px;
  align-items:center;
}
.fb-menu-hero__copy{
  position:relative;
  max-width:760px;
  padding:8px 0 8px 18px;
}
.fb-menu-hero__copy::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  right:-18px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,transparent,#ffe3a1,var(--gold),transparent);
  box-shadow:0 0 26px rgba(232,191,119,.28);
}
.fb-menu-hero__copy::after{
  content:"";
  position:absolute;
  right:-58px;
  top:20%;
  width:110px;
  height:110px;
  border:1px solid rgba(232,191,119,.16);
  border-radius:50%;
  opacity:.52;
  pointer-events:none;
}
.fb-menu-hero__eyebrow{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  color:#ffe0a0;
  font-size:13px;
  font-weight:900;
}
.fb-menu-hero__eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,#fff0bd,var(--gold));
  box-shadow:0 0 0 7px rgba(232,191,119,.10),0 0 22px rgba(232,191,119,.30);
}
.fb-menu-hero__eyebrow small{
  color:#baa98f;
  font-size:12px;
  font-weight:800;
}
.fb-menu-hero__copy h1{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 0 14px;
  color:#fff4dc;
  font-size:clamp(28px,3.45vw,46px);
  line-height:1.48;
  font-weight:950;
  letter-spacing:-.035em;
  text-shadow:0 16px 48px rgba(0,0,0,.44);
}
.fb-menu-hero__copy h1::after{
  content:"";
  display:block;
  width:min(210px,52%);
  height:2px;
  margin-top:14px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),rgba(232,191,119,.32),transparent);
}
.fb-menu-hero__copy p{
  position:relative;
  z-index:1;
  max-width:660px;
  margin:0;
  color:#e0d2bd;
  font-size:16px;
  line-height:2.05;
  font-weight:600;
}
.fb-menu-hero__quick{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 18px;
  margin-top:22px;
}
.fb-menu-hero__quick a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 0 4px;
  color:#eadcc8;
  border-bottom:1px solid rgba(232,191,119,.30);
  font-size:13px;
  font-weight:900;
  transition:color .22s ease,border-color .22s ease,transform .22s ease;
}
.fb-menu-hero__quick a::before{
  content:"";
  width:5px;
  height:5px;
  margin-left:8px;
  border-radius:50%;
  background:rgba(232,191,119,.65);
}
.fb-menu-hero__quick a:hover{
  transform:translateY(-2px);
  color:#ffe3a2;
  border-color:#ffe3a2;
}
.fb-menu-hero__actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.fb-menu-hero__actions .btn{
  min-height:50px;
  border-radius:16px;
  padding-inline:26px;
}
.fb-menu-hero__secondary{
  background:rgba(255,255,255,.025);
  backdrop-filter:blur(10px);
}
.fb-menu-hero__showcase{
  position:relative;
  display:grid;
  gap:16px;
}
.fb-menu-hero__showcase::before{
  content:"";
  position:absolute;
  inset:auto -18px 18px 36%;
  z-index:-1;
  height:78%;
  border-radius:999px 0 0 999px;
  background:linear-gradient(90deg,rgba(232,191,119,.10),transparent);
  filter:blur(4px);
  pointer-events:none;
}
.fb-menu-hero__stats{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:14px 22px;
  padding-inline:4px;
}
.fb-menu-hero__stats div{
  position:relative;
  display:flex;
  align-items:baseline;
  gap:7px;
  min-height:32px;
  color:#d6c4a9;
}
.fb-menu-hero__stats div + div::before{
  content:"";
  position:absolute;
  top:7px;
  bottom:7px;
  right:-12px;
  width:1px;
  background:rgba(232,191,119,.22);
}
.fb-menu-hero__stats strong{
  color:#ffe0a0;
  font-size:24px;
  font-weight:1000;
  line-height:1;
}
.fb-menu-hero__stats span{
  color:#cbbca5;
  font-size:12px;
  font-weight:900;
}
.fb-menu-hero__cards{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  grid-auto-rows:164px;
  gap:14px;
}
.fb-menu-hero-card{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:0;
  margin:0;
  border-radius:30px;
  background:#18130f;
  box-shadow:0 24px 58px rgba(0,0,0,.30);
  transform:translateZ(0);
  transition:transform .32s ease,box-shadow .32s ease,filter .32s ease;
}
a.fb-menu-hero-card:hover{
  transform:translateY(-5px);
  box-shadow:0 34px 80px rgba(0,0,0,.40);
}
.fb-menu-hero-card--large{
  grid-row:span 2;
}
.fb-menu-hero-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.05) contrast(1.03);
  transition:transform .55s ease,filter .55s ease;
}
a.fb-menu-hero-card:hover img{
  transform:scale(1.06);
  filter:saturate(1.12) contrast(1.06);
}
.fb-menu-hero-card__shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.04) 34%,rgba(8,6,4,.82) 100%),
    radial-gradient(circle at 18% 12%,rgba(232,191,119,.15),transparent 34%);
}
.fb-menu-hero-card__badge{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  color:#ffe8ad;
  background:rgba(9,7,5,.54);
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
  font-size:10.5px;
  font-weight:950;
}
.fb-menu-hero-card__badge::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold-2);
  box-shadow:0 0 0 5px rgba(232,191,119,.12);
}
.fb-menu-hero-card__caption{
  position:absolute;
  right:18px;
  left:18px;
  bottom:17px;
  z-index:2;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  color:#fff4dd;
  text-shadow:0 4px 18px rgba(0,0,0,.58);
}
.fb-menu-hero-card__caption strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  font-weight:950;
}
.fb-menu-hero-card__caption small{
  flex:0 0 auto;
  color:#ffd98c;
  font-size:12px;
  font-weight:950;
}
.fb-menu-hero-card--large .fb-menu-hero-card__caption{
  align-items:start;
  flex-direction:column;
}
.fb-menu-hero-card--large .fb-menu-hero-card__caption strong{
  max-width:100%;
  font-size:18px;
}
@media(max-width:1080px){
  .fb-menu-hero__grid{grid-template-columns:1fr;gap:28px}
  .fb-menu-hero__copy{max-width:820px}
  .fb-menu-hero__showcase{max-width:720px;width:100%;margin-inline:auto}
}
@media(max-width:760px){
  .fb-menu-hero{padding:104px 0 34px}
  .fb-menu-hero__grid{gap:22px}
  .fb-menu-hero__copy{padding:0 0 0 6px}
  .fb-menu-hero__copy::before{right:-10px;width:2px}
  .fb-menu-hero__copy::after{display:none}
  .fb-menu-hero__eyebrow{font-size:12px;margin-bottom:12px}
  .fb-menu-hero__eyebrow small{display:none}
  .fb-menu-hero__copy h1{font-size:clamp(24px,7.3vw,32px);line-height:1.55;letter-spacing:-.025em}
  .fb-menu-hero__copy h1::after{width:150px;margin-top:12px}
  .fb-menu-hero__copy p{font-size:14px;line-height:2}
  .fb-menu-hero__quick{gap:9px 14px;margin-top:18px}
  .fb-menu-hero__quick a{min-height:26px;font-size:12px}
  .fb-menu-hero__actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .fb-menu-hero__actions .btn{width:100%;min-height:48px;border-radius:15px}
  .fb-menu-hero__stats{justify-content:center;gap:8px 18px;padding-inline:0}
  .fb-menu-hero__stats div{gap:5px;min-height:28px}
  .fb-menu-hero__stats div + div::before{right:-10px;top:7px;bottom:7px}
  .fb-menu-hero__stats strong{font-size:20px}
  .fb-menu-hero__stats span{font-size:10.5px}
  .fb-menu-hero__cards{grid-template-columns:1fr 1fr;grid-auto-rows:128px;gap:10px}
  .fb-menu-hero-card{border-radius:22px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
  .fb-menu-hero-card__caption{right:11px;left:11px;bottom:11px;display:grid;gap:3px}
  .fb-menu-hero-card__caption strong{font-size:12.5px}
  .fb-menu-hero-card--large .fb-menu-hero-card__caption strong{font-size:15px}
  .fb-menu-hero-card__caption small{font-size:10.5px}
  .fb-menu-hero-card__badge{top:10px;right:10px;min-height:27px;padding:5px 9px;font-size:10px}
}
@media(max-width:460px){
  .fb-menu-hero{padding-top:98px}
  .fb-menu-hero__stats{display:grid;grid-template-columns:1fr;gap:6px;justify-items:start;padding-right:8px}
  .fb-menu-hero__stats div + div::before{display:none}
  .fb-menu-hero__stats div{min-height:26px}
  .fb-menu-hero__stats strong{font-size:19px}
  .fb-menu-hero__stats span{font-size:11px}
  .fb-menu-hero__cards{grid-template-columns:1fr;grid-auto-rows:150px}
  .fb-menu-hero-card--large{grid-row:span 1}
}
@media(prefers-reduced-motion:reduce){
  .fb-menu-hero-card,
  .fb-menu-hero-card img,
  .fb-menu-hero__quick a{transition:none}
  a.fb-menu-hero-card:hover,
  .fb-menu-hero__quick a:hover{transform:none}
}

/* ===== Farshid Bonab v2.3.10: clean homepage hero action buttons ===== */
.hero-home-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.hero-home-btn{
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid transparent;
  font-size:16px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease;
}
.hero-home-btn__icon{
  width:20px;
  height:20px;
  flex:0 0 auto;
  stroke-width:2;
}
.hero-home-btn--primary{
  color:#17100a;
  background:linear-gradient(135deg,#f2d08a 0%,var(--gold-2,#e8bf77) 44%,var(--gold,#c68a3e) 100%);
  border-color:rgba(255,229,178,.55);
  box-shadow:0 14px 34px rgba(198,138,62,.24),inset 0 1px 0 rgba(255,255,255,.35);
}
.hero-home-btn--primary:hover,
.hero-home-btn--primary:focus-visible{
  color:#120b06;
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(198,138,62,.32),inset 0 1px 0 rgba(255,255,255,.45);
}
.hero-home-btn--secondary{
  color:#f6e5c4;
  background:rgba(24,22,18,.72);
  border-color:rgba(232,191,119,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}
.hero-home-btn--secondary:hover,
.hero-home-btn--secondary:focus-visible{
  color:var(--gold-2,#e8bf77);
  background:rgba(198,138,62,.11);
  border-color:rgba(232,191,119,.58);
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08);
}
.hero-home-btn:focus-visible{
  outline:2px solid rgba(232,191,119,.76);
  outline-offset:4px;
}
@media(max-width:640px){
  .hero-home-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
  }
  .hero-home-btn{
    width:100%;
    min-height:52px;
    padding-inline:18px;
    font-size:15px;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-home-btn{transition:none}
  .hero-home-btn:hover,
  .hero-home-btn:focus-visible{transform:none}
}

/* ===== Farshid Bonab v2.5.5: clean OTP-only customer auth ===== */
.fb-auth{
  position:relative;
  min-height:100vh;
  padding:112px 0 58px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 16% 12%,rgba(232,191,119,.20),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(255,122,89,.11),transparent 30%),
    radial-gradient(circle at 70% 92%,rgba(34,197,94,.09),transparent 28%),
    linear-gradient(145deg,#0b0908 0%,#1a120d 54%,#070605 100%);
}
.fb-auth::before,
.fb-auth::after{
  content:"";
  position:absolute;
  width:470px;
  height:470px;
  border-radius:999px;
  pointer-events:none;
  filter:blur(120px);
  opacity:.70;
  z-index:-1;
}
.fb-auth::before{right:-190px;top:70px;background:rgba(232,191,119,.18)}
.fb-auth::after{left:-170px;bottom:-170px;background:rgba(255,122,89,.14)}
.fb-auth__wrap{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:calc(100vh - 170px);
}
.fb-auth__panel{
  width:min(100%,590px);
  position:relative;
  overflow:hidden;
  border-radius:34px;
  padding:26px;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.045)),
    rgba(16,12,10,.88);
  border:1px solid rgba(255,229,181,.17);
  box-shadow:0 32px 110px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(22px);
}
.fb-auth__panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(232,191,119,.18),transparent 34%,rgba(255,255,255,.07));
  opacity:.74;
}
.fb-auth__panel>*{position:relative;z-index:1}
.fb-auth__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  margin-bottom:18px;
  padding:8px 14px;
  border-radius:999px;
  color:#fff7e9;
  background:rgba(0,0,0,.23);
  border:1px solid rgba(255,255,255,.12);
  font-size:13px;
  font-weight:950;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.fb-auth__back::before{content:"→";font-size:16px;line-height:1}
.fb-auth__back:hover{transform:translateY(-2px);border-color:rgba(232,191,119,.50);background:rgba(0,0,0,.34)}
.fb-auth__header{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:15px;
  align-items:start;
  margin-bottom:20px;
}
.fb-auth__phone-logo,
.fb-auth__appmark,
.fb-auth__logo-mark{
  display:grid;
  place-items:center;
  color:#17100a;
  background:linear-gradient(135deg,#f9dfa1,var(--gold-2) 46%,var(--gold));
  box-shadow:0 18px 42px rgba(198,138,62,.32),inset 0 1px 0 rgba(255,255,255,.48);
  font-weight:950;
}
.fb-auth__appmark,
.fb-auth__logo-mark{width:56px;height:56px;border-radius:21px;flex:0 0 auto}
.fb-auth__appmark{font-size:26px}
.fb-auth__logo-mark{
  overflow:hidden;
  padding:7px;
  background:
    linear-gradient(135deg,rgba(255,231,180,.96),rgba(232,191,119,.78)),
    rgba(255,255,255,.10);
}
.fb-auth__logo-mark img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 4px 9px rgba(0,0,0,.18))}
.fb-auth__kicker{display:block;color:var(--gold-2);font-size:13px;font-weight:950;margin-bottom:5px}
.fb-auth__header h1{margin:0;color:#fff;font-size:clamp(25px,3vw,34px);line-height:1.42;font-weight:950;letter-spacing:-.035em}
.fb-auth__header #fb-auth-title-login,
.fb-auth__header #fb-auth-title-register{font-size:clamp(22px,2.45vw,29px);letter-spacing:-.025em}
.fb-auth__header p{margin:8px 0 0;color:#cdbfaa;line-height:1.9;font-size:14px}
.fb-auth__forms{position:relative}
.fb-auth__form{display:grid;gap:15px;animation:fbAuthFade .22s ease both}
.fb-auth__form[hidden]{display:none!important}
@keyframes fbAuthFade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.fb-auth__state-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0,rgba(232,191,119,.20),transparent 42%),
    linear-gradient(135deg,rgba(255,255,255,.078),rgba(232,191,119,.052)),
    rgba(0,0,0,.19);
  border:1px solid rgba(232,191,119,.20);
  box-shadow:0 18px 46px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.07);
}
.fb-auth__state-card::before{
  content:"";
  position:absolute;
  inset:12px 12px 12px auto;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--gold-2),rgba(232,191,119,.12));
  opacity:.82;
}
.fb-auth__state-card--verify{
  background:
    radial-gradient(circle at 100% 0,rgba(34,197,94,.18),transparent 42%),
    linear-gradient(135deg,rgba(34,197,94,.10),rgba(232,191,119,.06)),
    rgba(0,0,0,.19);
  border-color:rgba(34,197,94,.22);
}
.fb-auth__state-card--verify::before{background:linear-gradient(180deg,#9cf3aa,rgba(34,197,94,.12))}
.fb-auth__state-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:19px;
  background:linear-gradient(135deg,rgba(232,191,119,.20),rgba(255,255,255,.06));
  color:#ffe3a8;
  border:1px solid rgba(232,191,119,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 13px 28px rgba(0,0,0,.16);
  font-size:11px;
  font-weight:950;
  letter-spacing:-.02em;
}
.fb-auth__state-card--verify .fb-auth__state-icon{color:#d7ffde;background:linear-gradient(135deg,rgba(34,197,94,.20),rgba(255,255,255,.06));border-color:rgba(34,197,94,.26)}
.fb-auth__state-copy{min-width:0}
.fb-auth__state-copy strong{display:block;color:#fff7e8;font-size:16px;font-weight:950;margin-bottom:5px}
.fb-auth__state-copy span{display:block;color:#d2c5ad;line-height:1.85;font-size:13px}
.fb-auth__field,
.fb-auth__code-field{display:grid;gap:9px;margin:0}
.fb-auth__field>span,
.fb-auth__code-field>span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fae8c8;font-size:13.5px;font-weight:950}
.fb-auth__field-hint{display:block;color:#bdaE99;font-size:12px;font-weight:800;line-height:1.8}
.fb-auth__phone-shell{
  direction:ltr;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  min-height:60px;
  padding:7px 8px 7px 13px;
  border:1px solid rgba(232,191,119,.20);
  border-radius:21px;
  background:rgba(255,255,255,.058);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,transform .22s ease;
}
.fb-auth__phone-shell:focus-within{
  border-color:rgba(232,191,119,.78);
  background:rgba(255,255,255,.082);
  box-shadow:0 0 0 4px rgba(198,138,62,.13),inset 0 1px 0 rgba(255,255,255,.07);
}
.fb-auth__phone-prefix{
  min-width:58px;
  height:42px;
  display:inline-grid;
  place-items:center;
  border-radius:15px;
  color:#1c130b;
  background:linear-gradient(135deg,#ffe7b4,var(--gold-2));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 26px rgba(198,138,62,.20),inset 0 1px 0 rgba(255,255,255,.42);
  font-size:14px;
  font-weight:950;
  direction:ltr;
}
.fb-auth__phone-input{
  width:100%;
  min-width:0;
  height:42px;
  border:0;
  outline:0;
  padding:0 4px;
  color:#fff;
  background:transparent;
  font:inherit;
  font-size:18px;
  font-weight:950;
  letter-spacing:.045em;
  text-align:left;
  direction:ltr;
}
.fb-auth__phone-input::placeholder{color:rgba(246,229,196,.36);letter-spacing:.035em}
.fb-auth__sent-to{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  min-height:48px;
  padding:9px 12px;
  border-radius:18px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
  color:#d5c8b1;
  font-size:13px;
  font-weight:900;
}
.fb-auth__sent-to strong{
  color:#fff1cc;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(232,191,119,.10);
  border:1px solid rgba(232,191,119,.18);
  letter-spacing:.04em;
}
.fb-auth__sent-to em{font-style:normal;color:#bff0c6}
.fb-auth__code-shell{
  position:relative;
  min-height:66px;
  border:1px solid rgba(232,191,119,.20);
  border-radius:22px;
  background:rgba(255,255,255,.052);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.fb-auth__code-shell:focus-within{
  border-color:rgba(232,191,119,.80);
  background:rgba(255,255,255,.078);
  box-shadow:0 0 0 4px rgba(198,138,62,.13),inset 0 1px 0 rgba(255,255,255,.07);
}
.fb-auth__code-input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  outline:0;
  opacity:.02;
  color:transparent;
  background:transparent;
  caret-color:transparent;
  direction:ltr;
  z-index:2;
}
.fb-auth__code-slots{
  position:absolute;
  inset:8px;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  gap:8px;
  direction:ltr;
  pointer-events:none;
}
.fb-auth__code-slots span{
  display:grid;
  place-items:center;
  min-width:0;
  border-radius:16px;
  color:#fff7e8;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.09);
  font-size:22px;
  font-weight:950;
  line-height:1;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.fb-auth__code-slots span::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(246,229,196,.30)}
.fb-auth__code-slots span.is-filled{background:linear-gradient(135deg,rgba(232,191,119,.21),rgba(255,255,255,.07));border-color:rgba(232,191,119,.35);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.fb-auth__code-slots span.is-filled::before{content:attr(data-value);width:auto;height:auto;border-radius:0;background:transparent;color:#fff7e8}
.fb-auth__code-slots span.is-active{transform:translateY(-1px);border-color:rgba(232,191,119,.70);box-shadow:0 0 0 3px rgba(232,191,119,.10)}
.fb-auth__remember{display:flex!important;align-items:flex-start;gap:10px;margin:0;color:#decfb5;font-size:13px;font-weight:850;line-height:1.9}
.fb-auth__remember input{width:18px;height:18px;flex:0 0 auto;margin-top:5px;accent-color:var(--gold)}
.fb-auth__submit{width:100%;min-height:60px;border-radius:21px;font-size:15px;font-weight:950;box-shadow:0 18px 45px rgba(198,138,62,.25)}
.fb-auth__submit:disabled{cursor:not-allowed;opacity:.58;filter:saturate(.6);transform:none;box-shadow:none}
.fb-auth__resend{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  margin-top:14px;
  padding:12px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(232,191,119,.055));
  border:1px solid rgba(232,191,119,.15);
}
.fb-auth__resend-timer{display:flex;align-items:center;gap:12px;min-width:0}
.fb-auth__timer-ring{
  width:58px;
  height:58px;
  border-radius:21px;
  display:block;
  flex:0 0 auto;
  position:relative;
  overflow:hidden;
  text-align:center;
  direction:ltr;
  isolation:isolate;
  background:
    radial-gradient(circle at center,rgba(22,17,14,.98) 0 58%,transparent 59%),
    conic-gradient(var(--gold-2) var(--timer-progress,100%),rgba(255,255,255,.11) 0);
  border:1px solid rgba(232,191,119,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px rgba(0,0,0,.20);
}
.fb-auth__timer-ring::before{content:"";position:absolute;inset:6px;border-radius:17px;background:rgba(13,10,8,.92);z-index:0}
.fb-auth__timer-ring i,
.fb-auth__timer-ring small{position:absolute;left:0;right:0;z-index:1;display:block;text-align:center}
.fb-auth__timer-ring i{top:50%;transform:translateY(-13px);font-style:normal;color:#ffe4a9;font-size:16px;font-weight:950;line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.fb-auth__timer-ring small{top:50%;transform:translateY(8px);font-size:9px;font-weight:900;color:#bfae92;line-height:1}
.fb-auth__resend-timer strong{display:block;color:#fff4dc;font-size:13px;font-weight:950;margin-bottom:3px}
.fb-auth__resend-timer span{display:block;color:#cfc0a8;font-size:12px;font-weight:850;line-height:1.8}
.fb-auth__resend-button{
  min-height:42px;
  padding:9px 13px;
  border-radius:15px;
  border:1px solid rgba(232,191,119,.25);
  background:rgba(232,191,119,.10);
  color:#ffe3a7;
  font-size:12.5px;
  font-weight:950;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.fb-auth__resend-button:not(:disabled):hover{transform:translateY(-1px);background:var(--gold);border-color:var(--gold);color:#17100a}
.fb-auth__resend-button:disabled{cursor:not-allowed;opacity:.55}
.fb-auth__notice{border:1px solid rgba(245,158,11,.28);border-radius:20px;background:rgba(245,158,11,.09);color:#ffe6b0;padding:15px 16px;line-height:1.95;margin-top:8px;font-weight:850}
.fb-auth__switch{margin-top:18px;text-align:center;color:#c7b8a2;line-height:1.9;font-size:14px;font-weight:850}
.fb-auth__switch a{color:var(--gold-2);font-weight:950}
.fb-auth__switch a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
@media(max-width:720px){
  .fb-auth{padding:92px 0 34px}
  .fb-auth .container{width:min(100% - 28px,var(--container))}
  .fb-auth__wrap{min-height:calc(100vh - 126px)}
  .fb-auth__panel{padding:20px;border-radius:27px}
  .fb-auth__back{min-height:36px;font-size:12px;padding:7px 11px;margin-bottom:16px}
  .fb-auth__header{grid-template-columns:1fr;gap:12px;margin-bottom:16px}
  .fb-auth__appmark,.fb-auth__logo-mark{width:48px;height:48px;border-radius:18px}
  .fb-auth__appmark{font-size:22px}
  .fb-auth__logo-mark{padding:6px}
  .fb-auth__header h1{font-size:23px}
  .fb-auth__header #fb-auth-title-login,
  .fb-auth__header #fb-auth-title-register{font-size:21px}
  .fb-auth__header p{font-size:13px}
  .fb-auth__state-card{padding:14px;border-radius:20px;grid-template-columns:1fr}
  .fb-auth__state-card::before{inset:auto 14px 10px 14px;width:auto;height:3px}
  .fb-auth__state-icon{width:46px;height:46px;border-radius:16px}
  .fb-auth__phone-shell{min-height:56px;border-radius:18px;gap:8px}
  .fb-auth__phone-prefix{min-width:54px;height:39px;border-radius:13px;font-size:13px}
  .fb-auth__phone-input{height:39px;font-size:17px}
  .fb-auth__code-shell{min-height:62px;border-radius:19px}
  .fb-auth__code-slots{gap:6px;inset:7px}
  .fb-auth__code-slots span{border-radius:13px;font-size:19px}
  .fb-auth__submit{min-height:56px;border-radius:18px}
  .fb-auth__resend{grid-template-columns:1fr;border-radius:21px}
  .fb-auth__resend-timer{align-items:center}
  .fb-auth__timer-ring{width:54px;height:54px;border-radius:19px}
  .fb-auth__timer-ring::before{border-radius:15px}
  .fb-auth__timer-ring i{font-size:15px;transform:translateY(-12px)}
  .fb-auth__timer-ring small{transform:translateY(7px)}
  .fb-auth__resend-button{width:100%}
}
@media(max-width:390px){
  .fb-auth__code-slots{gap:4px}
  .fb-auth__code-slots span{font-size:17px}
  .fb-auth__sent-to{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .fb-auth__back,
  .fb-auth__phone-shell,
  .fb-auth__code-shell,
  .fb-auth__code-slots span,
  .fb-auth__submit,
  .fb-auth__resend-button{transition:none}
  .fb-auth__form{animation:none}
  .fb-auth__back:hover,
  .fb-auth__submit:hover,
  .fb-auth__resend-button:hover{transform:none}
}

/* FarshidBonab v2.5.2 - clean modular reservation page */
.reservation-page--simple{
  background:
    radial-gradient(circle at 16% 7%,rgba(232,191,119,.10),transparent 30%),
    radial-gradient(circle at 86% 36%,rgba(198,138,62,.08),transparent 28%),
    linear-gradient(180deg,#11100e 0%,#17130f 58%,#100d0a 100%);
}
.reservation-page--simple .reservation-simple-hero{
  min-height:auto;
  padding:150px 0 76px;
  background:
    linear-gradient(90deg,rgba(10,8,6,.94),rgba(18,14,10,.78)),
    radial-gradient(circle at 18% 18%,rgba(232,191,119,.20),transparent 32%),
    url('../img/hero-doorway.webp') center/cover no-repeat;
}
.reservation-page--simple .reservation-simple-hero-grid{gap:34px;align-items:center}
.reservation-page--simple .reservation-page-copy h1{max-width:820px;font-size:clamp(34px,5vw,62px);letter-spacing:-1.2px}
.reservation-page--simple .reservation-page-copy p{max-width:760px;font-size:17px;color:#f1dfbf}
.reservation-page--simple .reservation-simple-stats{
  border-radius:28px;
  border-color:rgba(232,191,119,.20);
  background:linear-gradient(145deg,rgba(22,18,14,.88),rgba(12,10,8,.70));
}
.reservation-page--simple .reservation-simple-section{padding:72px 0 96px;background:transparent}
.reservation-page--simple .reservation-simple-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:26px;
  align-items:start;
  width:min(1220px,calc(100% - 48px));
}
.reservation-page--simple .reservation-flow-form.reservation-card{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.reservation-page--simple .reservation-flow-form.reservation-card::before{display:none!important}
.reservation-page--simple .reservation-flow-header{
  display:grid;
  gap:8px;
  margin-bottom:18px;
  padding:0 4px;
}
.reservation-page--simple .reservation-flow-header h2{
  margin:0;
  color:#fff8ea;
  font-size:clamp(26px,3.4vw,42px);
  letter-spacing:-.8px;
}
.reservation-page--simple .reservation-flow-header p{
  max-width:820px;
  margin:0;
  color:#d9cab1;
  line-height:2;
}
.reservation-page--simple .reservation-flow-header .reservation-rule{
  width:fit-content;
  max-width:100%;
  margin-top:4px;
  padding:10px 14px;
  border:1px solid rgba(232,191,119,.18);
  border-radius:999px;
  background:rgba(232,191,119,.075);
  color:#f4ddb5;
  font-size:13px;
}
.reservation-page--simple .reservation-progress--simple{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
.reservation-page--simple .reservation-progress--simple span{
  position:relative;
  min-height:50px;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(232,191,119,.13);
  background:rgba(255,255,255,.035);
  color:#cabca3;
  transition:.2s ease;
}
.reservation-page--simple .reservation-progress--simple b{
  background:rgba(255,255,255,.06);
  color:#e8bf77;
}
.reservation-page--simple .reservation-progress--simple span.is-active{
  border-color:rgba(232,191,119,.45);
  color:#fff0c8;
  background:linear-gradient(145deg,rgba(232,191,119,.16),rgba(255,255,255,.035));
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.reservation-page--simple .reservation-progress--simple span.is-done{
  border-color:rgba(157,231,167,.25);
  color:#dff6dc;
  background:rgba(70,140,86,.10);
}
.reservation-page--simple .reservation-progress--simple span.is-done b{
  color:#102012;
  background:#9de7a7;
}
.reservation-page--simple .reservation-flow-grid{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  gap:16px;
  align-items:start;
  margin-bottom:16px;
}
.reservation-page--simple .reservation-date-time-stack{display:grid;gap:16px}
.reservation-page--simple .reservation-panel.booking-fieldset,
.reservation-page--simple fieldset.reservation-guest-form{
  margin:0!important;
  padding:22px!important;
  border:1px solid rgba(232,191,119,.15)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 92% 0,rgba(232,191,119,.09),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.016))!important;
  box-shadow:0 22px 60px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.035)!important;
  min-width:0;
}
.reservation-page--simple .reservation-panel legend{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  color:#ffe4ae;
  font-size:15px;
  font-weight:1000;
}
.reservation-page--simple .reservation-panel legend span{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#211408;
  background:linear-gradient(145deg,#ffe4ad,#c68a3e);
  box-shadow:0 8px 18px rgba(198,138,62,.18);
}
.reservation-page--simple .reservation-guest-form-head{margin:0 0 16px}
.reservation-page--simple .reservation-guest-form-head h3{margin:0 0 4px;color:#fff6e6;font-size:22px}
.reservation-page--simple .reservation-guest-form-head p{margin:0;color:#cfc0a7;line-height:1.9;font-size:13px}
.reservation-page--simple .reservation-form-row,
.reservation-page--simple .reservation-card .form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  margin:0 0 13px;
}
.reservation-page--simple .reservation-form-row:last-child{margin-bottom:0}
.reservation-page--simple .reservation-card label{gap:8px;color:#efd8ad;font-weight:900}
.reservation-page--simple .reservation-card label span{font-size:13px;color:#f4ddb0}
.reservation-page--simple .reservation-card input,
.reservation-page--simple .reservation-card select{
  min-height:54px;
  border-radius:18px;
  border:1px solid rgba(232,191,119,.17);
  background:linear-gradient(145deg,rgba(11,9,7,.90),rgba(27,22,16,.84));
  color:#fff7e8;
  box-shadow:none;
}
.reservation-page--simple .reservation-card input:focus,
.reservation-page--simple .reservation-card select:focus{
  border-color:rgba(232,191,119,.70);
  box-shadow:0 0 0 4px rgba(232,191,119,.12);
}
.reservation-page--simple .jalali-date-grid{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:10px}
.reservation-page--simple .time-slot-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.reservation-page--simple .reserve-option,
.reservation-page--simple .time-slot{
  border-radius:18px;
  border-color:rgba(232,191,119,.13);
  background:rgba(255,255,255,.035);
  box-shadow:none;
}
.reservation-page--simple .reserve-option:hover,
.reservation-page--simple .time-slot:hover{transform:translateY(-2px);border-color:rgba(232,191,119,.45)}
.reservation-page--simple .reserve-option.is-selected,
.reservation-page--simple .time-slot.is-selected{
  border-color:rgba(232,191,119,.80);
  background:linear-gradient(145deg,rgba(232,191,119,.26),rgba(198,138,62,.10));
  box-shadow:0 0 0 4px rgba(232,191,119,.09);
}
.reservation-page--simple .reservation-table-fieldset{margin-top:0!important;overflow:visible!important}
.reservation-page--simple .reservation-floor-picker{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.reservation-page--simple .reservation-floor-choice{
  min-height:92px;
  padding:15px;
  border-radius:22px;
  box-shadow:none;
}
.reservation-page--simple .reservation-floor-choice span{font-size:18px}
.reservation-page--simple .reservation-floor-choice small{padding-left:0}
.reservation-page--simple .reservation-floor-block{
  border-radius:24px;
  padding:16px;
  border-color:rgba(232,191,119,.16);
  background:linear-gradient(145deg,rgba(20,16,12,.92),rgba(10,8,6,.95));
  box-shadow:none;
}
.reservation-page--simple .reservation-floor-head{gap:12px;margin-bottom:12px}
.reservation-page--simple .reservation-floor-head strong{font-size:20px}
.reservation-page--simple .reservation-table-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:10px;
  margin:0 0 14px;
}
.reservation-page--simple .reservation-table-card-option{
  min-height:88px;
  display:grid;
  align-content:center;
  gap:5px;
  border:1px solid rgba(232,191,119,.15);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  color:#f5e3c2;
  padding:12px;
  text-align:right;
  cursor:pointer;
  transition:.2s ease;
}
.reservation-page--simple .reservation-table-card-option strong{color:#fff3d4;font-size:15px}
.reservation-page--simple .reservation-table-card-option span{color:#d4c5aa;font-size:12px;font-weight:800}
.reservation-page--simple .reservation-table-card-option em{font-style:normal;color:#e8bf77;font-size:11px;font-weight:900}
.reservation-page--simple .reservation-table-card-option:hover:not(:disabled),
.reservation-page--simple .reservation-table-card-option.is-selected{
  transform:translateY(-2px);
  border-color:rgba(232,191,119,.70);
  background:linear-gradient(145deg,rgba(232,191,119,.20),rgba(255,255,255,.035));
}
.reservation-page--simple .reservation-table-card-option.is-selected{box-shadow:0 0 0 4px rgba(232,191,119,.10)}
.reservation-page--simple .reservation-table-card-option:disabled,
.reservation-page--simple .reservation-table-card-option.is-disabled{
  opacity:.45;
  cursor:not-allowed;
  filter:grayscale(.75);
}
.reservation-page--simple .reservation-map-toolbar{margin-top:4px}
.reservation-page--simple .reservation-floor-stage-scroll{border-radius:22px;border-color:rgba(232,191,119,.14)}
.reservation-page--simple .reservation-floor-stage{
  min-width:820px!important;
  min-height:460px!important;
  background-size:auto,auto,54px 54px,54px 54px,auto;
}
.reservation-page--simple .reservation-map-gate{min-height:210px;border-radius:22px;padding:24px}
.reservation-page--simple .reservation-submit-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,260px);
  gap:12px;
  align-items:stretch;
  margin-top:16px;
}
.reservation-page--simple .reservation-summary{
  margin:0;
  min-height:58px;
  display:flex;
  align-items:center;
  border-radius:18px;
  border:1px solid rgba(232,191,119,.20);
  background:linear-gradient(145deg,rgba(232,191,119,.11),rgba(255,255,255,.026));
}
.reservation-page--simple .form-submit{
  width:100%;
  min-height:58px;
  margin:0;
  border-radius:18px;
}
.reservation-page--simple .form-message{min-height:26px;margin:12px 0 0;text-align:right}
.reservation-page--simple .reservation-help-rail{
  position:sticky;
  top:96px;
  display:grid;
  gap:14px;
}
.reservation-page--simple .reservation-help-card{
  overflow:hidden;
  border:1px solid rgba(232,191,119,.15);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018));
  box-shadow:0 22px 60px rgba(0,0,0,.20);
}
.reservation-page--simple .reservation-help-card--image img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}
.reservation-page--simple .reservation-help-card--image div{padding:20px}
.reservation-page--simple .reservation-help-card h2,
.reservation-page--simple .reservation-help-card h3{margin:0 0 10px;color:#fff5df}
.reservation-page--simple .reservation-help-card p{margin:0;color:#d5c7ad;line-height:1.9}
.reservation-page--simple .reservation-help-card--steps{padding:20px}
.reservation-page--simple .reservation-help-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:#d9cbb2;line-height:1.85}
.reservation-page--simple .reservation-help-card li{position:relative;padding-right:20px}
.reservation-page--simple .reservation-help-card li::before{content:"";position:absolute;right:0;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(198,138,62,.10)}
.reservation-page--simple .reservation-contact-box{margin:0!important;padding:20px!important;display:grid;gap:8px}
.reservation-page--simple .reservation-contact-box a{direction:ltr;color:#e8bf77;font-size:22px;font-weight:1000;text-align:right}
@media(max-width:1100px){
  .reservation-page--simple .reservation-simple-grid{grid-template-columns:1fr}
  .reservation-page--simple .reservation-help-rail{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
  .reservation-page--simple .reservation-help-card--image img{height:150px}
}
@media(max-width:920px){
  .reservation-page--simple .reservation-flow-grid{grid-template-columns:1fr}
  .reservation-page--simple .reservation-progress--simple{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page--simple .reservation-help-rail{grid-template-columns:1fr}
}
@media(max-width:720px){
  .reservation-page--simple .reservation-simple-hero{padding:118px 0 48px}
  .reservation-page--simple .reservation-simple-grid{width:min(100% - 28px,1220px);gap:20px}
  .reservation-page--simple .reservation-flow-header .reservation-rule{border-radius:18px;width:auto}
  .reservation-page--simple .reservation-panel.booking-fieldset,
  .reservation-page--simple fieldset.reservation-guest-form{padding:16px!important;border-radius:22px!important}
  .reservation-page--simple .reservation-form-row,
  .reservation-page--simple .reservation-card .form-row{grid-template-columns:1fr;gap:11px}
  .reservation-page--simple .jalali-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page--simple .time-slot-grid{grid-template-columns:1fr}
  .reservation-page--simple .reservation-table-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page--simple .reservation-floor-stage{min-width:680px!important;min-height:410px!important}
  .reservation-page--simple .reservation-submit-panel{grid-template-columns:1fr}
}
@media(max-width:460px){
  .reservation-page--simple .reservation-page-copy h1{font-size:32px;line-height:1.35}
  .reservation-page--simple .reservation-page-copy p{font-size:15px;line-height:1.95}
  .reservation-page--simple .reservation-progress--simple{grid-template-columns:1fr;gap:8px}
  .reservation-page--simple .jalali-date-grid,
  .reservation-page--simple .reservation-table-card-grid{grid-template-columns:1fr}
  .reservation-page--simple .reservation-floor-stage{min-width:560px!important;min-height:360px!important}
  .reservation-page--simple .reservation-map-toolbar span{font-size:10.5px;padding:6px 8px}
}

/* FarshidBonab v2.5.3 - true fullscreen step-by-step reservation wizard */
.reservation-page--wizard{
  min-height:100svh;
  background:
    radial-gradient(circle at 15% 10%,rgba(232,191,119,.16),transparent 34%),
    radial-gradient(circle at 86% 18%,rgba(198,138,62,.10),transparent 30%),
    linear-gradient(180deg,#100d0a 0%,#17120e 48%,#0d0b09 100%);
  color:#f8edd8;
  overflow-x:hidden;
}
.reservation-page--wizard .reservation-wizard-shell{
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:128px 0 72px;
  position:relative;
  isolation:isolate;
}
.reservation-page--wizard .reservation-wizard-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(10,8,6,.92),rgba(14,10,7,.72)),
    url('../img/hero-doorway.webp') center/cover no-repeat;
  opacity:.48;
}
.reservation-page--wizard .reservation-wizard-shell::after{
  content:"";
  position:absolute;
  inset:auto 8% 28px;
  height:1px;
  z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.36),transparent);
}
.reservation-page--wizard .reservation-wizard-container{
  width:min(1040px,calc(100% - 44px));
  margin-inline:auto;
}
.reservation-page--wizard .reservation-wizard-card.reservation-card{
  width:100%;
  margin:0 auto;
  padding:clamp(20px,3.4vw,38px)!important;
  border:1px solid rgba(232,191,119,.20)!important;
  border-radius:clamp(24px,3vw,36px)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(232,191,119,.13),transparent 32%),
    linear-gradient(145deg,rgba(31,25,18,.94),rgba(12,10,8,.96))!important;
  box-shadow:0 34px 110px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.055)!important;
  overflow:hidden!important;
}
.reservation-page--wizard .reservation-wizard-card.reservation-card::before{display:none!important}
.reservation-page--wizard .reservation-wizard-header{
  display:grid;
  gap:10px;
  text-align:center;
  margin:0 auto 22px;
  max-width:820px;
}
.reservation-page--wizard .reservation-wizard-header .reservation-kicker{
  justify-self:center;
  margin:0;
  padding:8px 14px;
  border:1px solid rgba(232,191,119,.24);
  border-radius:999px;
  background:rgba(232,191,119,.08);
  color:#ffe1a7;
}
.reservation-page--wizard .reservation-wizard-header h1{
  margin:0;
  color:#fff7e8;
  font-size:clamp(30px,5vw,58px);
  line-height:1.28;
  letter-spacing:-1.2px;
}
.reservation-page--wizard .reservation-wizard-header p{
  margin:0;
  color:#dfcfb4;
  line-height:2;
  font-size:clamp(14px,1.7vw,17px);
}
.reservation-page--wizard .reservation-wizard-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:4px;
}
.reservation-page--wizard .reservation-wizard-meta span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(232,191,119,.15);
  background:rgba(255,255,255,.04);
  color:#e8d8bd;
  font-size:12px;
  font-weight:850;
}
.reservation-page--wizard .reservation-wizard-progress{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 22px!important;
}
.reservation-page--wizard .reservation-wizard-progress button{
  appearance:none;
  border:1px solid rgba(232,191,119,.13);
  border-radius:18px;
  min-height:60px;
  padding:9px 10px;
  background:rgba(255,255,255,.035);
  color:#cfc1aa;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  font:inherit;
  font-weight:900;
  line-height:1.5;
  transition:border-color .2s ease,background .2s ease,transform .2s ease,opacity .2s ease;
}
.reservation-page--wizard .reservation-wizard-progress button b{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#211407;
  background:linear-gradient(145deg,#ffe7b1,#c68a3e);
  box-shadow:0 10px 20px rgba(198,138,62,.18);
}
.reservation-page--wizard .reservation-wizard-progress button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(232,191,119,.38)}
.reservation-page--wizard .reservation-wizard-progress button.is-active{
  border-color:rgba(232,191,119,.78);
  color:#fff0c9;
  background:linear-gradient(145deg,rgba(232,191,119,.18),rgba(255,255,255,.045));
  box-shadow:0 0 0 4px rgba(232,191,119,.08);
}
.reservation-page--wizard .reservation-wizard-progress button.is-done{
  border-color:rgba(122,214,143,.35);
  color:#dff7d9;
  background:rgba(122,214,143,.07);
}
.reservation-page--wizard .reservation-wizard-progress button.is-done b{background:linear-gradient(145deg,#dfffcf,#71c782);color:#0c1e0e}
.reservation-page--wizard .reservation-wizard-progress button.is-locked{opacity:.48;cursor:not-allowed}
.reservation-page--wizard .reservation-step-panel{
  display:none;
  min-height:min(560px,calc(100svh - 360px));
  border:1px solid rgba(232,191,119,.12);
  border-radius:28px;
  padding:clamp(18px,3vw,30px);
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.reservation-page--wizard .reservation-step-panel.is-active{
  display:grid;
  align-content:start;
  gap:20px;
  animation:reservationWizardIn .22s ease both;
}
@keyframes reservationWizardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.reservation-page--wizard .reservation-step-title{
  display:grid;
  gap:6px;
  max-width:760px;
}
.reservation-page--wizard .reservation-step-title strong{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(232,191,119,.10);
  color:#ffe0a4;
  font-size:12px;
  font-weight:950;
}
.reservation-page--wizard .reservation-step-title h2{
  margin:0;
  color:#fff5dd;
  font-size:clamp(24px,3.2vw,38px);
  line-height:1.45;
}
.reservation-page--wizard .reservation-step-title p{
  margin:0;
  color:#d9cab0;
  line-height:1.95;
}
.reservation-page--wizard .reservation-fields-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.reservation-page--wizard .reservation-fields-grid label,
.reservation-page--wizard .reservation-card label{
  display:grid;
  gap:8px;
  min-width:0;
  color:#f1dbb3;
  font-weight:900;
}
.reservation-page--wizard .reservation-card label span{font-size:13px;color:#f5deb3}
.reservation-page--wizard .reservation-card input,
.reservation-page--wizard .reservation-card select{
  width:100%;
  min-height:58px;
  border-radius:18px;
  border:1px solid rgba(232,191,119,.18);
  background:linear-gradient(145deg,rgba(10,8,6,.92),rgba(28,22,16,.86));
  color:#fff8e7;
  padding:0 16px;
  outline:none;
  box-shadow:none;
}
.reservation-page--wizard .reservation-card input::placeholder{color:rgba(232,220,201,.46)}
.reservation-page--wizard .reservation-card input:focus,
.reservation-page--wizard .reservation-card select:focus{
  border-color:rgba(232,191,119,.72);
  box-shadow:0 0 0 4px rgba(232,191,119,.12);
}
.reservation-page--wizard .reservation-choice-block{
  display:grid;
  gap:12px;
}
.reservation-page--wizard .reservation-choice-block h3{
  margin:0;
  color:#ffe3ad;
  font-size:17px;
}
.reservation-page--wizard .jalali-date-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
  gap:10px;
}
.reservation-page--wizard .time-slot-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.reservation-page--wizard .reserve-option,
.reservation-page--wizard .time-slot{
  min-height:92px;
  border-radius:20px;
  border:1px solid rgba(232,191,119,.15);
  background:rgba(255,255,255,.035);
  color:#f4e2c3;
  box-shadow:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;
}
.reservation-page--wizard .time-slot{min-height:74px}
.reservation-page--wizard .reserve-option:hover:not(:disabled),
.reservation-page--wizard .time-slot:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(232,191,119,.45)}
.reservation-page--wizard .reserve-option.is-selected,
.reservation-page--wizard .time-slot.is-selected{
  border-color:rgba(232,191,119,.82);
  background:linear-gradient(145deg,rgba(232,191,119,.24),rgba(198,138,62,.09));
  box-shadow:0 0 0 4px rgba(232,191,119,.09);
}
.reservation-page--wizard .reserve-option.is-disabled,
.reservation-page--wizard .time-slot.is-disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.65)}
.reservation-page--wizard .slot-helper{margin:0;color:#d9c9ad;line-height:1.9}
.reservation-page--wizard .reservation-floor-picker{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:12px;
}
.reservation-page--wizard .reservation-floor-choice{
  min-height:128px;
  border-radius:24px;
  padding:18px;
  border:1px solid rgba(232,191,119,.17);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:none;
}
.reservation-page--wizard .reservation-floor-choice span{font-size:22px;color:#fff0c6}
.reservation-page--wizard .reservation-floor-choice small{padding-left:0;color:#d4c4a8}
.reservation-page--wizard .reservation-floor-choice em{margin-top:10px}
.reservation-page--wizard .reservation-floor-choice.is-selected{
  border-color:rgba(232,191,119,.82);
  background:linear-gradient(145deg,rgba(232,191,119,.20),rgba(255,255,255,.035));
}
.reservation-page--wizard .reservation-table-map{
  display:grid;
  gap:14px;
  min-width:0;
  overflow:visible;
}
.reservation-page--wizard .reservation-floor-block{
  display:grid;
  gap:14px;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.reservation-page--wizard .reservation-floor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:0;
}
.reservation-page--wizard .reservation-floor-head strong{font-size:20px;color:#fff2cf}
.reservation-page--wizard .reservation-floor-head span{display:block;color:#d2c2a6;line-height:1.85}
.reservation-page--wizard .reservation-floor-head em{
  flex:0 0 auto;
  font-style:normal;
  border-radius:999px;
  padding:8px 11px;
  color:#221509;
  background:linear-gradient(135deg,#ffe4ad,#c68a3e);
  font-size:12px;
  font-weight:950;
}
.reservation-page--wizard .reservation-table-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(138px,1fr));
  gap:10px;
}
.reservation-page--wizard .reservation-table-card-option{
  min-height:92px;
  display:grid;
  align-content:center;
  gap:6px;
  border:1px solid rgba(232,191,119,.15);
  border-radius:20px;
  background:rgba(255,255,255,.036);
  color:#f5e3c2;
  padding:13px;
  text-align:right;
  cursor:pointer;
  font:inherit;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;
}
.reservation-page--wizard .reservation-table-card-option strong{color:#fff3d4;font-size:15px;font-weight:1000}
.reservation-page--wizard .reservation-table-card-option span{color:#d4c5aa;font-size:12px;font-weight:850}
.reservation-page--wizard .reservation-table-card-option em{font-style:normal;color:#e8bf77;font-size:11px;font-weight:950}
.reservation-page--wizard .reservation-table-card-option:hover:not(:disabled),
.reservation-page--wizard .reservation-table-card-option.is-selected{
  transform:translateY(-2px);
  border-color:rgba(232,191,119,.76);
  background:linear-gradient(145deg,rgba(232,191,119,.21),rgba(255,255,255,.035));
}
.reservation-page--wizard .reservation-table-card-option.is-selected{box-shadow:0 0 0 4px rgba(232,191,119,.10)}
.reservation-page--wizard .reservation-table-card-option:disabled,
.reservation-page--wizard .reservation-table-card-option.is-disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.75);transform:none}
.reservation-page--wizard .reservation-map-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:#d7c8ae;
  font-size:11.5px;
  font-weight:850;
}
.reservation-page--wizard .reservation-map-toolbar span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  border-radius:999px;
  padding:6px 9px;
}
.reservation-page--wizard .reservation-floor-stage-scroll{
  width:100%;
  max-width:100%;
  overflow:hidden!important;
  border-radius:24px;
  border:1px solid rgba(232,191,119,.16);
  background:#0d0a07;
}
.reservation-page--wizard .reservation-floor-stage{
  position:relative;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/8.7;
  border:0;
  border-radius:0;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 15%,rgba(232,191,119,.12),transparent 24%),
    radial-gradient(circle at 18% 82%,rgba(198,138,62,.08),transparent 26%),
    linear-gradient(90deg,rgba(232,191,119,.040) 1px,transparent 1px),
    linear-gradient(0deg,rgba(232,191,119,.032) 1px,transparent 1px),
    linear-gradient(145deg,#17110d,#090706)!important;
  background-size:auto,auto,56px 56px,56px 56px,auto!important;
}
.reservation-page--wizard .reservation-floor-stage::before{
  content:"نقشه سالن";
  position:absolute;
  right:14px;
  top:14px;
  z-index:8;
  border-radius:999px;
  padding:7px 11px;
  color:#ffe1aa;
  background:rgba(8,7,6,.72);
  border:1px solid rgba(232,191,119,.18);
  font-size:11px;
  font-weight:950;
  pointer-events:none;
}
.reservation-page--wizard .reservation-plan-object{z-index:1;opacity:.48;pointer-events:none}
.reservation-page--wizard .reservation-floor-stage .reservation-table-option{
  --table-w:clamp(40px,5.2vw,58px)!important;
  --table-h:clamp(38px,4.9vw,54px)!important;
  --chair-distance:clamp(16px,2.15vw,23px)!important;
  width:var(--table-w)!important;
  height:var(--table-h)!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
  z-index:5;
  transform:translate(50%,-50%)!important;
}
.reservation-page--wizard .reservation-floor-stage .reservation-table-option--large,
.reservation-page--wizard .reservation-floor-stage .reservation-table-option--xl,
.reservation-page--wizard .reservation-floor-stage .reservation-table-option--round{width:var(--table-w)!important;height:var(--table-h)!important}
.reservation-page--wizard .reservation-floor-stage .reservation-table-option:hover:not(:disabled),
.reservation-page--wizard .reservation-floor-stage .reservation-table-option.is-selected{transform:translate(50%,-50%) scale(1.08)!important}
.reservation-page--wizard .reservation-table-core{
  width:64%!important;
  height:54%!important;
  border-radius:18px!important;
}
.reservation-page--wizard .reservation-table-option--round .reservation-table-core{border-radius:50%!important}
.reservation-page--wizard .reservation-table-core > span.reservation-table-number{
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  font-size:13px!important;
}
.reservation-page--wizard .reservation-table-chair{
  width:8px!important;
  height:10px!important;
}
.reservation-page--wizard .reservation-map-gate{
  min-height:260px;
  border-radius:24px;
  border:1px dashed rgba(232,191,119,.24);
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014));
}
.reservation-page--wizard .reservation-summary{
  margin:0;
  min-height:58px;
  border-radius:18px;
  border:1px solid rgba(232,191,119,.20);
  background:linear-gradient(145deg,rgba(232,191,119,.12),rgba(255,255,255,.028));
  color:#eadcc4;
}
.reservation-page--wizard .reservation-step-actions{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.reservation-page--wizard .reservation-step-actions .btn{
  min-height:56px;
  border-radius:18px;
  flex:0 0 auto;
}
.reservation-page--wizard .reservation-step-actions .btn-primary{min-width:230px}
.reservation-page--wizard .reservation-step-actions--final .form-submit{width:auto;margin:0;min-width:240px}
.reservation-page--wizard .form-message{
  min-height:28px;
  margin:14px 0 0;
  text-align:center;
  font-weight:900;
  line-height:1.8;
}
.reservation-page--wizard .form-message.is-error{color:#ffbfac}
.reservation-page--wizard .form-message.is-success{color:#a8eeb0}
.reservation-page--wizard .reservation-wizard-help{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  color:#d1c1a7;
  font-size:13px;
}
.reservation-page--wizard .reservation-wizard-help a{
  direction:ltr;
  color:#ffe0a0;
  font-weight:1000;
}
@media(max-width:780px){
  .reservation-page--wizard .reservation-wizard-shell{align-items:start;padding:108px 0 46px}
  .reservation-page--wizard .reservation-wizard-container{width:min(100% - 28px,1040px)}
  .reservation-page--wizard .reservation-wizard-card.reservation-card{padding:18px 14px!important;border-radius:26px!important}
  .reservation-page--wizard .reservation-wizard-header{text-align:right;margin-bottom:18px}
  .reservation-page--wizard .reservation-wizard-header .reservation-kicker{justify-self:start}
  .reservation-page--wizard .reservation-wizard-meta{justify-content:flex-start}
  .reservation-page--wizard .reservation-wizard-progress{gap:7px!important}
  .reservation-page--wizard .reservation-wizard-progress button{min-height:54px;padding:8px 5px;font-size:11px;border-radius:15px;gap:5px;display:grid;justify-items:center}
  .reservation-page--wizard .reservation-wizard-progress button b{width:27px;height:27px;border-radius:10px}
  .reservation-page--wizard .reservation-step-panel{min-height:auto;padding:16px;border-radius:22px;gap:16px}
  .reservation-page--wizard .reservation-fields-grid{grid-template-columns:1fr;gap:12px}
  .reservation-page--wizard .jalali-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page--wizard .time-slot-grid{grid-template-columns:1fr}
  .reservation-page--wizard .reservation-floor-picker{grid-template-columns:1fr}
  .reservation-page--wizard .reservation-table-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page--wizard .reservation-floor-head{display:grid}
  .reservation-page--wizard .reservation-floor-head em{width:max-content;max-width:100%}
  .reservation-page--wizard .reservation-step-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .reservation-page--wizard .reservation-step-actions .btn,
  .reservation-page--wizard .reservation-step-actions .btn-primary,
  .reservation-page--wizard .reservation-step-actions--final .form-submit{width:100%;min-width:0;justify-content:center}
}
@media(max-width:560px){
  .reservation-page--wizard .reservation-wizard-progress{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .reservation-page--wizard .reservation-wizard-progress button span{display:none}
  .reservation-page--wizard .reservation-step-title h2{font-size:24px}
  .reservation-page--wizard .reservation-card input,
  .reservation-page--wizard .reservation-card select{min-height:54px;border-radius:16px}
  .reservation-page--wizard .reserve-option{min-height:86px}
  .reservation-page--wizard .reservation-table-card-grid{grid-template-columns:1fr}
  .reservation-page--wizard .reservation-map-toolbar,
  .reservation-page--wizard .reservation-floor-stage-scroll{display:none!important}
}
@media(max-width:380px){
  .reservation-page--wizard .jalali-date-grid{grid-template-columns:1fr}
  .reservation-page--wizard .reservation-wizard-container{width:min(100% - 20px,1040px)}
}

/* FarshidBonab v2.5.4 - reservation wizard polish requested by client */
.reservation-page--wizard .reservation-wizard-header{
  margin-bottom:clamp(18px,2.4vw,28px);
}
.reservation-page--wizard .reservation-wizard-header p{
  max-width:720px;
  margin-inline:auto;
  color:#ead9bc;
}
.reservation-page--wizard .reservation-step-panel{
  min-height:min(590px,calc(100svh - 330px));
}
.reservation-page--wizard .reservation-fields-grid{
  max-width:760px;
  margin:6px auto 0;
  width:100%;
  gap:16px;
}
.reservation-page--wizard .reservation-fields-grid label{
  position:relative;
  padding:14px;
  border:1px solid rgba(232,191,119,.14);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 34px rgba(0,0,0,.12);
}
.reservation-page--wizard .reservation-fields-grid label::before{
  content:"";
  position:absolute;
  inset-inline-start:16px;
  top:16px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(145deg,#ffe6ac,#c68a3e);
  box-shadow:0 0 0 5px rgba(232,191,119,.08);
}
.reservation-page--wizard .reservation-fields-grid label span{
  padding-inline-start:18px;
}
.reservation-page--wizard .reservation-field--wide{
  grid-column:1/-1;
}
.reservation-page--wizard .reservation-card input,
.reservation-page--wizard .reservation-card select{
  min-height:60px;
  border-radius:20px;
}
.reservation-page--wizard .reservation-choice-block{
  border:1px solid rgba(232,191,119,.11);
  border-radius:24px;
  padding:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018));
}
.reservation-page--wizard .reservation-choice-block h3{
  display:flex;
  align-items:center;
  gap:9px;
}
.reservation-page--wizard .reservation-choice-block h3::before{
  content:"";
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
  background:linear-gradient(145deg,#ffe6ac,#c68a3e);
  box-shadow:0 0 0 6px rgba(232,191,119,.08);
}
.reservation-page--wizard .jalali-date-grid{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:9px;
  align-items:stretch;
}
.reservation-page--wizard .reserve-option{
  position:relative;
  min-height:118px;
  padding:14px 8px 12px;
  border-radius:22px;
  overflow:hidden;
  isolation:isolate;
}
.reservation-page--wizard .reserve-option::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 50% 0,rgba(232,191,119,.16),transparent 54%);
  opacity:.75;
}
.reservation-page--wizard .reserve-option .day-name{
  color:#f5dfb7;
  font-size:12px;
  font-weight:950;
}
.reservation-page--wizard .reserve-option .day-number{
  color:#fff9e9;
  font-size:clamp(24px,2.6vw,34px);
  font-weight:1000;
  letter-spacing:-.5px;
  margin-top:2px;
}
.reservation-page--wizard .reserve-option .month-name{
  color:#e8bf77;
  font-size:12px;
  font-weight:950;
}
.reservation-page--wizard .reserve-option small{
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(12,10,8,.38);
  border:1px solid rgba(232,191,119,.12);
  color:#dfd0b7;
  font-size:10.5px;
  font-weight:900;
}
.reservation-page--wizard .reserve-option.is-selected small{
  color:#241608;
  background:#ffe3a6;
  border-color:rgba(255,255,255,.25);
}
.reservation-page--wizard .time-slot-grid{
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  gap:9px;
}
.reservation-page--wizard .time-slot{
  min-height:68px;
  border-radius:18px;
  padding:11px 10px;
}
.reservation-page--wizard .time-slot span{
  font-size:13px;
  color:#fff0cc;
  font-weight:1000;
}
.reservation-page--wizard .time-slot small{
  margin-top:3px;
  color:#d3c4aa;
  font-size:10px;
  line-height:1.5;
}
.reservation-page--wizard .reservation-floor-stage-scroll{
  display:block!important;
  overflow:hidden!important;
}
.reservation-page--wizard .reservation-floor-stage{
  aspect-ratio:16/9.2;
  min-height:320px!important;
}
.reservation-page--wizard .reservation-floor-stage .reservation-table-option{
  --table-w:clamp(34px,4.45vw,52px)!important;
  --table-h:clamp(32px,4.15vw,48px)!important;
  --chair-distance:clamp(14px,1.85vw,20px)!important;
}
.reservation-page--wizard .reservation-table-core{
  width:62%!important;
  height:53%!important;
}
.reservation-page--wizard .reservation-table-core > span.reservation-table-number{
  font-size:12px!important;
}
.reservation-page--wizard .reservation-table-chair{
  width:7px!important;
  height:9px!important;
}
.reservation-page--wizard .reservation-table-card-grid{
  margin-top:2px;
}
@media(max-width:980px){
  .reservation-page--wizard .jalali-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .reservation-page--wizard .reservation-floor-stage{min-height:280px!important}
}
@media(max-width:780px){
  .reservation-page--wizard .reservation-wizard-header{text-align:center}
  .reservation-page--wizard .reservation-wizard-header .reservation-kicker{justify-self:center}
  .reservation-page--wizard .reservation-fields-grid{max-width:none}
  .reservation-page--wizard .reservation-choice-block{padding:13px;border-radius:22px}
  .reservation-page--wizard .jalali-date-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    padding:2px 2px 10px;
    margin-inline:-2px;
  }
  .reservation-page--wizard .jalali-date-grid .reserve-option{
    flex:0 0 132px;
    min-height:112px;
    scroll-snap-align:start;
  }
  .reservation-page--wizard .time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-page--wizard .reservation-floor-stage{
    min-height:244px!important;
    aspect-ratio:1.5/1;
  }
  .reservation-page--wizard .reservation-floor-stage .reservation-table-option{
    --table-w:34px!important;
    --table-h:32px!important;
    --chair-distance:13px!important;
  }
  .reservation-page--wizard .reservation-table-core > span.reservation-table-number{
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    font-size:10.5px!important;
  }
  .reservation-page--wizard .reservation-table-chair{
    width:5.5px!important;
    height:7px!important;
  }
}
@media(max-width:560px){
  .reservation-page--wizard .reservation-wizard-card.reservation-card{padding:16px 11px!important}
  .reservation-page--wizard .reservation-step-panel{padding:13px;border-radius:20px}
  .reservation-page--wizard .reservation-choice-block{padding:12px;border-radius:20px}
  .reservation-page--wizard .reservation-map-toolbar,
  .reservation-page--wizard .reservation-floor-stage-scroll{
    display:flex!important;
  }
  .reservation-page--wizard .reservation-map-toolbar{display:flex!important}
  .reservation-page--wizard .reservation-floor-stage-scroll{display:block!important;border-radius:18px}
  .reservation-page--wizard .reservation-floor-stage{
    min-height:214px!important;
    aspect-ratio:1.34/1;
    background-size:auto,auto,34px 34px,34px 34px,auto!important;
  }
  .reservation-page--wizard .reservation-floor-stage::before{
    right:9px;
    top:9px;
    padding:5px 8px;
    font-size:10px;
  }
  .reservation-page--wizard .reservation-plan-object{font-size:8px!important;border-radius:9px;padding:3px;opacity:.36}
  .reservation-page--wizard .reservation-table-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .reservation-page--wizard .reservation-table-card-option{min-height:74px;border-radius:16px;padding:9px}
  .reservation-page--wizard .reservation-table-card-option strong{font-size:13px}
  .reservation-page--wizard .reservation-table-card-option span,
  .reservation-page--wizard .reservation-table-card-option em{font-size:10.5px}
}
@media(max-width:420px){
  .reservation-page--wizard .time-slot-grid{grid-template-columns:1fr}
  .reservation-page--wizard .jalali-date-grid .reserve-option{flex-basis:124px}
  .reservation-page--wizard .reservation-floor-stage{
    min-height:196px!important;
    aspect-ratio:1.24/1;
  }
  .reservation-page--wizard .reservation-floor-stage .reservation-table-option{
    --table-w:30px!important;
    --table-h:28px!important;
    --chair-distance:11px!important;
  }
  .reservation-page--wizard .reservation-table-chair{width:5px!important;height:6px!important}
  .reservation-page--wizard .reservation-table-core > span.reservation-table-number{font-size:9.5px!important;min-width:15px!important;height:15px!important}
}


/* ===== FarshidBonab v3.0.1 - luxury Mizino credit badge ===== */
.copyright-luxury .mizino-powered{
  min-height:52px;
  gap:12px;
  padding:8px 10px 8px 18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,0) 26%),
    linear-gradient(135deg,#ffe8b7,#d19846 54%,#8b5b25);
  color:#17110a;
  box-shadow:0 18px 44px rgba(198,138,62,.26),inset 0 1px 0 rgba(255,255,255,.52);
}
.copyright-luxury .mizino-powered::before{
  content:"";
  position:absolute;
  inset:1px;
  width:auto;
  height:auto;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 46%);
  opacity:.72;
  pointer-events:none;
}
.copyright-luxury .mizino-powered::after{
  content:"";
  position:absolute;
  inset:-55% -28%;
  z-index:0;
  background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.50) 45%,transparent 65%);
  transform:translateX(135%);
  transition:.6s ease;
  pointer-events:none;
}
.copyright-luxury .mizino-powered:hover::after{transform:translateX(-135%)}
.copyright-luxury .mizino-powered:hover{
  transform:translateY(-3px);
  filter:saturate(1.08);
  box-shadow:0 22px 54px rgba(198,138,62,.34),inset 0 1px 0 rgba(255,255,255,.58);
}
.mizino-powered__mark,
.mizino-powered__content{
  position:relative;
  z-index:1;
}
.mizino-powered__mark{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#17110a,#2a1c0e);
  color:#f8dfac;
  font-size:18px;
  font-weight:1000;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 9px 20px rgba(0,0,0,.18);
}
.mizino-powered__content{
  display:grid;
  gap:2px;
  line-height:1.2;
}
.copyright-luxury .mizino-powered small{
  color:rgba(23,17,10,.72);
  font-size:11px;
  font-weight:800;
}
.copyright-luxury .mizino-powered strong{
  color:#0f0b06;
  font-size:17px;
  font-weight:1000;
  letter-spacing:-.2px;
}
.copyright-luxury .mizino-powered strong::after{display:none}
@media(max-width:760px){
  .copyright-luxury .mizino-powered{
    width:auto;
    min-width:220px;
    max-width:290px;
    justify-content:center;
    flex-wrap:nowrap;
  }
}

/* ===== FarshidBonab v3.0.2 - refined logo loader + subtle Mizino credit ===== */
.page-loader__logo{
  position:relative;
  z-index:2;
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  padding:9px;
  border-radius:24px;
  background:
    radial-gradient(circle at 35% 18%,rgba(255,255,255,.20),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
  border:1px solid rgba(232,191,119,.34);
  box-shadow:0 20px 52px rgba(0,0,0,.34),0 0 0 7px rgba(232,191,119,.055),inset 0 1px 0 rgba(255,255,255,.16);
  overflow:hidden;
}
.page-loader__logo::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(17,13,9,.86),rgba(34,24,14,.66));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.page-loader__logo::after{
  content:"";
  position:absolute;
  inset:auto 12px 10px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.82),transparent);
  opacity:.86;
}
.page-loader__logo img,
.page-loader__fallback-letter{
  position:relative;
  z-index:1;
}
.page-loader__logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.28));
}
.page-loader__fallback-letter{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border-radius:18px;
  color:#f5d79b;
  font-size:32px;
  font-weight:1000;
  line-height:1;
}
.copyright-luxury .mizino-powered{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:0;
  padding:7px 12px;
  border:1px solid rgba(232,191,119,.14);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:rgba(246,232,204,.68);
  box-shadow:none;
  filter:none;
  line-height:1.2;
  overflow:hidden;
  isolation:isolate;
  opacity:.78;
  transition:opacity .22s ease,border-color .22s ease,background .22s ease,transform .22s ease;
}
.copyright-luxury .mizino-powered::before{
  content:"";
  position:absolute;
  inset:auto 12px 0;
  width:auto;
  height:1px;
  border-radius:0;
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.42),transparent);
  opacity:.55;
  pointer-events:none;
}
.copyright-luxury .mizino-powered::after{
  display:none;
}
.copyright-luxury .mizino-powered:hover{
  transform:translateY(-1px);
  opacity:.96;
  border-color:rgba(232,191,119,.24);
  background:rgba(232,191,119,.045);
  box-shadow:none;
  filter:none;
}
.copyright-luxury .mizino-powered span,
.copyright-luxury .mizino-powered small,
.copyright-luxury .mizino-powered strong{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:0;
  line-height:1.2;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
.copyright-luxury .mizino-powered span::before,
.copyright-luxury .mizino-powered strong::after{
  display:none!important;
  content:none!important;
}
.mizino-powered__label{
  color:rgba(238,222,192,.56);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:-.1px;
}
.mizino-powered__name{
  color:rgba(248,218,159,.82);
  font-size:12px;
  font-weight:900;
  letter-spacing:-.15px;
}
.mizino-powered__name::before{
  content:"";
  width:3px;
  height:3px;
  margin-inline:1px 0;
  border-radius:50%;
  background:rgba(232,191,119,.62);
}
@media(max-width:760px){
  .copyright-luxury .mizino-powered{
    width:auto;
    min-width:0;
    max-width:100%;
    padding:7px 11px;
    flex-wrap:nowrap;
  }
  .mizino-powered__label{font-size:10px}
  .mizino-powered__name{font-size:11.5px}
}
@media(max-width:480px){
  .page-loader__logo{width:66px;height:66px;border-radius:22px;padding:8px}
  .page-loader__logo::before{border-radius:18px}
  .page-loader__fallback-letter{font-size:29px;border-radius:16px}
}
.copyright-luxury .mizino-powered .mizino-powered__name::before{content:""!important;display:inline-block!important;width:3px;height:3px;margin-inline:1px 0;border-radius:50%;background:rgba(232,191,119,.62)}

/* ===== FarshidBonab v3.0.2: customer-friendly hero highlights + auth buttons ===== */
.hero-customer-highlights{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  max-width:590px;
  padding-top:20px;
  border-top:1px solid rgba(232,191,119,.16);
}
.hero-customer-highlights::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:-1px;
  width:42%;
  height:1px;
  background:linear-gradient(90deg,var(--gold-2),rgba(198,138,62,.14),transparent);
  pointer-events:none;
}
.hero-customer-highlight{
  position:relative;
  isolation:isolate;
  min-height:122px;
  overflow:hidden;
  border:1px solid rgba(232,191,119,.17);
  border-radius:22px;
  padding:14px 13px 13px;
  background:
    radial-gradient(circle at 18% 12%,rgba(232,191,119,.18),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 16px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.055);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.hero-customer-highlight::after{
  content:"";
  position:absolute;
  inset:auto -22px -30px auto;
  width:82px;
  height:82px;
  border-radius:50%;
  background:rgba(232,191,119,.075);
  filter:blur(2px);
  z-index:-1;
}
.hero-customer-highlight:hover{
  transform:translateY(-3px);
  border-color:rgba(232,191,119,.34);
  background:
    radial-gradient(circle at 18% 12%,rgba(232,191,119,.24),transparent 40%),
    linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.032));
}
.hero-customer-highlight__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  border-radius:15px;
  border:1px solid rgba(232,191,119,.22);
  background:linear-gradient(145deg,rgba(232,191,119,.19),rgba(198,138,62,.06));
  color:#ffe6ae;
  font-size:19px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 24px rgba(0,0,0,.18);
}
.hero-customer-highlight strong{
  display:block;
  color:#fff4d7;
  font-size:13.5px;
  font-weight:950;
  line-height:1.55;
  letter-spacing:-.2px;
}
.hero-customer-highlight small{
  display:block;
  margin-top:5px;
  color:#cfc1ad;
  font-size:11.5px;
  font-weight:650;
  line-height:1.75;
}
.menu-section .home-feature-card__footer{
  padding:10px 12px;
  border-radius:17px;
  background:
    linear-gradient(135deg,rgba(232,191,119,.10),rgba(255,255,255,.03)),
    rgba(0,0,0,.13);
}
.menu-section .home-feature-card__footer .home-feature-card__price{
  gap:6px;
  color:#ffdf9c;
  font-size:16px;
  font-weight:950;
  line-height:1.55;
  letter-spacing:-.25px;
  text-align:right;
  white-space:normal;
}
.menu-section .home-feature-card__footer .home-feature-card__price::before{
  width:7px;
  height:7px;
  box-shadow:0 0 0 5px rgba(232,191,119,.09);
}
.home-feature-card__price-label{
  font-size:11.5px;
  letter-spacing:-.1px;
}
.main-nav .header-auth-group{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-inline-start:2px;
  white-space:nowrap;
}
.main-nav .header-auth-link{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px!important;
  border:0!important;
  border-radius:999px;
  opacity:1;
  font-size:13.5px;
  font-weight:950;
  line-height:1;
  text-decoration:none;
  transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease;
}
.main-nav .header-auth-link::after{
  display:none!important;
}
.main-nav .header-auth-link--login{
  color:#ffe0a1;
  background:linear-gradient(180deg,transparent 58%,rgba(232,191,119,.12) 0);
  box-shadow:inset 0 -1px 0 rgba(232,191,119,.34);
}
.main-nav .header-auth-link--login:hover,
.main-nav .header-auth-link--login.active{
  color:#fff7df;
  background:rgba(232,191,119,.10);
  transform:translateY(-2px);
}
.main-nav .header-auth-link--register,
.main-nav .header-auth-link--panel{
  color:#17110b;
  background:linear-gradient(135deg,#ffe9b7,var(--gold-2) 55%,var(--gold));
  box-shadow:0 12px 28px rgba(198,138,62,.22),inset 0 1px 0 rgba(255,255,255,.38);
}
.main-nav .header-auth-link--register:hover,
.main-nav .header-auth-link--register.active,
.main-nav .header-auth-link--panel:hover,
.main-nav .header-auth-link--panel.active{
  color:#130e08;
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(198,138,62,.30),inset 0 1px 0 rgba(255,255,255,.42);
}
@media(max-width:1180px){
  .main-nav{gap:18px}
  .main-nav .header-auth-link{padding-inline:12px!important;font-size:13px}
}
@media(max-width:820px){
  .hero-customer-highlights{grid-template-columns:1fr;max-width:none;gap:10px;padding-top:16px}
  .hero-customer-highlight{min-height:auto;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:12px 13px}
  .hero-customer-highlight__icon{margin:0;grid-row:1 / span 2}
  .hero-customer-highlight small{margin-top:2px}
  .main-nav .header-auth-group{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:0;
    padding:12px 4px 2px;
    border-bottom:0;
  }
  .main-nav .header-auth-link{
    min-height:42px;
    padding:12px 14px!important;
    border-bottom:0!important;
  }
  .main-nav .header-auth-link--login{background:rgba(232,191,119,.075);box-shadow:inset 0 0 0 1px rgba(232,191,119,.16)}
}
@media(max-width:560px){
  .menu-section .home-feature-card__footer .home-feature-card__price{font-size:13.5px;line-height:1.65}
  .home-feature-card__price-label{font-size:10.8px}
}


/* ===== FarshidBonab v3.0.3: minimal hero advantages + luxury auth links ===== */
.hero-customer-highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px 28px;
  max-width:660px;
  padding-top:18px;
  border-top:1px solid rgba(232,191,119,.13);
}
.hero-customer-highlights::before{
  width:116px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,230,174,.84),rgba(198,138,62,.28),transparent);
}
.hero-customer-highlight{
  min-height:0;
  overflow:visible;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:10px;
  row-gap:1px;
  align-items:start;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:transform .22s ease;
}
.hero-customer-highlight::after{display:none!important}
.hero-customer-highlight:not(:last-child)::before{
  content:"";
  position:absolute;
  inset-block:4px;
  inset-inline-end:-14px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(232,191,119,.16),transparent);
  pointer-events:none;
}
.hero-customer-highlight:hover{
  transform:translateY(-2px);
  background:transparent;
  border-color:transparent;
}
.hero-customer-highlight__icon{
  width:8px;
  height:8px;
  margin:9px 0 0;
  border:0;
  border-radius:50%;
  background:linear-gradient(135deg,#fff0bc,var(--gold-2));
  color:transparent;
  font-size:0;
  line-height:1;
  box-shadow:0 0 0 5px rgba(232,191,119,.085),0 0 22px rgba(232,191,119,.22);
  grid-row:1 / span 2;
}
.hero-customer-highlight strong{
  display:block;
  color:#fff1d2;
  font-size:13px;
  font-weight:950;
  line-height:1.55;
  letter-spacing:-.15px;
}
.hero-customer-highlight small{
  display:block;
  margin:1px 0 0;
  color:#bcae9a;
  font-size:11.2px;
  font-weight:650;
  line-height:1.75;
}

.header-auth-mobile{display:none}
.header-auth-area{
  display:inline-flex;
  align-items:center;
  gap:18px;
  flex:0 0 auto;
  margin-inline-start:clamp(4px,1vw,16px);
  padding-inline-start:clamp(12px,1vw,18px);
  border-inline-start:1px solid rgba(232,191,119,.16);
  white-space:nowrap;
}
.header-auth-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:0;
  padding:0!important;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1;
  line-height:1;
  text-decoration:none;
  transform:none;
  transition:color .22s ease,transform .22s ease,text-shadow .22s ease;
}
.header-auth-link::after{display:none!important}
.header-auth-link--login{
  color:#d8c7aa;
  font-size:13px;
  font-weight:850;
}
.header-auth-link--login:hover,
.header-auth-link--login.active{
  color:#fff0c2;
  text-shadow:0 0 18px rgba(232,191,119,.18);
  transform:translateY(-1px);
}
.header-auth-link--register,
.header-auth-link--panel{
  color:#ffe8ad;
  font-size:13.5px;
  font-weight:950;
  letter-spacing:-.15px;
  text-shadow:0 0 20px rgba(232,191,119,.12);
}
.header-auth-link--register::before,
.header-auth-link--panel::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(135deg,#fff0bc,var(--gold-2));
  box-shadow:0 0 0 5px rgba(232,191,119,.07),0 0 18px rgba(232,191,119,.24);
}
.header-auth-link--register:hover,
.header-auth-link--register.active,
.header-auth-link--panel:hover,
.header-auth-link--panel.active{
  color:#fff7dc;
  transform:translateY(-1px);
  text-shadow:0 0 22px rgba(232,191,119,.28);
}
.menu-section .home-feature-card__footer .home-feature-card__price::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  box-shadow:none!important;
}
.menu-section .home-feature-card__footer .home-feature-card__price{
  gap:0;
}
@media(max-width:1180px){
  .header-auth-area{gap:13px;padding-inline-start:12px}
  .header-auth-link--login{font-size:12.8px}
  .header-auth-link--register,.header-auth-link--panel{font-size:13px}
}
@media(max-width:820px){
  .header-auth-area{display:none}
  .header-auth-mobile{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:12px 16px 4px;
    border-top:1px solid rgba(232,191,119,.12);
  }
  .main-nav .header-auth-mobile .header-auth-link{
    min-height:40px;
    padding:0!important;
    border:0!important;
    border-bottom:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .main-nav .header-auth-mobile .header-auth-link::after{display:none!important}
  .main-nav .header-auth-mobile .header-auth-link--panel{grid-column:1 / -1}
}
@media(max-width:820px){
  .hero-customer-highlights{
    grid-template-columns:1fr;
    gap:12px;
    max-width:460px;
    padding-top:16px;
  }
  .hero-customer-highlight:not(:last-child)::before{display:none}
  .hero-customer-highlight strong{font-size:13px}
  .hero-customer-highlight small{font-size:11.4px}
}
@media(max-width:560px){
  .hero-customer-highlights{max-width:none;gap:11px}
  .hero-customer-highlight__icon{margin-top:8px}
}

/* ===== FarshidBonab v3.0.5: safer mobile hero/header polish ===== */
@media(max-width:820px){
  .site-header{
    top:max(8px,env(safe-area-inset-top,0px));
    left:12px;
    right:12px;
    border:1px solid rgba(232,191,119,.16);
    border-radius:24px;
    background:linear-gradient(135deg,rgba(16,14,11,.94),rgba(22,19,15,.88));
    box-shadow:0 18px 48px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06);
  }
  .site-header .container.header-inner{
    width:100%;
    height:60px;
    padding:0 12px;
    gap:12px;
  }
  .brand-luxury--with-logo .brand-logo-mark{
    width:42px;
    height:42px;
  }
  .brand-luxury--with-logo .brand-text{
    padding-inline-start:12px;
  }
  .brand-luxury--text .brand-kicker{
    font-size:10.5px;
  }
  .brand-luxury--text strong{
    font-size:18px;
    line-height:1.1;
  }
  .menu-toggle{
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:16px;
    background:rgba(232,191,119,.08);
    border-color:rgba(232,191,119,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  }
  .menu-toggle span{
    height:2px;
    margin:5px 1px;
  }
  .main-nav{
    top:calc(max(8px,env(safe-area-inset-top,0px)) + 70px);
    right:12px;
    left:12px;
    padding:12px;
    border-radius:22px;
    background:linear-gradient(145deg,rgba(20,18,14,.98),rgba(12,11,9,.98));
    border-color:rgba(232,191,119,.18);
    box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.05);
  }
  .main-nav a{
    border-radius:16px;
    border-bottom:0;
    padding:12px 14px;
  }
  .main-nav a:not(.header-auth-link):hover,
  .main-nav a:not(.header-auth-link).active{
    background:rgba(232,191,119,.08);
  }
  .home-hero.farshid-reference-hero{
    min-height:auto!important;
    padding-top:88px!important;
    padding-bottom:30px!important;
    align-items:flex-start!important;
  }
  .home-hero .container{
    padding-inline:18px!important;
  }
  .home-hero .grid{
    gap:20px!important;
  }
  .home-hero__copy{
    padding-top:0!important;
  }
  .home-hero__media{
    height:300px!important;
    margin-top:0!important;
  }
  .home-hero__media > div:first-child{
    height:82%!important;
  }
  .home-hero__media > div:nth-child(2){
    width:46%!important;
    height:46%!important;
    border-width:5px!important;
  }
}
@media(max-width:560px){
  .site-header{
    left:10px;
    right:10px;
    border-radius:22px;
  }
  .site-header .container.header-inner{
    height:58px;
    padding:0 10px;
  }
  .brand-luxury--with-logo{
    max-width:calc(100vw - 126px)!important;
  }
  .brand-luxury--with-logo .brand-logo-mark{
    width:38px;
    height:38px;
  }
  .brand-luxury--with-logo .brand-text{
    padding-inline-start:10px;
  }
  .brand-luxury--text .brand-kicker{
    font-size:10px;
  }
  .brand-luxury--text strong{
    font-size:16.5px;
    letter-spacing:-.45px;
  }
  .menu-toggle{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .main-nav{
    top:calc(max(8px,env(safe-area-inset-top,0px)) + 68px);
    right:10px;
    left:10px;
    max-height:calc(100dvh - 96px);
    overflow:auto;
  }
  .home-hero.farshid-reference-hero{
    padding-top:78px!important;
    padding-bottom:24px!important;
  }
  .home-hero .container{
    padding-inline:16px!important;
  }
  .home-hero .grid{
    gap:14px!important;
  }
  .home-hero__media{
    height:232px!important;
  }
  .home-hero__media > div:first-child{
    width:86%!important;
    height:82%!important;
    border-radius:22px!important;
  }
  .home-hero__media > div:nth-child(2){
    width:44%!important;
    height:44%!important;
    border-width:4px!important;
    border-radius:20px!important;
  }
  .home-hero .hero-status-badge{
    margin-bottom:14px;
  }
  .home-hero h1{
    margin-bottom:16px!important;
    font-size:clamp(31px,9vw,38px)!important;
    line-height:1.18!important;
  }
  .home-hero p{
    margin-bottom:20px!important;
    font-size:14.5px!important;
    line-height:1.95!important;
  }
  .home-hero .hero-home-actions{
    margin-bottom:22px!important;
    gap:10px;
  }
}
@media(max-width:820px){
  .main-nav .header-auth-mobile{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:8px;
    padding:12px 4px 2px;
    border-top:1px solid rgba(232,191,119,.12);
  }
  .main-nav .header-auth-mobile .header-auth-link{
    min-height:46px;
    width:100%;
    padding:12px 14px!important;
    border-radius:16px;
    border:1px solid rgba(232,191,119,.18)!important;
    font-size:13.5px;
    font-weight:950;
    line-height:1.15;
    text-align:center;
    text-shadow:none;
  }
  .main-nav .header-auth-mobile .header-auth-link--login{
    color:#ffe8ba;
    background:linear-gradient(135deg,rgba(232,191,119,.13),rgba(255,255,255,.04))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.18)!important;
  }
  .main-nav .header-auth-mobile .header-auth-link--register,
  .main-nav .header-auth-mobile .header-auth-link--panel{
    color:#17110b;
    background:linear-gradient(135deg,#fff0c5,var(--gold-2) 55%,var(--gold))!important;
    box-shadow:0 14px 30px rgba(198,138,62,.22),inset 0 1px 0 rgba(255,255,255,.42)!important;
  }
  .main-nav .header-auth-mobile .header-auth-link--register::before,
  .main-nav .header-auth-mobile .header-auth-link--panel::before{
    display:none;
  }
  .main-nav .header-auth-mobile .header-auth-link--panel{
    grid-column:1 / -1;
  }
}
@media(max-width:380px){
  .brand-luxury--text .brand-kicker{
    display:none;
  }
  .brand-luxury--text strong{
    font-size:16px;
  }
  .home-hero__media{
    height:210px!important;
  }
}


/* ===== FarshidBonab v3.0.10 - modular mobile menu preview polish ===== */
.menu-page--list .menu-category-block{
  content-visibility:auto;
  contain-intrinsic-size:560px;
}
.menu-page--list .fb-menu-row{
  contain:layout paint;
  touch-action:manipulation;
}
.menu-page--list .fb-menu-thumb img,
.fb-menu-preview-media img{
  backface-visibility:hidden;
  transform:translateZ(0);
}
body.menu-preview-open{
  overflow:hidden;
  overscroll-behavior:none;
}
body.menu-preview-open .mobile-app-nav{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px);
}
.fb-menu-preview-modal{
  align-items:center!important;
  justify-items:center!important;
  place-items:center!important;
  padding:clamp(14px,2.5vw,28px)!important;
  overflow:hidden;
  overscroll-behavior:contain;
}
.fb-menu-preview-modal.open{
  display:grid;
}
.fb-menu-preview-content{
  inline-size:min(980px,calc(100vw - 32px));
  max-block-size:calc((var(--app-vh,1vh) * 100) - 32px);
  margin:auto!important;
  overscroll-behavior:contain;
}
.fb-menu-preview-link{
  width:auto!important;
  min-height:46px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 18px!important;
  border-radius:999px!important;
  border:1px solid rgba(232,191,119,.24)!important;
  background:rgba(255,255,255,.045)!important;
  color:#ffe4ad!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  font-size:13px;
  font-weight:950;
  line-height:1;
  text-decoration:none;
  letter-spacing:-.01em;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.fb-menu-preview-link::after{
  content:"←";
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(232,191,119,.12);
  color:#ffe9bd;
  font-size:14px;
  line-height:1;
}
.fb-menu-preview-link:hover,
.fb-menu-preview-link:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(232,191,119,.42)!important;
  background:rgba(232,191,119,.09)!important;
  color:#fff1cf!important;
  outline:0;
}
@media(max-width:820px){
  .fb-menu-preview-modal.open{
    padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
  }
  .fb-menu-preview-content{
    width:min(94vw,560px)!important;
    max-height:calc((var(--app-vh,1vh) * 100) - 24px)!important;
    border-radius:26px!important;
  }
}
@media(max-width:720px){
  .menu-page--list .fb-menu-row{
    content-visibility:auto;
    contain-intrinsic-size:116px;
  }
  .menu-page--list .reveal{
    transition-duration:.22s;
  }
  .fb-menu-preview-grid{
    max-height:inherit;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .fb-menu-preview-media,
  .fb-menu-preview-media img,
  .fb-menu-preview-empty{
    height:clamp(190px,36vh,250px)!important;
    min-height:0!important;
    max-height:none!important;
  }
  .fb-menu-preview-copy{
    align-content:start;
    padding:24px 18px 20px!important;
  }
  .fb-menu-preview-copy::before{
    inset:11px!important;
  }
  .fb-menu-preview-actions{
    width:100%;
  }
  .fb-menu-preview-link{
    width:100%!important;
    min-height:48px;
    padding-inline:16px!important;
  }
}
@media(max-width:430px){
  .fb-menu-preview-content{
    width:calc(100vw - 24px)!important;
    border-radius:22px!important;
  }
  .fb-menu-preview-copy h2{
    font-size:23px!important;
    line-height:1.55;
  }
  .fb-menu-preview-copy p{
    font-size:13.5px!important;
    line-height:1.9!important;
  }
  .fb-menu-preview-link{
    font-size:12.7px;
  }
}
@media(prefers-reduced-motion:reduce){
  .fb-menu-preview-link,
  .menu-page--list .reveal,
  .menu-page--list .fb-menu-row,
  body.menu-preview-open .mobile-app-nav{
    transition:none!important;
  }
  .fb-menu-preview-link:hover,
  .fb-menu-preview-link:focus-visible{
    transform:none;
  }
}

/* ===== FarshidBonab v3.0.11 - responsive mobile menu cards ===== */
.menu-page--list,
.menu-list-section--list,
.menu-list-container,
.menu-category-block--list,
.menu-list-stack{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.menu-page--list{
  overflow-x:hidden;
}
.menu-list-stack{
  width:100%;
}
.menu-page--list .fb-menu-row,
.menu-page--list .fb-menu-row *,
.menu-page--list .fb-menu-row *::before,
.menu-page--list .fb-menu-row *::after{
  box-sizing:border-box;
}
.menu-page--list .fb-menu-row{
  width:100%;
  max-width:100%;
  min-width:0;
}
.menu-page--list .fb-menu-content,
.menu-page--list .fb-menu-main,
.menu-page--list .fb-menu-title-row,
.menu-page--list .fb-menu-title-row h3,
.menu-page--list .fb-menu-title-row h3 a,
.menu-page--list .fb-menu-actions{
  min-width:0;
  max-width:100%;
}
.menu-page--list .fb-menu-title-row h3,
.menu-page--list .fb-menu-title-row h3 a,
.menu-page--list .fb-menu-content p{
  overflow-wrap:anywhere;
  word-break:normal;
}
@media(max-width:720px){
  .menu-list-section--list{
    padding-inline:0;
  }
  .menu-list-section--list .container,
  .menu-list-container{
    width:min(100% - 24px,var(--container))!important;
    max-width:100%!important;
  }
  .menu-list-stack{
    gap:12px;
    overflow:visible;
  }
  .menu-page--list .fb-menu-row{
    grid-template-columns:clamp(78px,25vw,96px) minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
    border-radius:20px!important;
    align-items:stretch!important;
    overflow:hidden!important;
    transform:none;
  }
  .menu-page--list .fb-menu-row:hover{
    transform:none;
  }
  .menu-page--list .fb-menu-thumb{
    width:100%!important;
    max-width:96px!important;
    min-width:0!important;
    align-self:start;
    aspect-ratio:1/1;
    border-radius:16px!important;
  }
  .menu-page--list .fb-menu-content{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-content:center;
    gap:9px!important;
    overflow:visible!important;
  }
  .menu-page--list .fb-menu-title-row{
    display:block!important;
    margin-bottom:5px!important;
    overflow:visible;
  }
  .menu-page--list .fb-menu-title-row h3,
  .menu-page--list .fb-menu-title-row h3 a{
    display:block;
    max-width:100%;
  }
  .menu-page--list .fb-menu-content p{
    max-width:100%!important;
  }
  .menu-page--list .fb-menu-actions{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    direction:rtl!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-top:8px!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:8px!important;
  }
  .menu-page--list .fb-menu-price{
    flex:1 1 auto!important;
    inline-size:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    justify-self:stretch!important;
    align-self:center!important;
    direction:rtl!important;
    text-align:right!important;
    justify-items:start!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:normal;
    font-size:14.5px!important;
    line-height:1.65!important;
    padding:0 0 6px!important;
  }
  .menu-page--list .fb-menu-price::after{
    right:0!important;
    left:auto!important;
    width:100%!important;
    max-width:100%!important;
  }
  .menu-page--list .fb-menu-buttons{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    direction:rtl!important;
    justify-content:flex-end!important;
  }
  .menu-page--list .fb-review-btn{
    max-width:100%;
    white-space:nowrap;
  }
}
@media(max-width:430px){
  .menu-list-section--list .container,
  .menu-list-container{
    width:min(100% - 20px,var(--container))!important;
  }
  .menu-page--list .fb-menu-row{
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:9px!important;
    padding:9px!important;
    border-radius:18px!important;
  }
  .menu-page--list .fb-menu-thumb{
    max-width:74px!important;
    border-radius:14px!important;
  }
  .menu-page--list .fb-menu-title-row h3{
    font-size:14.7px!important;
    line-height:1.65!important;
    padding-right:17px!important;
  }
  .menu-page--list .fb-menu-content{
    gap:7px!important;
  }
  .menu-page--list .fb-menu-actions{
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:7px!important;
  }
  .menu-page--list .fb-menu-price{
    flex:1 1 100%!important;
    width:100%!important;
    inline-size:100%!important;
    font-size:13.5px!important;
    line-height:1.7!important;
    text-align:right!important;
  }
  .menu-page--list .fb-menu-buttons{
    width:100%!important;
    justify-content:flex-start!important;
  }
  .menu-page--list .fb-review-btn{
    padding:7px 10px!important;
    font-size:11.5px!important;
  }
}
@media(max-width:360px){
  .menu-list-section--list .container,
  .menu-list-container{
    width:min(100% - 16px,var(--container))!important;
  }
  .menu-page--list .fb-menu-row{
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:8px!important;
    padding:8px!important;
  }
  .menu-page--list .fb-menu-thumb{
    max-width:68px!important;
  }
  .menu-page--list .fb-menu-title-row h3{
    font-size:14px!important;
    padding-right:15px!important;
  }
  .menu-page--list .fb-menu-price{
    font-size:12.8px!important;
  }
}
@media(hover:none) and (pointer:coarse){
  .menu-page--list .fb-menu-row:hover{
    box-shadow:0 16px 42px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);
  }
}

/* ===== FarshidBonab v3.0.12 - mobile menu scroll, sticky categories and card alignment fix ===== */
@media(max-width:720px){
  .menu-page--list{
    overflow-x:visible!important;
  }
  .menu-page--list .menu-category-nav--smart,
  .menu-category-nav.menu-category-nav--smart{
    position:sticky!important;
    top:70px!important;
    z-index:1600!important;
    display:block!important;
    transform:none!important;
    will-change:auto;
    isolation:isolate;
  }
  .menu-category-nav--smart .menu-category-scroll{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scroll-behavior:smooth;
  }
  .menu-page--list .menu-category-block,
  .menu-page--list .fb-menu-row{
    content-visibility:visible!important;
    contain:none!important;
    contain-intrinsic-size:auto!important;
  }
  .menu-page--list .fb-menu-row{
    overflow:visible!important;
  }
  .menu-page--list .fb-menu-thumb{
    overflow:hidden!important;
  }
  .menu-page--list .fb-menu-thumb .stock-badge{
    top:5px!important;
    right:5px!important;
    max-width:calc(100% - 10px)!important;
    min-height:18px!important;
    padding:3px 6px!important;
    border-radius:999px!important;
    font-size:8.8px!important;
    line-height:1.25!important;
    letter-spacing:-.04em;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-shadow:0 6px 16px rgba(0,0,0,.22)!important;
    backdrop-filter:blur(7px);
  }
  .menu-page--list .fb-menu-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    direction:ltr!important;
    width:100%!important;
    min-width:0!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    align-items:center!important;
    gap:8px!important;
    margin:0!important;
    padding-top:8px!important;
  }
  .menu-page--list .fb-menu-price{
    grid-column:1!important;
    justify-self:start!important;
    direction:rtl!important;
    text-align:left!important;
    justify-items:start!important;
    flex:none!important;
    width:auto!important;
    inline-size:auto!important;
    max-width:100%!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .menu-page--list .fb-menu-price::after{
    left:0!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
  }
  .menu-page--list .fb-menu-buttons{
    grid-column:2!important;
    justify-self:end!important;
    direction:rtl!important;
    width:auto!important;
    max-width:100%!important;
    justify-content:flex-end!important;
  }
}
@media(max-width:430px){
  .menu-page--list .fb-menu-row{
    overflow:visible!important;
  }
  .menu-page--list .fb-menu-thumb .stock-badge{
    top:4px!important;
    right:4px!important;
    max-width:calc(100% - 8px)!important;
    min-height:16px!important;
    padding:2px 5px!important;
    font-size:8px!important;
    line-height:1.25!important;
  }
  .menu-page--list .fb-menu-thumb .stock-badge:not(.stock-badge-out){
    font-size:0!important;
  }
  .menu-page--list .fb-menu-thumb .stock-badge:not(.stock-badge-out)::before{
    content:"ویژه";
    font-size:8px;
    line-height:1.25;
  }
  .menu-page--list .fb-menu-actions{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
  }
  .menu-page--list .fb-menu-price{
    font-size:13.2px!important;
    line-height:1.65!important;
    text-align:left!important;
    justify-self:start!important;
  }
  .menu-page--list .fb-menu-buttons{
    width:auto!important;
    justify-self:end!important;
  }
}
@media(max-width:360px){
  .menu-page--list .fb-menu-thumb .stock-badge{
    font-size:7.5px!important;
    padding:2px 4px!important;
  }
  .menu-page--list .fb-menu-thumb .stock-badge:not(.stock-badge-out)::before{
    font-size:7.5px;
  }
  .menu-page--list .fb-menu-price{
    font-size:12.6px!important;
  }
}

/* ===== FarshidBonab v3.1.4 - modular home hero background image/video ===== */
.home-hero{isolation:isolate}
.home-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#080706}
.home-hero-bg__media{width:100%;height:100%;object-fit:cover;display:block;filter:blur(5px) brightness(.58) saturate(1.08) contrast(1.04);transform:scale(1.045);transform-origin:center center}
.home-hero-bg::before{content:"";position:absolute;inset:-1px;z-index:1;background:radial-gradient(circle at 78% 20%,rgba(232,191,119,.24),transparent 28%),radial-gradient(circle at 20% 92%,rgba(198,138,62,.20),transparent 34%),linear-gradient(90deg,rgba(7,6,5,.94) 0%,rgba(9,8,7,.78) 40%,rgba(9,8,7,.54) 100%)}
.home-hero-bg::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.44),rgba(0,0,0,.18) 42%,rgba(0,0,0,.72)),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 8px);box-shadow:inset 0 -120px 160px rgba(0,0,0,.65),inset 0 90px 130px rgba(0,0,0,.52)}
.home-hero--has-bg{background:#080706!important;border-bottom-color:rgba(232,191,119,.16)!important}
.home-hero--has-bg>.container{position:relative;z-index:10}
.home-hero--has-bg .home-hero__copy{position:relative;text-shadow:0 4px 22px rgba(0,0,0,.72)}
.home-hero--has-bg .home-hero__copy::before{display:none!important;content:none!important}
.home-hero--has-bg .home-hero__copy h1,.home-hero--has-bg .home-hero__copy p{filter:drop-shadow(0 8px 20px rgba(0,0,0,.34))}
.home-hero--has-bg .home-hero__media>div:first-child{box-shadow:0 32px 90px rgba(0,0,0,.45);border-color:rgba(232,191,119,.20)!important}
.home-hero--has-bg .home-hero__media>div:nth-child(2){box-shadow:0 24px 70px rgba(0,0,0,.48)}
@media(max-width:1024px){.home-hero-bg__media{filter:blur(4px) brightness(.52) saturate(1.05);transform:scale(1.035)}.home-hero-bg::before{background:radial-gradient(circle at 72% 18%,rgba(232,191,119,.20),transparent 30%),linear-gradient(180deg,rgba(7,6,5,.78),rgba(7,6,5,.90))}.home-hero--has-bg .home-hero__copy::before{display:none!important;content:none!important}}
@media(max-width:560px){.home-hero-bg__media{filter:blur(3px) brightness(.48) saturate(1.02);transform:scale(1.025)}.home-hero-bg::after{box-shadow:inset 0 -90px 120px rgba(0,0,0,.68),inset 0 70px 110px rgba(0,0,0,.56)}.home-hero--has-bg .home-hero__copy::before{display:none!important;content:none!important}}
@media(prefers-reduced-motion:reduce){.home-hero-bg__media{transform:none}}

/* ===== FarshidBonab v3.1.6 - modular responsive gallery cards/lightbox ===== */
.gallery-preview-grid .gallery-preview-card{position:relative;min-height:220px;isolation:isolate;cursor:zoom-in;aspect-ratio:4/3}
.gallery-preview-grid .gallery-preview-card::before{content:"";position:absolute;inset:auto 0 0;height:44%;z-index:2;background:linear-gradient(180deg,transparent,rgba(6,5,4,.78));pointer-events:none;opacity:.92;transition:.28s ease}
.gallery-preview-grid .gallery-preview-card:hover::before{opacity:1;height:54%}
.gallery-preview-grid .gallery-preview-card img{display:block;min-height:0;height:100%;border-radius:inherit}
.gallery-card-click{position:absolute;inset:0;z-index:4;display:block;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:transparent;cursor:zoom-in;appearance:none;-webkit-appearance:none}
.gallery-card-click:focus{outline:none}
.gallery-card-click:focus-visible{box-shadow:inset 0 0 0 3px rgba(248,223,172,.9),0 0 0 4px rgba(198,138,62,.24)}
.gallery-preview-grid .gallery-card-caption{right:12px;left:12px;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 8px 8px;border-radius:999px;background:linear-gradient(135deg,rgba(18,14,10,.72),rgba(38,28,18,.52));border:1px solid rgba(248,223,172,.18);box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:none}
.gallery-card-caption__text{min-width:0;display:block;line-height:1.35}
.gallery-preview-grid .gallery-card-caption strong{font-size:13px;font-weight:900;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.gallery-preview-grid .gallery-card-caption small{display:inline-flex;align-items:center;max-width:100%;margin-top:2px;padding:2px 8px;border-radius:999px;background:rgba(232,191,119,.13);color:#f5d59b;font-size:10.5px;font-weight:800;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gallery-card-caption__icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#f8dfac,#c68a3e);color:#15100b;font-size:16px;font-weight:900;box-shadow:0 10px 26px rgba(198,138,62,.25)}
.gallery-lightbox-open{overflow:hidden;touch-action:none}
.gallery-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(14px,3vw,34px);background:rgba(7,6,5,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease;direction:rtl}
.gallery-lightbox.open{opacity:1;visibility:visible;pointer-events:auto}
.gallery-lightbox__dialog{position:relative;width:min(1060px,100%);max-height:90vh;display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid rgba(248,223,172,.22);border-radius:28px;overflow:hidden;background:linear-gradient(145deg,rgba(21,17,13,.96),rgba(10,9,8,.92));box-shadow:0 38px 120px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.07);transform:translateY(10px) scale(.985);transition:transform .24s ease}
.gallery-lightbox.open .gallery-lightbox__dialog{transform:translateY(0) scale(1)}
.gallery-lightbox__media{min-height:0;background:#050403;display:grid;place-items:center;overflow:hidden}
.gallery-lightbox__image{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:#050403}
.gallery-lightbox__caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:linear-gradient(180deg,rgba(18,15,12,.92),rgba(12,10,8,.98));border-top:1px solid rgba(248,223,172,.15)}
.gallery-lightbox__caption strong{display:block;color:#fff;font-size:clamp(15px,2vw,20px);font-weight:950;line-height:1.6}
.gallery-lightbox__caption small{display:inline-flex;margin-top:4px;color:#f0cb88;font-size:12px;font-weight:800}
.gallery-lightbox__counter{direction:ltr;color:#bfb3a2;font-size:12px;font-weight:800;white-space:nowrap}
.gallery-lightbox__close,.gallery-lightbox__nav{position:absolute;z-index:3;border:1px solid rgba(248,223,172,.20);background:rgba(16,13,10,.70);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 34px rgba(0,0,0,.26);transition:.2s ease;cursor:pointer}
.gallery-lightbox__close{top:14px;left:14px;width:42px;height:42px;border-radius:50%;font-size:26px;line-height:1}
.gallery-lightbox__nav{top:50%;width:44px;height:56px;margin-top:-28px;border-radius:999px;font-size:34px;line-height:1;display:grid;place-items:center}
.gallery-lightbox__nav--prev{right:14px}.gallery-lightbox__nav--next{left:14px}
.gallery-lightbox__close:hover,.gallery-lightbox__nav:hover,.gallery-lightbox__close:focus-visible,.gallery-lightbox__nav:focus-visible{background:linear-gradient(135deg,#f8dfac,#c68a3e);color:#15100b;transform:translateY(-1px);outline:none}
@media(max-width:760px){.gallery-preview-grid .gallery-preview-card{min-height:190px}.gallery-lightbox{padding:10px}.gallery-lightbox__dialog{border-radius:22px}.gallery-lightbox__image{max-height:70vh}.gallery-lightbox__caption{padding:12px 14px}.gallery-lightbox__nav{width:38px;height:48px;font-size:28px}.gallery-lightbox__close{top:10px;left:10px;width:38px;height:38px}}
@media(max-width:560px){.gallery-preview-section .gallery-preview-grid,.gallery-full-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:18px}.gallery-preview-grid .gallery-preview-card{min-height:0!important;aspect-ratio:1/.82!important;border-radius:14px!important}.gallery-preview-grid .gallery-card-caption{right:6px;left:6px;bottom:6px;padding:5px 7px;border-radius:12px;gap:5px}.gallery-preview-grid .gallery-card-caption strong{font-size:10.5px;line-height:1.45}.gallery-preview-grid .gallery-card-caption small{display:none}.gallery-card-caption__icon{width:22px;height:22px;flex-basis:22px;font-size:13px}.gallery-lightbox__dialog{max-height:88vh;border-radius:18px}.gallery-lightbox__caption{align-items:flex-start;gap:8px}.gallery-lightbox__caption strong{font-size:14px}.gallery-lightbox__caption small,.gallery-lightbox__counter{font-size:11px}.gallery-lightbox__nav{top:auto;bottom:66px;margin:0}.gallery-lightbox__nav--prev{right:12px}.gallery-lightbox__nav--next{left:12px}}
@media(prefers-reduced-motion:reduce){.gallery-preview-grid .gallery-preview-card::before,.gallery-lightbox,.gallery-lightbox__dialog,.gallery-lightbox__close,.gallery-lightbox__nav{transition:none!important}}


/* ===== FarshidBonab v3.2.4: modular homepage featured menu image sizing ===== */
.menu-section .home-feature-card__image{
  width:min(calc(100% - 34px),224px);
  aspect-ratio:1/1;
  margin:16px auto 0;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(232,191,119,.14);
  background:linear-gradient(145deg,rgba(232,191,119,.08),rgba(18,14,10,.92));
  box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05);
}
.menu-section .home-feature-card__image::after{
  border-radius:inherit;
}
.menu-section .home-feature-card__image img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
.menu-section .home-feature-card__image.menu-card-image--empty,
.menu-section .home-feature-card__image .menu-empty-image{
  min-height:0;
  height:100%;
}
@media(max-width:760px){
  .menu-section .menu-grid{
    gap:16px;
    padding:8px 2px 16px;
  }
  .menu-section .dish-card.home-feature-card{
    flex-basis:min(82%,300px);
    border-radius:24px!important;
  }
  .menu-section .home-feature-card__image{
    width:clamp(126px,46vw,158px);
    margin-top:14px;
    border-radius:20px;
  }
  .home-feature-card__badge{
    top:9px;
    right:9px;
    padding:5px 9px;
    font-size:10px;
  }
  .home-feature-card__body{
    min-height:auto;
    padding:14px 15px 15px;
    gap:10px;
  }
  .menu-section .home-feature-card__description{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}
@media(max-width:420px){
  .menu-section .dish-card.home-feature-card{
    flex-basis:84%;
  }
  .menu-section .home-feature-card__image{
    width:126px;
  }
}

/* ===== FarshidBonab v3.2.5: compact homepage featured menu cards + clean title accent ===== */
.menu-section{
  --fb-feature-card-width:244px;
  --fb-feature-image-size:184px;
}
.menu-section .menu-wrap{
  padding-inline:44px;
}
.menu-section .menu-grid{
  gap:18px;
  align-items:stretch;
  padding:6px 2px 22px;
}
.menu-section .dish-card.home-feature-card{
  flex:0 0 var(--fb-feature-card-width);
  max-width:var(--fb-feature-card-width);
  border-radius:22px!important;
}
.menu-section .home-feature-card::before{
  inset:9px;
  border-radius:18px;
}
.menu-section .home-feature-card::after{
  right:16px;
  left:16px;
}
.menu-section .home-feature-card:hover{
  transform:translateY(-6px) scale(1.005)!important;
}
.menu-section .home-feature-card__image{
  width:min(calc(100% - 28px),var(--fb-feature-image-size));
  margin-top:14px;
  border-radius:20px;
}
.menu-section .home-feature-card__badge{
  top:10px;
  right:10px;
  padding:5px 9px;
  font-size:10.5px;
}
.menu-section .home-feature-card__body{
  min-height:188px;
  padding:14px 15px 16px;
  gap:9px;
}
.menu-section .home-feature-card__heading{
  gap:6px;
}
.menu-section .home-feature-card__title{
  position:relative;
  min-height:0;
  margin:0;
  padding-right:13px;
  color:#fff2d5;
  font-size:17px;
  line-height:1.6;
  letter-spacing:-.28px;
  text-shadow:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.menu-section .home-feature-card__title::before{
  content:"";
  position:absolute;
  right:0;
  top:.32em;
  bottom:.32em;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,#f7dfad,var(--gold),rgba(198,138,62,.35));
  box-shadow:0 0 16px rgba(232,191,119,.24);
}
.menu-section .home-feature-card__title a{
  display:inline;
  background:none!important;
  text-decoration:none;
}
.menu-section .home-feature-card__title a:hover{
  color:#ffe2a2;
}
.menu-section .home-feature-card__rating{
  padding:4px 8px;
  font-size:11.5px;
}
.menu-section .home-feature-card__description{
  min-height:0;
  color:#cfc1ad;
  font-size:12.5px;
  line-height:1.85;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.menu-section .home-feature-card__footer{
  padding:9px 10px;
  border-radius:15px;
}
.menu-section .home-feature-card__price-label{
  font-size:11px;
}
.menu-section .home-feature-card__footer .home-feature-card__price{
  gap:6px;
  font-size:14.5px;
  line-height:1.55;
}
.menu-section .home-feature-card__footer .home-feature-card__price::before{
  width:6px;
  height:6px;
  box-shadow:0 0 0 4px rgba(232,191,119,.09);
}
@media(max-width:1100px){
  .menu-section{
    --fb-feature-card-width:232px;
    --fb-feature-image-size:172px;
  }
}
@media(max-width:760px){
  .menu-section{
    --fb-feature-card-width:min(72%,242px);
    --fb-feature-image-size:clamp(112px,36vw,136px);
  }
  .menu-section .menu-wrap{
    padding-inline:0;
  }
  .menu-section .menu-grid{
    gap:12px;
    padding:6px 2px 14px;
  }
  .menu-section .dish-card.home-feature-card{
    flex-basis:var(--fb-feature-card-width);
    max-width:242px;
    border-radius:20px!important;
  }
  .menu-section .home-feature-card::before{
    inset:7px;
    border-radius:16px;
  }
  .menu-section .home-feature-card__image{
    width:var(--fb-feature-image-size);
    margin-top:12px;
    border-radius:17px;
  }
  .menu-section .home-feature-card__badge{
    top:8px;
    right:8px;
    padding:4px 8px;
    font-size:9.8px;
  }
  .menu-section .home-feature-card__body{
    min-height:auto;
    padding:12px 13px 13px;
    gap:8px;
  }
  .menu-section .home-feature-card__title{
    padding-right:11px;
    font-size:15.5px;
    line-height:1.55;
  }
  .menu-section .home-feature-card__title::before{
    width:2.5px;
    top:.3em;
    bottom:.3em;
  }
  .menu-section .home-feature-card__rating{
    padding:3px 7px;
    font-size:10.8px;
  }
  .menu-section .home-feature-card__description{
    font-size:12px;
    line-height:1.75;
  }
  .menu-section .home-feature-card__footer{
    padding:8px 9px;
    border-radius:14px;
  }
  .menu-section .home-feature-card__footer .home-feature-card__price{
    font-size:13.5px;
  }
}
@media(max-width:420px){
  .menu-section{
    --fb-feature-card-width:76%;
    --fb-feature-image-size:118px;
  }
  .menu-section .dish-card.home-feature-card{
    max-width:226px;
  }
  .menu-section .home-feature-card__title{
    font-size:15px;
  }
}

/* ===== FarshidBonab v3.2.6: balanced homepage featured menu cards + no-wrap title/price ===== */
.menu-section{
  --fb-feature-card-width:clamp(270px,23.5vw,296px);
  --fb-feature-image-size:clamp(196px,18vw,214px);
}
.menu-section .menu-wrap{
  padding-inline:46px;
}
.menu-section .menu-grid{
  gap:22px;
  padding:8px 2px 26px;
}
.menu-section .dish-card.home-feature-card{
  flex:0 0 var(--fb-feature-card-width);
  max-width:var(--fb-feature-card-width);
  border-radius:24px!important;
}
.menu-section .home-feature-card::before{
  inset:10px;
  border-radius:20px;
}
.menu-section .home-feature-card::after{
  right:18px;
  left:18px;
}
.menu-section .home-feature-card__image{
  width:min(calc(100% - 30px),var(--fb-feature-image-size));
  margin-top:15px;
  border-radius:21px;
}
.menu-section .home-feature-card__body{
  min-height:198px;
  padding:16px 17px 18px;
  gap:10px;
  min-width:0;
  grid-template-rows:auto minmax(42px,1fr) auto;
}
.menu-section .home-feature-card__heading{
  min-width:0;
  gap:7px;
}
.menu-section .home-feature-card__title{
  display:flex;
  align-items:center;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:31px;
  padding-right:14px;
  font-size:18px;
  line-height:1.55;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.menu-section .home-feature-card__title::before{
  top:6px;
  bottom:6px;
  width:3px;
}
.menu-section .home-feature-card__title a{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.menu-section .home-feature-card__rating{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.menu-section .home-feature-card__description{
  font-size:12.8px;
  line-height:1.85;
}
.menu-section .home-feature-card__footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:10px;
  min-width:0;
  padding:10px 12px;
  border-radius:16px;
}
.menu-section .home-feature-card__price-label{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:11.5px;
}
.menu-section .home-feature-card__footer .home-feature-card__price{
  flex:0 0 auto;
  min-width:max-content;
  max-width:100%;
  white-space:nowrap;
  font-size:15.8px;
  line-height:1.45;
  letter-spacing:-.03em;
}
.menu-section .home-feature-card__footer .home-feature-card__price::before{
  flex:0 0 auto;
  width:7px;
  height:7px;
}
@media(max-width:1100px){
  .menu-section{
    --fb-feature-card-width:clamp(258px,31vw,280px);
    --fb-feature-image-size:clamp(184px,23vw,202px);
  }
  .menu-section .menu-grid{
    gap:20px;
  }
}
@media(max-width:760px){
  .menu-section{
    --fb-feature-card-width:clamp(284px,86vw,324px);
    --fb-feature-image-size:clamp(142px,42vw,170px);
  }
  .menu-section .menu-wrap{
    padding-inline:0;
  }
  .menu-section .menu-grid{
    gap:14px;
    padding:7px 2px 16px;
  }
  .menu-section .dish-card.home-feature-card{
    flex-basis:min(var(--fb-feature-card-width),calc(100vw - 30px));
    max-width:min(var(--fb-feature-card-width),calc(100vw - 30px));
    border-radius:22px!important;
  }
  .menu-section .home-feature-card::before{
    inset:8px;
    border-radius:18px;
  }
  .menu-section .home-feature-card__image{
    width:var(--fb-feature-image-size);
    margin-top:13px;
    border-radius:18px;
  }
  .menu-section .home-feature-card__body{
    min-height:176px;
    padding:14px 15px 15px;
    gap:8px;
  }
  .menu-section .home-feature-card__title{
    min-height:29px;
    padding-right:12px;
    font-size:16.2px;
    line-height:1.5;
  }
  .menu-section .home-feature-card__title::before{
    top:5px;
    bottom:5px;
    width:2.5px;
  }
  .menu-section .home-feature-card__description{
    font-size:12.2px;
    line-height:1.75;
  }
  .menu-section .home-feature-card__footer{
    padding:9px 10px;
    gap:8px;
    border-radius:15px;
  }
  .menu-section .home-feature-card__price-label{
    font-size:10.8px;
  }
  .menu-section .home-feature-card__footer .home-feature-card__price{
    font-size:14.2px;
  }
}
@media(max-width:420px){
  .menu-section{
    --fb-feature-card-width:clamp(276px,88vw,306px);
    --fb-feature-image-size:146px;
  }
  .menu-section .home-feature-card__body{
    min-height:172px;
  }
  .menu-section .home-feature-card__title{
    font-size:15.8px;
  }
  .menu-section .home-feature-card__footer .home-feature-card__price{
    font-size:13.8px;
  }
}
@media(max-width:360px){
  .menu-section{
    --fb-feature-card-width:calc(100vw - 28px);
    --fb-feature-image-size:138px;
  }
  .menu-section .home-feature-card__footer{
    padding-inline:9px;
    gap:6px;
  }
  .menu-section .home-feature-card__price-label{
    font-size:10.2px;
  }
  .menu-section .home-feature-card__footer .home-feature-card__price{
    font-size:13.1px;
  }
}

/* ===== FarshidBonab v3.2.7: refined title accent + harmonized mobile menu cards ===== */
.menu-section .home-feature-card__title{
  padding-right:12px;
}
.menu-section .home-feature-card__title::before{
  width:2px;
  height:14px;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  border-radius:999px;
  box-shadow:0 0 10px rgba(232,191,119,.18);
}

@media(max-width:760px){
  .menu-section{
    --fb-feature-card-width:clamp(292px,88vw,330px);
    --fb-feature-image-size:clamp(184px,55vw,206px);
  }
  .menu-section .menu-grid{
    gap:15px;
    padding:8px 2px 18px;
  }
  .menu-section .dish-card.home-feature-card{
    flex-basis:min(var(--fb-feature-card-width),calc(100vw - 28px));
    max-width:min(var(--fb-feature-card-width),calc(100vw - 28px));
    border-radius:24px!important;
  }
  .menu-section .home-feature-card::before{
    inset:8px;
    border-radius:20px;
  }
  .menu-section .home-feature-card::after{
    right:16px;
    left:16px;
  }
  .menu-section .home-feature-card__image{
    width:min(calc(100% - 38px),var(--fb-feature-image-size));
    margin-top:14px;
    border-radius:20px;
    box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05);
  }
  .menu-section .home-feature-card__badge{
    top:10px;
    right:10px;
  }
  .menu-section .home-feature-card__body{
    min-height:164px;
    padding:14px 16px 16px;
    gap:8px;
    grid-template-rows:auto minmax(34px,1fr) auto;
  }
  .menu-section .home-feature-card__heading{
    gap:6px;
  }
  .menu-section .home-feature-card__title{
    min-height:28px;
    padding-right:11px;
    font-size:16px;
    line-height:1.45;
  }
  .menu-section .home-feature-card__title::before{
    width:2px;
    height:12px;
  }
  .menu-section .home-feature-card__rating{
    width:max-content;
    max-width:100%;
    padding:3px 8px;
    font-size:10.8px;
  }
  .menu-section .home-feature-card__description{
    min-height:0;
    font-size:12.1px;
    line-height:1.7;
    -webkit-line-clamp:2;
  }
  .menu-section .home-feature-card__footer{
    padding:9px 11px;
    gap:8px;
    border-radius:15px;
  }
  .menu-section .home-feature-card__price-label{
    font-size:10.7px;
  }
  .menu-section .home-feature-card__footer .home-feature-card__price{
    font-size:14px;
    letter-spacing:-.035em;
  }
}

@media(max-width:420px){
  .menu-section{
    --fb-feature-card-width:clamp(286px,90vw,316px);
    --fb-feature-image-size:clamp(174px,54vw,190px);
  }
  .menu-section .home-feature-card__image{
    width:min(calc(100% - 36px),var(--fb-feature-image-size));
    margin-top:13px;
    border-radius:19px;
  }
  .menu-section .home-feature-card__body{
    min-height:160px;
    padding:13px 15px 15px;
  }
  .menu-section .home-feature-card__title{
    font-size:15.6px;
  }
  .menu-section .home-feature-card__footer .home-feature-card__price{
    font-size:13.6px;
  }
}

@media(max-width:360px){
  .menu-section{
    --fb-feature-card-width:calc(100vw - 28px);
    --fb-feature-image-size:168px;
  }
  .menu-section .home-feature-card__body{
    padding-inline:14px;
  }
  .menu-section .home-feature-card__footer{
    padding-inline:9px;
    gap:6px;
  }
  .menu-section .home-feature-card__price-label{
    font-size:10.1px;
  }
  .menu-section .home-feature-card__footer .home-feature-card__price{
    font-size:13px;
  }
}

/* Table QR ordering module */
body.table-ordering-enabled .add-to-cart{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
body.table-ordering-enabled .cart-btn{display:grid!important}
body.table-ordering-enabled .fb-menu-preview-cart{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
body.table-ordering-enabled .add-to-cart svg,body.table-ordering-enabled .fb-menu-preview-cart svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.table-qr-context-card{margin-top:18px;padding:16px 18px;border:1px solid rgba(198,138,62,.28);border-radius:18px;background:rgba(198,138,62,.09);display:grid;gap:6px;color:var(--gold-2);box-shadow:0 16px 40px rgba(0,0,0,.14)}
.table-qr-context-card strong{color:#fff;font-size:15px}.table-qr-context-card span{color:var(--muted);font-size:14px;line-height:1.9}.table-qr-context-card--item{margin:10px 0 4px;background:rgba(255,255,255,.035)}
.fb-menu-order-btn{border-radius:999px!important;padding:8px 14px!important;width:auto!important;height:auto!important;font-weight:900}.menu-item-add-to-cart{width:auto!important;height:auto!important;border-radius:999px!important;padding-inline:22px!important}
.cart-head small{display:block;color:var(--muted);font-size:13px;line-height:1.8;margin-top:4px}.checkout-form input[type="hidden"]{display:none}.checkout-payment-box{display:grid;gap:10px;border:1px solid var(--line-soft);border-radius:14px;padding:12px;background:rgba(255,255,255,.03)}.checkout-payment-box>strong{color:var(--gold-2)}.checkout-payment-options{display:grid;gap:8px}.checkout-payment-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line-soft);border-radius:12px;padding:10px;cursor:pointer}.checkout-payment-option input{margin-top:5px}.checkout-payment-option span{display:grid;gap:3px}.checkout-payment-option b{color:#fff;font-size:14px}.checkout-payment-option small{color:var(--muted);font-size:12px;line-height:1.7}
@media (max-width:760px){.fb-menu-order-btn{padding:9px 12px!important}.fb-menu-order-btn span{font-size:12px}.table-qr-context-card{border-radius:14px;padding:14px}}

/* FarshidBonab v3.3.1 - reservation single-floor mode and responsive map */
.reservation-wizard-card.reservation-no-floor-choice .reservation-progress [data-reservation-step="3"]{display:none!important}
.reservation-wizard-card.reservation-no-floor-choice .reservation-progress{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.reservation-single-floor-note{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(232,191,119,.18);border-radius:20px;background:rgba(232,191,119,.08);padding:14px 16px;color:#f6e7ca;line-height:1.8}.reservation-single-floor-note strong{color:#fff}.reservation-single-floor-note span{color:#d7c5a5;font-size:13px;text-align:left}.reservation-page--wizard .reservation-floor-stage-scroll{overflow:auto;-webkit-overflow-scrolling:touch}.reservation-page--wizard .reservation-floor-stage{width:100%;aspect-ratio:16/9;min-width:0!important;min-height:clamp(340px,58vw,560px)!important}.reservation-page--wizard .reservation-map-gate{min-height:260px}.reservation-page--wizard .reservation-table-card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media (max-width:720px){.reservation-wizard-card.reservation-no-floor-choice .reservation-progress{grid-template-columns:1fr!important}.reservation-single-floor-note{align-items:flex-start;flex-direction:column}.reservation-page--wizard .reservation-floor-stage{min-height:clamp(310px,86vw,450px)!important}.reservation-page--wizard .reservation-floor-stage .reservation-table-option{--table-w:58px!important;--table-h:56px!important;--chair-distance:23px!important}.reservation-page--wizard .reservation-floor-stage .reservation-table-option--large{--table-w:68px!important;--table-h:60px!important;--chair-distance:27px!important}.reservation-page--wizard .reservation-floor-stage .reservation-table-option--xl{--table-w:76px!important;--table-h:64px!important;--chair-distance:30px!important}.reservation-page--wizard .reservation-plan-object{font-size:10px}}
@media (max-width:480px){.reservation-page--wizard .reservation-floor-stage{min-height:clamp(280px,92vw,390px)!important}.reservation-page--wizard .reservation-floor-stage::before{content:"انتخاب میز"}.reservation-page--wizard .reservation-table-card-grid{grid-template-columns:1fr}.reservation-page--wizard .reservation-floor-head{display:grid;gap:8px}.reservation-page--wizard .reservation-map-toolbar{gap:8px}.reservation-page--wizard .reservation-map-toolbar span{font-size:10px}}

/* FarshidBonab v3.3.4 - stable responsive reservation map */
.reservation-floor-stage-scroll{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-color:rgba(232,191,119,.35) rgba(255,255,255,.05)}
.reservation-floor-stage{aspect-ratio:16/9;min-height:clamp(420px,56vw,620px);background-size:auto,auto,36px 36px,36px 36px!important}
.reservation-plan-object{overflow:hidden;text-overflow:ellipsis}.reservation-plan-object--wall{font-size:0;color:transparent;text-shadow:none}.reservation-plan-object--wall::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 24%,rgba(0,0,0,.16) 76%)}
.reservation-floor-stage .reservation-table-option{transform:translate(50%,-50%) scale(var(--reservation-table-scale,1));transform-origin:center}.reservation-floor-stage .reservation-table-option:hover{transform:translate(50%,-50%) scale(calc(var(--reservation-table-scale,1) * 1.05))}.reservation-floor-stage .reservation-table-option.is-disabled:hover,.reservation-floor-stage .reservation-table-option:disabled:hover{transform:translate(50%,-50%) scale(var(--reservation-table-scale,1))}
@media(max-width:980px){.reservation-floor-stage{--reservation-table-scale:.88}}
@media(max-width:720px){.reservation-floor-stage{--reservation-table-scale:.78;background-size:auto,auto,32px 32px,32px 32px!important}}
@media(max-width:460px){.reservation-floor-stage{--reservation-table-scale:.72;background-size:auto,auto,28px 28px,28px 28px!important}}

/* FarshidBonab v3.4.0 - cleaner reservation, deposit payment, responsive table choice */
.reservation-page--clean .reservation-wizard-shell{align-items:start;padding:118px 0 64px}
.reservation-clean-container{display:grid;grid-template-columns:minmax(270px,.52fr) minmax(0,1fr);gap:28px;align-items:start;width:min(1220px,calc(100% - 40px))!important}
.reservation-clean-hero{position:sticky;top:100px;display:grid;gap:16px;padding:30px 28px;border:1px solid rgba(232,191,119,.18);border-radius:30px;background:linear-gradient(145deg,rgba(22,17,12,.72),rgba(10,8,6,.48));box-shadow:0 28px 84px rgba(0,0,0,.28);backdrop-filter:blur(16px)}
.reservation-clean-hero h1{margin:0;color:#fff8e7;font-size:clamp(30px,4vw,52px);line-height:1.35;letter-spacing:-.8px}.reservation-clean-hero p{margin:0;color:#dfcfb4;line-height:2.05;font-size:15px}.reservation-clean-points{display:grid;gap:10px;margin-top:6px}.reservation-clean-points span{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;border-radius:16px;border:1px solid rgba(232,191,119,.13);background:rgba(255,255,255,.035);color:#f4dfb7;font-weight:850;font-size:13px;line-height:1.7}.reservation-clean-points span::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(145deg,#ffe7b1,#c68a3e);box-shadow:0 0 0 5px rgba(232,191,119,.09)}
.reservation-page--clean .reservation-wizard-card.reservation-card{background:linear-gradient(180deg,rgba(22,17,13,.72),rgba(12,10,8,.62))!important;border-color:rgba(232,191,119,.16)!important;box-shadow:0 30px 90px rgba(0,0,0,.30)!important}.reservation-page--clean .reservation-step-panel{background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014));border-color:rgba(232,191,119,.10)}
.reservation-large-party-note{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;margin-top:4px;padding:16px 18px;border:1px solid rgba(103,208,255,.22);border-radius:20px;background:linear-gradient(135deg,rgba(103,208,255,.10),rgba(232,191,119,.09));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.reservation-large-party-note[hidden]{display:none!important}.reservation-large-party-note strong{color:#dff6ff;font-size:15px}.reservation-large-party-note span{color:#efe0c5;line-height:1.9}.reservation-large-party-note a{grid-row:1/3;grid-column:2;color:#14100a;background:linear-gradient(135deg,#e9f8ff,#e8bf77);border-radius:999px;padding:10px 14px;font-weight:950;direction:ltr;white-space:nowrap}
.reservation-final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);gap:14px;align-items:stretch}.reservation-summary-card{margin:0!important;align-content:start;min-height:154px;border-style:solid!important;background:linear-gradient(145deg,rgba(232,191,119,.10),rgba(255,255,255,.035))!important}.reservation-summary-card>strong{display:block;width:100%;font-size:16px;color:#ffe2a6!important}.reservation-summary-items{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.reservation-summary-items span{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border-radius:999px;border:1px solid rgba(232,191,119,.18);background:rgba(10,8,6,.32);color:#fff3d8;font-weight:850;font-size:12.5px}
.reservation-payment-box{display:grid;gap:10px;padding:16px;border-radius:22px;border:1px solid rgba(232,191,119,.18);background:linear-gradient(145deg,rgba(12,10,8,.66),rgba(255,255,255,.035));min-height:154px}.reservation-payment-badge{width:max-content;max-width:100%;display:inline-flex;border-radius:999px;padding:5px 10px;background:rgba(232,191,119,.13);color:#ffe1a8;font-size:12px;font-weight:950}.reservation-payment-box strong{color:#fff6df;font-size:22px}.reservation-payment-box p{margin:0;color:#d8c8ab;line-height:1.9;font-size:13px}.reservation-payment-methods{display:grid;gap:8px}.reservation-payment-method{display:flex!important;grid-template-columns:auto 1fr;gap:10px!important;align-items:flex-start;padding:10px 11px;border-radius:16px;border:1px solid rgba(232,191,119,.15);background:rgba(255,255,255,.035);cursor:pointer}.reservation-payment-method input{width:auto!important;min-height:auto!important;margin-top:5px;accent-color:#c68a3e}.reservation-payment-method span{display:grid!important;gap:2px!important}.reservation-payment-method b{color:#fff1d0;font-size:13px}.reservation-payment-method small{color:#cdbb9e;line-height:1.7}.reservation-payment-method:has(input:checked){border-color:rgba(232,191,119,.58);background:rgba(232,191,119,.10);box-shadow:0 0 0 3px rgba(232,191,119,.06)}.reservation-payment-warning{padding:12px;border-radius:16px;border:1px solid rgba(255,181,168,.32);background:rgba(255,91,91,.08);color:#ffd4cc;line-height:1.8;font-size:13px}.reservation-payment-box.is-free-reservation{border-color:rgba(122,214,143,.24);background:linear-gradient(145deg,rgba(122,214,143,.09),rgba(255,255,255,.025))}.reservation-note-field{margin-top:-2px}.reservation-note-field textarea{width:100%;min-height:92px;border-radius:18px;border:1px solid rgba(232,191,119,.16);background:linear-gradient(145deg,rgba(10,8,6,.92),rgba(28,22,16,.86));color:#fff8e7;padding:14px 16px;resize:vertical;outline:none}.reservation-note-field textarea:focus{border-color:rgba(232,191,119,.7);box-shadow:0 0 0 4px rgba(232,191,119,.1)}
.reservation-page--clean .reservation-floor-choice{position:relative;overflow:hidden}.reservation-page--clean .reservation-floor-choice[data-floor="outdoor"]{background:linear-gradient(145deg,rgba(96,182,137,.16),rgba(232,191,119,.06));border-color:rgba(135,222,167,.30)}.reservation-page--clean .reservation-floor-choice[data-floor="outdoor"]::after{content:"فضای باز";position:absolute;left:14px;top:14px;border-radius:999px;padding:4px 9px;background:rgba(135,222,167,.14);color:#dfffdc;font-size:11px;font-weight:950}.reservation-plan-object--zone{background:linear-gradient(145deg,rgba(232,191,119,.12),rgba(255,255,255,.045));border:1px dashed rgba(232,191,119,.24);color:#ffe5b4}
@media(max-width:1050px){.reservation-clean-container{grid-template-columns:1fr}.reservation-clean-hero{position:relative;top:auto;text-align:center}.reservation-clean-points{grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-clean-hero .reservation-kicker{justify-self:center}.reservation-final-grid{grid-template-columns:1fr}}
@media(max-width:720px){.reservation-clean-container{width:min(100% - 20px,1040px)!important;gap:16px}.reservation-clean-hero{padding:22px 16px;border-radius:24px}.reservation-clean-points{grid-template-columns:1fr}.reservation-large-party-note{grid-template-columns:1fr}.reservation-large-party-note a{grid-row:auto;grid-column:auto;justify-self:start}.reservation-summary-items span{width:100%;justify-content:center}.reservation-payment-box strong{font-size:19px}}

/* FarshidBonab v3.4.1 - reservation UI: clean flow, no grid layout, borderless form fields */
.reservation-page--clean .reservation-wizard-shell{
  padding:112px 0 70px!important;
  align-items:flex-start!important;
}
.reservation-page--clean .reservation-wizard-shell::before{
  opacity:.56!important;
  background:
    radial-gradient(circle at 50% 10%,rgba(232,191,119,.12),transparent 34%),
    linear-gradient(180deg,rgba(10,8,6,.94),rgba(16,11,7,.78) 46%,rgba(10,8,6,.96)),
    url('../img/hero-doorway.webp') center/cover no-repeat!important;
}
.reservation-page--clean .reservation-wizard-shell::after{
  inset:auto 18% 36px!important;
  opacity:.75;
}
.reservation-page--clean .reservation-clean-container{
  display:block!important;
  width:min(960px,calc(100% - 40px))!important;
  margin-inline:auto!important;
}
.reservation-page--clean .reservation-clean-hero{
  position:relative!important;
  top:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:14px!important;
  max-width:900px!important;
  margin:0 auto clamp(28px,4vw,46px)!important;
  padding:0!important;
  text-align:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.reservation-page--clean .reservation-clean-hero h1{
  max-width:780px!important;
  margin:0 auto!important;
  text-wrap:balance;
}
.reservation-page--clean .reservation-clean-hero p{
  max-width:720px!important;
  margin:0 auto!important;
  color:#ead9bc!important;
  font-size:clamp(14px,1.7vw,17px)!important;
  line-height:2.05!important;
}
.reservation-page--clean .reservation-clean-points{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:10px!important;
}
.reservation-page--clean .reservation-clean-points span{
  width:auto!important;
  min-height:38px!important;
  padding:7px 13px!important;
  border-radius:999px!important;
  border:1px solid rgba(232,191,119,.16)!important;
  background:rgba(255,255,255,.035)!important;
  box-shadow:none!important;
}
.reservation-page--clean .reservation-wizard-card.reservation-card{
  width:100%!important;
  max-width:900px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.reservation-page--clean .reservation-wizard-card.reservation-card::before,
.reservation-page--clean .reservation-wizard-card.reservation-card::after{
  display:none!important;
}
.reservation-page--clean .reservation-wizard-progress{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0 auto clamp(26px,3.2vw,38px)!important;
  padding:0!important;
  max-width:860px!important;
}
.reservation-page--clean .reservation-wizard-progress button{
  flex:0 1 auto!important;
  min-width:0!important;
  min-height:38px!important;
  padding:5px 10px 5px 12px!important;
  border:0!important;
  border-bottom:1px solid rgba(232,191,119,.16)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#d8c8ab!important;
  box-shadow:none!important;
  gap:7px!important;
}
.reservation-page--clean .reservation-wizard-progress button b{
  width:25px!important;
  height:25px!important;
  flex:0 0 25px!important;
  border-radius:50%!important;
  box-shadow:none!important;
  font-size:11px!important;
}
.reservation-page--clean .reservation-wizard-progress button.is-active{
  color:#fff3d4!important;
  border-bottom-color:rgba(232,191,119,.78)!important;
  background:linear-gradient(180deg,transparent,rgba(232,191,119,.055))!important;
  box-shadow:none!important;
}
.reservation-page--clean .reservation-wizard-progress button.is-done{
  color:#dff7d9!important;
  border-bottom-color:rgba(122,214,143,.40)!important;
  background:transparent!important;
}
.reservation-page--clean .reservation-step-panel{
  display:none!important;
  min-height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.reservation-page--clean .reservation-step-panel.is-active{
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(22px,3vw,32px)!important;
}
.reservation-page--clean .reservation-step-title{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
  gap:8px!important;
}
.reservation-page--clean .reservation-step-title strong{
  justify-self:center!important;
  align-self:center!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(232,191,119,.16),rgba(255,255,255,.04))!important;
  border:1px solid rgba(232,191,119,.16)!important;
}
.reservation-page--clean .reservation-step-title h2{
  text-wrap:balance;
}
.reservation-page--clean .reservation-step-title p{
  max-width:690px!important;
  margin-inline:auto!important;
}
.reservation-page--clean .reservation-fields-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
  width:min(680px,100%)!important;
  max-width:680px!important;
  margin:0 auto!important;
}
.reservation-page--clean .reservation-fields-grid label,
.reservation-page--clean .reservation-card label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.reservation-page--clean .reservation-fields-grid label::before{
  display:none!important;
}
.reservation-page--clean .reservation-card label span,
.reservation-page--clean .reservation-fields-grid label span{
  padding-inline-start:0!important;
  color:#f2d7a8!important;
  font-size:13px!important;
  font-weight:950!important;
}
.reservation-page--clean .reservation-field--wide{
  grid-column:auto!important;
}
.reservation-page--clean .reservation-card input,
.reservation-page--clean .reservation-card select,
.reservation-page--clean .reservation-note-field textarea{
  min-height:56px!important;
  border:0!important;
  border-bottom:1px solid rgba(232,191,119,.34)!important;
  border-radius:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  color:#fff8e7!important;
  padding:4px 2px!important;
  box-shadow:none!important;
  outline:none!important;
}
.reservation-page--clean .reservation-card select{
  padding-inline:2px 34px!important;
}
.reservation-page--clean .reservation-card input:focus,
.reservation-page--clean .reservation-card select:focus,
.reservation-page--clean .reservation-note-field textarea:focus{
  border-bottom-color:rgba(232,191,119,.92)!important;
  box-shadow:0 10px 22px -24px rgba(232,191,119,.8)!important;
  background:linear-gradient(180deg,rgba(232,191,119,.07),rgba(255,255,255,.018))!important;
}
.reservation-page--clean .reservation-card input::placeholder,
.reservation-page--clean .reservation-note-field textarea::placeholder{
  color:rgba(232,220,201,.44)!important;
}
.reservation-page--clean .reservation-large-party-note{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px 14px!important;
  width:min(760px,100%)!important;
  margin:2px auto 0!important;
  padding:14px 0!important;
  border:0!important;
  border-top:1px solid rgba(103,208,255,.22)!important;
  border-bottom:1px solid rgba(232,191,119,.16)!important;
  border-radius:0!important;
  background:linear-gradient(90deg,transparent,rgba(103,208,255,.08),rgba(232,191,119,.07),transparent)!important;
  box-shadow:none!important;
  text-align:center!important;
}
.reservation-page--clean .reservation-large-party-note[hidden]{display:none!important}
.reservation-page--clean .reservation-large-party-note strong,
.reservation-page--clean .reservation-large-party-note span,
.reservation-page--clean .reservation-large-party-note a{
  grid-row:auto!important;
  grid-column:auto!important;
}
.reservation-page--clean .reservation-large-party-note strong{color:#dff6ff!important}
.reservation-page--clean .reservation-large-party-note span{max-width:560px!important;color:#efe0c5!important}
.reservation-page--clean .reservation-large-party-note a{
  padding:7px 13px!important;
  border-radius:999px!important;
}
.reservation-page--clean .reservation-choice-block{
  display:flex!important;
  flex-direction:column!important;
  gap:13px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.reservation-page--clean .reservation-choice-block h3{
  justify-content:center!important;
  text-align:center!important;
}
.reservation-page--clean .reservation-choice-block h3::before{
  display:none!important;
}
.reservation-page--clean .slot-helper{
  text-align:center!important;
}
.reservation-page--clean .jalali-date-grid,
.reservation-page--clean .time-slot-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  width:100%!important;
}
.reservation-page--clean .jalali-date-grid .reserve-option{
  flex:1 1 112px!important;
  max-width:132px!important;
}
.reservation-page--clean .time-slot-grid .time-slot{
  flex:1 1 130px!important;
  max-width:170px!important;
}
.reservation-page--clean .reserve-option,
.reservation-page--clean .time-slot{
  border-color:rgba(232,191,119,.13)!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:none!important;
}
.reservation-page--clean .reserve-option.is-selected,
.reservation-page--clean .time-slot.is-selected{
  background:linear-gradient(180deg,rgba(232,191,119,.17),rgba(232,191,119,.045))!important;
  box-shadow:0 0 0 1px rgba(232,191,119,.18),0 18px 42px rgba(0,0,0,.16)!important;
}
.reservation-page--clean .reservation-floor-picker{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:min(760px,100%)!important;
  margin:0 auto!important;
}
.reservation-page--clean .reservation-floor-choice{
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:15px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(232,191,119,.16)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:start!important;
}
.reservation-page--clean .reservation-floor-choice span{font-size:19px!important}
.reservation-page--clean .reservation-floor-choice small{line-height:1.8!important}
.reservation-page--clean .reservation-floor-choice em{
  margin-top:0!important;
  flex:0 0 auto!important;
}
.reservation-page--clean .reservation-floor-choice.is-selected{
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.08),transparent)!important;
  border-bottom-color:rgba(232,191,119,.72)!important;
}
.reservation-page--clean .reservation-floor-choice[data-floor="outdoor"]::after{
  position:static!important;
  order:3!important;
  margin-inline-start:auto!important;
}
.reservation-page--clean .reservation-table-map{
  display:block!important;
  width:100%!important;
  margin-inline:auto!important;
}
.reservation-page--clean .reservation-floor-block{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.reservation-page--clean .reservation-table-card-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
}
.reservation-page--clean .reservation-table-card-option{
  flex:1 1 132px!important;
  max-width:180px!important;
}
.reservation-page--clean .reservation-final-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
.reservation-page--clean .reservation-summary-card,
.reservation-page--clean .reservation-payment-box{
  min-height:0!important;
  padding:16px 0!important;
  border:0!important;
  border-top:1px solid rgba(232,191,119,.16)!important;
  border-bottom:1px solid rgba(232,191,119,.12)!important;
  border-radius:0!important;
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.06),transparent)!important;
  box-shadow:none!important;
}
.reservation-page--clean .reservation-summary-items{
  justify-content:center!important;
}
.reservation-page--clean .reservation-payment-methods{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.reservation-page--clean .reservation-payment-method{
  flex:1 1 220px!important;
  padding:11px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(232,191,119,.16)!important;
  border-radius:0!important;
  background:transparent!important;
}
.reservation-page--clean .reservation-payment-method:has(input:checked){
  background:linear-gradient(90deg,transparent,rgba(232,191,119,.08),transparent)!important;
  box-shadow:none!important;
  border-bottom-color:rgba(232,191,119,.62)!important;
}
.reservation-page--clean .reservation-note-field{
  width:min(680px,100%)!important;
  margin:0 auto!important;
}
.reservation-page--clean .reservation-note-field textarea{
  min-height:92px!important;
  resize:vertical!important;
}
.reservation-page--clean .reservation-step-actions{
  justify-content:center!important;
  gap:10px!important;
}
.reservation-page--clean .reservation-wizard-help{
  margin-top:34px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(232,191,119,.14)!important;
  justify-content:center!important;
}
@media(max-width:780px){
  .reservation-page--clean .reservation-clean-container{width:min(100% - 24px,960px)!important}
  .reservation-page--clean .reservation-clean-points{align-items:stretch!important}
  .reservation-page--clean .reservation-clean-points span{width:100%!important;justify-content:center!important}
  .reservation-page--clean .reservation-wizard-progress{justify-content:space-between!important;gap:4px!important}
  .reservation-page--clean .reservation-wizard-progress button{padding-inline:5px!important;font-size:12px!important}
  .reservation-page--clean .reservation-wizard-progress button span{display:none!important}
  .reservation-page--clean .jalali-date-grid{
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    padding-bottom:10px!important;
    scroll-snap-type:x mandatory!important;
  }
  .reservation-page--clean .jalali-date-grid .reserve-option{
    flex:0 0 124px!important;
    max-width:124px!important;
    scroll-snap-align:start!important;
  }
  .reservation-page--clean .time-slot-grid .time-slot{
    flex:1 1 calc(50% - 10px)!important;
    max-width:none!important;
  }
  .reservation-page--clean .reservation-floor-choice{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .reservation-page--clean .reservation-floor-choice[data-floor="outdoor"]::after{margin-inline-start:0!important}
  .reservation-page--clean .reservation-table-card-option{max-width:none!important}
}
@media(max-width:460px){
  .reservation-page--clean .reservation-wizard-shell{padding-top:96px!important}
  .reservation-page--clean .reservation-step-title{text-align:start!important;align-items:stretch!important}
  .reservation-page--clean .reservation-step-title strong{justify-self:start!important}
  .reservation-page--clean .reservation-step-title p{text-align:start!important}
  .reservation-page--clean .time-slot-grid .time-slot{flex-basis:100%!important}
  .reservation-page--clean .reservation-summary-items span{width:100%!important}
  .reservation-page--clean .reservation-step-actions{display:flex!important;flex-direction:column!important}
  .reservation-page--clean .reservation-step-actions .btn{width:100%!important;justify-content:center!important}
}

/* ===== FarshidBonab v3.4.0 - reservation menu-style layout + ordered table cards ===== */
.reservation-page--menu-style{
  --reservation-wide:1360px;
  background:
    radial-gradient(circle at 15% 8%,rgba(232,191,119,.13),transparent 30%),
    radial-gradient(circle at 85% 18%,rgba(198,138,62,.12),transparent 30%),
    linear-gradient(180deg,#100d0a 0%,#17120e 46%,#0d0b09 100%)!important;
}
.reservation-page--menu-style .reservation-menu-shell{overflow:hidden!important}
.reservation-page--menu-style .reservation-menu-glow{
  position:absolute;
  z-index:-1;
  width:420px;
  height:420px;
  border-radius:50%;
  filter:blur(38px);
  opacity:.78;
  pointer-events:none;
}
.reservation-page--menu-style .reservation-menu-glow--right{top:10%;right:-120px;background:rgba(232,191,119,.14)}
.reservation-page--menu-style .reservation-menu-glow--left{bottom:6%;left:-140px;background:rgba(198,138,62,.12)}
.reservation-page--menu-style .reservation-wizard-shell{padding:112px 0 76px!important}
.reservation-page--menu-style .reservation-clean-container{
  display:grid!important;
  grid-template-columns:minmax(280px,.36fr) minmax(0,.64fr)!important;
  gap:clamp(22px,3vw,42px)!important;
  align-items:start!important;
  width:min(var(--reservation-wide),calc(100% - 48px))!important;
  max-width:none!important;
}
.reservation-page--menu-style .reservation-clean-hero{
  position:sticky!important;
  top:96px!important;
  align-items:flex-start!important;
  text-align:right!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(24px,2.5vw,34px)!important;
  border:1px solid rgba(232,191,119,.20)!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(232,191,119,.18),transparent 30%),
    linear-gradient(145deg,rgba(31,25,18,.88),rgba(11,9,7,.72))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.33),inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(16px)!important;
}
.reservation-page--menu-style .reservation-clean-hero .reservation-kicker{justify-self:start!important}
.reservation-page--menu-style .reservation-clean-hero h1{
  margin:0!important;
  font-size:clamp(32px,4.2vw,58px)!important;
  line-height:1.33!important;
  letter-spacing:-.9px!important;
  text-shadow:0 22px 48px rgba(0,0,0,.36);
}
.reservation-page--menu-style .reservation-clean-hero h1::after{
  content:"";
  display:block;
  width:min(210px,58%);
  height:3px;
  margin-top:16px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold-2),var(--gold),transparent);
  box-shadow:0 10px 28px rgba(198,138,62,.18);
}
.reservation-page--menu-style .reservation-clean-hero p{
  margin:0!important;
  max-width:560px!important;
  font-size:15px!important;
  line-height:2.12!important;
  color:#ead9bc!important;
}
.reservation-page--menu-style .reservation-clean-points{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-content:stretch!important;
  width:100%!important;
}
.reservation-page--menu-style .reservation-clean-points span{
  justify-content:flex-start!important;
  width:100%!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
}
.reservation-page--menu-style .reservation-wizard-card.reservation-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(18px,2.2vw,30px)!important;
  border:1px solid rgba(232,191,119,.20)!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 98% 0,rgba(232,191,119,.13),transparent 34%),
    linear-gradient(145deg,rgba(31,25,18,.94),rgba(12,10,8,.96))!important;
  box-shadow:0 34px 110px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.055)!important;
  overflow:visible!important;
}
.reservation-page--menu-style .reservation-wizard-progress{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  max-width:none!important;
  gap:10px!important;
  margin-bottom:22px!important;
}
.reservation-page--menu-style .reservation-wizard-progress button{
  min-height:62px!important;
  padding:10px!important;
  border:1px solid rgba(232,191,119,.14)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.reservation-page--menu-style .reservation-wizard-progress button.is-active{
  border-color:rgba(232,191,119,.74)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.22),rgba(198,138,62,.07))!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.085),0 18px 42px rgba(0,0,0,.16)!important;
}
.reservation-page--menu-style .reservation-step-panel{
  padding:clamp(18px,2.3vw,30px)!important;
  border:1px solid rgba(232,191,119,.13)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 0 0,rgba(232,191,119,.08),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.056),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.reservation-page--menu-style .reservation-step-panel.is-active{display:grid!important;gap:22px!important}
.reservation-page--menu-style .reservation-step-title{
  max-width:880px!important;
  margin:0!important;
  text-align:right!important;
}
.reservation-page--menu-style .reservation-step-title strong{justify-self:start!important}
.reservation-page--menu-style .reservation-step-title h2{font-size:clamp(25px,3vw,40px)!important}
.reservation-page--menu-style .reservation-step-title p{max-width:760px!important;margin-inline:0!important;text-align:right!important}
.reservation-page--menu-style .reservation-fields-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.reservation-page--menu-style .reservation-field--wide{grid-column:1/-1!important}
.reservation-page--menu-style .reservation-fields-grid label,
.reservation-page--menu-style .reservation-card label{
  position:relative!important;
  display:grid!important;
  gap:8px!important;
  padding:14px!important;
  border:1px solid rgba(232,191,119,.12)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.reservation-page--menu-style .reservation-fields-grid label::before,
.reservation-page--menu-style .reservation-card label::before{
  content:"";
  position:absolute;
  inset-inline-end:14px;
  top:18px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(145deg,#ffe7b1,#c68a3e);
  box-shadow:0 0 0 5px rgba(232,191,119,.08);
}
.reservation-page--menu-style .reservation-fields-grid label span,
.reservation-page--menu-style .reservation-card label span{
  padding-inline-end:20px!important;
  color:#f7dca8!important;
}
.reservation-page--menu-style .reservation-card input,
.reservation-page--menu-style .reservation-card select,
.reservation-page--menu-style .reservation-note-field textarea{
  min-height:58px!important;
  border:1px solid rgba(232,191,119,.18)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(10,8,6,.92),rgba(28,22,16,.86))!important;
  color:#fff8e7!important;
  padding:0 16px!important;
  box-shadow:none!important;
}
.reservation-page--menu-style .reservation-note-field textarea{padding:14px 16px!important}
.reservation-page--menu-style .reservation-card input:focus,
.reservation-page--menu-style .reservation-card select:focus,
.reservation-page--menu-style .reservation-note-field textarea:focus{
  border-color:rgba(232,191,119,.72)!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.12)!important;
}
.reservation-page--menu-style .reservation-choice-block{
  padding:18px!important;
  border:1px solid rgba(232,191,119,.11)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.012))!important;
}
.reservation-page--menu-style .jalali-date-grid,
.reservation-page--menu-style .time-slot-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(142px,1fr))!important;
  justify-content:stretch!important;
  gap:11px!important;
}
.reservation-page--menu-style .reserve-option,
.reservation-page--menu-style .time-slot{
  max-width:none!important;
  min-height:84px!important;
  border-radius:20px!important;
  border:1px solid rgba(232,191,119,.15)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
}
.reservation-page--menu-style .time-slot{min-height:72px!important}
.reservation-page--menu-style .reserve-option.is-selected,
.reservation-page--menu-style .time-slot.is-selected{
  border-color:rgba(232,191,119,.82)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.24),rgba(198,138,62,.09))!important;
}
.reservation-page--menu-style .reservation-floor-picker{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
  width:100%!important;
  gap:12px!important;
}
.reservation-page--menu-style .reservation-floor-choice{
  display:grid!important;
  align-items:start!important;
  min-height:110px!important;
  padding:16px!important;
  border:1px solid rgba(232,191,119,.17)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.060),rgba(255,255,255,.020))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 36px rgba(0,0,0,.18)!important;
}
.reservation-page--menu-style .reservation-floor-choice.is-selected{
  border-color:rgba(232,191,119,.78)!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.10),0 20px 48px rgba(0,0,0,.25)!important;
}
.reservation-page--menu-style .reservation-table-map{display:grid!important;gap:18px!important}
.reservation-page--menu-style .reservation-floor-block{
  padding:18px!important;
  border-radius:30px!important;
  border:1px solid rgba(232,191,119,.20)!important;
  background:
    radial-gradient(circle at 12% 0,rgba(232,191,119,.08),transparent 28%),
    linear-gradient(145deg,rgba(24,20,16,.92),rgba(14,12,10,.94))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.24)!important;
}
.reservation-page--menu-style .reservation-floor-stage-scroll{
  border-radius:26px!important;
  border:1px solid rgba(232,191,119,.18)!important;
}
.reservation-page--menu-style .reservation-floor-stage{
  min-height:clamp(430px,42vw,590px)!important;
  aspect-ratio:16/9!important;
  background:
    radial-gradient(circle at 50% 15%,rgba(232,191,119,.12),transparent 24%),
    radial-gradient(circle at 18% 82%,rgba(198,138,62,.08),transparent 26%),
    linear-gradient(90deg,rgba(232,191,119,.040) 1px,transparent 1px),
    linear-gradient(0deg,rgba(232,191,119,.032) 1px,transparent 1px),
    linear-gradient(145deg,#17110d,#090706)!important;
  background-size:auto,auto,62px 62px,62px 62px,auto!important;
}
.reservation-page--menu-style .reservation-table-card-groups{
  display:grid!important;
  gap:16px!important;
  margin-top:4px!important;
}
.reservation-page--menu-style .reservation-table-card-section{
  display:grid!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid rgba(232,191,119,.12)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.040),rgba(255,255,255,.012))!important;
}
.reservation-page--menu-style .reservation-table-card-section--outdoor{
  border-color:rgba(129,207,255,.20)!important;
  background:linear-gradient(145deg,rgba(129,207,255,.070),rgba(232,191,119,.025))!important;
}
.reservation-page--menu-style .reservation-table-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 2px 8px!important;
  border-bottom:1px solid rgba(232,191,119,.12)!important;
}
.reservation-page--menu-style .reservation-table-card-head div{display:grid!important;gap:3px!important}
.reservation-page--menu-style .reservation-table-card-head strong{color:#fff2cf!important;font-size:16px!important}
.reservation-page--menu-style .reservation-table-card-head span{color:#cdbfa8!important;font-size:12px!important;line-height:1.7!important}
.reservation-page--menu-style .reservation-table-card-head em{
  font-style:normal!important;
  flex:0 0 auto!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  color:#24170a!important;
  background:linear-gradient(135deg,#ffe4ad,#c68a3e)!important;
  font-size:11px!important;
  font-weight:950!important;
}
.reservation-page--menu-style .reservation-table-card-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  justify-content:stretch!important;
  gap:10px!important;
}
.reservation-page--menu-style .reservation-table-card-option{
  flex:auto!important;
  max-width:none!important;
  min-height:112px!important;
  align-items:start!important;
  text-align:right!important;
  border-radius:20px!important;
  padding:13px!important;
  border:1px solid rgba(232,191,119,.16)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.017))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.reservation-page--menu-style .reservation-table-card-option small{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  border-radius:999px!important;
  padding:3px 8px!important;
  color:#ffdf9c!important;
  background:rgba(232,191,119,.10)!important;
  font-size:10px!important;
  font-weight:950!important;
}
.reservation-page--menu-style .reservation-table-card-option[data-area="outdoor"] small{color:#dff6ff!important;background:rgba(129,207,255,.12)!important}
.reservation-page--menu-style .reservation-table-card-option:hover:not(:disabled),
.reservation-page--menu-style .reservation-table-card-option.is-selected{
  transform:translateY(-2px)!important;
  border-color:rgba(232,191,119,.72)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.18),rgba(198,138,62,.06))!important;
}
.reservation-page--menu-style .reservation-final-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(280px,.62fr)!important;
  gap:16px!important;
}
.reservation-page--menu-style .reservation-summary-card,
.reservation-page--menu-style .reservation-payment-box{
  padding:18px!important;
  border:1px solid rgba(232,191,119,.16)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014))!important;
}
.reservation-page--menu-style .reservation-step-actions{justify-content:flex-end!important}
.reservation-page--menu-style .reservation-step-actions .btn{min-height:52px!important;border-radius:16px!important}
@media(max-width:1120px){
  .reservation-page--menu-style .reservation-clean-container{grid-template-columns:1fr!important;width:min(1080px,calc(100% - 34px))!important}
  .reservation-page--menu-style .reservation-clean-hero{position:relative!important;top:auto!important;text-align:center!important;align-items:center!important}
  .reservation-page--menu-style .reservation-clean-hero h1::after{margin-inline:auto;background:linear-gradient(90deg,transparent,var(--gold-2),var(--gold),transparent)}
  .reservation-page--menu-style .reservation-clean-points{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:780px){
  .reservation-page--menu-style .reservation-wizard-shell{padding:96px 0 48px!important}
  .reservation-page--menu-style .reservation-clean-container{width:min(100% - 24px,760px)!important}
  .reservation-page--menu-style .reservation-clean-points{grid-template-columns:1fr!important}
  .reservation-page--menu-style .reservation-wizard-card.reservation-card{padding:14px!important;border-radius:26px!important}
  .reservation-page--menu-style .reservation-wizard-progress{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .reservation-page--menu-style .reservation-wizard-progress button{min-height:50px!important;padding:7px 4px!important;font-size:11px!important}
  .reservation-page--menu-style .reservation-wizard-progress button span{display:none!important}
  .reservation-page--menu-style .reservation-fields-grid,
  .reservation-page--menu-style .reservation-final-grid{grid-template-columns:1fr!important}
  .reservation-page--menu-style .reservation-choice-block{padding:14px!important}
  .reservation-page--menu-style .jalali-date-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;padding-bottom:10px!important;scroll-snap-type:x mandatory!important}
  .reservation-page--menu-style .jalali-date-grid .reserve-option{flex:0 0 132px!important;scroll-snap-align:start!important}
  .reservation-page--menu-style .time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .reservation-page--menu-style .reservation-floor-block{padding:12px!important;border-radius:24px!important}
  .reservation-page--menu-style .reservation-table-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:480px){
  .reservation-page--menu-style .reservation-clean-container{width:min(100% - 20px,520px)!important}
  .reservation-page--menu-style .reservation-clean-hero{padding:20px 16px!important;border-radius:24px!important}
  .reservation-page--menu-style .reservation-step-panel{padding:14px!important;border-radius:22px!important}
  .reservation-page--menu-style .time-slot-grid,
  .reservation-page--menu-style .reservation-table-card-grid{grid-template-columns:1fr!important}
  .reservation-page--menu-style .reservation-step-actions{display:flex!important;flex-direction:column!important}
  .reservation-page--menu-style .reservation-step-actions .btn{width:100%!important;justify-content:center!important}
}


/* ===== FarshidBonab v3.4.1 - reservation linear non-grid layout ===== */
.reservation-page--linear{
  --reservation-linear-width:1120px;
  background:
    radial-gradient(circle at 15% 8%,rgba(232,191,119,.12),transparent 32%),
    radial-gradient(circle at 82% 18%,rgba(198,138,62,.10),transparent 32%),
    linear-gradient(180deg,#100d0a 0%,#17120e 48%,#0d0b09 100%)!important;
}
.reservation-page--linear .reservation-wizard-shell{
  padding:112px 0 74px!important;
  overflow:hidden!important;
}
.reservation-page--linear .reservation-clean-container{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:clamp(24px,3vw,38px)!important;
  width:min(var(--reservation-linear-width),calc(100% - 44px))!important;
  max-width:none!important;
  margin-inline:auto!important;
}
.reservation-page--linear .reservation-clean-hero{
  position:relative!important;
  top:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:15px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(26px,3.4vw,44px)!important;
  text-align:center!important;
  border:1px solid rgba(232,191,119,.18)!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 15% 0,rgba(232,191,119,.15),transparent 30%),
    linear-gradient(145deg,rgba(31,25,18,.78),rgba(11,9,7,.60))!important;
  box-shadow:0 28px 86px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(14px)!important;
}
.reservation-page--linear .reservation-clean-hero h1{
  max-width:820px!important;
  margin:0 auto!important;
  font-size:clamp(32px,4vw,56px)!important;
  line-height:1.35!important;
  letter-spacing:-.8px!important;
}
.reservation-page--linear .reservation-clean-hero p{
  max-width:760px!important;
  margin:0 auto!important;
  color:#ead9bc!important;
  font-size:clamp(14px,1.55vw,17px)!important;
  line-height:2.05!important;
}
.reservation-page--linear .reservation-clean-points{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  width:100%!important;
  margin-top:8px!important;
}
.reservation-page--linear .reservation-clean-points span{
  flex:0 1 auto!important;
  min-height:40px!important;
  width:auto!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(232,191,119,.17)!important;
  background:rgba(255,255,255,.04)!important;
  box-shadow:none!important;
}
.reservation-page--linear .reservation-wizard-card.reservation-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(18px,2.8vw,34px)!important;
  border:1px solid rgba(232,191,119,.18)!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(232,191,119,.10),transparent 32%),
    linear-gradient(145deg,rgba(28,23,17,.88),rgba(12,10,8,.92))!important;
  box-shadow:0 34px 100px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.05)!important;
  overflow:visible!important;
}
.reservation-page--linear .reservation-wizard-card.reservation-card::before,
.reservation-page--linear .reservation-wizard-card.reservation-card::after{display:none!important}
.reservation-page--linear .reservation-wizard-progress{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:10px!important;
  max-width:none!important;
  margin:0 0 clamp(22px,3vw,34px)!important;
  padding:0!important;
}
.reservation-page--linear .reservation-wizard-progress button{
  flex:1 1 160px!important;
  min-height:58px!important;
  padding:10px 12px!important;
  border:1px solid rgba(232,191,119,.14)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.016))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.reservation-page--linear .reservation-wizard-progress button.is-active{
  border-color:rgba(232,191,119,.72)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.18),rgba(198,138,62,.06))!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.08),0 18px 42px rgba(0,0,0,.14)!important;
}
.reservation-page--linear .reservation-step-panel{display:none!important}
.reservation-page--linear .reservation-step-panel.is-active{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:clamp(20px,2.8vw,30px)!important;
  min-height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.reservation-page--linear .reservation-step-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
  max-width:820px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.reservation-page--linear .reservation-step-title strong{
  align-self:center!important;
  justify-self:auto!important;
}
.reservation-page--linear .reservation-step-title p{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.reservation-page--linear .reservation-fields-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:14px!important;
  width:min(860px,100%)!important;
  max-width:none!important;
  margin:0 auto!important;
}
.reservation-page--linear .reservation-fields-grid label,
.reservation-page--linear .reservation-card label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-width:0!important;
  padding:14px!important;
  border:1px solid rgba(232,191,119,.12)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.012))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.reservation-page--linear .reservation-fields-grid label{flex:1 1 280px!important}
.reservation-page--linear .reservation-field--wide{flex-basis:100%!important;grid-column:auto!important}
.reservation-page--linear .reservation-fields-grid label::before,
.reservation-page--linear .reservation-choice-block h3::before{display:none!important}
.reservation-page--linear .reservation-card input,
.reservation-page--linear .reservation-card select,
.reservation-page--linear .reservation-note-field textarea{
  min-height:56px!important;
  border:1px solid rgba(232,191,119,.17)!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,rgba(10,8,6,.82),rgba(26,20,15,.78))!important;
  color:#fff8e7!important;
  padding:0 15px!important;
  box-shadow:none!important;
}
.reservation-page--linear .reservation-note-field textarea{padding:13px 15px!important;min-height:96px!important;resize:vertical!important}
.reservation-page--linear .reservation-card input:focus,
.reservation-page--linear .reservation-card select:focus,
.reservation-page--linear .reservation-note-field textarea:focus{
  border-color:rgba(232,191,119,.72)!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.11)!important;
}
.reservation-page--linear .reservation-choice-block{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:18px!important;
  border:1px solid rgba(232,191,119,.12)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.040),rgba(255,255,255,.012))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.reservation-page--linear .reservation-choice-block h3,
.reservation-page--linear .slot-helper{text-align:center!important}
.reservation-page--linear .jalali-date-grid,
.reservation-page--linear .time-slot-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
}
.reservation-page--linear .jalali-date-grid .reserve-option{flex:1 1 118px!important;max-width:150px!important}
.reservation-page--linear .time-slot-grid .time-slot{flex:1 1 140px!important;max-width:190px!important}
.reservation-page--linear .reserve-option,
.reservation-page--linear .time-slot{
  border:1px solid rgba(232,191,119,.13)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.reservation-page--linear .reserve-option.is-selected,
.reservation-page--linear .time-slot.is-selected{
  background:linear-gradient(145deg,rgba(232,191,119,.22),rgba(198,138,62,.06))!important;
  border-color:rgba(232,191,119,.72)!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.08),0 16px 36px rgba(0,0,0,.16)!important;
}
.reservation-page--linear .reservation-floor-picker{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
.reservation-page--linear .reservation-floor-choice{
  flex:1 1 280px!important;
  min-height:108px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:6px!important;
  padding:16px!important;
  border:1px solid rgba(232,191,119,.16)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.016))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.16)!important;
}
.reservation-page--linear .reservation-floor-choice em{margin-top:auto!important}
.reservation-page--linear .reservation-floor-choice.is-selected{
  border-color:rgba(232,191,119,.74)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.18),rgba(198,138,62,.06))!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.08),0 18px 42px rgba(0,0,0,.18)!important;
}
.reservation-page--linear .reservation-table-map{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  width:100%!important;
  margin:0 auto!important;
}
.reservation-page--linear .reservation-floor-block{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  padding:18px!important;
  border-radius:28px!important;
  border:1px solid rgba(232,191,119,.18)!important;
  background:
    radial-gradient(circle at 12% 0,rgba(232,191,119,.08),transparent 28%),
    linear-gradient(145deg,rgba(24,20,16,.90),rgba(14,12,10,.94))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22)!important;
}
.reservation-page--linear .reservation-floor-head{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.reservation-page--linear .reservation-map-toolbar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.reservation-page--linear .reservation-floor-stage-scroll{
  border-radius:24px!important;
  border:1px solid rgba(232,191,119,.17)!important;
  background:#100d0a!important;
}
.reservation-page--linear .reservation-floor-stage{
  min-width:1020px!important;
  min-height:570px!important;
  aspect-ratio:auto!important;
  background:
    radial-gradient(circle at 50% 12%,rgba(232,191,119,.13),transparent 26%),
    radial-gradient(circle at 18% 84%,rgba(198,138,62,.08),transparent 28%),
    linear-gradient(145deg,#17110d,#090706)!important;
  background-size:auto!important;
}
.reservation-page--linear .reservation-floor-stage::before{content:"انتخاب میز از نقشه سالن"!important}
.reservation-page--linear .reservation-table-card-groups{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  margin-top:4px!important;
}
.reservation-page--linear .reservation-table-card-section{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid rgba(232,191,119,.12)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.040),rgba(255,255,255,.012))!important;
}
.reservation-page--linear .reservation-table-card-section--outdoor{
  border-color:rgba(129,207,255,.19)!important;
  background:linear-gradient(145deg,rgba(129,207,255,.060),rgba(232,191,119,.020))!important;
}
.reservation-page--linear .reservation-table-card-head{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding-bottom:8px!important;
  border-bottom:1px solid rgba(232,191,119,.12)!important;
}
.reservation-page--linear .reservation-table-card-grid{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  gap:9px!important;
}
.reservation-page--linear .reservation-table-card-option{
  width:100%!important;
  max-width:none!important;
  min-height:76px!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px 14px!important;
  text-align:right!important;
  padding:13px 15px!important;
  border:1px solid rgba(232,191,119,.14)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.046),rgba(255,255,255,.014))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.032)!important;
}
.reservation-page--linear .reservation-table-card-option strong{font-size:15px!important;color:#fff2cf!important}
.reservation-page--linear .reservation-table-card-option small{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  border-radius:999px!important;
  padding:4px 9px!important;
  color:#ffdf9c!important;
  background:rgba(232,191,119,.10)!important;
  font-size:10.5px!important;
  font-weight:950!important;
}
.reservation-page--linear .reservation-table-card-option[data-area="outdoor"] small{color:#dff6ff!important;background:rgba(129,207,255,.12)!important}
.reservation-page--linear .reservation-table-card-option:hover:not(:disabled),
.reservation-page--linear .reservation-table-card-option.is-selected{
  transform:translateY(-1px)!important;
  border-color:rgba(232,191,119,.68)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.18),rgba(198,138,62,.06))!important;
}
.reservation-page--linear .reservation-final-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:14px!important;
}
.reservation-page--linear .reservation-summary-card,
.reservation-page--linear .reservation-payment-box{
  flex:1 1 320px!important;
  min-height:0!important;
  padding:18px!important;
  border:1px solid rgba(232,191,119,.15)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.044),rgba(255,255,255,.014))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.reservation-page--linear .reservation-note-field{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.reservation-page--linear .reservation-step-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.reservation-page--linear .reservation-step-actions .btn{min-height:52px!important;border-radius:16px!important}
.reservation-page--linear .reservation-wizard-help{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:28px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(232,191,119,.13)!important;
}
@media(max-width:820px){
  .reservation-page--linear .reservation-wizard-shell{padding:96px 0 50px!important}
  .reservation-page--linear .reservation-clean-container{width:min(100% - 24px,760px)!important}
  .reservation-page--linear .reservation-wizard-card.reservation-card{padding:16px!important;border-radius:26px!important}
  .reservation-page--linear .reservation-clean-hero{padding:22px 16px!important;border-radius:26px!important}
  .reservation-page--linear .reservation-wizard-progress{gap:6px!important}
  .reservation-page--linear .reservation-wizard-progress button{flex:1 1 calc(50% - 6px)!important;min-height:50px!important;font-size:12px!important}
  .reservation-page--linear .reservation-fields-grid label,
  .reservation-page--linear .reservation-fields-grid .reservation-field--wide,
  .reservation-page--linear .reservation-floor-choice,
  .reservation-page--linear .reservation-summary-card,
  .reservation-page--linear .reservation-payment-box{flex-basis:100%!important}
  .reservation-page--linear .jalali-date-grid{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:10px!important;scroll-snap-type:x mandatory!important}
  .reservation-page--linear .jalali-date-grid .reserve-option{flex:0 0 132px!important;max-width:132px!important;scroll-snap-align:start!important}
  .reservation-page--linear .time-slot-grid .time-slot{flex:1 1 calc(50% - 10px)!important;max-width:none!important}
  .reservation-page--linear .reservation-floor-block{padding:12px!important;border-radius:22px!important}
  .reservation-page--linear .reservation-floor-stage{min-width:850px!important;min-height:500px!important}
}
@media(max-width:480px){
  .reservation-page--linear .reservation-clean-container{width:min(100% - 20px,520px)!important}
  .reservation-page--linear .reservation-wizard-progress button span{display:none!important}
  .reservation-page--linear .reservation-step-title{text-align:right!important;align-items:flex-start!important}
  .reservation-page--linear .reservation-step-title p{text-align:right!important}
  .reservation-page--linear .time-slot-grid .time-slot{flex-basis:100%!important}
  .reservation-page--linear .reservation-table-card-option{align-items:flex-start!important;flex-direction:column!important}
  .reservation-page--linear .reservation-step-actions{flex-direction:column!important;justify-content:stretch!important}
  .reservation-page--linear .reservation-step-actions .btn{width:100%!important;justify-content:center!important}
  .reservation-page--linear .reservation-floor-stage{min-width:760px!important;min-height:470px!important}
}

/* ===== FarshidBonab v3.4.2 - customer-friendly reservation polish ===== */
.reservation-page--friendly{
  background:
    radial-gradient(circle at 16% 7%,rgba(232,191,119,.14),transparent 30%),
    radial-gradient(circle at 88% 14%,rgba(198,138,62,.11),transparent 32%),
    linear-gradient(180deg,#100d0a 0%,#15110e 45%,#0d0b09 100%)!important;
}
.reservation-page--friendly .reservation-wizard-shell{
  padding:112px 0 76px!important;
  overflow:hidden!important;
}
.reservation-page--friendly .reservation-clean-container{
  gap:clamp(26px,3vw,42px)!important;
}
.reservation-page--friendly .fb-reservation-hero{
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(310px,.62fr)!important;
  align-items:stretch!important;
  gap:clamp(22px,3.2vw,42px)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(26px,4vw,48px)!important;
  overflow:hidden!important;
  text-align:right!important;
  border:1px solid rgba(232,191,119,.16)!important;
  border-radius:38px!important;
  background:
    linear-gradient(90deg,rgba(9,7,5,.96) 0%,rgba(17,13,9,.88) 48%,rgba(21,15,10,.62) 100%),
    url('../img/interior-dining.webp') center/cover no-repeat!important;
  box-shadow:0 30px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:none!important;
}
.reservation-page--friendly .fb-reservation-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 18%,rgba(232,191,119,.20),transparent 27%),
    radial-gradient(circle at 12% 78%,rgba(198,138,62,.15),transparent 31%),
    linear-gradient(180deg,rgba(255,255,255,.028),transparent 56%);
}
.reservation-page--friendly .fb-reservation-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  z-index:-1;
  height:130px;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(20,18,15,.92));
}
.reservation-page--friendly .fb-reservation-hero__copy{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:14px!important;
  min-width:0!important;
  padding-inline-start:10px!important;
}
.reservation-page--friendly .fb-reservation-hero__copy::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  right:-18px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,transparent,#ffe3a1,var(--gold),transparent);
  box-shadow:0 0 26px rgba(232,191,119,.28);
}
.reservation-page--friendly .reservation-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:#ffe0a0!important;
  font-size:13px!important;
  font-weight:950!important;
}
.reservation-page--friendly .reservation-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,#fff0bd,var(--gold));
  box-shadow:0 0 0 7px rgba(232,191,119,.10),0 0 22px rgba(232,191,119,.30);
}
.reservation-page--friendly .reservation-kicker small{
  color:#baa98f!important;
  font-size:12px!important;
  font-weight:850!important;
}
.reservation-page--friendly .fb-reservation-hero h1{
  max-width:760px!important;
  margin:0!important;
  color:#fff4dc!important;
  font-size:clamp(30px,4.1vw,56px)!important;
  line-height:1.42!important;
  font-weight:1000!important;
  letter-spacing:-.045em!important;
  text-shadow:0 16px 48px rgba(0,0,0,.46)!important;
}
.reservation-page--friendly .fb-reservation-hero h1::after{
  content:"";
  display:block;
  width:min(210px,52%);
  height:2px;
  margin-top:14px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),rgba(232,191,119,.32),transparent);
}
.reservation-page--friendly .fb-reservation-hero p{
  max-width:690px!important;
  margin:0!important;
  color:#e0d2bd!important;
  font-size:16px!important;
  line-height:2.05!important;
  font-weight:650!important;
}
.reservation-page--friendly .reservation-clean-points{
  justify-content:flex-start!important;
  gap:9px!important;
  margin-top:6px!important;
}
.reservation-page--friendly .reservation-clean-points span{
  min-height:38px!important;
  padding:7px 13px!important;
  border-color:rgba(232,191,119,.20)!important;
  color:#f6e2bd!important;
  background:rgba(255,255,255,.045)!important;
  backdrop-filter:blur(10px)!important;
}
.reservation-page--friendly .fb-reservation-hero__actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:10px!important;
}
.reservation-page--friendly .fb-reservation-hero__actions .btn{
  min-height:50px!important;
  border-radius:16px!important;
  padding-inline:26px!important;
}
.reservation-page--friendly .fb-reservation-hero__secondary{
  background:rgba(255,255,255,.025)!important;
  backdrop-filter:blur(10px)!important;
}
.reservation-page--friendly .fb-reservation-hero__panel{
  position:relative!important;
  display:grid!important;
  align-content:center!important;
  gap:16px!important;
  min-height:310px!important;
  padding:26px!important;
  overflow:hidden!important;
  border:1px solid rgba(232,191,119,.24)!important;
  border-radius:30px!important;
  background:linear-gradient(145deg,rgba(29,26,22,.88),rgba(17,15,12,.74))!important;
  box-shadow:0 24px 58px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(14px)!important;
}
.reservation-page--friendly .fb-reservation-hero__panel::before{
  content:"";
  position:absolute;
  left:-70px;
  top:-70px;
  width:170px;
  height:170px;
  border-radius:50%;
  background:rgba(198,138,62,.16);
  filter:blur(12px);
}
.reservation-page--friendly .fb-reservation-hero__badge{
  position:relative;
  z-index:1;
  width:max-content;
  max-width:100%;
  display:inline-flex;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  padding:7px 12px;
  color:var(--gold-2);
  background:rgba(255,255,255,.04);
  font-size:12px;
  font-weight:950;
}
.reservation-page--friendly .fb-reservation-hero__stat{
  position:relative;
  z-index:1;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.reservation-page--friendly .fb-reservation-hero__stat strong{
  color:#ffe0a0;
  font-size:48px;
  line-height:1;
  font-weight:1000;
}
.reservation-page--friendly .fb-reservation-hero__stat span{
  color:#efe2cc;
  font-weight:950;
}
.reservation-page--friendly .fb-reservation-hero__steps{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.reservation-page--friendly .fb-reservation-hero__steps span{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:8px 10px;
  border-radius:14px;
  color:#eadcc5;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(232,191,119,.12);
  font-size:12px;
  font-weight:900;
}
.reservation-page--friendly .fb-reservation-hero__panel p{
  position:relative;
  z-index:1;
  margin:0!important;
  color:#cfc1ad!important;
  line-height:2!important;
  font-size:13px!important;
}
.reservation-page--friendly .reservation-wizard-card.reservation-card{
  border-radius:34px!important;
  background:
    radial-gradient(circle at 88% 0,rgba(232,191,119,.10),transparent 31%),
    linear-gradient(145deg,rgba(27,22,17,.96),rgba(12,10,8,.96))!important;
}
.reservation-page--friendly .reservation-step-title{
  text-align:right!important;
  align-items:flex-start!important;
}
.reservation-page--friendly .reservation-step-title strong{
  justify-self:start!important;
  align-self:flex-start!important;
}
.reservation-page--friendly .reservation-step-title p{
  margin-inline:0!important;
  text-align:right!important;
}
.reservation-page--friendly .reservation-guest-form-card{
  position:relative;
  display:grid;
  gap:18px;
  padding:clamp(16px,2.4vw,26px);
  border:1px solid rgba(232,191,119,.16);
  border-radius:28px;
  background:
    radial-gradient(circle at 95% 0,rgba(232,191,119,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.016));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.042),0 20px 52px rgba(0,0,0,.16);
}
.reservation-page--friendly .reservation-guest-form-card .reservation-fields-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.reservation-page--friendly .reservation-guest-form-card .reservation-field--wide{
  grid-column:1/-1!important;
}
.reservation-page--friendly .reservation-guest-form-card .reservation-fields-grid label{
  position:relative!important;
  display:grid!important;
  gap:9px!important;
  min-height:112px!important;
  padding:16px 16px 14px!important;
  border:1px solid rgba(232,191,119,.14)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.014))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.reservation-page--friendly .reservation-guest-form-card .reservation-fields-grid label::after{
  content:none;
  position:absolute;
  left:14px;
  top:14px;
  min-width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#1d1208;
  background:linear-gradient(135deg,#ffe7b4,var(--gold-2));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 24px rgba(198,138,62,.18),inset 0 1px 0 rgba(255,255,255,.40);
  font-size:11px;
  font-weight:1000;
}
.reservation-page--friendly .reservation-guest-form-card label span{
  color:#fae8c8!important;
  font-size:13px!important;
  font-weight:950!important;
}
.reservation-page--friendly .reservation-guest-form-card input,
.reservation-page--friendly .reservation-guest-form-card select{
  width:100%!important;
  min-height:54px!important;
  padding:0 14px!important;
  border:1px solid rgba(232,191,119,.18)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.052)!important;
  color:#fff8e7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.reservation-page--friendly .reservation-guest-form-card input:focus,
.reservation-page--friendly .reservation-guest-form-card select:focus{
  border-color:rgba(232,191,119,.78)!important;
  background:rgba(255,255,255,.078)!important;
  box-shadow:0 0 0 4px rgba(198,138,62,.13),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.reservation-page--friendly #reservationPhone{
  direction:ltr!important;
  text-align:left!important;
  letter-spacing:.04em!important;
}
.reservation-page--friendly .reservation-large-party-note{
  width:100%!important;
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid rgba(103,208,255,.20)!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,rgba(103,208,255,.09),rgba(232,191,119,.06))!important;
  justify-content:flex-start!important;
  text-align:right!important;
}
.reservation-page--friendly .reservation-choice-block{
  border:1px solid rgba(232,191,119,.12)!important;
  border-radius:24px!important;
  padding:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.040),rgba(255,255,255,.012))!important;
}
.reservation-page--friendly .reservation-choice-block h3{
  justify-content:flex-start!important;
  text-align:right!important;
}
.reservation-page--friendly .slot-helper{
  text-align:right!important;
}
.reservation-page--friendly .reservation-table-card-groups{
  display:grid!important;
  gap:14px!important;
  margin-top:6px!important;
}
.reservation-page--friendly .reservation-table-card-section{
  border-radius:24px!important;
  padding:15px!important;
  background:
    radial-gradient(circle at 96% 0,rgba(232,191,119,.08),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.012))!important;
}
.reservation-page--friendly .reservation-table-card-head{
  align-items:center!important;
  padding-bottom:10px!important;
}
.reservation-page--friendly .reservation-table-card-head strong{
  font-size:17px!important;
}
.reservation-page--friendly .reservation-table-card-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(154px,1fr))!important;
  gap:10px!important;
}
.reservation-page--friendly .reservation-table-card-option{
  position:relative!important;
  width:100%!important;
  min-height:124px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  gap:7px!important;
  text-align:right!important;
  padding:14px 14px 12px!important;
  border:1px solid rgba(232,191,119,.15)!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.016))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.12)!important;
  overflow:hidden!important;
}
.reservation-page--friendly .reservation-table-card-option::before{
  content:attr(data-number);
  position:absolute;
  left:12px;
  top:12px;
  min-width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#221509;
  background:linear-gradient(135deg,#ffe7b4,var(--gold-2));
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 10px 24px rgba(198,138,62,.16),inset 0 1px 0 rgba(255,255,255,.40);
  font-size:15px;
  font-weight:1000;
  line-height:1;
}
.reservation-page--friendly .reservation-table-card-option small{
  width:max-content!important;
  max-width:calc(100% - 52px)!important;
  margin-left:52px!important;
  display:inline-flex!important;
  border-radius:999px!important;
  padding:4px 9px!important;
  color:#ffdf9c!important;
  background:rgba(232,191,119,.10)!important;
  font-size:10.5px!important;
  font-weight:950!important;
}
.reservation-page--friendly .reservation-table-card-option strong{
  color:#fff2cf!important;
  font-size:15px!important;
  line-height:1.65!important;
  padding-left:50px!important;
}
.reservation-page--friendly .reservation-table-card-option > span{
  color:#d6c6aa!important;
  font-size:12px!important;
  font-weight:850!important;
}
.reservation-page--friendly .reservation-table-card-option em{
  width:max-content!important;
  max-width:100%!important;
  margin-top:auto!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(34,197,94,.10)!important;
  color:#bdf0c5!important;
  font-size:10.5px!important;
  font-weight:950!important;
}
.reservation-page--friendly .reservation-table-card-option.is-disabled em,
.reservation-page--friendly .reservation-table-card-option:disabled em{
  background:rgba(255,255,255,.07)!important;
  color:#d4c7b2!important;
}
.reservation-page--friendly .reservation-table-card-option:hover:not(:disabled),
.reservation-page--friendly .reservation-table-card-option.is-selected{
  transform:translateY(-2px)!important;
  border-color:rgba(232,191,119,.70)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.19),rgba(198,138,62,.060))!important;
  box-shadow:0 0 0 4px rgba(232,191,119,.08),0 18px 42px rgba(0,0,0,.18)!important;
}
.reservation-page--friendly .reservation-table-card-option.is-selected::before{
  background:linear-gradient(135deg,#fff3cf,#e8bf77)!important;
  box-shadow:0 0 0 5px rgba(232,191,119,.14),0 12px 26px rgba(198,138,62,.22)!important;
}
.reservation-page--friendly .reservation-note-field textarea{
  border:1px solid rgba(232,191,119,.18)!important;
  border-radius:20px!important;
  padding:14px 16px!important;
  background:rgba(255,255,255,.045)!important;
}
@media(max-width:980px){
  .reservation-page--friendly .fb-reservation-hero{
    grid-template-columns:1fr!important;
  }
  .reservation-page--friendly .fb-reservation-hero__panel{
    min-height:0!important;
  }
}
@media(max-width:820px){
  .reservation-page--friendly .reservation-wizard-shell{padding:96px 0 50px!important}
  .reservation-page--friendly .fb-reservation-hero{
    padding:22px 16px!important;
    border-radius:28px!important;
  }
  .reservation-page--friendly .fb-reservation-hero__copy::before{right:-10px;width:2px}
  .reservation-page--friendly .fb-reservation-hero__actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .reservation-page--friendly .fb-reservation-hero__actions .btn{width:100%!important;justify-content:center!important}
  .reservation-page--friendly .reservation-guest-form-card .reservation-fields-grid{
    grid-template-columns:1fr!important;
  }
  .reservation-page--friendly .reservation-guest-form-card .reservation-fields-grid label{
    min-height:0!important;
  }
  .reservation-page--friendly .reservation-table-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:480px){
  .reservation-page--friendly .reservation-kicker small{display:none!important}
  .reservation-page--friendly .fb-reservation-hero h1{font-size:clamp(25px,7.2vw,34px)!important;line-height:1.55!important}
  .reservation-page--friendly .fb-reservation-hero p{font-size:14px!important;line-height:2!important}
  .reservation-page--friendly .fb-reservation-hero__steps{grid-template-columns:1fr!important}
  .reservation-page--friendly .reservation-clean-points{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .reservation-page--friendly .reservation-table-card-grid{
    grid-template-columns:1fr!important;
  }
  .reservation-page--friendly .reservation-table-card-option{
    min-height:108px!important;
  }
}

/* FarshidBonab v3.4.3 - reservation hero outside the form and compact guest details */
.reservation-page--v343{
  background:
    radial-gradient(circle at 18% 2%,rgba(232,191,119,.10),transparent 30%),
    linear-gradient(180deg,#100d0a 0%,#15110e 44%,#0d0b09 100%)!important;
}
.reservation-page--v343 .reservation-page-hero--full{
  min-height:clamp(520px,70svh,740px)!important;
  display:flex!important;
  align-items:center!important;
  padding:clamp(120px,14vh,158px) 0 clamp(56px,8vh,88px)!important;
  border-bottom:1px solid rgba(232,191,119,.16)!important;
  background:
    linear-gradient(90deg,rgba(10,8,6,.96),rgba(13,10,7,.82) 48%,rgba(12,9,6,.64)),
    url('../img/interior-dining.webp') center/cover no-repeat!important;
}
.reservation-page--v343 .reservation-page-hero--full::before{
  opacity:.95!important;
  background:rgba(198,138,62,.18)!important;
}
.reservation-page--v343 .reservation-page-hero--full::after{
  opacity:.9!important;
}
.reservation-page--v343 .reservation-page-hero--full .container{
  width:min(1220px,calc(100% - 40px))!important;
}
.reservation-page--v343 .reservation-hero-grid{
  grid-template-columns:minmax(0,1.14fr) minmax(300px,.72fr)!important;
  gap:clamp(24px,4vw,50px)!important;
}
.reservation-page--v343 .reservation-hero-copy{
  max-width:780px!important;
}
.reservation-page--v343 .reservation-hero-copy h1{
  margin-bottom:16px!important;
}
.reservation-page--v343 .reservation-hero-copy p{
  max-width:740px!important;
  margin-bottom:18px!important;
}
.reservation-page--v343 .reservation-hero-points{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin:0 0 26px!important;
}
.reservation-page--v343 .reservation-hero-points span{
  width:auto!important;
  min-height:38px!important;
  padding:7px 13px!important;
  border-radius:999px!important;
  border-color:rgba(232,191,119,.20)!important;
  background:rgba(255,255,255,.045)!important;
  color:#f7e4c1!important;
  backdrop-filter:blur(10px);
}
.reservation-page--v343 .reservation-hero-actions{
  margin-top:0!important;
}
.reservation-page--v343 .reservation-hero-panel{
  align-self:center!important;
  min-height:0!important;
}
.reservation-page--v343 .reservation-hero-steps{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:16px;
}
.reservation-page--v343 .reservation-hero-steps span{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:8px 10px;
  border-radius:14px;
  color:#eadcc5;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(232,191,119,.12);
  font-size:12px;
  font-weight:900;
}
.reservation-page--v343 .reservation-form-shell{
  min-height:auto!important;
  display:block!important;
  align-items:initial!important;
  padding:58px 0 76px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 72% 0,rgba(232,191,119,.09),transparent 34%),
    linear-gradient(180deg,#15110e,#0e0c0a 72%)!important;
}
.reservation-page--v343 .reservation-form-shell::before,
.reservation-page--v343 .reservation-form-shell::after{
  display:none!important;
}
.reservation-page--v343 .reservation-form-container{
  display:block!important;
  width:min(940px,calc(100% - 34px))!important;
  max-width:none!important;
  margin-inline:auto!important;
}
.reservation-page--v343 .reservation-wizard-card.reservation-card{
  padding:clamp(16px,2.2vw,26px)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 86% 0,rgba(232,191,119,.08),transparent 32%),
    linear-gradient(145deg,rgba(27,22,17,.92),rgba(12,10,8,.94))!important;
  box-shadow:0 26px 76px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.reservation-page--v343 .reservation-wizard-progress{
  gap:8px!important;
  margin-bottom:16px!important;
}
.reservation-page--v343 .reservation-wizard-progress button{
  min-height:48px!important;
  border-radius:16px!important;
  padding:7px 9px!important;
}
.reservation-page--v343 .reservation-wizard-progress button b{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  font-size:13px!important;
}
.reservation-page--v343 .reservation-step-panel.is-active{
  gap:16px!important;
}
.reservation-page--v343 .reservation-step-title{
  max-width:none!important;
  margin:0!important;
  gap:6px!important;
}
.reservation-page--v343 .reservation-step-title h2{
  font-size:clamp(22px,2.6vw,32px)!important;
  line-height:1.45!important;
}
.reservation-page--v343 .reservation-step-title p{
  max-width:720px!important;
  font-size:14px!important;
  line-height:1.9!important;
}
.reservation-page--v343 [data-reservation-panel="1"] .reservation-step-title{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:3px 12px!important;
  text-align:right!important;
}
.reservation-page--v343 [data-reservation-panel="1"] .reservation-step-title strong{
  grid-row:1/3!important;
  align-self:center!important;
  justify-self:start!important;
}
.reservation-page--v343 [data-reservation-panel="1"] .reservation-step-title h2,
.reservation-page--v343 [data-reservation-panel="1"] .reservation-step-title p{
  margin:0!important;
}
.reservation-page--v343 .reservation-guest-form-card{
  gap:12px!important;
  padding:14px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 96% 0,rgba(232,191,119,.08),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.040),rgba(255,255,255,.012))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 38px rgba(0,0,0,.12)!important;
}
.reservation-page--v343 .reservation-guest-form-card .reservation-fields-grid{
  display:grid!important;
  grid-template-columns:minmax(210px,1.08fr) minmax(190px,.92fr) minmax(190px,.82fr)!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.reservation-page--v343 .reservation-guest-form-card .reservation-field--wide{
  grid-column:auto!important;
}
.reservation-page--v343 .reservation-guest-form-card .reservation-fields-grid label{
  min-height:0!important;
  padding:10px 12px 11px!important;
  gap:6px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))!important;
}
.reservation-page--v343 .reservation-guest-form-card .reservation-fields-grid label::after{
  left:12px!important;
  top:10px!important;
  min-width:30px!important;
  height:30px!important;
  border-radius:12px!important;
  font-size:10px!important;
  box-shadow:0 8px 18px rgba(198,138,62,.14),inset 0 1px 0 rgba(255,255,255,.34)!important;
}
.reservation-page--v343 .reservation-guest-form-card label span{
  font-size:12.5px!important;
}
.reservation-page--v343 .reservation-guest-form-card input,
.reservation-page--v343 .reservation-guest-form-card select{
  min-height:46px!important;
  border-radius:14px!important;
  padding:0 12px!important;
  font-size:14px!important;
}
.reservation-page--v343 .reservation-large-party-note{
  padding:11px 13px!important;
  border-radius:16px!important;
  font-size:12.5px!important;
}
.reservation-page--v343 .reservation-step-actions{
  margin-top:0!important;
  gap:10px!important;
}
@media(max-width:980px){
  .reservation-page--v343 .reservation-page-hero--full{
    min-height:auto!important;
  }
  .reservation-page--v343 .reservation-hero-grid{
    grid-template-columns:1fr!important;
  }
  .reservation-page--v343 .reservation-hero-panel{
    max-width:560px!important;
  }
}
@media(max-width:820px){
  .reservation-page--v343 .reservation-page-hero--full{
    padding:106px 0 48px!important;
  }
  .reservation-page--v343 .reservation-form-shell{
    padding:34px 0 56px!important;
  }
  .reservation-page--v343 .reservation-form-container{
    width:min(100% - 22px,760px)!important;
  }
  .reservation-page--v343 .reservation-wizard-card.reservation-card{
    padding:14px!important;
    border-radius:24px!important;
  }
  .reservation-page--v343 .reservation-wizard-progress{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .reservation-page--v343 .reservation-guest-form-card .reservation-fields-grid{
    grid-template-columns:1fr!important;
  }
  .reservation-page--v343 .reservation-guest-form-card .reservation-field--wide{
    grid-column:1/-1!important;
  }
  .reservation-page--v343 [data-reservation-panel="1"] .reservation-step-title{
    grid-template-columns:1fr!important;
  }
  .reservation-page--v343 [data-reservation-panel="1"] .reservation-step-title strong{
    grid-row:auto!important;
  }
}
@media(max-width:480px){
  .reservation-page--v343 .reservation-page-hero--full .container{
    width:min(100% - 24px,100%)!important;
  }
  .reservation-page--v343 .reservation-hero-points{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .reservation-page--v343 .reservation-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .reservation-page--v343 .reservation-hero-actions .btn{
    width:100%!important;
    justify-content:center!important;
  }
  .reservation-page--v343 .reservation-hero-steps{
    grid-template-columns:1fr!important;
  }
}

/* FarshidBonab v3.4.4 - compact reservation hero, cleaner fields, readable select, better dates and smaller table cards */
.reservation-page--v344 .reservation-page-hero--full{
  min-height:clamp(360px,48svh,520px)!important;
  padding:clamp(92px,9.5vh,118px) 0 clamp(30px,5vh,50px)!important;
}
.reservation-page--v344 .reservation-hero-grid{
  gap:clamp(18px,3vw,34px)!important;
  align-items:center!important;
}
.reservation-page--v344 .reservation-hero-copy h1{
  font-size:clamp(30px,4.2vw,52px)!important;
  line-height:1.32!important;
  margin-bottom:10px!important;
}
.reservation-page--v344 .reservation-hero-copy p{
  max-width:700px!important;
  margin-bottom:12px!important;
  font-size:clamp(14px,1.35vw,16px)!important;
  line-height:1.9!important;
}
.reservation-page--v344 .reservation-hero-points{
  gap:8px!important;
  margin-bottom:16px!important;
}
.reservation-page--v344 .reservation-hero-points span{
  min-height:34px!important;
  padding:6px 11px!important;
  font-size:12px!important;
}
.reservation-page--v344 .reservation-hero-actions .btn{
  min-height:46px!important;
  border-radius:15px!important;
  padding-inline:20px!important;
}
.reservation-page--v344 .reservation-hero-panel{
  padding:18px!important;
  border-radius:24px!important;
}
.reservation-page--v344 .reservation-hero-panel .menu-hero-stat,
.reservation-page--v344 .reservation-hero-panel .reservation-hero-steps{
  margin-top:10px!important;
}
.reservation-page--v344 .reservation-hero-panel .menu-hero-stat strong{
  font-size:38px!important;
}
.reservation-page--v344 .reservation-hero-panel p{
  font-size:12px!important;
  line-height:1.8!important;
}
.reservation-page--v344 .reservation-hero-steps{
  gap:7px!important;
}
.reservation-page--v344 .reservation-hero-steps span{
  min-height:32px!important;
  padding:6px 9px!important;
  border-radius:12px!important;
  font-size:11px!important;
}
.reservation-page--v344 .reservation-form-shell{
  padding-top:42px!important;
}

.reservation-page--v344 .reservation-guest-form-card{
  padding:12px!important;
  border-radius:20px!important;
}
.reservation-page--v344 .reservation-guest-form-card .reservation-fields-grid{
  grid-template-columns:minmax(190px,1fr) minmax(180px,.92fr) minmax(180px,.82fr)!important;
  gap:9px!important;
}
.reservation-page--v344 .reservation-guest-form-card .reservation-fields-grid label{
  padding:9px 10px!important;
  gap:5px!important;
  border-radius:16px!important;
}
.reservation-page--v344 .reservation-guest-form-card .reservation-fields-grid label::after{
  content:none!important;
  display:none!important;
}
.reservation-page--v344 .reservation-guest-form-card label span{
  font-size:12px!important;
}
.reservation-page--v344 .reservation-guest-form-card input,
.reservation-page--v344 .reservation-guest-form-card select{
  min-height:44px!important;
  border-radius:13px!important;
  padding:0 11px!important;
  color:#fff7df!important;
  background:#15100c!important;
  border-color:rgba(232,191,119,.24)!important;
}
.reservation-page--v344 .reservation-guest-form-card select{
  color:#fff1c7!important;
  background-color:#15100c!important;
  color-scheme:dark;
}
.reservation-page--v344 .reservation-guest-form-card select option,
.reservation-page--v344 #reservationGuests option{
  color:#fff4d6!important;
  background:#17110d!important;
}
.reservation-page--v344 #reservationGuests option[value=""]{
  color:#d9c7aa!important;
}

.reservation-page--v344 [data-reservation-panel="2"].reservation-step-panel.is-active{
  gap:14px!important;
}
.reservation-page--v344 [data-reservation-panel="2"] .reservation-choice-block{
  padding:14px!important;
  border-radius:20px!important;
}
.reservation-page--v344 [data-reservation-panel="2"] .reservation-choice-block h3{
  margin-bottom:2px!important;
}
.reservation-page--v344 .jalali-date-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(106px,1fr))!important;
  gap:8px!important;
  justify-content:stretch!important;
}
.reservation-page--v344 .jalali-date-grid .reserve-option{
  min-height:88px!important;
  max-width:none!important;
  padding:10px 8px!important;
  border-radius:16px!important;
}
.reservation-page--v344 .jalali-date-grid .reserve-option .day-name{
  font-size:11px!important;
}
.reservation-page--v344 .jalali-date-grid .reserve-option .day-number{
  font-size:clamp(21px,2.1vw,28px)!important;
  line-height:1.1!important;
}
.reservation-page--v344 .jalali-date-grid .reserve-option .month-name{
  font-size:11px!important;
}
.reservation-page--v344 .jalali-date-grid .reserve-option small{
  min-height:21px!important;
  margin-top:5px!important;
  padding:2px 7px!important;
  font-size:10px!important;
}
.reservation-page--v344 .jalali-date-grid .reserve-option.is-selected{
  color:#fff6dd!important;
  border-color:rgba(232,191,119,.82)!important;
  background:linear-gradient(145deg,rgba(232,191,119,.22),rgba(198,138,62,.07))!important;
}
.reservation-page--v344 .time-slot-grid{
  gap:8px!important;
}
.reservation-page--v344 .time-slot-grid .time-slot{
  min-height:58px!important;
  border-radius:15px!important;
  padding:9px 10px!important;
}

.reservation-page--v344 .reservation-table-card-groups{
  gap:10px!important;
  margin-top:2px!important;
}
.reservation-page--v344 .reservation-table-card-section{
  gap:8px!important;
  padding:10px!important;
  border-radius:18px!important;
}
.reservation-page--v344 .reservation-table-card-head{
  padding-bottom:6px!important;
  gap:8px!important;
}
.reservation-page--v344 .reservation-table-card-head strong{
  font-size:14px!important;
}
.reservation-page--v344 .reservation-table-card-head span{
  font-size:11px!important;
  line-height:1.55!important;
}
.reservation-page--v344 .reservation-table-card-head em{
  padding:4px 8px!important;
  font-size:10px!important;
}
.reservation-page--v344 .reservation-table-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;
  gap:7px!important;
}
.reservation-page--v344 .reservation-table-card-option{
  min-height:78px!important;
  gap:3px!important;
  padding:9px 9px 8px!important;
  border-radius:15px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.reservation-page--v344 .reservation-table-card-option::before{
  left:8px!important;
  top:8px!important;
  min-width:28px!important;
  height:28px!important;
  border-radius:11px!important;
  font-size:12px!important;
}
.reservation-page--v344 .reservation-table-card-option small{
  max-width:calc(100% - 38px)!important;
  margin-left:38px!important;
  padding:2px 7px!important;
  font-size:9.5px!important;
}
.reservation-page--v344 .reservation-table-card-option strong{
  padding-left:38px!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.reservation-page--v344 .reservation-table-card-option > span{
  font-size:10.5px!important;
}
.reservation-page--v344 .reservation-table-card-option em{
  padding:3px 7px!important;
  font-size:9.5px!important;
}

@media(max-width:980px){
  .reservation-page--v344 .reservation-page-hero--full{
    min-height:auto!important;
    padding:100px 0 38px!important;
  }
  .reservation-page--v344 .reservation-hero-panel{
    display:none!important;
  }
}
@media(max-width:820px){
  .reservation-page--v344 .reservation-page-hero--full{
    padding:92px 0 32px!important;
  }
  .reservation-page--v344 .reservation-form-shell{
    padding-top:28px!important;
  }
  .reservation-page--v344 .reservation-guest-form-card .reservation-fields-grid{
    grid-template-columns:1fr!important;
  }
  .reservation-page--v344 .jalali-date-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    padding:2px 2px 8px!important;
    scroll-snap-type:x mandatory!important;
  }
  .reservation-page--v344 .jalali-date-grid .reserve-option{
    flex:0 0 112px!important;
    scroll-snap-align:start!important;
  }
  .reservation-page--v344 .reservation-table-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .reservation-page--v344 .reservation-hero-copy p{
    font-size:13.5px!important;
    line-height:1.85!important;
  }
  .reservation-page--v344 .reservation-hero-points{
    display:none!important;
  }
  .reservation-page--v344 [data-reservation-panel="2"] .reservation-choice-block{
    padding:11px!important;
  }
  .reservation-page--v344 .reservation-table-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .reservation-page--v344 .reservation-table-card-option{
    min-height:72px!important;
    padding:8px!important;
  }
}
@media(max-width:390px){
  .reservation-page--v344 .reservation-table-card-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .reservation-page--v344 .reservation-table-card-option strong{
    font-size:12.5px!important;
  }
}

/* FarshidBonab v3.4.5 - mobile app pages and responsive draggable reservation map */
@media(max-width:820px){
  .menu-page--list .fb-menu-hero,
  .gallery-page > .menu-hero-page,
  .reservation-page .reservation-page-hero{
    display:none!important;
  }

  .menu-page--list,
  .gallery-page{
    padding-top:calc(max(8px,env(safe-area-inset-top,0px)) + 78px)!important;
  }

  .menu-page--list .menu-category-nav--smart{
    top:calc(max(8px,env(safe-area-inset-top,0px)) + 74px)!important;
    margin-top:0!important;
  }

  .menu-page--list .menu-list-section,
  .gallery-page .gallery-page-section{
    padding-top:16px!important;
  }

  .menu-page--list .fb-menu-hero-card__badge,
  .menu-page--list .stock-badge:not(.stock-badge-out){
    display:none!important;
  }


  .reservation-page--wizard .reservation-form-shell,
  .reservation-page--clean .reservation-form-shell,
  .reservation-page--linear .reservation-form-shell,
  .reservation-page--friendly .reservation-form-shell,
  .reservation-page--v343 .reservation-form-shell,
  .reservation-page--v344 .reservation-form-shell{
    padding-top:calc(max(8px,env(safe-area-inset-top,0px)) + 88px)!important;
  }

  .reservation-page .reservation-table-map{
    margin-top:10px!important;
  }

  .reservation-page .reservation-floor-block{
    padding:12px!important;
    border-radius:24px!important;
  }

  .reservation-page .reservation-floor-stage-scroll{
    max-height:min(66svh,640px);
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-x pan-y;
    cursor:grab;
    user-select:none;
    scroll-behavior:smooth;
    border-radius:22px!important;
  }

  .reservation-page .reservation-floor-stage-scroll.is-dragging{
    cursor:grabbing;
    scroll-behavior:auto;
  }

  .reservation-page .reservation-floor-stage-scroll::after{
    content:"نقشه را برای مشاهده کامل به اطراف بکشید";
    position:sticky;
    right:12px;
    bottom:12px;
    z-index:12;
    display:inline-flex;
    width:max-content;
    max-width:calc(100% - 24px);
    margin-top:-42px;
    padding:7px 10px;
    border:1px solid rgba(232,191,119,.22);
    border-radius:999px;
    background:rgba(10,8,6,.78);
    color:#ffe3aa;
    font-size:11px;
    font-weight:900;
    line-height:1.6;
    pointer-events:none;
    backdrop-filter:blur(12px);
  }

  .reservation-page--wizard .reservation-floor-stage,
  .reservation-page .reservation-floor-stage{
    width:100%!important;
    min-width:980px!important;
    min-height:560px!important;
    aspect-ratio:16/9!important;
  }
}

@media(max-width:560px){
  .menu-page--list,
  .gallery-page{
    padding-top:calc(max(8px,env(safe-area-inset-top,0px)) + 74px)!important;
  }

  .menu-page--list .menu-category-scroll{
    width:calc(100% - 20px)!important;
  }

  .reservation-page--wizard .reservation-form-shell,
  .reservation-page--clean .reservation-form-shell,
  .reservation-page--linear .reservation-form-shell,
  .reservation-page--friendly .reservation-form-shell,
  .reservation-page--v343 .reservation-form-shell,
  .reservation-page--v344 .reservation-form-shell{
    padding-top:calc(max(8px,env(safe-area-inset-top,0px)) + 78px)!important;
  }

  .reservation-page .reservation-floor-stage-scroll{
    max-height:62svh;
    border-radius:20px!important;
  }

  .reservation-page--wizard .reservation-floor-stage,
  .reservation-page .reservation-floor-stage{
    min-width:920px!important;
    min-height:540px!important;
  }

  .reservation-page .reservation-map-toolbar span{
    padding:6px 8px!important;
    font-size:10px!important;
  }
}


/* Online ordering module: direct orders, delivery fee and map picker */
.direct-ordering-enabled .fb-menu-order-btn,.direct-ordering-enabled .menu-item-add-to-cart{box-shadow:0 12px 28px rgba(198,138,62,.20)}
.checkout-service-box{display:grid;gap:10px;margin:4px 0 2px;padding:14px;border:1px solid rgba(232,191,119,.18);border-radius:18px;background:linear-gradient(180deg,rgba(198,138,62,.08),rgba(255,255,255,.025))}
.checkout-service-box>strong,.checkout-payment-head strong{color:var(--gold-2);font-size:14px}.checkout-service-options{display:grid;gap:9px}.checkout-service-option{position:relative;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;border:1px solid var(--line-soft);border-radius:15px;background:rgba(0,0,0,.16);cursor:pointer;transition:.25s ease}.checkout-service-option:hover,.checkout-service-option:has(input:checked){border-color:rgba(232,191,119,.48);background:linear-gradient(135deg,rgba(198,138,62,.16),rgba(255,255,255,.035));box-shadow:0 14px 34px rgba(0,0,0,.18)}.checkout-service-option input{margin-top:5px;accent-color:var(--gold)}.checkout-service-option span{display:grid;gap:3px}.checkout-service-option b{color:#fff;font-size:13px}.checkout-service-option small,.checkout-service-note{color:var(--muted);line-height:1.8;font-size:11px}.checkout-service-note{margin:0}.checkout-delivery-fields{display:grid;gap:10px}.checkout-delivery-fields[hidden]{display:none!important}.checkout-delivery-fields textarea{min-height:86px}.saved-address-select{min-height:44px;border-radius:13px;border:1px solid var(--line-soft);background:rgba(0,0,0,.18);color:#fff;padding:0 12px}.delivery-map-card{display:grid;gap:9px;border:1px solid rgba(232,191,119,.16);border-radius:16px;padding:12px;background:rgba(0,0,0,.12)}.delivery-map-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.delivery-map-head strong{color:#fff;font-size:13px}.delivery-map-head small{color:var(--muted);font-size:11px}.delivery-map-picker{height:230px;border-radius:15px;overflow:hidden;border:1px solid rgba(255,255,255,.11);background:radial-gradient(circle at 32% 34%,rgba(198,138,62,.28),transparent 18%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));display:grid;place-items:center;color:var(--muted);font-size:12px}.delivery-map-picker .leaflet-control-attribution{font-size:9px}.delivery-map-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.delivery-map-actions .btn{padding:10px 14px}.delivery-map-actions small{color:#d8ccb8;direction:ltr;text-align:left}.cart-total--subtotal{border-top:1px solid rgba(255,255,255,.08);margin-top:2px}.cart-total--delivery{color:#d7c5a5}.cart-total--delivery[hidden]{display:none!important}.cart-total--final strong{color:var(--gold-2);font-size:18px}.checkout-payment-head{display:grid;gap:4px}.checkout-payment-head small{font-size:11px;line-height:1.8;color:var(--muted)}.checkout-payment-option{position:relative;grid-template-columns:auto auto 1fr!important;padding:13px 12px!important}.checkout-payment-option:has(input:checked){border-color:rgba(232,191,119,.58);background:linear-gradient(135deg,rgba(198,138,62,.18),rgba(34,197,94,.07));box-shadow:0 14px 34px rgba(0,0,0,.18)}.checkout-payment-option__icon{width:36px;height:36px;border-radius:13px;display:grid!important;place-items:center;background:rgba(198,138,62,.14);border:1px solid rgba(232,191,119,.22);font-size:18px}.checkout-payment-option__body{display:grid;gap:3px}.checkout-payment-option em{position:absolute;left:10px;top:10px;font-style:normal;font-size:10px;color:#17110a;background:linear-gradient(135deg,#f0d39b,#c68a3e);border-radius:999px;padding:4px 8px;font-weight:900}.checkout-payment-option--zibal{background:radial-gradient(circle at left top,rgba(34,197,94,.12),transparent 42%),linear-gradient(135deg,rgba(198,138,62,.12),rgba(255,255,255,.025))!important}@media(max-width:760px){.delivery-map-picker{height:205px}.checkout-payment-option em{position:static;justify-self:start;grid-column:2 / -1}.delivery-map-head{display:grid}.checkout-service-option,.checkout-payment-option{border-radius:14px}}

/* Online ordering UX v2: SnappFood/Delino-style plus buttons and easy cart */
body.online-cart-enabled .add-to-cart,
body.direct-ordering-enabled .add-to-cart,
body.table-ordering-enabled .add-to-cart{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
}
body.online-cart-enabled .cart-btn,
body.direct-ordering-enabled .cart-btn,
body.table-ordering-enabled .cart-btn{
  display:grid!important;
}
body.online-cart-enabled .fb-menu-preview-cart,
body.direct-ordering-enabled .fb-menu-preview-cart,
body.table-ordering-enabled .fb-menu-preview-cart{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.fb-menu-plus-btn,
.fb-menu-order-btn.fb-menu-plus-btn,
.menu-item-add-to-cart.fb-menu-plus-btn{
  min-height:42px!important;
  border-radius:999px!important;
  padding:7px 10px 7px 14px!important;
  border:1px solid rgba(232,191,119,.58)!important;
  background:linear-gradient(135deg,rgba(232,191,119,.95),rgba(198,138,62,.88))!important;
  color:#17100a!important;
  box-shadow:0 14px 30px rgba(198,138,62,.24),inset 0 1px 0 rgba(255,255,255,.25)!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.fb-menu-plus-btn:hover,
.fb-menu-plus-btn:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 20px 38px rgba(198,138,62,.32),0 0 0 4px rgba(232,191,119,.12)!important;
}
.fb-menu-plus-btn.is-disabled,
.fb-menu-plus-btn:disabled{
  background:rgba(255,255,255,.08)!important;
  color:var(--muted)!important;
  border-color:var(--line-soft)!important;
  box-shadow:none!important;
}
.fb-menu-order-btn__plus{
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#17100a;
  color:#ffe6ad;
  font-size:22px;
  font-weight:950;
  line-height:1;
  margin-inline-start:-2px;
}
.fb-menu-order-btn__text{font-size:13px;letter-spacing:-.02em}
.fb-menu-order-btn__qty{
  min-width:24px;
  height:24px;
  border-radius:999px;
  display:none;
  place-items:center;
  padding-inline:7px;
  background:rgba(23,16,10,.16);
  color:#120d08;
  font-weight:950;
  font-size:12px;
  border:1px solid rgba(23,16,10,.16);
}
.fb-menu-plus-btn.has-qty .fb-menu-order-btn__qty{display:grid}
.fb-menu-plus-btn.has-qty{
  background:linear-gradient(135deg,#91e7ac,#e8bf77)!important;
  border-color:rgba(145,231,172,.55)!important;
}
.dish-card.is-in-cart{
  border-color:rgba(145,231,172,.42)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.25),0 0 0 1px rgba(145,231,172,.10)!important;
}
.dish-card.is-in-cart .fb-menu-price{color:#bdf7cd!important}
.dish-card.cart-pulse{animation:fbCartPulse .42s ease both}
@keyframes fbCartPulse{0%{transform:scale(1)}45%{transform:scale(1.018)}100%{transform:scale(1)}}

.cart-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cart-head{margin-bottom:0!important}
.cart-items{
  gap:10px!important;
}
.empty-cart{
  display:grid;
  gap:8px;
  justify-items:center;
  padding:34px 12px!important;
  border:1px dashed rgba(232,191,119,.22);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.empty-cart strong{color:#fff;font-size:15px}
.empty-cart span{color:var(--muted);font-size:13px;line-height:1.8}
.cart-row{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  border-radius:16px!important;
  padding:12px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
  border-color:rgba(232,191,119,.14)!important;
}
.cart-row__main{min-width:0;display:grid;gap:5px}
.cart-row__main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.cart-row__main span{font-size:12px!important;color:#d9c7a9!important}
.cart-qty-control{
  display:inline-grid;
  grid-template-columns:32px minmax(28px,auto) 32px;
  align-items:center;
  border:1px solid rgba(232,191,119,.22);
  border-radius:999px;
  background:rgba(12,9,7,.55);
  overflow:hidden;
}
.cart-qty-control b{
  color:#fff8dc;
  text-align:center;
  font-size:13px;
  min-width:28px;
}
.cart-qty-btn{
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  color:#ffe0a0;
  font-size:20px;
  font-weight:950;
  cursor:pointer;
}
.cart-qty-btn:hover{background:rgba(232,191,119,.13)}
.remove-item{
  width:32px;
  height:32px;
  border-radius:50%!important;
  border:1px solid rgba(255,146,120,.18)!important;
  background:rgba(255,146,120,.08)!important;
  color:#ffbea9!important;
  display:grid;
  place-items:center;
  font-size:20px!important;
  line-height:1;
}
.cart-total{
  margin:4px 0!important;
  padding-top:12px!important;
}
.checkout-form > .btn[type="submit"]{
  position:sticky;
  bottom:0;
  z-index:2;
  min-height:52px;
  border-radius:17px;
  box-shadow:0 -12px 34px rgba(20,18,15,.62),0 16px 32px rgba(198,138,62,.22);
}
.cart-mini-bar{
  position:fixed;
  right:50%;
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  transform:translateX(50%) translateY(24px);
  z-index:2300;
  width:min(520px,calc(100% - 28px));
  min-height:58px;
  border:1px solid rgba(232,191,119,.36);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(22,18,13,.96),rgba(45,31,18,.96));
  color:#fff;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  box-shadow:0 18px 58px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.045) inset;
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
}
.cart-mini-bar[hidden]{display:grid!important;visibility:hidden}
.cart-mini-bar.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(50%) translateY(0);
  visibility:visible;
}
.cart-mini-bar__count,
.cart-mini-bar__total{
  border-radius:999px;
  background:rgba(232,191,119,.13);
  color:#ffe6b6;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.cart-mini-bar__count b{font-size:15px;color:#fff}
.cart-mini-bar strong{
  color:#fff;
  font-size:14px;
  text-align:center;
  line-height:1.7;
}
.cart-mini-bar__total{direction:rtl;color:#c9ffd7;background:rgba(86,211,126,.12)}
@media(min-width:761px){
  .cart-mini-bar{bottom:24px}
}
@media(max-width:760px){
  body.online-cart-enabled,
  body.direct-ordering-enabled,
  body.table-ordering-enabled{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .fb-menu-actions{align-items:flex-end!important}
  .fb-menu-buttons{justify-content:flex-start!important;width:100%}
  .fb-menu-plus-btn,
  .fb-menu-order-btn.fb-menu-plus-btn{min-height:40px!important;padding:7px 9px 7px 12px!important}
  .fb-menu-order-btn__plus{width:25px;height:25px;font-size:21px}
  .cart-panel{width:100%!important;max-width:none;padding:18px 14px 96px!important;border-radius:24px 24px 0 0!important;height:92svh;margin-top:auto;transform:translateY(105%)!important;border-right:0!important;border-top:1px solid var(--line)!important}
  .cart-drawer{align-items:flex-end;justify-content:center!important}
  .cart-drawer.open .cart-panel{transform:translateY(0)!important}
  .cart-row{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"main qty" "remove qty";align-items:center!important}
  .cart-row__main{grid-area:main}.cart-qty-control{grid-area:qty}.remove-item{grid-area:remove;width:auto!important;border-radius:999px!important;padding:0 10px;font-size:13px!important;height:28px!important}.remove-item::after{content:" حذف";font-size:12px;margin-right:2px}
  .cart-mini-bar{bottom:calc(78px + env(safe-area-inset-bottom,0px));grid-template-columns:auto 1fr;min-height:60px;border-radius:18px}
  .cart-mini-bar__total{grid-column:1 / -1;justify-self:center;margin-top:-4px;padding:3px 10px;font-size:11px}
}
@media(max-width:420px){
  .cart-mini-bar{width:calc(100% - 18px);padding:9px}
  .cart-mini-bar strong{font-size:13px}
  .cart-mini-bar__count{padding:6px 8px;font-size:11px}
  .fb-menu-order-btn__text{font-size:12px}
  .fb-menu-order-btn__qty{min-width:22px;height:22px;font-size:11px}
}

/* Customer-first checkout UX v4.0.2 */
.cart-auth-required-card,
.checkout-customer-card,
.checkout-address-card,
.checkout-payment-box--cards,
.profile-status-card{
  border:1px solid rgba(232,191,119,.20);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(198,138,62,.11),rgba(255,255,255,.035));
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
.cart-auth-required-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  padding:16px;
  margin:12px 0;
}
.cart-auth-required-card__icon,
.checkout-customer-card__avatar{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(232,191,119,.15);
  border:1px solid rgba(232,191,119,.24);
  font-size:20px;
}
.cart-auth-required-card strong,
.checkout-customer-card strong,
.checkout-address-card__head strong,
.profile-status-card strong{color:#fff;font-size:14px}
.cart-auth-required-card p,
.checkout-customer-card small,
.checkout-address-card__head small,
.profile-status-card span{margin:4px 0 0;color:var(--muted);line-height:1.85;font-size:12px}
.cart-auth-required-card__actions{grid-column:1 / -1;display:flex;gap:9px;flex-wrap:wrap}.cart-auth-required-card__actions .btn{flex:1 1 130px;justify-content:center}
.checkout-form--member{gap:12px!important}.checkout-customer-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px}.checkout-customer-card.needs-profile{border-color:rgba(248,113,113,.35);background:linear-gradient(145deg,rgba(248,113,113,.09),rgba(198,138,62,.08))}.checkout-customer-card a{color:var(--gold-2);font-size:12px;font-weight:800}.checkout-customer-card .btn{padding:9px 12px;font-size:12px}
.checkout-address-card{display:grid;gap:12px;padding:14px}.checkout-address-card__head{display:flex;justify-content:space-between;gap:12px;align-items:start}.checkout-address-card__head em{font-style:normal;color:#24170b;background:linear-gradient(135deg,#f2d79f,#c68a3e);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;white-space:nowrap}.checkout-saved-address{display:grid;gap:6px}.checkout-saved-address span,.checkout-address-grid span,.checkout-address-full span,.checkout-profile-form span,.account-profile-form span{color:#ead6b0;font-size:12px;font-weight:800}.checkout-address-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px}.checkout-address-grid label,.checkout-address-full,.checkout-profile-form label,.account-profile-form label{display:grid;gap:6px}.checkout-address-grid input,.checkout-address-full textarea,.checkout-profile-form input,.account-profile-form input{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(0,0,0,.20);color:#fff;padding:12px 13px;outline:none;transition:.2s ease}.checkout-address-grid input:focus,.checkout-address-full textarea:focus,.saved-address-select:focus,.checkout-profile-form input:focus,.account-profile-form input:focus{border-color:rgba(232,191,119,.55);box-shadow:0 0 0 3px rgba(198,138,62,.12)}.checkout-address-full textarea{min-height:92px;resize:vertical}.saved-address-select{width:100%;min-height:46px}.checkout-payment-box--cards{display:grid;gap:12px;padding:14px;margin-top:2px}.checkout-payment-box--cards .checkout-payment-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.checkout-payment-box--cards .checkout-payment-head span{font-size:10px;font-weight:900;color:#2a1a0d;background:linear-gradient(135deg,#f0d39b,#c68a3e);border-radius:999px;padding:5px 9px;white-space:nowrap}.checkout-payment-options--cards{display:grid;gap:10px}.checkout-payment-card{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;align-items:center;gap:10px!important;padding:14px!important;border-radius:17px!important}.checkout-payment-card input{position:absolute;opacity:0;pointer-events:none}.checkout-payment-card__radio{width:22px;height:22px;border-radius:50%;border:2px solid rgba(232,191,119,.45);box-shadow:inset 0 0 0 4px rgba(0,0,0,.25);transition:.2s ease}.checkout-payment-card:has(input:checked) .checkout-payment-card__radio{background:var(--gold);border-color:#f2d79f;box-shadow:inset 0 0 0 5px rgba(30,18,8,.96),0 0 0 3px rgba(198,138,62,.16)}.checkout-payment-card .checkout-payment-option__icon{width:42px;height:42px}.checkout-payment-card em{position:static!important;justify-self:end;white-space:nowrap}.checkout-submit-btn{width:100%;min-height:52px;border-radius:17px!important;font-size:15px!important}.checkout-profile-modal__content{max-width:430px}.checkout-profile-modal__badge{display:inline-flex;border-radius:999px;padding:5px 10px;background:rgba(198,138,62,.15);border:1px solid rgba(232,191,119,.25);color:var(--gold-2);font-size:12px;font-weight:900}.checkout-profile-modal__content h2{margin:10px 0 6px;color:#fff}.checkout-profile-modal__content p{color:var(--muted);line-height:1.9}.checkout-profile-form{display:grid;gap:12px}.checkout-profile-modal__link{color:var(--gold-2);text-align:center;font-size:12px;font-weight:800}.account-profile-card{display:grid;gap:16px}.profile-status-card{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px}.profile-status-card em{font-style:normal;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;color:#22150a;background:linear-gradient(135deg,#f0d39b,#c68a3e)}.profile-status-card.needs-name em{background:linear-gradient(135deg,#fecaca,#f97316)}.account-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-profile-form small{color:var(--muted);line-height:1.7}.account-profile-actions{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap}.account-box--profile{background:linear-gradient(145deg,rgba(198,138,62,.20),rgba(255,255,255,.045))!important;border-color:rgba(232,191,119,.30)!important}
@media(max-width:760px){.cart-auth-required-card,.checkout-customer-card{grid-template-columns:1fr}.checkout-customer-card__avatar{display:none}.checkout-address-card__head,.checkout-payment-box--cards .checkout-payment-head,.profile-status-card{display:grid}.checkout-address-grid{grid-template-columns:1fr 1fr}.checkout-address-grid label:first-child{grid-column:1 / -1}.checkout-payment-card{grid-template-columns:auto auto 1fr!important}.checkout-payment-card em{grid-column:2 / -1;justify-self:start}.account-profile-form{grid-template-columns:1fr}.cart-auth-required-card__actions .btn{flex-basis:100%}}

/* FarshidBonab customer app panel v4.0.3 */
.account-app-page{background:radial-gradient(circle at top right,rgba(198,138,62,.11),transparent 36%),linear-gradient(180deg,rgba(10,9,8,.95),rgba(18,15,12,.98))}.account-app-shell{max-width:1180px;margin-inline:auto}.account-app-nav{position:sticky;top:86px;z-index:45;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(14,12,10,.76);box-shadow:0 18px 55px rgba(0,0,0,.26);backdrop-filter:blur(18px)}.account-app-nav a{display:grid;place-items:center;gap:5px;min-height:64px;text-decoration:none;color:#d7ccbb;border:1px solid transparent;border-radius:17px;transition:.22s ease}.account-app-nav a span{font-size:20px}.account-app-nav a strong{font-size:12px}.account-app-nav a:hover,.account-app-nav a.is-active{color:#fff;border-color:rgba(232,191,119,.34);background:linear-gradient(145deg,rgba(198,138,62,.20),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.account-app-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:stretch}.account-app-hero__copy,.account-readiness-card,.account-app-card,.account-app-head,.account-quick-card,.account-metrics-strip{border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(31,27,22,.96),rgba(15,14,12,.96));box-shadow:0 24px 70px rgba(0,0,0,.28)}.account-app-hero__copy{border-radius:30px;padding:34px;display:grid;align-content:center;gap:12px}.account-app-hero__copy h1{margin:0;color:#fff;font-size:clamp(25px,4vw,42px);line-height:1.45}.account-app-hero__copy p{margin:0;color:var(--muted);line-height:2}.account-app-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.account-readiness-card{border-radius:30px;padding:24px;display:grid;gap:15px}.account-readiness-card>strong{color:#fff;font-size:18px}.account-readiness-card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.account-readiness-card li{display:flex;align-items:center;gap:9px;color:#d8ccba;font-size:13px}.account-readiness-card li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:rgba(255,255,255,.08);color:#fff}.account-readiness-card li.done span{background:rgba(34,197,94,.17);color:#bbf7d0}.account-readiness-card li.todo span{background:rgba(249,115,22,.18);color:#fed7aa}.account-readiness-card a{justify-self:start;color:#201408;background:linear-gradient(135deg,#f2d79f,#c68a3e);border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:900}.account-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.account-quick-card{border-radius:22px;padding:18px;text-decoration:none;color:#fff;display:grid;gap:8px;min-height:132px;align-content:start}.account-quick-card span{font-size:27px}.account-quick-card strong{font-size:16px}.account-quick-card small{color:var(--muted);line-height:1.8}.account-quick-card--order{background:radial-gradient(circle at 10% 10%,rgba(232,191,119,.26),transparent 45%),linear-gradient(145deg,rgba(198,138,62,.21),rgba(31,27,22,.96))}.account-metrics-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-radius:24px;overflow:hidden;padding:0}.account-metrics-strip div{display:grid;gap:5px;padding:18px;background:rgba(255,255,255,.025)}.account-metrics-strip span{color:var(--muted);font-size:12px}.account-metrics-strip strong{color:var(--gold-2);font-size:20px}.account-app-panels{align-items:start}.account-order-timeline{display:grid;gap:10px}.account-order-timeline article{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:13px;background:rgba(255,255,255,.03)}.account-order-timeline strong,.account-mini-list strong{color:#fff}.account-order-timeline span,.account-mini-list span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.account-order-timeline em{font-style:normal;color:var(--gold-2);font-size:12px;background:rgba(198,138,62,.12);border-radius:999px;padding:5px 10px}.account-order-timeline b{color:#fff;white-space:nowrap}.account-empty-state{display:grid;place-items:center;text-align:center;gap:8px;padding:22px;border:1px dashed rgba(232,191,119,.24);border-radius:18px;background:rgba(198,138,62,.055)}.account-empty-state span{font-size:32px}.account-empty-state strong{color:#fff}.account-empty-state p{margin:0!important}.account-default-address-card{display:grid;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;background:rgba(255,255,255,.03)}.account-default-address-card div{display:flex;justify-content:space-between;gap:10px;align-items:center}.account-default-address-card strong{color:#fff}.account-default-address-card span{color:#bbf7d0;background:rgba(34,197,94,.12);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.account-default-address-card p{margin:0;color:var(--muted);line-height:1.9}.account-default-address-card small,.muted-text{color:var(--muted)}.account-mini-list{display:grid;gap:10px}.account-mini-list article,.account-review-summary{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;background:rgba(255,255,255,.03)}.account-review-summary{display:grid;place-items:center;text-align:center;gap:4px}.account-review-summary strong{color:var(--gold-2);font-size:34px}.account-review-summary span{color:#fff;font-weight:800}.account-review-summary small{color:var(--muted)}.account-small-badge{color:#25180c;background:linear-gradient(135deg,#f2d79f,#c68a3e);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}.account-app-head{border-radius:26px}.profile-upgrade-note{display:grid;gap:5px;border:1px solid rgba(249,115,22,.25);background:rgba(249,115,22,.09);border-radius:16px;padding:14px}.profile-upgrade-note strong{color:#fed7aa}.profile-upgrade-note span{color:var(--muted);font-size:12px;line-height:1.8}.account-profile-form--expanded{grid-template-columns:1fr;gap:18px}.account-profile-form--expanded fieldset{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.account-profile-form--expanded legend{padding:0 8px;color:var(--gold-2);font-weight:900}.account-profile-form--expanded .full{grid-column:1/-1}.account-profile-form--expanded select,.account-profile-form--expanded textarea,.address-form-grid--app input,.address-form-grid--app textarea{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(0,0,0,.20);color:#fff;padding:12px 13px;outline:none;font-family:inherit}.account-profile-form--expanded textarea,.address-form-grid--app textarea{min-height:94px;resize:vertical}.address-manager-card{overflow:hidden}.address-form-grid--app{grid-template-columns:repeat(3,minmax(0,1fr))}.address-form-grid--app .full{grid-column:1/-1}.address-map-box{border:1px solid rgba(232,191,119,.16);border-radius:20px;padding:14px;background:rgba(0,0,0,.13);display:grid;gap:12px}.address-map-box__head,.address-map-box__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.address-map-box__head strong{color:#fff}.address-map-box__head small,.address-map-box__foot small{display:block;color:var(--muted);font-size:12px;line-height:1.8}.address-profile-map{height:320px}.address-card-grid--app{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-address-card--app{position:relative;overflow:hidden}.saved-address-card--app.is-default{border-color:rgba(232,191,119,.36);background:radial-gradient(circle at left top,rgba(198,138,62,.16),transparent 42%),rgba(255,255,255,.035)}.saved-address-card__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.saved-address-card__top em{font-style:normal;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;white-space:nowrap}.saved-address-card__top em.has-map{color:#bbf7d0;background:rgba(34,197,94,.13)}.saved-address-card__top em.no-map{color:#fed7aa;background:rgba(249,115,22,.14)}.address-delivery-note{display:block;color:#d7c7ad;line-height:1.8}.address-map-link{color:var(--gold-2);font-size:12px;font-weight:800;text-decoration:none}.address-save-actions{display:flex;gap:10px;flex-wrap:wrap}.checkout-saved-address--cards{display:grid;gap:9px}.checkout-saved-address-list{display:grid;gap:8px;max-height:210px;overflow:auto;padding-inline-end:2px}.checkout-saved-address-card{width:100%;text-align:right;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(0,0,0,.15);color:#fff;padding:11px;display:grid;gap:4px;cursor:pointer;font-family:inherit;transition:.22s ease}.checkout-saved-address-card:hover,.checkout-saved-address-card.is-selected{border-color:rgba(232,191,119,.48);background:linear-gradient(135deg,rgba(198,138,62,.17),rgba(255,255,255,.035))}.checkout-saved-address-card strong{font-size:13px}.checkout-saved-address-card small{color:var(--muted);line-height:1.7}.checkout-saved-address-card em{justify-self:start;font-style:normal;color:#bbf7d0;font-size:10px;background:rgba(34,197,94,.11);border-radius:999px;padding:4px 8px}.checkout-add-address-link{color:var(--gold-2);font-size:12px;font-weight:800;text-decoration:none}.btn.secondary{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.10)}.btn.danger{background:rgba(239,68,68,.13);color:#fecaca;border:1px solid rgba(239,68,68,.28)}
@media(max-width:980px){.account-app-nav{grid-template-columns:repeat(3,minmax(0,1fr));position:static}.account-app-hero,.account-panels-grid{grid-template-columns:1fr}.account-quick-grid,.account-metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.address-form-grid--app,.address-card-grid--app,.account-profile-form--expanded fieldset{grid-template-columns:1fr}.address-profile-map{height:260px}}
@media(max-width:620px){.account-app-nav{display:flex;overflow:auto;scroll-snap-type:x mandatory;border-radius:18px}.account-app-nav a{min-width:94px;scroll-snap-align:start}.account-app-hero__copy,.account-readiness-card,.account-app-card,.account-app-head{border-radius:22px;padding:20px}.account-quick-grid,.account-metrics-strip{grid-template-columns:1fr}.account-order-timeline article{grid-template-columns:1fr}.account-order-timeline em{justify-self:start}.account-default-address-card div,.saved-address-card__top{display:grid}.address-map-box__head,.address-map-box__foot{display:grid}.address-save-actions .btn{width:100%}}

/* ===== FarshidBonab v4.1.7 - modular mobile menu and minimal bottom bar ===== */
.fb-menu-mobile-head{display:none}
.fb-menu-card-stepper{
  display:none;
  align-items:center;
  grid-template-columns:34px minmax(30px,auto) 34px;
  min-height:42px;
  overflow:hidden;
  border:1px solid rgba(232,191,119,.46);
  border-radius:999px;
  background:rgba(14,11,8,.84);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.18);
}
.fb-menu-card-stepper.is-active{display:inline-grid}
.fb-menu-card-stepper button{
  width:34px;
  height:40px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  color:#ffe5ad;
  font:950 20px/1 'Vazirmatn',sans-serif;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.fb-menu-card-stepper button:hover,
.fb-menu-card-stepper button:focus-visible{
  background:rgba(232,191,119,.12);
  color:#fff4d8;
  outline:0;
}
.fb-menu-card-stepper button:active{transform:scale(.92)}
.fb-menu-card-stepper strong{
  min-width:30px;
  color:#fff;
  text-align:center;
  font-size:13px;
  line-height:1;
}
.fb-menu-add-trigger.is-hidden-by-cart{display:none!important}

@media(max-width:820px){
  /* Compact mobile menu heading */
  .menu-page--list{
    padding-top:calc(max(8px,env(safe-area-inset-top,0px)) + 74px)!important;
    background:#12110f!important;
  }
  .fb-menu-mobile-head{
    display:block;
    padding:10px 0 8px;
  }
  .fb-menu-mobile-head .container{
    width:min(100% - 20px,var(--container))!important;
  }
  .fb-menu-mobile-intro,
  .fb-menu-mobile-table{
    min-height:66px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.035);
    box-shadow:0 10px 28px rgba(0,0,0,.16);
  }
  .fb-menu-mobile-intro{justify-content:space-between}
  .fb-menu-mobile-intro span,
  .fb-menu-mobile-table__copy{display:grid;gap:2px;min-width:0}
  .fb-menu-mobile-intro small,
  .fb-menu-mobile-table__copy small{
    color:#9f9587;
    font-size:10px;
    font-weight:800;
  }
  .fb-menu-mobile-intro strong,
  .fb-menu-mobile-table__copy strong{
    color:#fff;
    font-size:14px;
    line-height:1.55;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .fb-menu-mobile-intro em{
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(232,191,119,.10);
    color:#ead3a4;
    font-size:10px;
    font-style:normal;
    font-weight:900;
  }
  .fb-menu-mobile-table{
    position:relative;
    overflow:hidden;
    padding-left:10px;
  }
  .fb-menu-mobile-table.is-orderable{border-color:rgba(232,191,119,.22)}
  .fb-menu-mobile-table__icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(232,191,119,.11);
    color:#f4d69a;
  }
  .fb-menu-mobile-table__icon svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .fb-menu-mobile-table__copy{flex:1 1 auto}
  .fb-menu-mobile-table__number{
    flex:0 0 auto;
    min-width:44px;
    height:44px;
    display:grid;
    place-items:center;
    padding:0 10px;
    border-radius:14px;
    background:linear-gradient(145deg,#efd39b,#c68a3e);
    color:#17100a;
    font-size:21px;
    font-weight:950;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
  }
  .fb-menu-mobile-table__status{
    position:absolute;
    left:10px;
    bottom:4px;
    display:flex;
    align-items:center;
    gap:4px;
    color:#9f9587;
    font-size:8.5px;
    font-weight:800;
  }
  .fb-menu-mobile-table__status i{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#7b746b;
  }
  .fb-menu-mobile-table.is-orderable .fb-menu-mobile-table__status{color:#9ddab1}
  .fb-menu-mobile-table.is-orderable .fb-menu-mobile-table__status i{
    background:#63c989;
    box-shadow:0 0 0 3px rgba(99,201,137,.10);
  }

  /* Lightweight sticky categories */
  .menu-page--list .menu-category-nav--smart{
    top:calc(max(8px,env(safe-area-inset-top,0px)) + 70px)!important;
    padding:6px 0!important;
    border-top:0!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
    background:rgba(18,17,15,.93)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  .menu-page--list .menu-category-nav--smart .menu-category-scroll{
    width:100%!important;
    padding:0 10px 3px!important;
    gap:6px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .menu-page--list .menu-category-nav__label{display:none!important}
  .menu-page--list .menu-category-nav--smart a{
    min-height:36px!important;
    padding:6px 11px!important;
    border-radius:12px!important;
    border:1px solid rgba(255,255,255,.07)!important;
    background:rgba(255,255,255,.035)!important;
    color:#bdb4a7!important;
    box-shadow:none!important;
  }
  .menu-page--list .menu-category-nav--smart a span{
    font-size:11.5px!important;
    font-weight:850!important;
  }
  .menu-page--list .menu-category-nav--smart a small,
  .menu-page--list .menu-category-nav--smart a::before{display:none!important}
  .menu-page--list .menu-category-nav--smart a.is-active{
    background:rgba(232,191,119,.13)!important;
    border-color:rgba(232,191,119,.22)!important;
    color:#f4d79e!important;
  }

  /* Clean menu list */
  .menu-page--list .menu-list-section{
    padding:12px 0 calc(var(--mobile-app-nav-total) + 22px)!important;
  }
  .menu-page--list .menu-list-container,
  .menu-page--list .menu-list-section--list .container{
    width:min(100% - 18px,var(--container))!important;
  }
  .menu-page--list .menu-category-block--list{
    margin-bottom:24px!important;
    scroll-margin-top:126px!important;
  }
  .menu-page--list .menu-category-head--list{
    min-height:auto!important;
    margin:0 2px 8px!important;
    padding:0 2px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .menu-page--list .menu-category-head--list div>span,
  .menu-page--list .menu-category-head--list>strong{display:none!important}
  .menu-page--list .menu-category-head--list h2{
    margin:0!important;
    padding:0!important;
    color:#f5eee3!important;
    font-size:18px!important;
    line-height:1.65!important;
    background:transparent!important;
  }
  .menu-page--list .menu-category-head--list h2::before,
  .menu-page--list .menu-category-head--list h2::after{display:none!important}
  .menu-page--list .menu-list-stack{gap:8px!important}

  .menu-page--list .fb-menu-row{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:102px!important;
    padding:9px!important;
    border:1px solid rgba(255,255,255,.07)!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.028)!important;
    box-shadow:none!important;
    contain:layout paint;
  }
  .menu-page--list .fb-menu-row.is-in-cart{
    border-color:rgba(232,191,119,.24)!important;
    background:rgba(232,191,119,.045)!important;
    box-shadow:none!important;
  }
  .menu-page--list .fb-menu-row:hover{box-shadow:none!important}
  .menu-page--list .fb-menu-thumb{
    width:82px!important;
    max-width:82px!important;
    height:82px!important;
    aspect-ratio:1/1!important;
    border-radius:13px!important;
    align-self:start!important;
    background:#191714!important;
  }
  .menu-page--list .fb-menu-thumb img{border-radius:inherit!important}
  .menu-page--list .stock-badge{
    right:5px!important;
    top:5px!important;
    padding:4px 6px!important;
    font-size:8.5px!important;
    border-radius:8px!important;
  }
  .menu-page--list .fb-menu-content{
    display:grid!important;
    align-content:stretch!important;
    gap:6px!important;
    min-height:82px!important;
  }
  .menu-page--list .fb-menu-main{display:grid!important;gap:3px!important}
  .menu-page--list .fb-menu-title-row{margin:0!important}
  .menu-page--list .fb-menu-title-row h3,
  .menu-page--list .fb-menu-title-row h3 a{
    padding:0!important;
    margin:0!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1.6!important;
    background:transparent!important;
  }
  .menu-page--list .fb-menu-title-row h3::before,
  .menu-page--list .fb-menu-title-row h3::after{display:none!important}
  .menu-page--list .fb-menu-rating,
  .menu-page--list .fb-review-btn{display:none!important}
  .menu-page--list .fb-menu-content p{
    display:-webkit-box!important;
    margin:0!important;
    color:#928a7f!important;
    font-size:10.5px!important;
    line-height:1.65!important;
    -webkit-line-clamp:1!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .menu-page--list .fb-menu-actions{
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin-top:auto!important;
    padding:0!important;
  }
  .menu-page--list .fb-menu-price{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#edcf95!important;
    font-size:12.5px!important;
    font-weight:950!important;
    line-height:1.5!important;
    white-space:nowrap!important;
  }
  .menu-page--list .fb-menu-price::before,
  .menu-page--list .fb-menu-price::after{display:none!important}
  .menu-page--list .fb-menu-buttons{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    justify-content:flex-end!important;
  }
  .menu-page--list .fb-menu-plus-btn,
  .menu-page--list .fb-menu-order-btn.fb-menu-plus-btn{
    min-width:38px!important;
    min-height:36px!important;
    height:36px!important;
    padding:5px 9px!important;
    gap:5px!important;
    border-radius:11px!important;
    border-color:rgba(232,191,119,.26)!important;
    background:rgba(232,191,119,.12)!important;
    color:#f0d29a!important;
    box-shadow:none!important;
  }
  .menu-page--list .fb-menu-order-btn__plus{
    width:22px!important;
    height:22px!important;
    margin:0!important;
    border-radius:8px!important;
    background:#d7a957!important;
    color:#17100a!important;
    font-size:18px!important;
  }
  .menu-page--list .fb-menu-order-btn__text{
    font-size:10.5px!important;
    font-weight:900!important;
  }
  .menu-page--list .fb-menu-card-stepper{
    grid-template-columns:30px 28px 30px;
    min-height:36px;
    border-radius:11px;
    border-color:rgba(232,191,119,.26);
    background:rgba(20,16,11,.92);
    box-shadow:none;
  }
  .menu-page--list .fb-menu-card-stepper button{
    width:30px;
    height:34px;
    color:#edcf95;
    font-size:18px;
  }
  .menu-page--list .fb-menu-card-stepper strong{
    min-width:28px;
    font-size:12px;
  }

  /* Cart bar stays clearly above the minimal dock */
  .cart-mini-bar{
    bottom:calc(var(--mobile-app-nav-height) + var(--mobile-app-nav-bottom) + 10px)!important;
    width:calc(100% - 18px)!important;
    min-height:52px!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:8px 9px!important;
    border-radius:16px!important;
    background:rgba(25,21,16,.97)!important;
    box-shadow:0 14px 38px rgba(0,0,0,.42)!important;
  }
  .cart-mini-bar__count,
  .cart-mini-bar__total{
    padding:5px 7px!important;
    font-size:10px!important;
  }
  .cart-mini-bar__count b{font-size:12px!important}
  .cart-mini-bar strong{font-size:11.5px!important;line-height:1.5!important}
  .cart-mini-bar__total{
    grid-column:auto!important;
    justify-self:auto!important;
    margin:0!important;
  }
}

@media(max-width:390px){
  .menu-page--list .fb-menu-row{
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:8px!important;
    min-height:94px!important;
    padding:8px!important;
  }
  .menu-page--list .fb-menu-thumb{
    width:74px!important;
    max-width:74px!important;
    height:74px!important;
  }
  .menu-page--list .fb-menu-content{min-height:74px!important}
  .menu-page--list .fb-menu-title-row h3,
  .menu-page--list .fb-menu-title-row h3 a{font-size:13.5px!important}
  .menu-page--list .fb-menu-order-btn__text{display:none!important}
  .menu-page--list .fb-menu-plus-btn,
  .menu-page--list .fb-menu-order-btn.fb-menu-plus-btn{
    width:34px!important;
    min-width:34px!important;
    padding:5px!important;
  }
  .menu-page--list .fb-menu-card-stepper{
    grid-template-columns:28px 25px 28px;
  }
  .menu-page--list .fb-menu-card-stepper button{width:28px}
  .menu-page--list .fb-menu-card-stepper strong{min-width:25px}
  .cart-mini-bar strong{font-size:10.8px!important}
  .cart-mini-bar__total{font-size:9.5px!important}
}

@media(prefers-reduced-motion:reduce){
  .fb-menu-card-stepper button{transition:none!important}
}


/* ===== FarshidBonab v4.1.8 - compact cart controls + restaurant item modal ===== */
/* The global ordering rules use !important; this selector intentionally wins when an item is already in the cart. */
body.online-cart-enabled .fb-menu-add-trigger.is-hidden-by-cart,
body.direct-ordering-enabled .fb-menu-add-trigger.is-hidden-by-cart,
body.table-ordering-enabled .fb-menu-add-trigger.is-hidden-by-cart,
.fb-menu-add-trigger.is-hidden-by-cart,
.fb-menu-add-trigger[hidden]{
  display:none!important;
}

/* Restaurant-style menu item preview */
.fb-menu-preview-modal{
  background:rgba(5,4,3,.76)!important;
  backdrop-filter:blur(16px) saturate(.9)!important;
  -webkit-backdrop-filter:blur(16px) saturate(.9)!important;
}
.fb-menu-preview-content{
  width:min(900px,calc(100vw - 40px))!important;
  max-height:min(88vh,760px)!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(232,191,119,.22)!important;
  border-radius:30px!important;
  background:#15110d!important;
  box-shadow:0 40px 120px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.fb-menu-preview-grid{
  display:grid!important;
  grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr)!important;
  min-height:440px!important;
}
.fb-menu-preview-media{
  position:relative!important;
  min-height:440px!important;
  margin:0!important;
  overflow:hidden!important;
  background:radial-gradient(circle at 50% 35%,rgba(232,191,119,.16),transparent 34%),#0f0d0a!important;
}
.fb-menu-preview-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 42%,rgba(0,0,0,.72) 100%);
}
.fb-menu-preview-media::after{
  content:""!important;
  position:absolute!important;
  inset:12px!important;
  z-index:3!important;
  pointer-events:none!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:21px!important;
  background:none!important;
}
.fb-menu-preview-media img{
  width:100%!important;
  height:100%!important;
  min-height:440px!important;
  object-fit:cover!important;
  filter:saturate(1.03) contrast(1.035)!important;
}
.fb-menu-preview-empty{
  min-height:440px!important;
  background:transparent!important;
}
.fb-menu-preview-image-label{
  position:absolute;
  right:26px;
  bottom:24px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(12,9,7,.56);
  color:rgba(255,245,224,.9);
  font-size:10.5px;
  font-weight:850;
  letter-spacing:-.015em;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.fb-menu-preview-copy{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:24px!important;
  min-width:0!important;
  padding:42px 40px 36px!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 100% 0,rgba(232,191,119,.105),transparent 34%),
    linear-gradient(155deg,#1c1711 0%,#12100d 62%,#0f0d0a 100%)!important;
}
.fb-menu-preview-copy::before{display:none!important}
.fb-menu-preview-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.fb-menu-preview-kicker{
  width:auto!important;
  max-width:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#d7aa5a!important;
  font-size:11px!important;
  font-weight:900!important;
}
.fb-menu-preview-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 10px;
  border:1px solid rgba(124,219,155,.18);
  border-radius:999px;
  background:rgba(75,183,111,.09);
  color:#b9efca;
  font-size:10.5px;
  font-weight:850;
  white-space:nowrap;
}
.fb-menu-preview-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#68d78b;
  box-shadow:0 0 0 4px rgba(104,215,139,.10);
}
.fb-menu-preview-modal.is-unavailable .fb-menu-preview-status{
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#a99f92;
}
.fb-menu-preview-modal.is-unavailable .fb-menu-preview-status i{
  background:#8d857a;
  box-shadow:0 0 0 4px rgba(255,255,255,.05);
}
.fb-menu-preview-heading{display:grid;gap:11px;min-width:0}
.fb-menu-preview-copy h2{
  margin:0!important;
  color:#fff8eb!important;
  font-size:clamp(26px,3.4vw,38px)!important;
  font-weight:950!important;
  line-height:1.45!important;
  letter-spacing:-.045em!important;
  text-shadow:none!important;
}
.fb-menu-preview-copy p{
  margin:0!important;
  color:#bfb4a4!important;
  font-size:14px!important;
  line-height:2.05!important;
}
.fb-menu-preview-order-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:end;
  padding-top:20px;
  border-top:1px solid rgba(232,191,119,.11);
}
.fb-menu-preview-price-wrap{display:grid;gap:4px;min-width:0}
.fb-menu-preview-price-wrap>span{
  color:#847b6e;
  font-size:10.5px;
  font-weight:800;
}
.fb-menu-preview-price{
  justify-self:auto!important;
  margin:0!important;
  padding:0!important;
  color:#f2cf8d!important;
  font-size:23px!important;
  line-height:1.4!important;
  white-space:nowrap!important;
  letter-spacing:-.045em!important;
}
.fb-menu-preview-price::after{display:none!important}
.fb-menu-preview-actions{
  display:grid!important;
  justify-items:stretch!important;
  gap:9px!important;
  margin:0!important;
}
.fb-menu-preview-cart{
  min-height:46px!important;
  padding:10px 18px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#e3b866,#c88e3d)!important;
  color:#171008!important;
  box-shadow:0 12px 28px rgba(198,138,62,.20)!important;
  font-size:12.5px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fb-menu-preview-cart:hover,
.fb-menu-preview-cart:focus-visible{
  transform:translateY(-1px)!important;
  box-shadow:0 16px 32px rgba(198,138,62,.28)!important;
}
.fb-menu-preview-cart svg{width:16px!important;height:16px!important}
.fb-menu-preview-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:31px;
  color:#918778!important;
  font-size:10.5px;
  font-weight:800;
  text-decoration:none!important;
  transition:color .18s ease;
}
.fb-menu-preview-link:hover,
.fb-menu-preview-link:focus-visible{color:#efcc89!important}
.fb-menu-preview-link b{font-size:14px;font-weight:700}
.fb-menu-preview-close{
  top:16px!important;
  left:16px!important;
  z-index:8!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:50%!important;
  background:rgba(14,11,8,.72)!important;
  color:#fff1d7!important;
  font-size:24px!important;
  line-height:1!important;
  box-shadow:0 8px 24px rgba(0,0,0,.25)!important;
}

@media(max-width:820px){
  /* Physical position is explicit: controls on the left, price on the right. */
  .menu-page--list .fb-menu-actions{
    direction:ltr!important;
    flex-direction:row-reverse!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .menu-page--list .fb-menu-price{
    direction:rtl!important;
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    order:0!important;
    justify-items:end!important;
    text-align:right!important;
  }
  .menu-page--list .fb-menu-buttons{
    direction:rtl!important;
    flex:0 0 auto!important;
    width:auto!important;
    order:1!important;
    justify-content:flex-start!important;
  }

  .fb-menu-preview-content{
    width:min(94vw,680px)!important;
    max-height:90dvh!important;
    border-radius:24px!important;
  }
  .fb-menu-preview-grid{grid-template-columns:1fr!important;min-height:0!important}
  .fb-menu-preview-media,
  .fb-menu-preview-media img,
  .fb-menu-preview-empty{
    min-height:250px!important;
    max-height:36dvh!important;
  }
  .fb-menu-preview-copy{padding:28px 24px 24px!important;gap:20px!important}
  .fb-menu-preview-order-box{grid-template-columns:1fr auto!important;gap:14px!important}
}

@media(max-width:560px){
  .fb-menu-preview-modal{
    place-items:end center!important;
    padding:8px 8px 0!important;
  }
  .fb-menu-preview-content{
    width:100%!important;
    max-height:92dvh!important;
    border-radius:26px 26px 0 0!important;
    border-bottom:0!important;
  }
  .fb-menu-preview-media,
  .fb-menu-preview-media img,
  .fb-menu-preview-empty{
    min-height:205px!important;
    max-height:29dvh!important;
  }
  .fb-menu-preview-media::after{inset:9px!important;border-radius:18px!important}
  .fb-menu-preview-image-label{right:20px;bottom:17px;min-height:29px;font-size:9.5px}
  .fb-menu-preview-close{top:13px!important;left:13px!important;width:36px!important;height:36px!important}
  .fb-menu-preview-copy{
    justify-content:flex-start!important;
    gap:16px!important;
    padding:22px 18px calc(18px + env(safe-area-inset-bottom))!important;
  }
  .fb-menu-preview-meta{gap:8px}
  .fb-menu-preview-kicker{font-size:10px!important}
  .fb-menu-preview-status{min-height:27px;padding:4px 8px;font-size:9.5px}
  .fb-menu-preview-copy h2{font-size:24px!important;line-height:1.5!important}
  .fb-menu-preview-copy p{
    display:-webkit-box!important;
    font-size:12.5px!important;
    line-height:1.95!important;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .fb-menu-preview-order-box{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    padding-top:15px!important;
  }
  .fb-menu-preview-price{font-size:18px!important}
  .fb-menu-preview-price-wrap>span{font-size:9.5px}
  .fb-menu-preview-cart{
    min-height:42px!important;
    padding:8px 13px!important;
    border-radius:12px!important;
    font-size:11.5px!important;
  }
  .fb-menu-preview-link{font-size:9.5px}
}

@media(max-width:390px){
  .menu-page--list .fb-menu-actions{gap:6px!important}
  .menu-page--list .fb-menu-price{font-size:12.5px!important}
  .menu-page--list .fb-menu-buttons{width:auto!important}
  .fb-menu-preview-copy{padding-inline:15px!important}
  .fb-menu-preview-order-box{gap:8px!important}
  .fb-menu-preview-cart span{font-size:10.5px!important}
}
