:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button,summary{cursor:pointer}:focus-visible{outline:3px solid var(--primary);outline-offset:4px}h1,h2,p{margin:0}h1{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.2}h2{font-size:1.2rem;line-height:1.35}main{max-width:1080px;margin-inline:auto;padding:1rem 1rem 4rem}.menu-page{background:var(--background);min-height:100vh;color:var(--text);--border:color-mix(in srgb, var(--muted) 22%, transparent)}.business-header{margin:-1rem -1rem 0}.business-cover{object-fit:cover;background:var(--secondary);width:100%;height:220px;display:block}.business-identity{align-items:end;gap:1rem;margin-top:-36px;padding:0 1rem;display:flex;position:relative}.business-logo{border:5px solid var(--surface);border-radius:var(--radius);background:var(--surface);object-fit:contain;width:88px;height:88px;box-shadow:0 6px 20px color-mix(in srgb, var(--text) 10%, transparent);flex-shrink:0}.business-identity h1{padding-block:46px 3px}.demo-notice{color:var(--muted);margin-top:1rem;font-size:.75rem;line-height:1.7}.quick-actions{margin-block:1.5rem}.action-links,.menu-grid{margin:0;padding:0;list-style:none}.action-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.action{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:100%;min-height:100px;color:var(--primary);overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:.4rem;padding:.85rem .3rem;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}.action .icon{flex-shrink:0;width:22px;height:22px}.action small{color:var(--muted);font-size:.6rem;font-weight:400}.action-links a:hover{background:var(--secondary)}.wifi{border-bottom:1px solid var(--border);color:var(--muted);margin-top:.75rem;font-size:.85rem}.wifi summary{align-content:center;min-height:44px}.wifi dl{margin-block:.5rem 1rem}.wifi dd{margin-inline-start:0;overflow-wrap:anywhere;color:var(--text);margin-bottom:.75rem}.wifi dt{font-weight:600}.search-bar{gap:.5rem;display:grid}.search-bar label{font-size:.85rem;font-weight:600}.search-input{position:relative}.search-input .icon{inset-inline-start:1rem;color:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:54px;color:var(--text);padding:.85rem 1rem;padding-inline-start:3rem}.search-input input::placeholder{color:var(--muted);opacity:1}.category-tabs{scrollbar-width:thin;scrollbar-color:var(--secondary) transparent;scroll-snap-type:x proximity;flex-wrap:nowrap;gap:.6rem;margin-block:1.25rem .5rem;padding:.3rem .2rem .7rem;display:flex;overflow-x:auto}.category-tabs button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--muted);scroll-snap-align:start;flex:none;padding:.6rem 1.1rem}.category-tabs button[aria-pressed=true]{background:var(--primary);color:var(--surface);border-color:var(--primary);font-weight:600}.results-count{color:var(--muted);margin-block:.5rem 1rem;font-size:.8rem}.menu-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.menu-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:100%;display:flex;overflow:hidden}.product-image{aspect-ratio:4/3;object-fit:cover;background:var(--secondary);width:100%;height:auto;display:block}.product-content{overflow-wrap:anywhere;flex-direction:column;flex:1;align-items:start;gap:.5rem;padding:1.15rem;display:flex}.product-description{color:var(--muted);margin-bottom:.5rem;font-size:.9rem}.price{border-radius:calc(var(--radius) * .5);color:var(--primary);background:var(--secondary);margin-top:auto;padding:.35rem .7rem;font-size:1rem;font-weight:700}.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:3rem 1rem}@media (width>=640px){main{padding-top:1.5rem}.business-header{margin:0}.business-cover{border-radius:var(--radius);height:300px}.business-identity{padding-inline:1.5rem}.business-logo{width:104px;height:104px}.business-identity h1{padding-block:46px 12px}.action{flex-flow:wrap;justify-content:center;gap:.6rem;min-height:74px;font-size:.85rem}.action small{flex-basis:100%}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
