:root{--accent-color: #155e52;--ink: #172026;--muted: #65736d;--soft: #f6efe6;--surface: #fffaf2;--surface-strong: #fffdf8;--line: rgb(88 66 43 / 14%);--shadow: 0 10px 26px rgb(67 48 30 / 9%), 0 1px 0 rgb(255 255 255 / 76%) inset;--shadow-soft: 0 7px 18px rgb(67 48 30 / 7%), 0 1px 0 rgb(255 255 255 / 72%) inset;--pressed: inset 0 1px 2px rgb(67 48 30 / 8%), inset 0 -1px 0 rgb(255 255 255 / 72%);color:var(--ink);background:#f6efe6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}.font-system{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.font-classic{font-family:Georgia,Times New Roman,serif}.font-elegant{font-family:Trebuchet MS,Segoe UI,sans-serif}.font-rounded{font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{width:100%;scroll-behavior:smooth}html,body,#root{min-height:100%;margin:0}body{min-width:0;overflow-x:clip;background:linear-gradient(135deg,#f7f0e7,#edf5ef 54%,#f4eef4)}body,button,input{font:inherit}img,svg,video,canvas{max-width:100%}a{color:inherit}button{min-height:44px;border:0;border-radius:12px;padding:0 18px;background:linear-gradient(145deg,var(--accent-color),color-mix(in srgb,var(--accent-color),#102f2a 28%));color:#fffaf3;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #155e5224}button:hover{transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f2b35d;outline-offset:3px}input{width:100%;min-width:0;min-height:44px;border:1px solid transparent;border-radius:12px;padding:0 12px;background:#fffaf4;color:var(--ink);box-shadow:var(--pressed)}h1,h2,h3,p{margin-top:0}.app-shell{width:100%;max-width:1180px;min-width:0;margin:0 auto;overflow-x:clip;padding:16px max(12px,env(safe-area-inset-left)) 28px max(12px,env(safe-area-inset-right))}.app-shell--state{min-height:100vh;display:grid;align-content:center}.menu-header,.slug-form,.contact-panel,.allergen-legend,.category-nav,.category-section,.product-card,.state-panel{min-width:0;border:1px solid rgb(255 255 255 / 72%);border-radius:16px;background:linear-gradient(145deg,#fffaf3f5,#f4ece2e0);box-shadow:var(--shadow);overflow-wrap:anywhere}.menu-header{position:relative;display:grid;gap:12px;overflow:hidden;padding:16px}.menu-header:after{content:"";position:absolute;right:18px;bottom:0;left:18px;height:4px;border-radius:99px 99px 0 0;background:linear-gradient(90deg,var(--accent-color),#d38a5d)}.menu-cover{display:block;width:100%;height:clamp(150px,46vw,230px);border-radius:13px;object-fit:cover;object-position:center;background:#f0e8dc;box-shadow:var(--pressed)}.restaurant-title{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}.restaurant-title--no-logo{justify-content:center;text-align:center}.restaurant-title--no-logo h1{margin-right:auto;margin-left:auto}.restaurant-logo{flex:0 0 64px;width:64px;height:64px;border:3px solid rgb(255 255 255 / 88%);border-radius:50%;padding:3px;object-fit:contain;background:#fffdf9;box-shadow:var(--pressed)}.menu-header h1{max-width:820px;margin:0;color:color-mix(in srgb,var(--accent-color),#1f2a2e 18%);font-size:clamp(1.7rem,7vw,4rem);line-height:1;letter-spacing:0;overflow-wrap:anywhere;min-width:0}.slug-form{display:grid;gap:8px;margin-bottom:14px;padding:12px}.slug-form label{color:var(--muted);font-size:.88rem;font-weight:800}.slug-controls{display:grid;gap:8px;min-width:0}.contact-panel{display:grid;gap:12px;margin-top:14px;padding:14px}.contact-panel h2{margin-bottom:0;color:color-mix(in srgb,var(--accent-color),#1f2a2e 18%);font-size:1rem}.contact-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:8px;min-width:0}.contact-content p{display:grid;gap:2px;margin-bottom:0;color:#2b3a42;line-height:1.4}.contact-content span{color:var(--muted);font-size:.84rem;font-weight:850}.contact-content a{color:color-mix(in srgb,var(--accent-color),#102f2a 10%);font-weight:760;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.contact-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.contact-actions a,.contact-actions button{display:inline-flex;min-height:42px;min-width:0;max-width:100%;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent-color),#ffffff 68%);border-radius:999px;padding:0 14px;background:linear-gradient(145deg,#fffaf3,#eee7dc);color:var(--accent-color);font:inherit;font-weight:850;text-decoration:none;box-shadow:var(--shadow-soft);white-space:normal;cursor:pointer}.contact-actions svg{width:21px;height:21px;flex:0 0 auto;fill:currentColor}.opening-hours-panel{border:1px solid color-mix(in srgb,var(--accent-color),#ffffff 72%);border-radius:16px;padding:12px 14px;background:#fffaf3;color:#2b3a42;font-size:.94rem;font-weight:720;line-height:1.45;white-space:pre-line}.social-panel{display:grid;gap:8px;min-width:0;border-top:1px solid var(--line);padding-top:10px}.social-panel p{margin-bottom:0;color:var(--muted);font-size:.88rem;font-weight:800}.social-links{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.social-links a{display:inline-flex;min-height:42px;min-width:0;max-width:100%;align-items:center;gap:8px;border:0;border-radius:999px;padding:0 13px;background:linear-gradient(145deg,#fffaf3,#eee7dc);color:color-mix(in srgb,var(--accent-color),#102f2a 10%);font-size:.88rem;font-weight:850;text-decoration:none;box-shadow:0 7px 18px #43301e12}.social-links svg{flex:0 0 19px;width:19px;height:19px;fill:currentColor}.social-links a.social-link--facebook{background:#1877f2;color:#fff;box-shadow:0 8px 18px #1877f22e}.social-links a.social-link--instagram{background:linear-gradient(135deg,#f58529,#feda77 22%,#dd2a7b 52%,#8134af,#515bd4);color:#fff;box-shadow:0 8px 18px #dd2a7b2e}.social-links a.social-link--tiktok{background:#111827;color:#fff;box-shadow:0 8px 18px #11182729}.legend-chip-row,.badge-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.category-nav{position:sticky;top:max(0px,env(safe-area-inset-top));z-index:5;display:flex;gap:8px;margin-top:14px;padding:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-padding-inline:42%;scrollbar-width:thin}.category-nav button{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:44px;max-width:min(76vw,280px);border:1px solid transparent;border-radius:999px;padding:0 12px;background:#fffaf4;color:var(--ink);text-decoration:none;box-shadow:var(--pressed);cursor:pointer;transform:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,transform .18s ease}.category-nav button:hover{background:#fffdf8;border-color:color-mix(in srgb,var(--accent-color),#ffffff 72%);transform:none}.category-nav button.is-active{border-color:color-mix(in srgb,var(--accent-color),#ffffff 48%);background:linear-gradient(145deg,color-mix(in srgb,var(--accent-color),#ffffff 78%),#fffaf4);color:color-mix(in srgb,var(--accent-color),#102f2a 8%);box-shadow:var(--shadow-soft);transform:translateY(-1px) scale(1.03)}.category-nav span{overflow:hidden;font-size:.9rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.category-nav small{display:grid;min-width:24px;height:24px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--accent-color),#ffffff 82%);color:var(--accent-color);font-weight:900}.category-nav button.is-active small{background:var(--accent-color);color:#fffaf3}.allergen-legend{display:grid;gap:8px;margin-top:10px;padding:8px;background:linear-gradient(145deg,#fffaf3eb,#f4ece2cc);box-shadow:var(--shadow-soft)}.allergen-legend__toggle{display:inline-flex;width:fit-content;min-height:40px;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent-color),#ffffff 70%);border-radius:999px;padding:0 12px 0 9px;background:#fffaf4;color:color-mix(in srgb,var(--accent-color),#102f2a 12%);box-shadow:var(--pressed);font-size:.84rem;font-weight:880;transform:none}.allergen-legend__toggle:hover{transform:none}.allergen-legend__mark{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;background:var(--accent-color);color:#fffaf3;font-size:.86rem;font-weight:950;line-height:1}.allergen-legend__content{display:grid;gap:8px;border-top:1px solid var(--line);padding:8px 2px 2px}.allergen-legend__grid{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.allergen-legend__item{display:inline-flex;max-width:100%;min-height:34px;align-items:center;gap:7px;border:1px solid rgb(255 255 255 / 74%);border-radius:999px;padding:4px 10px 4px 6px;background:linear-gradient(145deg,#fffaf3,#eee7dc);color:#4f3b21;box-shadow:var(--shadow-soft);font-size:.8rem;font-weight:820}.allergen-legend__icon{display:grid;flex:0 0 24px;min-width:24px;width:auto;height:24px;place-items:center;border-radius:999px;background:#fffdf8;box-shadow:var(--pressed);font-size:.9rem;padding:0 5px}.allergen-legend__content p{margin-bottom:0;color:var(--muted);font-size:.78rem;line-height:1.35}.category-list{display:grid;gap:12px;min-width:0;padding-top:10px}.category-section{display:grid;gap:0;padding:12px;scroll-margin-top:64px}.category-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;min-width:0}.category-heading p{margin-bottom:3px;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.category-heading h2{margin:0;color:color-mix(in srgb,var(--accent-color),#1f2a2e 22%);font-size:clamp(1.25rem,3vw,1.8rem);letter-spacing:0}.category-heading>span{flex:0 0 auto;color:var(--muted);font-size:.85rem;font-weight:800}.product-list{display:grid;gap:8px;min-width:0}.product-card{display:grid;grid-template-columns:minmax(0,1fr) 96px;grid-template-areas:"copy price" "copy image" "allergens allergens";grid-template-rows:auto minmax(58px,1fr) auto;column-gap:12px;row-gap:7px;align-items:start;min-height:166px;overflow:visible;padding:12px;background:linear-gradient(145deg,#fffaf3,#f2eadf);transition:transform .15s ease,box-shadow .15s ease}.product-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px #4835221c,0 1px #ffffffc2 inset}.product-card--with-image{grid-template-columns:minmax(0,1fr) 96px}.product-card--no-price:not(.product-card--with-image){grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "allergens";grid-template-rows:minmax(0,1fr) auto}.product-card--no-price.product-card--with-image{grid-template-areas:"copy image" "copy image" "allergens allergens"}.product-image{grid-area:image;align-self:end;justify-self:end;width:100%;height:100%;min-height:0;max-height:none;border-radius:12px;object-fit:cover;background:#f0e8dc;box-shadow:var(--pressed)}.product-copy{grid-area:copy;display:grid;align-content:start;gap:0;min-width:0;min-height:0;overflow:hidden}.product-copy h3{margin:0 0 5px;color:var(--ink);font-size:clamp(1.14rem,2.4vw,1.34rem);font-weight:930;letter-spacing:0;line-height:1.12}.product-copy p{margin-bottom:0;color:var(--muted);line-height:1.42}.product-description{font-size:.9rem;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.product-meta{display:grid;gap:2px;margin-top:6px;color:#78857f;font-size:.76rem;line-height:1.34;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.product-meta span,.badge-label{color:#2b3a42;font-weight:850}.product-meta span{color:#66736e;font-size:.72rem}.badge-row{margin-top:7px;max-height:26px;overflow:hidden}.allergen-row{grid-area:allergens;display:flex;min-width:0;align-items:center;align-self:end;gap:7px;margin-top:0;color:#66736e;font-size:.76rem;line-height:1.15}.allergen-row__label{flex:0 0 auto;color:#66736e;font-size:.72rem;font-weight:850}.allergen-icons{display:inline-flex;flex-wrap:wrap;min-width:0;align-items:center;gap:4px;max-height:52px;overflow:clip}.allergen-icon{display:inline-flex;flex:0 0 24px;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid rgb(255 255 255 / 74%);border-radius:999px;background:linear-gradient(145deg,#fffaf3,#eee7dc);box-shadow:var(--shadow-soft);color:#744c13;font-size:.9rem}.allergen-empty{color:#78857f;font-weight:850}.badge-label{flex-basis:100%;font-size:.88rem}.tag-badge,.allergen-chip{display:inline-flex;max-width:100%;align-items:center;gap:5px;border:1px solid rgb(255 255 255 / 74%);border-radius:999px;padding:4px 9px;background:linear-gradient(145deg,#fffaf3,#eee7dc);box-shadow:var(--shadow-soft);font-size:.8rem;line-height:1.2}.tag-badge{color:#14594f}.tag-badge--highlight,.tag-badge--suggestion{color:#74501a}.tag-badge--new{color:#285679}.tag-badge--spicy{color:#9a341c}.tag-badge--vegetarian{color:#23633c}.tag-badge--free{color:#5c5146}.allergen-chip{color:#744c13}.product-price{grid-area:price;align-self:start;justify-self:end;z-index:1;min-width:max-content;color:color-mix(in srgb,var(--accent-color),#102f2a 8%);font-size:1.02rem;font-weight:950;text-align:right;white-space:nowrap}.product-price-note{grid-column:1 / -1;align-self:end;color:#64748b;font-size:.74rem;line-height:1.25}.menu-footer{display:grid;gap:10px;margin:20px auto 0;padding:0 4px 24px;color:#64748b;font-size:.82rem}.menu-footer details{border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#ffffffa8;padding:10px 12px}.menu-footer summary{cursor:pointer;color:#0f172a;font-weight:800}.menu-footer p{margin:8px 0 0;line-height:1.55;white-space:pre-wrap}.app-shell--accessible{font-size:1.06rem}.app-shell--accessible .product-card,.app-shell--accessible .contact-panel,.app-shell--accessible .category-nav button{border-color:#0f172a38}.state-panel{padding:18px;color:#2b3a42}.state-panel h1{margin:14px 0 8px;color:var(--accent-color);font-size:clamp(2rem,8vw,3.2rem);line-height:1}.state-panel p{margin-bottom:14px}@media(min-width:620px){.app-shell{padding:24px max(18px,env(safe-area-inset-left)) 54px max(18px,env(safe-area-inset-right))}.slug-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center}.menu-header,.contact-panel,.category-section{padding:18px}.menu-cover{height:clamp(220px,32vw,340px)}.product-card{padding:14px;min-height:172px}}@media(min-width:860px){.app-shell{width:calc(100% - 48px);padding:32px 0 44px}.menu-header{min-height:300px;padding:24px}.menu-cover{height:clamp(260px,29vw,380px)}.contact-panel{grid-template-columns:minmax(0,1fr) auto;align-items:start}.contact-panel h2,.social-panel{grid-column:1 / -1}.contact-actions{justify-content:flex-end}}@media(min-width:980px){.app-shell{max-width:1240px}.category-list{gap:24px}.product-list{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));align-items:stretch;grid-auto-rows:1fr}.product-card{min-height:172px}}@media(max-width:760px){.category-heading{align-items:start;flex-direction:column}.category-heading>span{flex:0 1 auto}}@media(max-width:820px){.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px}.contact-actions a,.contact-actions button,.social-links a{width:52px;min-width:52px;max-width:52px;height:40px;min-height:40px;padding:0;border-radius:15px;align-items:center;justify-content:center;gap:0}.contact-actions span,.social-links span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.contact-detail--action-backed,.contact-detail--phone{display:none}.social-panel{justify-items:center;border-top:0;padding-top:2px}.social-panel p{display:none}.social-links{justify-content:center;align-items:center;gap:9px;width:100%}}@media(max-width:560px){.app-shell{padding-top:12px}.menu-header,.contact-panel,.allergen-legend,.category-nav,.category-section,.product-card,.state-panel{border-radius:14px}.restaurant-title{align-items:center;gap:10px}.restaurant-logo{flex:0 0 48px;width:48px;height:48px;border-radius:50%;padding:2px}.menu-header h1{display:-webkit-box;overflow:hidden;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.menu-header{gap:10px;padding:10px}.menu-cover{height:clamp(136px,43vw,190px);border-radius:12px}.menu-header h1{font-size:clamp(1.34rem,7vw,1.92rem);line-height:1.08}.contact-panel,.category-section,.product-card{padding:10px}.category-nav{margin-top:10px;padding:7px}.category-nav button{max-width:min(72vw,240px);padding:0 10px}.product-card,.product-card--with-image{grid-template-columns:minmax(0,1fr) 76px;grid-template-rows:auto minmax(52px,1fr) auto;min-height:164px}.product-card--no-price:not(.product-card--with-image){grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "allergens";grid-template-rows:minmax(0,1fr) auto}.product-card--no-price.product-card--with-image{grid-template-areas:"copy image" "copy image" "allergens allergens"}.product-card--with-image{grid-template-columns:minmax(0,1fr) 76px;column-gap:9px;row-gap:7px}.product-image{width:76px;height:100%;min-height:0;max-height:none;border-radius:11px}.product-price{min-width:0;justify-self:end;text-align:right;white-space:nowrap}.product-copy h3{font-size:1.08rem;line-height:1.12}.product-description{font-size:.84rem;line-height:1.35;-webkit-line-clamp:2}.product-meta{font-size:.72rem;line-height:1.25}.badge-row{max-height:25px}.tag-badge{padding:3px 8px;font-size:.74rem}.allergen-row{padding-top:3px;border-top:1px solid rgb(88 66 43 / 9%)}}@media(max-width:380px){.app-shell{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}button,input{min-height:42px}.tag-badge,.allergen-chip{font-size:.76rem}.allergen-icon{flex-basis:22px;width:22px;height:22px;font-size:.82rem}.product-card--with-image{grid-template-columns:minmax(0,1fr) 66px;gap:8px}.product-card--no-price:not(.product-card--with-image){grid-template-columns:minmax(0,1fr)}.product-card,.product-card--with-image{min-height:164px}.product-image{width:66px;height:100%}.allergen-row{gap:5px}.allergen-row__label{font-size:.68rem}.product-price{font-size:.96rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
