/* Shared catalog/detail layout. All brand colors, fonts and artwork use venue tokens. */
.bn-menu-intro {position:relative;padding:var(--bn-page-top) 0 var(--bn-page-bottom);}
.bn-menu-intro__heading {display:flex;align-items:baseline;gap:32px;flex-wrap:wrap;margin-top:var(--bn-title-gap);}
.bn-site .bn-menu-intro h1 {font-size:var(--bn-type-page);line-height:var(--bn-line-page);}
.bn-menu-intro__description {max-width:620px;margin-top:32px;}
.bn-category-nav {position:sticky;top:calc(var(--bn-header-height,84px) + var(--bn-adminbar,0px));z-index:10;background:transparent;}
.bn-category-nav.is-stuck {background:var(--bn-bg);box-shadow:inset 0 1px #373737;}
.bn-category-nav__track {display:flex;gap:40px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--bn-accent) var(--bn-border-subtle);scroll-padding-inline:8px;}
.bn-category-nav--enhanced .bn-category-nav__track {scrollbar-width:none;}
.bn-category-nav--enhanced .bn-category-nav__track::-webkit-scrollbar {display:none;}
/* Menu progress (2026-10-12): fills smoothly as the reader moves through the whole catalog. */
.bn-category-nav__scroll {padding-block:2px 8px;}
.bn-category-nav__progress {position:relative;height:4px;}
.bn-category-nav__progress::before {content:'';position:absolute;inset:auto 0 1.5px;height:1px;background:var(--bn-border-subtle);}
.bn-category-nav__progress>span {position:absolute;left:0;top:0;height:4px;min-width:12px;width:calc(var(--bn-menu-progress,0) * 100%);border-radius:2px;background:var(--bn-accent);}
.bn-category-nav a {display:inline-flex;align-items:center;gap:8px;min-height:64px;flex:none;font-size:14px;text-decoration:none;color:var(--bn-muted);}
.bn-category-nav a[aria-current],.bn-category-nav a:hover {color:var(--bn-accent);}
.bn-category-nav__count {display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding-inline:4px;background:color-mix(in srgb,currentColor 9%,transparent);border-radius:2px;font:400 var(--bn-type-small)/20px var(--bn-font-meta);opacity:.8;}
.bn-menu-category-icon {display:block;width:24px;height:24px;flex:none;pointer-events:none;}
.bn-catalog {padding-bottom:var(--bn-section-space);}
.bn-catalog-section {padding-top:var(--bn-section-space);scroll-margin-top:calc(var(--bn-header-height,84px) + var(--bn-adminbar,0px));}
.bn-catalog-section__heading {display:flex;align-items:baseline;gap:24px;margin-bottom:var(--bn-heading-gap);}
.bn-catalog-section__heading h2 {display:flex;align-items:center;gap:16px;}
.bn-catalog-section__heading .bn-menu-category-icon {width:32px;height:32px;color:inherit;}
.bn-menu-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 32px;}
.bn-menu-grid .bn-menu-card {scroll-snap-align:none;}
.bn-menu-grid.bn-menu-grid--wine {grid-template-columns:repeat(2,minmax(0,1fr));}
.bn-dish {position:relative;padding-top:var(--bn-page-top);}
.bn-dish__grid {display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start;margin-top:32px;}
.bn-dish__photo {position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bn-surface);display:flex;align-items:center;justify-content:center;}
.bn-dish__photo>img {width:100%;height:100%!important;object-fit:cover;object-position:center 80%;}
.bn-dish__photo--swipe {touch-action:pan-y pinch-zoom;}
.bn-dish__photo--swipe img {-webkit-user-drag:none;user-select:none;}
.bn-dish__photo>.bn-dish__placeholder {width:100px;height:auto!important;opacity:.35;}
.bn-dish__media {min-width:0;}
.bn-dish__media .bn-dish__photo {margin:0;}
.bn-dish--wine .bn-dish__media .bn-dish__photo {aspect-ratio:9/16;max-width:240px;margin-inline:auto;background:transparent;}
.bn-dish--wine .bn-dish__photo>img,.bn-dish--wine .bn-dish-gallery__thumb>img {object-fit:contain;object-position:center;}
.bn-dish-gallery {display:flex;gap:8px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin;scrollbar-color:var(--bn-accent) var(--bn-border-subtle);}
.bn-dish-gallery__thumb {display:block;flex:0 0 64px;height:72px;opacity:.6;border:2px solid transparent;}
.bn-dish-gallery__thumb[aria-current],.bn-dish-gallery__thumb:hover,.bn-dish-gallery__thumb:focus-visible {opacity:1;border-color:var(--bn-accent);}
.bn-dish-gallery__thumb img {width:100%;height:100%;object-fit:cover;object-position:center 80%;}
.bn-dish-gallery__status {margin-top:8px;font-size:12px;}
.bn-dish__details {display:flex;flex-direction:column;gap:24px;padding-top:16px;min-width:0;}
.bn-dish__category {display:inline-flex;align-self:start;align-items:center;min-height:32px;text-decoration:none;}
.bn-site .bn-dish__category {color:var(--bn-accent);}
.bn-dish__category:hover {text-decoration:underline;text-underline-offset:4px;}
.bn-site .bn-dish h1 {font-size:var(--bn-type-detail);line-height:var(--bn-line-heading);overflow-wrap:break-word;}
.bn-dish__price {display:flex;align-items:baseline;gap:20px;padding-block:8px;}
.bn-dish__price .bn-price {font-size:var(--bn-type-price-detail);line-height:var(--bn-line-card);font-weight:500;}
.bn-dish__price .bn-meta {font:400 var(--bn-type-price-detail)/var(--bn-line-card) var(--bn-font-body);color:var(--bn-muted-quiet);}
.bn-dish-nutrition {border-top:1px solid var(--bn-border-decor);padding-top:24px;margin-top:8px;}
.bn-dish-nutrition__heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:24px;}
.bn-site .bn-dish-nutrition h2 {font:500 14px/20px var(--bn-font-body);}
.bn-dish-nutrition__heading .bn-meta {font-size:12px;}
.bn-dish-nutrition dl {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.bn-dish-nutrition dt {font:400 var(--bn-type-small)/18px var(--bn-font-body);color:var(--bn-muted);margin-bottom:8px;}
.bn-dish-nutrition dd {font:400 22px/30px var(--bn-font-meta);font-variant-numeric:lining-nums tabular-nums;}
.bn-dish-nutrition dd span {font-size:var(--bn-type-small);line-height:18px;color:var(--bn-muted);}
.bn-dish__back {align-self:flex-start;text-decoration:none;}
.bn-dish__back-label {text-decoration:underline;text-underline-offset:3px;}
.bn-related {margin-top:0;padding-top:clamp(32px,5vw,64px);}
.bn-related .bn-section-header {align-items:center;margin-bottom:var(--bn-heading-gap);}
@media (max-width:1100px) {
 .bn-menu-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .bn-dish__grid {gap:40px;grid-template-columns:1fr 1fr;}
 .bn-dish-nutrition dd {font-size:20px;}
}
@media (max-width:767px) {
 .bn-menu-intro,.bn-dish {padding-top:var(--bn-page-top);}
 .bn-menu-intro {padding-bottom:var(--bn-page-bottom);}
 .bn-menu-intro__heading {gap:16px;margin-top:var(--bn-title-gap);}
 .bn-menu-intro__heading .bn-meta {width:100%;}
 .bn-category-nav {top:calc(var(--bn-header-height,70px) + var(--bn-adminbar,0px));}
 .bn-category-nav__track {width:100%;padding-inline:var(--bn-gutter);gap:32px;scroll-padding-inline:var(--bn-gutter);}
 .bn-category-nav a {min-height:56px;font-size:var(--bn-type-meta);}
 .bn-catalog-section {scroll-margin-top:calc(80px + var(--bn-adminbar,0px));}
 .bn-menu-grid {grid-template-columns:1fr;gap:36px;}
 .bn-menu-grid .bn-menu-card h3 {min-height:0;}
 .bn-menu-grid .bn-menu-card__description {min-height:0;}
 .bn-menu-grid .bn-menu-card__body {gap:16px;}
 .bn-dish__grid {grid-template-columns:1fr;gap:32px;margin-top:24px;}
 .bn-dish__photo {aspect-ratio:4/3;}
 .bn-dish__details {padding-top:0;gap:24px;}
 .bn-site .bn-dish h1 {font-size:var(--bn-type-detail);}
 .bn-dish-nutrition dl {gap:8px;}
 .bn-related {margin-top:0;}
 .bn-related .bn-section-header {align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:var(--bn-heading-gap);}
}

@media(max-width:767px) {
 .bn-catalog-section {padding-top:var(--bn-section-space);}
 .bn-catalog-section__heading {margin-bottom:var(--bn-heading-gap);}
 .bn-catalog-section .bn-menu-grid,.bn-related .bn-menu-grid {display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--bn-accent) var(--bn-border-subtle);padding-bottom:12px;}
 .bn-catalog-section .bn-menu-card,.bn-related .bn-menu-card {flex:0 0 84%;scroll-snap-align:start;align-self:flex-start;}
 .bn-catalog-section .bn-menu-card__body,.bn-related .bn-menu-card__body {padding-top:20px;padding-bottom:0;gap:16px;}
 .bn-catalog-section .bn-menu-card h3,.bn-related .bn-menu-card h3 {font-size:var(--bn-type-card);line-height:var(--bn-line-card);}
 .bn-catalog-section .bn-menu-card__description,.bn-related .bn-menu-card__description {font-size:var(--bn-type-body);line-height:var(--bn-line-body);}
 .bn-catalog-section .bn-menu-card__footer,.bn-related .bn-menu-card__footer {gap:12px;min-height:32px;}
 .bn-catalog-section .bn-menu-card__media,.bn-related .bn-menu-card__media {aspect-ratio:3/2;}
 .bn-menu-grid.bn-menu-grid--wine {grid-template-columns:1fr;}
 .bn-catalog-section :is(.bn-menu-card--wine,.bn-menu-card--bottle) .bn-menu-card__media {aspect-ratio:9/16;}
 .bn-catalog-section :is(.bn-menu-card--wine,.bn-menu-card--bottle) .bn-menu-card__body {padding-top:0;}
 .bn-catalog-section .bn-tags:empty {display:none;}
}
