@font-face{font-family:Vazirmatn;src:url('assets/vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f5f1e8;--card:#fffcf5;--ink:#292d24;--olive:#65734d;--olive-dark:#4c5937;--muted:#777a6c;--line:#dfdfd1;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Vazirmatn,Tahoma,sans-serif;font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--olive);outline-offset:5px}button{transition:transform 140ms var(--ease),background-color 160ms ease,color 160ms ease}button:active{transform:scale(.97)}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.text-button{display:inline-flex;align-items:center;gap:12px;font-size:13px;min-height:44px}.text-button .icon{width:17px}.skip-link{position:fixed;top:12px;right:12px;z-index:99;padding:8px 20px;background:var(--olive);color:white;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px}.brand-mark{font-size:43px;font-weight:800;letter-spacing:-2.5px;line-height:1.3}.brand-dot{color:var(--olive)}.brand-caption{font-size:11px;color:var(--muted);border-inline-start:1px solid #cfd2c2;padding-inline-start:20px}
.welcome{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;padding-block:42px 48px}.welcome-copy{padding-inline-start:10px}.eyebrow{font-size:11px;font-weight:500;color:var(--olive);display:flex;gap:10px;align-items:center}.little-line{width:26px;height:1px;background:var(--olive)}h1{font-size:clamp(36px,4.3vw,60px);font-weight:800;line-height:1.55;letter-spacing:-2.2px;margin:14px 0 12px}h1 span{color:var(--olive)}.welcome-copy>p{color:var(--muted);font-size:13px;line-height:2.1}.welcome-link{display:inline-flex;align-items:center;gap:16px;font-size:12px;margin-top:24px;border-bottom:1px solid #b8bda8;padding-bottom:6px}.welcome-link .icon{width:17px}.welcome-photo{position:relative;height:340px;border-radius:140px 12px 12px 12px;isolation:isolate;background:#d9d4c3;overflow:visible}.welcome-photo>img{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:inherit}.welcome-photo:after{content:'';position:absolute;inset:50% 0 0;z-index:0;background:linear-gradient(transparent,#20261970);border-radius:0 0 12px 12px;pointer-events:none}.photo-label{position:absolute;bottom:22px;right:24px;color:white;font-size:11px;display:flex;align-items:center;gap:9px;z-index:1}.photo-stamp{position:absolute;left:-22px;bottom:30px;width:88px;height:88px;border-radius:50%;border:1px solid #a4ad91;outline:5px solid var(--paper);background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.8;transform:rotate(-12deg);font-size:11px;color:var(--olive);z-index:1}.photo-stamp b{font-size:15px;font-weight:600}
.menu-navigation{position:sticky;top:0;z-index:10;background:var(--paper);border-block:1px solid var(--line);scroll-margin-top:0}.navigation-inner{display:flex;align-items:center;gap:16px;min-height:76px}.category-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;padding-block:14px;overscroll-behavior-x:contain}.category-tabs::-webkit-scrollbar{display:none}.category-tab{white-space:nowrap;min-height:44px;padding:10px 17px;border-radius:7px;font-size:12px;color:#686d5d;flex-shrink:0}.category-tab.active{background:var(--olive);color:var(--card)}.all-categories{border:1px solid var(--line);border-radius:8px;background:var(--paper);position:relative}.all-categories:before{content:'';width:20px;height:44px;background:linear-gradient(to left,transparent,var(--paper));position:absolute;right:-21px;pointer-events:none}
.menu-content{padding-top:26px;padding-bottom:40px;min-height:420px}.menu-tools{display:flex;justify-content:space-between;align-items:center;gap:24px}.tag-filters{display:flex;gap:5px;overflow:auto;scrollbar-width:none}.filter{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;min-height:40px;padding:7px 12px;border-radius:6px;color:var(--muted);font-size:11px;border:1px solid transparent}.filter .icon{width:14px;height:14px}.filter.active{border-color:#d4d8c8;background:#e8eadf;color:#4d5c36}.search-field{display:flex;align-items:center;gap:10px;min-width:270px;border-bottom:1px solid #c8ccbc;min-height:43px;color:var(--muted)}.search-field>.icon{width:17px}.search-field input{border:0;background:none;min-width:0;width:100%;outline:none;font-size:11px;color:var(--ink);padding:8px 0}.search-field input::placeholder{color:#8d8f82}.search-field:focus-within{border-color:var(--olive)}input[type=search]::-webkit-search-cancel-button{display:none}.search-field .icon-button{width:28px;height:28px}.search-field .icon-button .icon{width:15px}.menu-heading{display:flex;align-items:end;justify-content:space-between;margin-block:37px 25px}.menu-heading h2{font-weight:700;font-size:27px;letter-spacing:-.7px;margin-top:3px}.menu-heading>p{color:var(--muted);font-size:11px;padding-bottom:6px}.menu-group+.menu-group{margin-top:48px}.group-heading{display:flex;align-items:center;gap:16px;margin-bottom:18px}.group-heading h3{font-size:17px;font-weight:600}.group-heading:after{content:'';height:1px;background:var(--line);flex:1}.group-heading span{font-size:10px;color:var(--muted);order:1}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.menu-card{display:flex;flex-direction:column;text-align:right;padding:0;border:1px solid #e5e3d8;background:var(--card);border-radius:12px;overflow:hidden;width:100%;height:100%;transition:border-color 180ms ease,transform 180ms var(--ease)}.card-image{height:210px;position:relative;background:#e5e1d5;overflow:hidden;width:100%}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform 350ms var(--ease)}.card-image:after{content:'';position:absolute;inset:0;border-bottom:1px solid #00000008;pointer-events:none}.card-badge{position:absolute;top:12px;right:12px;padding:4px 10px;font-size:10px;background:#fffcf5ed;border-radius:5px;color:var(--olive-dark);display:flex;align-items:center;gap:4px}.card-badge .icon{width:13px;height:13px}.unavailable .card-image img{filter:saturate(.45);opacity:.8}.unavailable .card-badge{background:#38382fe8;color:#fff}.card-body{display:flex;flex-direction:column;padding:18px 19px 16px;flex:1;width:100%}.card-title{font-size:16px;font-weight:650;margin:0 0 5px;line-height:1.8}.card-description{font-size:11px;color:var(--muted);line-height:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:19px;gap:8px;padding-top:13px;border-top:1px solid #e9e8de}.price{font-weight:650;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.price small{font-size:10px;font-weight:400;color:var(--muted);margin-inline-start:5px}.card-capacity{font-size:10px;color:var(--muted)}.card-arrow{width:25px;height:25px;color:var(--olive);display:flex;align-items:center;justify-content:center;margin-inline-start:auto}.card-arrow .icon{width:17px}.empty-state{text-align:center;padding:70px 20px}.empty-state>.icon{width:35px;height:35px;margin-bottom:14px;color:var(--olive)}.empty-state h3{font-size:19px;margin-bottom:7px}.empty-state p{font-size:12px;color:var(--muted);margin-bottom:22px}.solid-button{background:var(--olive);color:var(--card);padding:10px 22px;min-height:44px;border-radius:7px;font-size:12px}
.cafe-note{border-top:1px solid var(--line);padding-block:30px;display:flex;align-items:center;justify-content:center;gap:16px}.cafe-note>.icon{color:var(--olive);width:25px;height:25px}.cafe-note p{font-size:13px}.cafe-note span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;padding-block:26px 32px;flex-wrap:wrap}.footer-brand{font-size:29px;font-weight:800;letter-spacing:-2px;color:var(--olive)}.site-footer>span:nth-child(2){font-size:11px;color:var(--muted)}.site-footer>.text-button{margin-inline-start:auto;font-size:11px}.site-footer small{flex-basis:100%;text-align:center;font-size:9px;color:#878b7c}
.dialog-close{position:absolute;top:15px;left:15px;z-index:1;background:#fffcf5ed;box-shadow:0 1px 10px #00000008}dialog{border:0;background:var(--card);color:var(--ink);padding:0;box-shadow:0 24px 100px #18201825;max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:#20261b70;backdrop-filter:blur(4px)}.item-dialog{width:min(490px,calc(100% - 32px));border-radius:18px;overflow-y:auto}.detail-photo{width:100%;height:285px;object-fit:cover;background:#e5e1d5}.detail-body{padding:27px 30px 32px}.detail-category{font-size:11px;color:var(--olive)}.detail-body h2{font-size:26px;letter-spacing:-.6px;margin:6px 0 11px}.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.detail-tag{font-size:10px;padding:3px 10px;border-radius:4px;background:#ebeee3;color:var(--olive-dark)}.detail-tag.sold-out{background:#eee6e2;color:#775346}.detail-description{font-size:13px;line-height:2.2;color:var(--muted);margin-bottom:24px}.detail-variants{display:grid;gap:8px}.variant{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:12px}.detail-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.detail-bottom .price{font-size:20px}.detail-bottom>span{font-size:11px;color:var(--muted)}.detail-hint{font-size:10px;color:var(--muted);text-align:center;margin-top:22px}.small-dialog{width:min(460px,calc(100% - 32px));padding:26px;border-radius:16px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dialog-heading h2{font-size:20px}.dialog-heading .icon-button{background:#f0f0e6}.category-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.category-choice{padding:13px 12px;text-align:right;border:1px solid var(--line);border-radius:8px;font-size:12px;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px}.category-choice.active{background:var(--olive);color:var(--card);border-color:var(--olive)}.category-choice small{opacity:.65;font-size:10px}.about-intro{font-size:13px;color:var(--muted);line-height:2.2;margin-bottom:25px}.cafe-detail{display:flex;align-items:start;gap:15px;border-top:1px solid var(--line);padding-block:17px}.cafe-detail>.icon{color:var(--olive);margin-top:4px}.cafe-detail h3{font-size:12px;font-weight:600;margin-bottom:4px}.cafe-detail p{font-size:12px;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.sample-notice{background:#f0f0e6;padding:12px 15px;border-radius:7px;font-size:10px;color:var(--muted);line-height:2}
@media(hover:hover) and (pointer:fine){.menu-card:hover{border-color:#a8b194;transform:translateY(-3px)}.menu-card:hover img{transform:scale(1.035)}.icon-button:hover,.category-tab:not(.active):hover{background:#e8eadf}.filter:not(.active):hover{color:var(--olive-dark)}.text-button:hover,.welcome-link:hover{color:var(--olive)}.solid-button:hover{background:var(--olive-dark)}}
@media(min-width:1600px){.wrap{width:min(1300px,calc(100% - 128px))}.welcome-photo{height:370px}.card-image{height:240px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.welcome{gap:40px}.welcome-photo{height:300px}.menu-grid{gap:18px}.card-image{height:180px}.card-body{padding:15px}.card-title{font-size:14px}.menu-tools{gap:15px}.search-field{min-width:225px}.category-tab{padding-inline:14px}}

.mobile-only{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.from-price{font-size:10px;color:var(--muted)}
.filter{min-height:44px}.search-field .icon-button{width:44px;height:44px}.item-dialog{overflow:hidden}#item-content{max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}body{overflow-anchor:none}.mobile-tag-filters{display:grid;gap:10px}.mobile-tag-filter{padding:14px 16px;min-height:54px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;gap:12px;text-align:right}.mobile-tag-filter.active{background:#e8ecdf;border-color:var(--olive);color:var(--olive-dark)}
@media(prefers-reduced-motion:no-preference){dialog[open]:not(.gesture-sheet){animation:dialog-in 220ms var(--ease)}dialog[open]::backdrop{animation:backdrop-in 180ms ease}@keyframes dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}}
html.keyboard-input dialog[open],html.keyboard-input dialog[open]::backdrop{animation:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}button:active,.menu-card:hover{transform:none}}
