/* ============ ZIAFAT — design system ============ */
:root{
  --bg:#12081f; --bg-2:#180b2a; --surface:#1e0f33; --surface-2:#281647;
  --line:rgba(243,201,107,.18); --line-soft:rgba(255,255,255,.08);
  --gold:#e8a33d; --gold-2:#f3c96b; --violet:#9d6bf5;
  --cream:#f8f1e5; --muted:#bda9d1; --ink:#160a24;
  --wa:#25d366; --wa-dark:#0e7a3d;
  --r:18px; --head-h:72px;
  --shadow:0 24px 60px rgba(0,0,0,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{
  background:var(--bg); color:var(--cream);
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16.5px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
body.no-scroll{overflow:hidden}
img{max-width:100%; display:block}
a{color:var(--gold-2)}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
input,select,textarea{font:inherit; color:var(--cream)}
::selection{background:var(--gold); color:var(--ink)}
:focus-visible{outline:2px solid var(--gold-2); outline-offset:3px; border-radius:6px}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.skip{position:fixed; top:-60px; left:16px; z-index:200; background:var(--gold); color:var(--ink); padding:.6rem 1rem; border-radius:10px; font-weight:700; transition:top .2s}
.skip:focus{top:12px}
.wrap{width:min(1200px,92%); margin-inline:auto}
h1,h2,h3,.foot-word{font-family:"Marcellus",Georgia,serif; font-weight:400; line-height:1.12; letter-spacing:.01em}
h2{font-size:clamp(2rem,4.6vw,3.3rem)}
h2 em,h1 em{font-style:normal; color:var(--gold-2)}
section{scroll-margin-top:calc(var(--head-h) + 10px)}

/* reveal (JS-gated so content is never stuck invisible) */
html.js .rv{opacity:0; transform:translateY(18px); transition:opacity .7s ease var(--d,0s), transform .7s ease var(--d,0s)}
html.js .rv.in{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  html.js .rv{opacity:1; transform:none; transition:none}
  *{animation-duration:.001s !important; transition-duration:.001s !important}
}

/* ============ buttons ============ */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.6rem; border-radius:999px; font-weight:700; font-size:.98rem; text-decoration:none; border:1px solid transparent; transition:transform .18s ease, background .18s ease, border-color .18s ease; min-height:48px}
.btn:active{transform:scale(.97)}
.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:var(--ink)}
.btn-gold:hover{filter:brightness(1.07)}
.btn-wa{background:var(--wa); color:#06330f}
.btn-wa:hover{background:#2fe673}
.btn-ghost{border-color:var(--line); color:var(--cream); background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold-2)}
.btn-block{width:100%}
.icon-btn{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.06); border:1px solid var(--line-soft); font-size:1rem}
.icon-btn:hover{border-color:var(--gold); color:var(--gold-2)}

/* ============ header ============ */
.site-head{position:sticky; top:0; z-index:90; background:rgba(18,8,31,.86); backdrop-filter:blur(14px); border-bottom:1px solid var(--line-soft)}
.head-in{display:flex; align-items:center; gap:1.2rem; min-height:var(--head-h)}
.brand{display:flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--cream)}
.brand-mark{width:42px; height:42px; border-radius:50% 50% 12px 12px; border:2px solid var(--gold); display:grid; place-items:center; font-family:"Marcellus",serif; font-size:1.35rem; color:var(--gold-2)}
.brand-text{font-family:"Marcellus",serif; font-size:1.3rem; letter-spacing:.22em; line-height:1}
.brand-text small{display:block; font-family:"Manrope",sans-serif; font-size:.58rem; letter-spacing:.3em; color:var(--muted); margin-top:.28rem}
.main-nav{display:flex; gap:1.4rem; margin-left:auto}
.main-nav a{color:var(--cream); text-decoration:none; font-weight:600; font-size:.95rem; opacity:.85}
.main-nav a:hover{opacity:1; color:var(--gold-2)}
.head-actions{display:flex; align-items:center; gap:.7rem; margin-left:auto}
.main-nav + .head-actions{margin-left:0}
.cart-btn{position:relative; width:46px; height:46px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; background:rgba(255,255,255,.03)}
.cart-btn:hover{border-color:var(--gold); color:var(--gold-2)}
.cart-count{position:absolute; top:-5px; right:-5px; min-width:21px; height:21px; padding:0 5px; border-radius:999px; background:var(--gold); color:var(--ink); font-size:.72rem; font-weight:800; display:grid; place-items:center}

/* ============ hero ============ */
.hero{position:relative; min-height:94svh; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate}
.hero-media{position:absolute; inset:0; z-index:-1}
.hero-media video{width:100%; height:100%; object-fit:cover}
.hero-shade{position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,8,31,.55) 0%, rgba(18,8,31,.25) 34%, rgba(18,8,31,.88) 78%, var(--bg) 100%), radial-gradient(90% 60% at 18% 78%, rgba(18,8,31,.55), transparent 60%)}
.hero-in{padding:7.5rem 0 5.2rem}
.kicker{letter-spacing:.34em; text-transform:uppercase; font-size:.78rem; font-weight:800; color:var(--gold-2); margin-bottom:1.1rem}
.hero h1{font-size:clamp(2.7rem,7.4vw,5.4rem); max-width:12ch}
.hero-sub{max-width:56ch; color:#e9ddf2; font-size:clamp(1rem,1.6vw,1.15rem); margin:1.2rem 0 1.5rem}
.hero-chips{display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.7rem}
.chip{display:inline-flex; align-items:center; gap:.5rem; padding:.45rem .9rem; border-radius:999px; border:1px solid var(--line); background:rgba(22,10,36,.55); backdrop-filter:blur(6px); font-size:.86rem; font-weight:600}
.dot{width:9px; height:9px; border-radius:50%; background:#3ddc74; box-shadow:0 0 0 0 rgba(61,220,116,.5); animation:pulse 2s infinite}
.dot.closed{background:#e5534b; animation:none; box-shadow:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,220,116,.45)}70%{box-shadow:0 0 0 9px rgba(61,220,116,0)}100%{box-shadow:0 0 0 0 rgba(61,220,116,0)}}
.hero-cta{display:flex; flex-wrap:wrap; gap:.8rem}
.hero-scroll{position:absolute; left:50%; bottom:1.1rem; transform:translateX(-50%); color:var(--gold-2); text-decoration:none; font-size:1.5rem; animation:bob 2.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}

/* ============ stats band ============ */
.stats-band{border-block:1px solid var(--line-soft); background:var(--bg-2); padding:1.7rem 0}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; text-align:center}
.stat{display:flex; flex-direction:column; gap:.15rem}
.stat-num{font-family:"Marcellus",serif; font-size:clamp(2rem,4.5vw,2.9rem); color:var(--gold-2); line-height:1}
.stat-label{font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}

/* ============ sections ============ */
.section{padding:clamp(4rem,9vw,6.5rem) 0}
.section-tight{padding-top:1rem}
.sec-head{max-width:640px; margin-bottom:2.6rem}
.sec-index{letter-spacing:.3em; text-transform:uppercase; font-size:.74rem; font-weight:800; color:var(--violet); margin-bottom:.9rem}
.sec-sub{color:var(--muted); margin-top:1rem}
.sec-sub strong{color:var(--gold-2)}

/* signatures */
.sig-layout{display:grid; grid-template-columns:.92fr 1.35fr; gap:1.6rem; align-items:stretch}
.sig-video{position:relative; border-radius:200px 200px var(--r) var(--r); overflow:hidden; min-height:420px; border:1px solid var(--line)}
.sig-video video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.sig-video figcaption{position:absolute; left:0; right:0; bottom:0; padding:2.2rem 1.2rem .95rem; background:linear-gradient(transparent, rgba(10,4,20,.85)); font-size:.88rem; font-weight:600; text-align:center}
.sig-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem}

/* dishes */
.dish{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, border-color .25s ease}
.dish:hover{transform:translateY(-4px); border-color:var(--line)}
.dish.is-hidden{display:none}
.dish-media{position:relative; display:block; width:100%; padding:0; text-align:left}
.dish-media img{width:100%; height:200px; object-fit:cover}
.sig-card .dish-media img{height:168px}
.badge{position:absolute; top:10px; left:10px; background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:var(--ink); font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:.32rem .6rem; border-radius:999px}
.dish-body{padding:1.05rem 1.1rem 1.15rem; display:flex; flex-direction:column; gap:.45rem; flex:1}
.dish-body h3{font-size:1.28rem}
.dish-body h3 small{font-size:.85rem; color:var(--muted)}
.dish-body p{color:var(--muted); font-size:.92rem; flex:1}
.dish-row{display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-top:.4rem}
.price{font-weight:800; color:var(--gold-2); white-space:nowrap}
.price .sample{display:block; font-size:.64rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.dish-actions{display:inline-flex; align-items:center; gap:.45rem}
.fav-btn{width:38px; height:38px; border-radius:50%; border:1px solid var(--line-soft); font-size:1.05rem; display:grid; place-items:center; color:var(--muted)}
.fav-btn.on{color:#ff6b81; border-color:#ff6b81; background:rgba(255,107,129,.1)}
.add-btn{background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:var(--ink); font-weight:800; padding:.55rem 1rem; border-radius:999px; font-size:.9rem}
.add-btn:hover{filter:brightness(1.08)}
.add-btn.added{background:var(--wa); color:#06330f}

/* features */
.feat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem}
.feat{text-align:left; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r); padding:1.4rem 1.25rem; display:flex; flex-direction:column; gap:.4rem; transition:transform .25s ease, border-color .25s ease}
.feat:hover{transform:translateY(-4px); border-color:var(--gold)}
.feat-ico{font-size:1.5rem; color:var(--gold-2)}
.feat h3{font-size:1.18rem}
.feat p{color:var(--muted); font-size:.92rem; flex:1}
.feat-more{color:var(--gold-2); font-weight:700; font-size:.88rem}

/* menu */
.menu-tools{display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; margin-bottom:1.6rem}
.chips{display:flex; flex-wrap:wrap; gap:.5rem}
.chip-btn{padding:.55rem 1.05rem; border-radius:999px; border:1px solid var(--line-soft); font-weight:700; font-size:.9rem; color:var(--cream); background:rgba(255,255,255,.02)}
.chip-btn:hover{border-color:var(--gold)}
.chip-btn.is-active{background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:var(--ink); border-color:transparent}
.search-box input{background:var(--surface); border:1px solid var(--line-soft); border-radius:999px; padding:.68rem 1.15rem; min-width:min(300px,78vw); color:var(--cream)}
.search-box input::placeholder{color:var(--muted)}
.search-box input:focus{border-color:var(--gold); outline:none}
.menu-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem}
.menu-empty{color:var(--muted); border:1px dashed var(--line); border-radius:var(--r); padding:1.2rem; text-align:center; margin-bottom:1.2rem}
.menu-note{margin-top:1.6rem; color:var(--muted); text-align:center}

/* deals */
.deals-band{background:linear-gradient(180deg, var(--bg) 0%, #1c0a30 50%, var(--bg) 100%); border-block:1px solid var(--line-soft)}
.deals-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem}
.deal{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r); padding:1.5rem 1.2rem; font-family:"Marcellus",serif; font-size:1.3rem; text-align:left; display:flex; flex-direction:column; gap:.5rem; transition:transform .25s ease, border-color .25s ease}
.deal span{font-family:"Manrope",sans-serif; font-size:.85rem; font-weight:700; color:var(--gold-2)}
.deal:hover{transform:translateY(-4px); border-color:var(--gold)}
.deal-family{background:linear-gradient(160deg, var(--surface-2), var(--surface)); border-color:var(--line)}
.deals-note{margin-top:1.4rem; text-align:center; color:var(--muted); font-weight:600}

/* story */
.story-layout{display:grid; grid-template-columns:1fr 1.1fr; gap:2.6rem; align-items:center}
.story-media{position:relative}
.arch-img{border-radius:210px 210px 20px 20px; border:1px solid var(--line); width:100%; height:520px; object-fit:cover}
.story-chip-img{position:absolute; width:44%; height:200px; object-fit:cover; right:-14px; bottom:26px; border-radius:120px 120px 14px 14px; border:3px solid var(--bg); box-shadow:var(--shadow)}
.story-text p{color:var(--muted); margin-top:1rem}
.story-points{list-style:none; margin:1.3rem 0 1.6rem; display:grid; gap:.55rem}
.story-points li{padding-left:1.6rem; position:relative; font-weight:600}
.story-points li::before{content:"✦"; position:absolute; left:0; color:var(--gold)}
.story-actions{display:flex; gap:.8rem; flex-wrap:wrap}
.gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:3rem}
.g-item{position:relative; border-radius:var(--r); overflow:hidden; padding:0; border:1px solid var(--line-soft)}
.g-item img{width:100%; height:230px; object-fit:cover; transition:transform .4s ease}
.g-item:hover img{transform:scale(1.05)}
.g-item span{position:absolute; left:0; right:0; bottom:0; padding:1.6rem .9rem .7rem; background:linear-gradient(transparent, rgba(10,4,20,.88)); font-size:.85rem; font-weight:700; text-align:left}

/* forms */
.card-form{background:var(--surface); border:1px solid var(--line-soft); border-radius:22px; padding:1.8rem; display:flex; flex-direction:column; gap:1rem; box-shadow:var(--shadow)}
.card-form label{display:flex; flex-direction:column; gap:.4rem; font-weight:700; font-size:.92rem}
.card-form input,.card-form select,.card-form textarea{background:var(--bg-2); border:1px solid var(--line-soft); border-radius:12px; padding:.75rem .95rem; color:var(--cream); width:100%}
.card-form input:focus,.card-form select:focus,.card-form textarea:focus{border-color:var(--gold); outline:none}
.card-form .opt{color:var(--muted); font-weight:500}
.form-2col{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.hp{position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0; pointer-events:none}
.form-msg{font-size:.9rem; color:#ff9d94; min-height:1.2em}
.thanks{background:rgba(37,211,102,.1); border:1px solid rgba(37,211,102,.4); border-radius:14px; padding:1.1rem 1.2rem}
.thanks h3{color:#7ce8a8; margin-bottom:.3rem}
.thanks p{color:var(--muted); font-size:.93rem}

/* reserve / contact layouts */
.reserve-layout{display:grid; grid-template-columns:1fr 1fr; gap:2.6rem; align-items:start}
.reserve-text p{color:var(--muted); margin:1rem 0 1.5rem}
.reserve-img{height:300px; width:100%; object-fit:cover}
.contact-layout{display:grid; grid-template-columns:1fr 1fr; gap:2.6rem; align-items:start}

/* visit */
.visit-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem}
.visit-card{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r); padding:1.6rem}
.visit-card h3{font-size:1.3rem; margin-bottom:.8rem; color:var(--gold-2)}
.visit-card p{color:var(--muted)}
.visit-card .btn{margin-top:1.1rem}
.hours{width:100%; border-collapse:collapse}
.hours td{padding:.42rem 0; border-bottom:1px solid var(--line-soft); color:var(--muted)}
.hours td:last-child{text-align:right; color:var(--cream); font-weight:700}
.visit-live{display:flex; align-items:center; gap:.5rem; margin-top:1rem; font-weight:700; color:var(--cream)}
.big-phone{font-size:1.5rem; font-weight:800}
.big-phone a{color:var(--cream); text-decoration:none}
.alt-phone{margin-top:.5rem}

/* faq */
.faq-list{max-width:820px}
.faq-item{border-bottom:1px solid var(--line-soft)}
.faq-q{width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; text-align:left; padding:1.15rem .2rem; font-weight:700; font-size:1.05rem}
.faq-q span{color:var(--gold-2); font-size:1.4rem; transition:transform .3s}
.faq-item.open .faq-q span{transform:rotate(45deg)}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease}
.faq-a p{color:var(--muted); padding:0 .2rem 1.2rem; max-width:65ch}
.faq-item.open .faq-a{max-height:260px}

/* demo notice */
.demo-notice{padding:0 0 clamp(3.5rem,7vw,5rem)}
.demo-card{border:1.5px solid var(--gold); background:linear-gradient(160deg, #2a1545, #1c0b30); border-radius:22px; padding:2rem clamp(1.3rem,4vw,2.6rem); text-align:center; box-shadow:var(--shadow)}
.demo-tag{letter-spacing:.3em; text-transform:uppercase; font-size:.72rem; font-weight:800; color:var(--gold-2); margin-bottom:.8rem}
.demo-text{font-size:clamp(1.02rem,2vw,1.2rem); line-height:1.65; max-width:62ch; margin-inline:auto; color:var(--cream)}

/* footer */
.site-foot{border-top:1px solid var(--line-soft); background:#0d0518; padding:3.4rem 0 7.5rem}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1.2fr; gap:2.2rem}
.foot-word{font-size:2.6rem; letter-spacing:.24em; color:var(--gold-2)}
.foot-brand p{color:var(--muted); margin-top:.7rem; max-width:38ch}
.foot-col{display:flex; flex-direction:column; gap:.55rem}
.foot-col h4{font-family:"Marcellus",serif; font-weight:400; font-size:1.1rem; margin-bottom:.4rem; color:var(--cream)}
.foot-col a{color:var(--muted); text-decoration:none; font-weight:600}
.foot-col a:hover{color:var(--gold-2)}
.foot-col p{color:var(--muted)}
.foot-base{display:flex; flex-wrap:wrap; gap:.6rem 2rem; justify-content:space-between; border-top:1px solid var(--line-soft); margin-top:2.4rem; padding-top:1.4rem; color:var(--muted); font-size:.88rem}
.foot-base a{color:var(--gold-2)}

/* mobile bar / to-top */
.mobile-bar{display:none}
.to-top{position:fixed; right:18px; bottom:92px; z-index:80; width:46px; height:46px; border-radius:50%; background:var(--surface-2); border:1px solid var(--line); color:var(--gold-2); font-size:1.15rem; opacity:0; pointer-events:none; transition:opacity .25s}
.to-top.show{opacity:1; pointer-events:auto}

/* drawer / cart */
.scrim{position:fixed; inset:0; background:rgba(6,2,12,.66); backdrop-filter:blur(3px); z-index:95}
.drawer{position:fixed; top:0; right:0; height:100dvh; width:min(430px,94vw); background:var(--bg-2); z-index:100; transform:translateX(106%); transition:transform .38s cubic-bezier(.32,.72,.24,1); display:flex; flex-direction:column; border-left:1px solid var(--line); box-shadow:var(--shadow)}
.drawer.open{transform:none}
.drawer-head{display:flex; align-items:center; justify-content:space-between; padding:1.1rem 1.3rem; border-bottom:1px solid var(--line-soft)}
.drawer-head h3{font-size:1.35rem}
.drawer-body{padding:1.2rem 1.3rem 2rem; overflow-y:auto}
.cart-empty{color:var(--muted); text-align:center; padding:2rem 0}
.cart-lines{list-style:none; display:flex; flex-direction:column; gap:.9rem}
.cart-lines li{display:grid; grid-template-columns:1fr auto; gap:.35rem .8rem; background:var(--surface); border:1px solid var(--line-soft); border-radius:14px; padding:.85rem .95rem}
.cl-name{font-weight:800}
.cl-unit{color:var(--muted); font-size:.82rem}
.cl-right{text-align:right}
.cl-total{font-weight:800; color:var(--gold-2)}
.cl-remove{color:#ff9d94; font-size:.8rem; font-weight:700; text-decoration:underline}
.cl-qty{display:inline-flex; align-items:center; gap:.55rem; grid-column:1 / -1}
.qty-btn{width:30px; height:30px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; font-weight:800}
.qty-btn:hover{border-color:var(--gold); color:var(--gold-2)}
.cart-summary{margin-top:1.3rem; border-top:1px solid var(--line-soft); padding-top:1.2rem; display:flex; flex-direction:column; gap:1rem}
.sum-row{display:flex; justify-content:space-between; font-size:1.1rem}
.sum-row strong{color:var(--gold-2)}
.sum-note{color:var(--muted); font-size:.88rem}
.sum-note.warn{color:#ffb3ab}
#orderForm{display:flex; flex-direction:column; gap:.9rem}
#orderForm label{display:flex; flex-direction:column; gap:.35rem; font-weight:700; font-size:.9rem}
#orderForm input{background:var(--surface); border:1px solid var(--line-soft); border-radius:12px; padding:.7rem .9rem; width:100%}
#orderForm input:focus{border-color:var(--gold); outline:none}
#orderForm .opt{color:var(--muted); font-weight:500}

/* modals */
.modal{position:fixed; inset:0; z-index:110; display:grid; place-items:center; padding:1rem; background:rgba(7,3,14,.72); backdrop-filter:blur(5px)}
.modal[hidden]{display:none}
.modal-card{position:relative; background:var(--bg-2); border:1px solid var(--line); border-radius:22px; overflow:hidden; width:min(520px,100%); max-height:92dvh; overflow-y:auto; box-shadow:var(--shadow)}
.modal-card-sm{width:min(440px,100%)}
.modal-x{position:absolute; top:12px; right:12px; z-index:2; background:rgba(10,4,20,.65)}
.modal-card > img{width:100%; height:270px; object-fit:cover}
.modal-body{padding:1.5rem}
.modal-body h3{font-size:1.6rem; margin-bottom:.5rem}
.modal-body p{color:var(--muted)}
.modal-row{display:flex; align-items:center; justify-content:space-between; margin:1.2rem 0}
.modal-row .price{font-size:1.25rem}
.qty-ctrl{display:inline-flex; align-items:center; gap:.9rem; border:1px solid var(--line); border-radius:999px; padding:.3rem .6rem}
.qty-ctrl button{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.05); font-size:1.15rem; font-weight:800}
.qty-ctrl span{font-weight:800; min-width:1.4ch; text-align:center}
#featCta{margin-top:1.3rem}
.lb-card{position:relative; width:min(880px,100%); text-align:center}
.lb-card img{width:100%; max-height:74dvh; object-fit:contain; border-radius:16px}
.lb-card p{margin-top:.8rem; font-weight:700}
.lb-nav{display:flex; gap:.8rem; justify-content:center; margin-top:1rem}
.lightbox .modal-x{background:rgba(10,4,20,.65)}

/* toast */
.toast{position:fixed; left:50%; bottom:96px; transform:translate(-50%,20px); background:var(--surface-2); border:1px solid var(--gold); color:var(--cream); padding:.75rem 1.3rem; border-radius:999px; font-weight:700; font-size:.92rem; opacity:0; pointer-events:none; transition:.3s; z-index:130; box-shadow:var(--shadow); max-width:92vw; text-align:center}
.toast.show{opacity:1; transform:translate(-50%,0)}

/* ============ responsive ============ */
@media (max-width:1080px){
  .menu-grid{grid-template-columns:repeat(3,1fr)}
  .feat-grid,.deals-grid,.gallery{grid-template-columns:repeat(2,1fr)}
  .sig-layout{grid-template-columns:1fr}
  .sig-video{min-height:300px}
}
@media (max-width:860px){
  .main-nav{display:none}
  .hide-sm{display:none}
  .story-layout,.reserve-layout,.contact-layout{grid-template-columns:1fr}
  .visit-grid,.foot-grid{grid-template-columns:1fr}
  .arch-img{height:380px}
  .mobile-bar{display:grid; grid-template-columns:1fr 1fr 1fr; position:fixed; left:0; right:0; bottom:0; z-index:85; background:rgba(16,7,28,.94); backdrop-filter:blur(12px); border-top:1px solid var(--line); padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom))}
  .mb-btn{display:flex; align-items:center; justify-content:center; gap:.45rem; padding:.7rem .3rem; border-radius:12px; font-weight:800; font-size:.92rem; color:var(--cream); text-decoration:none; border:1px solid var(--line-soft); background:rgba(255,255,255,.03)}
  .mb-wa{background:var(--wa); color:#06330f; border-color:transparent}
  .mb-btn .cart-count{position:static}
  .site-foot{padding-bottom:8.5rem}
  .to-top{bottom:158px}
  .toast{bottom:160px}
}
@media (max-width:620px){
  .menu-grid{grid-template-columns:repeat(2,1fr)}
  .sig-grid{grid-template-columns:1fr 1fr; gap:.9rem}
  .dish-media img{height:150px}
  .sig-card .dish-media img{height:130px}
  .dish-body{padding:.85rem}
  .dish-body h3{font-size:1.08rem}
  .dish-body p{font-size:.84rem}
  .form-2col{grid-template-columns:1fr}
  .hero-in{padding-bottom:6.5rem}
}
@media (max-width:430px){
  .sig-grid{grid-template-columns:1fr}
  .feat-grid,.deals-grid,.gallery{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:1fr 1fr; gap:.8rem}
  .price{font-size:.92rem}
  .add-btn{padding:.5rem .8rem}
}
