:root{
  --brand:#A5442B;
  --brand-dark:#7B2F20;
  --ink:#24211F;
  --muted:#746F6A;
  --surface:#FFFFFF;
  --background:#F7F2E9;
  --line:#E8E0D4;
  --olive:#657153;
  --success:#397A51;
  --warning:#C78124;
  --danger:#B8423C;
  --disabled:#A6A09A;
  --shadow:0 10px 30px rgba(70,45,28,.08);
  --radius-lg:20px;
  --radius-md:16px;
  --radius-sm:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Vazirmatn",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--background);
  color:var(--ink);
  min-height:100vh;
}
button,input{font:inherit}
button{cursor:pointer}
.app-shell{max-width:820px;margin:0 auto;padding-bottom:92px}
.topbar{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  min-height:72px;padding:12px 16px;
  background:rgba(247,242,233,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,224,212,.9);
}
.brand-lockup{display:flex;align-items:center;gap:10px}
.brand-lockup strong{display:block;font-size:1.2rem;font-weight:800}
.brand-lockup span{display:block;font-size:.78rem;color:var(--muted)}
.brand-mark{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:var(--brand);color:#fff;font-weight:800;font-size:1.15rem;
}
.topbar-actions{display:flex;gap:8px}
.icon-button{
  width:44px;height:44px;border:1px solid var(--line);border-radius:14px;
  background:var(--surface);color:var(--ink);font-size:1.2rem;
}
.disabled{opacity:.55;cursor:not-allowed}
main{padding:14px 16px 28px}
.status-card{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:14px 16px;
  box-shadow:var(--shadow);
}
.status-line{display:flex;align-items:center;gap:8px}
.status-line strong{font-size:.98rem}
.status-card p{margin:6px 0 0;color:var(--muted);font-size:.84rem}
.status-dot{width:10px;height:10px;border-radius:999px;background:var(--disabled)}
.status-dot.open{background:var(--success);box-shadow:0 0 0 5px rgba(57,122,81,.12)}
.status-dot.transition{background:var(--warning);box-shadow:0 0 0 5px rgba(199,129,36,.12)}
.status-dot.closed{background:var(--danger);box-shadow:0 0 0 5px rgba(184,66,60,.1)}
.session-switcher{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 6px;
}
.session-tab{
  min-height:84px;padding:12px;border-radius:var(--radius-md);
  border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:right;
}
.session-tab strong,.session-tab span{display:block}
.session-tab strong{font-size:.92rem}
.session-tab span{margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.55}
.session-tab.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:var(--shadow)}
.session-tab.active span{color:rgba(255,255,255,.8)}
.section-block{margin-top:28px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}
.section-heading h2,.order-card h2,.music-card h2,.info-card h2{margin:3px 0 0;font-size:1.12rem}
.eyebrow{font-size:.72rem;color:var(--brand);font-weight:700}
.eyebrow.light{color:rgba(255,255,255,.74)}
.demo-badge{
  padding:6px 9px;border-radius:999px;background:#F2E3D8;color:#8D3E27;
  font-size:.68rem;font-weight:700;white-space:nowrap;
}
.search-panel{
  margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);
  background:var(--surface);
}
.search-panel label{display:block;font-weight:700;font-size:.88rem;margin-bottom:8px}
.search-box{display:flex;gap:8px}
.search-box input{
  flex:1;min-width:0;height:48px;border:1px solid var(--line);
  border-radius:14px;padding:0 14px;background:#FCFAF7;outline:none;
}
.search-box input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(165,68,43,.1)}
.search-box button{
  border:0;border-radius:14px;background:#EEECEA;color:var(--ink);padding:0 14px;
}
.hidden{display:none!important}
.featured-grid{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(235px,76%);
  gap:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;
}
.feature-card{
  scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);
}
.food-visual{
  min-height:128px;display:grid;place-items:center;padding:18px;
  background:linear-gradient(145deg,#E9D2C7,#F8EFE9);color:var(--brand-dark);
  font-weight:800;letter-spacing:-.03em;
}
.feature-card .content{padding:14px}
.feature-card h3{margin:0;font-size:1rem}
.feature-card p{margin:7px 0;color:var(--muted);font-size:.8rem;line-height:1.7}
.price-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}
.price{font-weight:800;color:#5A362B;font-size:.9rem}
.text-button{border:0;background:transparent;color:var(--brand);font-weight:700;padding:4px}
.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.category-card{
  min-height:106px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);
  background:var(--surface);text-align:right;box-shadow:0 7px 18px rgba(70,45,28,.05);
}
.category-card .icon{font-size:1.4rem}
.category-card strong{display:block;margin-top:9px;font-size:.9rem}
.category-card span{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}
.product-list{display:grid;gap:10px}
.product-card{
  width:100%;display:grid;grid-template-columns:96px 1fr;gap:12px;
  border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);
  padding:10px;text-align:right;box-shadow:0 6px 18px rgba(70,45,28,.045);
}
.product-card.unavailable{opacity:.58}
.product-visual{
  min-height:96px;border-radius:12px;display:grid;place-items:center;
  background:#F1E4DB;color:var(--brand-dark);font-size:.74rem;font-weight:800;text-align:center;padding:8px;
}
.product-content h3{margin:0;font-size:.93rem}
.product-content p{margin:6px 0;color:var(--muted);font-size:.76rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tag-row,.dialog-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tag{
  padding:4px 7px;border-radius:999px;background:#EEECEA;color:#6D6761;
  font-size:.63rem;font-weight:700;
}
.tag.best{background:#F2E3D8;color:#8D3E27}
.tag.out{background:#E8E3DC;color:#4E4741}
.tag.off{background:#F4DEDC;color:#A33A35}
.product-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.order-card,.music-card,.info-card{
  margin-top:28px;border-radius:var(--radius-lg);padding:20px;
}
.order-card{
  background:var(--brand);color:#fff;box-shadow:0 16px 38px rgba(165,68,43,.18);
}
.order-card p,.music-card p,.info-card p{margin:8px 0 0;line-height:1.75;font-size:.82rem}
.order-card p,.music-card p{color:rgba(255,255,255,.77)}
.order-actions,.info-actions{display:grid;gap:9px;margin-top:16px}
.primary-button,.secondary-button{
  min-height:50px;border-radius:14px;padding:0 14px;font-weight:700;
}
.primary-button{border:0;background:#fff;color:var(--brand)}
.secondary-button{border:1px solid rgba(255,255,255,.46);background:transparent;color:#fff}
.info-card .secondary-button{border-color:var(--line);color:var(--ink);background:var(--surface)}
.music-card{
  display:flex;align-items:center;gap:15px;background:var(--ink);color:#fff;
}
.music-icon{
  flex:0 0 52px;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;
  background:var(--brand);font-size:1.45rem;
}
.coming-soon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.coming-card{
  min-height:106px;border:1px dashed #CBC5BF;border-radius:var(--radius-md);
  background:#EEECEA;color:#77716C;padding:12px;text-align:right;
}
.coming-card .icon{font-size:1.25rem;filter:grayscale(1)}
.coming-card strong{display:block;margin-top:10px;font-size:.78rem}
.coming-card span{display:block;margin-top:4px;font-size:.65rem}
.info-card{background:var(--surface);border:1px solid var(--line)}
.info-card p{color:var(--muted)}
.bottom-nav{
  position:fixed;z-index:30;bottom:0;right:0;left:0;
  max-width:820px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);
  min-height:72px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
}
.bottom-nav button{
  border:0;background:transparent;color:var(--muted);display:grid;place-items:center;gap:1px;
}
.bottom-nav button.active{color:var(--brand);font-weight:700}
.bottom-nav span{font-size:1.1rem}
.bottom-nav small{font-size:.66rem}
.product-dialog{
  width:min(92vw,520px);padding:0;border:0;border-radius:24px;overflow:hidden;
  box-shadow:0 30px 70px rgba(36,33,31,.28);
}
.product-dialog::backdrop{background:rgba(36,33,31,.55);backdrop-filter:blur(4px)}
.dialog-close{
  position:absolute;left:12px;top:12px;width:40px;height:40px;border-radius:14px;
  border:0;background:rgba(255,255,255,.9);font-size:1.35rem;
}
.dialog-visual{
  min-height:185px;display:grid;place-items:center;background:linear-gradient(145deg,#E7CFC3,#F7EDE7);
  color:var(--brand-dark);font-weight:800;
}
.dialog-body{padding:20px}
.dialog-body h2{margin:10px 0 0}
.dialog-body p{color:var(--muted);line-height:1.85}
.dialog-price{font-weight:800;color:#5A362B;margin:18px 0}
.dialog-body .primary-button{width:100%;background:var(--brand);color:#fff}
.toast{
  position:fixed;z-index:60;right:50%;bottom:94px;transform:translateX(50%) translateY(20px);
  max-width:min(88vw,420px);padding:11px 14px;border-radius:14px;
  background:var(--ink);color:#fff;font-size:.78rem;opacity:0;pointer-events:none;
  transition:.2s ease;
}
.toast.show{opacity:1;transform:translateX(50%) translateY(0)}
@media(min-width:720px){
  main{padding-inline:24px}
  .category-grid{grid-template-columns:repeat(3,1fr)}
  .featured-grid{grid-auto-flow:unset;grid-template-columns:repeat(3,1fr);overflow:visible}
  .product-list{grid-template-columns:1fr 1fr}
  .coming-soon-grid{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
.link-button{text-decoration:none}
.icon-button.link-button{display:grid;place-items:center}
.action-link{display:grid;place-items:center}
