.menu-category{padding-block:32px;scroll-margin-top:150px}
.menu-category h2{margin:0 0 24px}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.menu-dish{padding:24px;border:1px solid var(--line);border-radius:16px;min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.menu-dish h3{font-size:1.25rem;line-height:1.35;margin:0;text-wrap:balance}
.menu-description{margin:0;line-height:1.65}
.menu-photo-placeholder{width:100%;aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:var(--surface-2);color:var(--muted);border-radius:var(--radius-md);font-size:var(--text-sm)}
.menu-photo-placeholder svg{flex:none;width:64px;height:64px}
.menu-dish .mx-allergens{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);width:100%}
.menu-allergen-list{font-size:.875rem;margin:0}
.menu-allergen-list div+div{margin-top:8px}
.menu-allergen-list dt{font-weight:600}
.menu-allergen-list dd{margin:0;line-height:1.6}
[data-component="public-menu"] .mx-menu{--mx-menu-top:0px;border-radius:12px}
@media(max-width:1000px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.menu-grid{grid-template-columns:1fr;gap:16px}.menu-dish{padding:20px}.menu-category{padding-block:24px}}

.menu-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:var(--radius-md);background:var(--surface-2)}
