/* #37133 AC3 — SSR full-menu listing (/menu). Shares the storefront design language:
   mobile-first, WCAG-AA dark-on-light, tenant design tokens with neutral fallbacks. */

html {
    background: var(--surface-color, #fff);
    color-scheme: light;
}

body {
    margin: 0;
}

.location-header {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-color, #e7e7e7);
}

.location-header img {
    max-height: 2.5rem;
    width: auto;
}

.menu-index {
    max-width: 64rem;
    margin: 0 auto;
    padding: 1rem 1rem 3rem;
    color: var(--on-surface-color, #1a1a1a);
    font-family: var(--base-font, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
    line-height: 1.5;
}

.menu-index h1 {
    margin: 0.5rem 0 1rem;
    font-size: 1.75rem;
    line-height: 1.2;
    color: var(--on-surface-color, #111);
}

.menu-index__empty {
    color: #555;
}

.menu-index__category {
    margin-bottom: 2rem;
}

.menu-index__category-name {
    margin: 0 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-color, #e7e7e7);
    font-size: 1.25rem;
    color: var(--on-surface-color, #111);
}

.menu-index__products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(18rem, 100%), 1fr));
    gap: 0.5rem 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu-index__product {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px dashed var(--border-color, #e7e7e7);
}

.menu-index__product-link {
    color: var(--on-surface-color, #111);
    text-decoration: none;
}

.menu-index__product-link:hover,
.menu-index__product-link:focus-visible {
    text-decoration: underline;
}

.menu-index__product-price {
    flex-shrink: 0;
    color: #555;
}
