.business-menus { margin-top: 32px; padding-top: 16px; border-top: 1px solid #e0e7e3; }
.business-menus [hidden] { display: none !important; }
.menu-tabs { display: flex; gap: 8px; overflow-x: auto; margin: 18px 0 24px; padding: 4px 2px 10px; scrollbar-width: none; }
.menu-tabs button { flex-shrink: 0; border: 1px solid #d5e4da; border-radius: 999px; padding: 9px 20px; background: #fff; color: #526b5b; font: inherit; cursor: pointer; }
.menu-tabs button[aria-selected=true] { background: #24734d; border-color: #24734d; color: #fff; font-weight: 700; }
.has-menu-tabs .menu-category-heading { display: none; }
.menu-carousel { position: relative; }
.menu-tabs::-webkit-scrollbar, .public-menu-grid::-webkit-scrollbar { display: none; }
.public-menu-grid { --menu-gap: 16px; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * var(--menu-gap)) / 4); gap: var(--menu-gap); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; touch-action: pan-y pinch-zoom; scrollbar-width: none; }
.public-menu-card { min-width: 0; overflow: hidden; border: 1px solid #e1e9e3; border-radius: 14px; background: #fff; scroll-snap-align: start; }
.menu-carousel-controls { position: absolute; inset: 0; pointer-events: none; }
.menu-carousel-controls button { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid rgba(36, 115, 77, .12); border-radius: 50%; color: #24734d; background: rgba(255, 255, 255, .96); box-shadow: 0 3px 14px rgba(26, 55, 39, .18); cursor: pointer; pointer-events: auto; transition: background .18s, box-shadow .18s, opacity .18s; }
.menu-carousel-controls [data-menu-prev] { left: -12px; }
.menu-carousel-controls [data-menu-next] { right: -12px; }
.menu-carousel-controls button:disabled { opacity: .4; cursor: default; }
.menu-carousel-controls button:focus-visible { outline: 2px solid #24734d; outline-offset: 3px; }
@media (hover: hover) {
  .menu-carousel-controls button:not(:disabled):hover { background: #edf6f0; box-shadow: 0 4px 18px rgba(26, 55, 39, .24); }
}
.menu-carousel-controls svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.menu-carousel-controls [data-menu-position] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.public-menu-card > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.public-menu-copy { padding: 16px; overflow-wrap: anywhere; }
.public-menu-copy h3 { margin: 0 0 8px; font-size: 18px; }
.public-menu-description { font-size: 14px; color: #52655a; }
.public-menu-price { margin: 12px 0 4px; color: #24734d; font-size: 20px; font-weight: 700; }
.public-menu-price span, .public-menu-takeout span { font-size: 12px; font-weight: 400; }
.public-menu-takeout { margin: 4px 0; color: #52655a; font-size: 14px; }
@media (max-width: 767px) {
  .public-menu-grid { --menu-gap: 12px; grid-auto-columns: calc((100% - var(--menu-gap)) / 2); }
  .public-menu-copy { padding: 12px; }
  .public-menu-copy h3 { font-size: 16px; }
  .public-menu-price { font-size: 18px; }
  .public-menu-description, .public-menu-takeout { font-size: 12px; }
}
