/* Chenzo — brand layer + light cinematic motion (transform/opacity only) */
@font-face{font-family:"IranSans";src:url("/static/fonts/iransans/woff2/IRANSansWeb.woff2") format("woff2");font-weight:normal;font-display:swap}
@font-face{font-family:"IranSans";src:url("/static/fonts/iransans/woff2/IRANSansWeb_Bold.woff2") format("woff2");font-weight:bold;font-display:swap}
@font-face{font-family:"IranSans";src:url("/static/fonts/iransans/woff2/IRANSansWeb_Bold.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"IranSans";src:url("/static/fonts/iransans/woff2/IRANSansWeb_Medium.woff2") format("woff2");font-weight:500 600;font-display:swap}
@font-face{font-family:"IranSans";src:url("/static/fonts/iransans/woff2/IRANSansWeb_Light.woff2") format("woff2");font-weight:300;font-display:swap}

:root{
  --cz-accent:#ff6a4d;--cz-accent-2:#ffb36b;
  --cz-ease:cubic-bezier(.2,.75,.15,1);--cz-ease-out:cubic-bezier(.16,1,.3,1);
  --cz-line:linear-gradient(90deg,transparent,rgba(var(--bn-accent-rgb),.55),rgba(var(--bn-accent-2-rgb),.35),transparent);
}
body:has(>.cz-ambient){background:transparent!important}
html,body{overflow-x:clip}
body{font-feature-settings:"ss01" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(var(--bn-accent-rgb),.32);color:inherit}
:focus-visible{outline:2px solid rgba(var(--bn-accent-rgb),.7);outline-offset:2px}

/* page transitions (Chromium/Safari, zero JS) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:cz-vt-out .28s var(--cz-ease) both}
::view-transition-new(root){animation:cz-vt-in .42s var(--cz-ease-out) both}
@keyframes cz-vt-out{to{opacity:0;transform:scale(.985)}}
@keyframes cz-vt-in{from{opacity:0;transform:translate3d(0,10px,0)}}

/* ambient light (fixed layer, GPU transform only) */
.cz-ambient{position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;contain:strict}
.cz-ambient::before,.cz-ambient::after{content:"";position:absolute;width:70vmax;height:70vmax;border-radius:50%;opacity:.5;will-change:transform}
.cz-ambient::before{top:0;right:5%;background:radial-gradient(closest-side,rgba(var(--bn-accent-rgb),.13),transparent);animation:cz-drift 26s ease-in-out infinite alternate}
.cz-ambient::after{bottom:0;left:0;background:radial-gradient(closest-side,rgba(var(--bn-accent-2-rgb),.09),transparent);animation:cz-drift 32s ease-in-out infinite alternate-reverse}
@keyframes cz-drift{to{transform:translate3d(-12vmax,8vmax,0) scale(1.12)}}
@media (max-width:767px){.cz-ambient::before,.cz-ambient::after{animation:none}}

/* letterbox intro (first visit per session) */
.cz-letterbox{position:fixed;inset:0;z-index:10060;pointer-events:none;display:none}
html.cz-intro .cz-letterbox{display:block}
.cz-letterbox i{position:absolute;left:0;right:0;height:51vh;background:#05060a;transform-origin:top;animation:cz-bar 1s var(--cz-ease) .35s both}
.cz-letterbox i:last-child{bottom:0;transform-origin:bottom}
.cz-letterbox i::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cz-line)}
.cz-letterbox i:last-child::after{top:0;bottom:auto}
@keyframes cz-bar{to{transform:scaleY(0)}}
html.cz-intro main{animation:cz-rise .9s var(--cz-ease-out) .55s both}
@keyframes cz-rise{from{opacity:0;transform:translate3d(0,18px,0) scale(.99)}}

/* preloader: short, only on first visit */
html.cz-nointro .bn-preloader{display:none}
html.cz-nointro,html.cz-nointro body{overflow:visible!important}
.bn-preloader__logo{border-radius:20px!important;box-shadow:0 0 0 1px rgba(var(--bn-accent-rgb),.25),0 18px 50px rgba(var(--bn-accent-rgb),.25)!important}
.bn-preloader__brand{font-weight:800;letter-spacing:.32em;text-transform:uppercase;background:linear-gradient(90deg,var(--bn-accent),var(--bn-accent-2),var(--bn-accent));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cz-sheen 2.4s linear infinite}
@keyframes cz-sheen{to{background-position:-200% 0}}

/* topbar */
.bn-topbar{background:linear-gradient(180deg,var(--bn-topbar-bg),color-mix(in srgb,var(--bn-topbar-bg) 82%,transparent));border-bottom-color:transparent}
.bn-topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--cz-line);opacity:.8}
.bn-brand{letter-spacing:.02em}
.bn-brand span{background:linear-gradient(100deg,var(--bn-text) 30%,var(--bn-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.bn-brand__logo{border-radius:10px;transition:transform .5s var(--cz-ease-out)}
.bn-brand:hover .bn-brand__logo{transform:rotate(-8deg) scale(1.06)}
.bn-nav-scroll>.bn-nav-link,.bn-nav-more__btn{position:relative;transition:color .2s,background-color .2s}
.bn-nav-scroll>.bn-nav-link::after{content:"";position:absolute;inset-inline:18%;bottom:3px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--bn-accent),var(--bn-accent-2));transform:scaleX(0);transition:transform .35s var(--cz-ease-out)}
.bn-nav-scroll>.bn-nav-link:hover::after,.bn-nav-scroll>.bn-nav-link.is-active::after{transform:scaleX(1)}
.bn-nav-dropdown{border-radius:16px!important;animation:cz-pop .22s var(--cz-ease-out)}
@keyframes cz-pop{from{opacity:0;transform:translate3d(0,-6px,0) scale(.98)}}
.bn-clock{font-variant-numeric:tabular-nums}

/* surfaces */
.bn-panel{position:relative;transition:border-color .25s,box-shadow .35s}
.bn-panel::before{content:"";position:absolute;inset-inline:12%;top:-1px;height:1px;background:var(--cz-line);opacity:.55;pointer-events:none}
.bn-pos-card,.bn-choice-card,.bn-status-card,.bn-card-item,.bn-menu-item-card,.bn-variant-card{transition:transform .35s var(--cz-ease-out),box-shadow .35s,border-color .25s}
@media (hover:hover){
  .bn-pos-card:hover,.bn-choice-card:hover,.bn-status-card:hover,.bn-card-item:hover,.bn-menu-item-card:hover,.bn-variant-card:hover{transform:translate3d(0,-3px,0);border-color:rgba(var(--bn-accent-rgb),.35);box-shadow:0 18px 40px rgba(0,0,0,.35),0 0 0 1px rgba(var(--bn-accent-rgb),.12)}
}
.bn-pos-card:active,.bn-choice-card:active,.bn-card-item:active{transform:scale(.98)}
.bn-page-title{letter-spacing:-.01em}

/* buttons: light sweep */
.btn-bn-primary{position:relative;overflow:hidden;isolation:isolate;transition:transform .2s var(--cz-ease-out),box-shadow .3s}
.btn-bn-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translate3d(-120%,0,0);transition:transform .7s var(--cz-ease)}
.btn-bn-primary:hover::after{transform:translate3d(120%,0,0)}
.btn-bn-primary:active{transform:scale(.97)}

/* scroll reveal (only when JS opted in) */
html.czfx-ready [data-czfx-on]:not(.is-in){opacity:0;transform:translate3d(0,22px,0) scale(.985)}
html.czfx-ready [data-czfx-on]{transition:opacity .7s var(--cz-ease-out) var(--czfx-d,0ms),transform .9s var(--cz-ease-out) var(--czfx-d,0ms)}

/* ===== Login (cinematic hero) ===== */
.cz-auth{overflow-x:clip;min-height:calc(100svh - 2rem);display:grid;align-items:center;gap:2rem;padding:1.25rem 0 2rem}
@media (min-width:992px){.cz-auth{grid-template-columns:1.15fr .85fr;gap:4rem;padding:2rem 0}}
.cz-hero{position:relative;text-align:center}
@media (min-width:992px){.cz-hero{text-align:start}.cz-hero .cz-hero__logo{margin:0}}
.cz-hero__beam{position:absolute;top:-30%;inset-inline-start:-10%;width:120%;aspect-ratio:1;z-index:-1;pointer-events:none;opacity:.55;background:conic-gradient(from 200deg at 50% 50%,transparent 0 20%,rgba(var(--bn-accent-rgb),.16) 26%,transparent 34%,transparent 60%,rgba(var(--bn-accent-2-rgb),.1) 68%,transparent 76%);border-radius:50%;-webkit-mask:radial-gradient(closest-side,#000 40%,transparent);mask:radial-gradient(closest-side,#000 40%,transparent);animation:cz-spin 40s linear infinite}
@keyframes cz-spin{to{transform:rotate(1turn)}}
.cz-hero__logo{display:block;margin:0 auto;width:76px;height:76px;filter:drop-shadow(0 14px 32px rgba(var(--bn-accent-rgb),.35));animation:cz-float 6s ease-in-out infinite}
@keyframes cz-float{50%{transform:translate3d(0,-6px,0)}}
.cz-hero__kicker{display:inline-flex;gap:.5rem;align-items:center;margin:1.1rem 0 .4rem;padding:.3rem .8rem;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--bn-accent-2);background:rgba(var(--bn-accent-rgb),.1);border:1px solid rgba(var(--bn-accent-rgb),.22)}
.cz-hero__kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bn-accent);box-shadow:0 0 10px var(--bn-accent);animation:cz-blink 2s ease-in-out infinite}
@keyframes cz-blink{50%{opacity:.35}}
.cz-hero__title{font-size:clamp(2.2rem,8vw,4.2rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:.2rem 0 .6rem}
.cz-hero__title .cz-split{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.cz-hero__title .cz-split>span{display:inline-block;background:linear-gradient(100deg,var(--bn-text) 25%,var(--bn-accent-2) 60%,var(--bn-accent));-webkit-background-clip:text;background-clip:text;color:transparent;animation:cz-up 1.1s var(--cz-ease-out) .25s both}
@keyframes cz-up{from{transform:translate3d(0,105%,0)}}
.cz-hero__lead{color:var(--bn-text-muted);font-size:1rem;line-height:1.9;max-width:34rem;margin:0 auto 1.2rem}
@media (min-width:992px){.cz-hero__lead{margin-inline:0;font-size:1.08rem}}
.cz-feats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;list-style:none;padding:0;margin:0}
@media (min-width:992px){.cz-feats{justify-content:flex-start}}
.cz-feats li{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:12px;font-size:.82rem;background:var(--bn-surface);border:1px solid var(--bn-border);animation:cz-fade .7s var(--cz-ease-out) both;animation-delay:calc(.6s + var(--i,0) * 80ms)}
.cz-feats i{color:var(--bn-accent)}
@keyframes cz-fade{from{opacity:0;transform:translate3d(0,12px,0)}}
.cz-auth .bn-auth-card{width:100%;max-width:440px;margin-inline:auto;padding:1.75rem 1.4rem;border-radius:22px;position:relative;animation:cz-card 1s var(--cz-ease-out) .35s both}
.cz-auth .bn-auth-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(var(--bn-accent-rgb),.6),transparent 40%,transparent 60%,rgba(var(--bn-accent-2-rgb),.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
@keyframes cz-card{from{opacity:0;transform:translate3d(0,26px,0) scale(.97)}}
.cz-auth .bn-auth-brand{margin-bottom:1.1rem}
.cz-auth .bn-auth-brand__name{font-size:1.25rem}
.cz-auth .form-control{min-height:48px;border-radius:14px;font-size:16px}
.cz-auth .btn-lg{min-height:52px;border-radius:14px}
.cz-foot{margin-top:1.25rem;text-align:center;font-size:.74rem;color:var(--bn-text-faint);letter-spacing:.08em}
.cz-foot b{color:var(--bn-text-muted);letter-spacing:.2em}

/* ===== Online menu ===== */
.om-page{overflow-x:clip}
.om-item{min-width:0}.om-item__body,.om-item__prices,.om-price{box-sizing:border-box;min-width:0}
.om-hero__brand{background:linear-gradient(100deg,var(--bn-text) 20%,var(--bn-accent-2) 55%,var(--bn-accent));-webkit-background-clip:text;background-clip:text;color:transparent;animation:cz-fade 1s var(--cz-ease-out) .1s both}
.om-hero__kicker,.om-hero__sub{animation:cz-fade .9s var(--cz-ease-out) .3s both}
.om-hero__ornament{animation:cz-grow 1.2s var(--cz-ease-out) .4s both}
@keyframes cz-grow{from{transform:scaleX(0)}}
.om-item{transition:transform .35s var(--cz-ease-out),box-shadow .35s}
@media (hover:hover){.om-item:hover{transform:translate3d(0,-4px,0)}}
.om-item__media img{transition:transform .8s var(--cz-ease-out)}
@media (hover:hover){.om-item:hover .om-item__media img{transform:scale(1.06)}}
.om-chip{transition:transform .2s,background-color .2s,color .2s}
.om-chip:active{transform:scale(.95)}
.cz-om-mark{display:block;width:44px;height:44px;margin:0 auto .5rem}

/* ===== Birthday club ===== */
.wish-hero,.wish-card{animation:cz-fade .9s var(--cz-ease-out) both}
.wish-card{animation-delay:.2s}

/* reduced motion: everything static */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .cz-ambient,.cz-letterbox,.cz-hero__beam{display:none!important}
  html.czfx-ready [data-czfx-on]{opacity:1!important;transform:none!important}
  @view-transition{navigation:none}
}
