/* Supplied archive contains Norm Regular, marked Demo / Trial.
   Local design preview only: obtain the licensed Norm Bold webfont before publishing. */
@font-face {
  font-family: 'Haboro Contrast Preview';
  src: url('../fonts/haboro-contrast-norm-regular.otf') format('opentype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
/* Dining reference treatment. Every rule is scoped away from shared navigation. */
main[data-page=dining] {
  --dining-gold: #dbbb82;
  --dining-paper: #f3e6cf;
  --dining-muted: #ddcbbb;
  --dining-edge: rgb(229 195 152 / 27%);
  padding-top: 0;
}
main[data-page=dining] .dining-reference {
  position: relative;
  isolation: isolate;
  margin: 0;
  overflow: clip;
  border: 0;
  border-radius: 0;
  background: #471414;
  box-shadow: none;
  color: var(--dining-paper);
  font-family: 'Quicksand', sans-serif;
}
main[data-page=dining] .dining-reference [hidden] { display: none !important; }
main[data-page=dining] .dining-icon { display: inline-block; flex: 0 0 auto; width: 26px; height: 26px; background: currentColor; -webkit-mask: var(--dining-icon) center / contain no-repeat; mask: var(--dining-icon) center / contain no-repeat; color: var(--dining-gold); }
main[data-page=dining] .dining-opening { position: relative; display: flex; align-items: center; min-height: calc(clamp(300px, 16.5vw, 350px) + 103px); padding: 147px clamp(36px, 5.9vw, 124px) 44px; background: transparent; }
main[data-page=dining] .dining-cover { position: absolute; inset: -3cm 0 auto; z-index: -1; height: max(1180px, 82.24vw); margin: 0; border: 0; border-radius: 0; pointer-events: none; }
main[data-page=dining] .dining-cover img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center top; }
main[data-page=dining] .dining-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #471414 0%, #471414 8%, rgb(71 20 20 / 92%) 17%, rgb(71 20 20 / 50%) 28%, transparent 42%), linear-gradient(90deg, rgb(35 9 9 / 86%) 0%, rgb(35 9 9 / 64%) 24%, rgb(35 9 9 / 18%) 58%, rgb(35 9 9 / 8%) 100%); }
/* Fade the shared photograph into the page after the menu, without a hero seam. */
main[data-page=dining] .dining-reference::after { content: ''; position: absolute; inset: auto 0 0; height: clamp(360px, 28vw, 560px); z-index: -1; pointer-events: none; background: linear-gradient(0deg, #471414 0%, #471414 12%, rgb(71 20 20 / 88%) 35%, rgb(71 20 20 / 42%) 65%, transparent 100%); }
main[data-page=dining] .dining-title { max-width: 660px; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; align-self: auto; }
main[data-page=dining] .dining-title h1 { max-width: none; margin: 0; color: var(--dining-gold); font-family: 'Cormorant', Georgia, serif; font-size: clamp(3.4rem, 4.6vw, 6.1rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
main[data-page=dining] .dining-title p { max-width: 40ch; margin-top: 20px; font: 500 clamp(.95rem, 1.05vw, 1.4rem)/1.5 'Quicksand', sans-serif; color: var(--dining-paper); }
main[data-page=dining] .dining-title .text-link { margin-top: 30px; gap: 25px; min-height: 44px; font: 700 clamp(.72rem, .87vw, 1.1rem)/1.4 'Quicksand', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--dining-gold); }
main[data-page=dining] .dining-title .text-link .dining-icon { width: 21px; height: 21px; }
main[data-page=dining] .menu-browser { position: relative; margin: 0; padding: 0 calc(clamp(32px, 3.1vw, 72px) + clamp(0px, 50vw - 500px, 4cm)) 22px; background: transparent; color: var(--dining-paper); }
main[data-page=dining] .menu-controls { position: relative; top: auto; width: 100%; margin: 0; padding: 6px; border: 1px solid rgb(231 201 168 / 40%); border-radius: 25px; background: rgb(42 11 10 / 76%); box-shadow: none; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); scroll-margin-top: 105px; }
main[data-page=dining] .menu-tabs { display: grid; grid-template-columns: repeat(var(--menu-tab-count, 4), minmax(0, 1fr)); gap: 8px; padding: 0; overflow: visible; }
main[data-page=dining] .menu-tabs a { display: flex; justify-content: center; align-items: center; gap: 14px; width: 100%; max-width: 360px; justify-self: center; min-height: clamp(62px, 4.05vw, 86px); padding: 14px 20px; margin: 0; border: 1px solid transparent; border-radius: 19px; font: 600 clamp(1rem, 1.3vw, 1.75rem)/1.3 'Quicksand', sans-serif; color: var(--dining-muted); background: transparent; white-space: normal; text-align: center; }
main[data-page=dining] .menu-tabs a[aria-current=page] { background: transparent; color: var(--dining-muted); border-color: transparent; box-shadow: none; font-weight: 700; text-decoration: none; }
main[data-page=dining] .menu-tabs a[aria-current=page] .dining-icon { color: var(--dining-gold); }
main[data-page=dining] .menu-tabs a::after { display: none; }
main[data-page=dining] .menu-layout { display: grid; grid-template-columns: clamp(240px, 17.6vw, 365px) minmax(0,1fr); gap: clamp(22px, 2.1vw, 44px); width: 100%; padding: 0; margin: 24px 0 0; align-items: stretch; }
main[data-page=dining] .menu-aside { display: flex; flex-direction: column; padding: 22px; min-width: 0; border: 1px solid var(--dining-edge); border-radius: 26px; background: rgb(42 11 10 / 76%); box-shadow: none; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
main[data-page=dining] .category-sidebar { position: static; display: flex; flex-direction: column; gap: 3px; padding: 0; border: 0; background: none; border-radius: 0; }
main[data-page=dining] .category-sidebar button { display: flex; align-items: center; width: 100%; gap: 18px; padding: clamp(17px, 1.5vw, 30px) 22px; min-height: 72px; border: 1px solid transparent; border-bottom-color: rgb(231 201 168 / 16%); border-radius: 0; background: transparent; color: var(--dining-paper); font: 600 clamp(.95rem, 1.12vw, 1.5rem)/1.4 'Quicksand', sans-serif; text-align: left; }
main[data-page=dining] .category-sidebar button[aria-pressed=true] { border-color: transparent; border-bottom-color: rgb(231 201 168 / 16%); border-radius: 0; background: transparent; color: var(--dining-gold); box-shadow: none; font-weight: 700; }
main[data-page=dining] .dining-category-label { display: block; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: rgb(219 187 130 / 70%); }
main[data-page=dining] .category-sidebar button[aria-pressed=true] .dining-category-label { text-decoration-line: underline; }
main[data-page=dining] .category-sidebar button[aria-pressed=true] .dining-icon { color: #efd39a; filter: drop-shadow(0 0 4px rgb(219 187 130 / 28%)); }
main[data-page=dining] .category-sidebar small { display: block; font-size: .65em; letter-spacing: .1em; color: var(--dining-gold); margin-bottom: 4px; }
main[data-page=dining] .category-sidebar .dining-icon { width: 32px; height: 32px; }
main[data-page=dining] .menu-content { min-width: 0; padding: clamp(24px, 1.35vw, 29px) clamp(25px, 2.2vw, 46px) 18px; border: 1px solid var(--dining-edge); border-radius: 26px; background: rgb(42 11 10 / 68%); box-shadow: none; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); scroll-margin-top: 110px; }
main[data-page=dining] .menu-reader-top { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; padding: 0; margin: 0 0 13px; border: 0; }
main[data-page=dining] .menu-reader-top h2 { display: flex; align-items: center; gap: 18px; min-width: 0; margin: 0; font: 500 clamp(2rem, 2.45vw, 3.2rem)/1.1 'Cormorant', Georgia, serif; letter-spacing: -.03em; }
main[data-page=dining] .dining-menu-tools { display: flex; align-items: center; gap: 12px; margin-left: auto; flex-shrink: 0; }
main[data-page=dining] .menu-reader-top .search-field { position: relative; width: clamp(200px, 20vw, 360px); max-width: 100%; margin: 0; }
main[data-page=dining] .search-field input { width: 100%; height: 44px; min-height: 44px; padding: 9px 42px 9px 18px; border: 1px solid var(--dining-edge); border-radius: 14px; background: #32100f; color: var(--dining-paper); box-shadow: none; font: 500 clamp(.85rem, .85vw, 1rem)/1.5 'Quicksand', sans-serif; }
main[data-page=dining] .search-field input::placeholder { color: var(--dining-muted); opacity: 1; }
main[data-page=dining] .search-field>.dining-icon { position: absolute; top: 50%; right: 16px; width: 20px; height: 20px; transform: translateY(-50%); pointer-events: none; color: var(--dining-muted); }
main[data-page=dining] .dining-filter-wrap { position: relative; }
main[data-page=dining] .dining-filter-toggle { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 16px; border: 1px solid var(--dining-edge); border-radius: 14px; background: #32100f; color: var(--dining-muted); font: 600 .9rem/1.4 'Quicksand', sans-serif; }
main[data-page=dining] .dining-filter-toggle[aria-expanded=true], main[data-page=dining] .dining-filter-toggle.has-filters { background: #55201b; color: var(--dining-paper); }
main[data-page=dining] .dining-filter-panel { position: absolute; right: 0; top: calc(100% + 10px); z-index: 20; width: 290px; max-width: calc(100vw - 48px); padding: 22px; border: 1px solid var(--dining-edge); border-radius: 18px; background: #381010; box-shadow: 0 12px 35px rgb(18 5 4 / 30%); font-family: 'Quicksand', sans-serif; }
main[data-page=dining] .dining-filter-panel label { display: block; margin-bottom: 7px; color: var(--dining-muted); font-size: .85rem; }
main[data-page=dining] .dining-filter-panel select { display: block; width: 100%; min-height: 44px; margin-bottom: 18px; padding: 8px 10px; border: 1px solid var(--dining-edge); border-radius: 8px; background: #32100f; color: var(--dining-paper); font: 500 16px 'Quicksand', sans-serif; }
main[data-page=dining] .dining-filter-panel button { width: 100%; min-height: 44px; border: 1px solid var(--dining-edge); border-radius: 8px; background: #55201b; color: var(--dining-paper); font: 600 .9rem 'Quicksand', sans-serif; }
main[data-page=dining] .menu-category { margin: 0; padding: 0; }
main[data-page=dining] .dining-category-heading { display: flex; align-items: baseline; gap: 16px; }
main[data-page=dining] .dining-price-label { flex: 0 0 auto; margin-left: auto; color: var(--dining-muted); font: 300 .68rem/1.5 'Lexend', sans-serif; letter-spacing: .04em; }
main[data-page=dining] .menu-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: clamp(18px, 1.65vw, 34px); padding: clamp(13px, .7vw, 16px) 0; border-bottom: 1px solid rgb(228 195 168 / 15%); }
main[data-page=dining] .menu-item:last-child { border-bottom: 0; }
main[data-page=dining] .dining-dish-copy { display: block; align-items: baseline; flex-wrap: wrap; column-gap: clamp(20px, 2.2vw, 45px); row-gap: 6px; min-width: 0; }
main[data-page=dining] .menu-item h3 { margin: 0; color: var(--dining-paper); font: 200 clamp(1.15rem, 1.35vw, 1.8rem)/1.45 'Lexend', sans-serif; letter-spacing: -.02em; }
main[data-page=dining] .menu-item p { margin: 4px 0 0; max-width: none; color: var(--dining-muted); font: 200 clamp(.75rem, .7vw, .9rem)/1.5 'Lexend', sans-serif; }
main[data-page=dining] .menu-price { min-width: 42px; padding: 0; text-align: right; font: 300 clamp(1.25rem, 1.4vw, 1.85rem)/1.2 'Lexend', sans-serif; color: var(--dining-paper); }
main[data-page=dining] .menu-price small { display: block; font: 500 .7rem/1.5 'Quicksand', sans-serif; color: var(--dining-muted); }
main[data-page=dining] .menu-price span { margin-top: 0; }
main[data-page=dining] .dining-price-amount { display: flex; justify-content: flex-end; align-items: baseline; gap: .3em; white-space: nowrap; }
main[data-page=dining] .dining-price-amount:not(:first-child) { margin-top: 8px; }
main[data-page=dining] .dining-price-currency { font: 200 clamp(.6rem, .6vw, .72rem)/1 'Lexend', sans-serif; color: var(--dining-muted); }
main[data-page=dining] .menu-price small { margin-left: auto; }
main[data-page=dining] .dining-group-heading { min-width: 0; padding: 26px 0 12px; font: 700 clamp(1.5rem, 1.8vw, 2.4rem)/1.2 'Haboro Contrast Preview', 'Cormorant', Georgia, serif; color: var(--dining-gold); overflow-wrap: anywhere; }
main[data-page=dining] .dining-results { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 34px; padding-top: 12px; color: var(--dining-muted); font-size: .73rem; }
main[data-page=dining] .dining-results button { min-height: 44px; padding: 4px 12px; color: var(--dining-paper); border: 1px solid var(--dining-edge); border-radius: 8px; background: transparent; font: inherit; }
main[data-page=dining] .dining-notes { margin: 18px 0 0; padding: 0 4px; }
main[data-page=dining] .dining-notes p, main[data-page=dining] .dining-notes .preview-note { margin: 3px 0; padding: 0; color: var(--dining-muted); border: 0; background: transparent; font: 500 .72rem/1.65 'Quicksand', sans-serif; }
main[data-page=dining] .dining-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
main[data-page=dining] .dining-reference :focus-visible { outline: 2px solid #f8e5bc; outline-offset: 4px; }
main[data-page=dining] .dining-gallery { width: min(1440px, calc(100% - 96px)); padding-block: 84px; }
main[data-page=dining] .dining-gallery h2, main[data-page=dining] .dining-reservations h2 { font-family: 'Cormorant', Georgia, serif; color: var(--dining-gold); }
main[data-page=dining] .dining-photo-grid figure { padding: 0; border-color: var(--dining-edge); box-shadow: none; }
main[data-page=dining] .dining-photo-grid img { border-radius: 16px; }
main[data-page=dining] .dining-reservations .reservation-band { width: min(1440px, calc(100% - 96px)); background: rgb(192 154 130 / 8%); border-color: var(--dining-edge); border-radius: 24px; }
@media (hover:hover) {
  main[data-page=dining] .category-sidebar button:not([aria-pressed=true]):hover { background: transparent; color: var(--dining-gold); }
}
@media (max-width: 1300px) {
  main[data-page=dining] .menu-layout { grid-template-columns: 230px minmax(0,1fr); gap: 20px; }
  main[data-page=dining] .menu-aside { padding: 14px; }
  main[data-page=dining] .category-sidebar button { padding: 20px 12px; gap: 12px; }
  main[data-page=dining] .menu-reader-top { flex-wrap: wrap; }
  main[data-page=dining] .dining-menu-tools { width: 100%; margin-left: 0; }
  main[data-page=dining] .menu-reader-top .search-field { flex: 1; width: auto; }
  main[data-page=dining] .dining-dish-copy { display: block; }
  main[data-page=dining] .menu-item p { margin-top: 4px; }
  main[data-page=dining] .search-field input, main[data-page=dining] .dining-filter-toggle { height: 44px; min-height: 44px; border-radius: 14px; }
}
@media (max-width: 760px) {
  main[data-page=dining] { padding-top: 0; }
  main[data-page=dining] .dining-reference { margin-inline: 0; border-radius: 0; }
  main[data-page=dining] .dining-opening { min-height: 507px; align-items: flex-end; padding: 227px 26px 30px; }
  main[data-page=dining] .dining-cover { height: 1540px; }
  main[data-page=dining] .dining-cover img { object-position: 62% top; }
  main[data-page=dining] .dining-cover::after { background: linear-gradient(0deg, #471414 0%, #471414 8%, rgb(71 20 20 / 90%) 20%, transparent 42%), linear-gradient(90deg, rgb(35 9 9 / 62%), rgb(35 9 9 / 22%)); }
  main[data-page=dining] .dining-title h1 { font-size: clamp(3rem, 8vw, 4rem); }
  main[data-page=dining] .dining-title p { font-size: 1rem; max-width: 38ch; margin-top: 16px; }
  main[data-page=dining] .dining-title .text-link { margin-top: 18px; }
  main[data-page=dining] .menu-browser { padding: 0 24px 18px; }
  main[data-page=dining] .menu-controls { padding: 5px; border-radius: 18px; }
  main[data-page=dining] .menu-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; }
  main[data-page=dining] .menu-tabs a { flex-direction: column; gap: 6px; padding: 12px 5px; min-height: 86px; border-radius: 13px; font-size: .82rem; }
  main[data-page=dining] .menu-tabs .dining-icon { width: 25px; height: 25px; }
  main[data-page=dining] .menu-layout { grid-template-columns: minmax(0,1fr); gap: 16px; margin-top: 16px; }
  main[data-page=dining] .menu-aside { display: block; padding: 8px; border-radius: 18px; }
  main[data-page=dining] .category-sidebar { flex-direction: row; overflow-x: auto; gap: 6px; scrollbar-width: thin; padding-bottom: 4px; }
  main[data-page=dining] .category-sidebar button { flex: 0 0 auto; width: auto; max-width: 220px; min-height: 52px; gap: 10px; padding: 12px; border-bottom-color: transparent; font-size: .85rem; }
  main[data-page=dining] .category-sidebar button[aria-pressed=true] { border-radius: 0; border-bottom-color: transparent; }
  main[data-page=dining] .category-sidebar .dining-icon { width: 23px; height: 23px; }
  main[data-page=dining] .menu-content { padding: 22px 18px 16px; border-radius: 18px; }
  main[data-page=dining] .menu-reader-top h2 { font-size: 2.2rem; }
  main[data-page=dining] .dining-menu-tools { gap: 8px; }
  main[data-page=dining] .search-field input { font-size: 16px; padding: 12px 38px 12px 14px; }
  main[data-page=dining] .search-field>.dining-icon { right: 12px; width: 20px; height: 20px; }
  main[data-page=dining] .dining-filter-toggle { gap: 7px; padding: 9px 12px; font-size: .85rem; }
  main[data-page=dining] .dining-filter-toggle .dining-icon { width: 18px; height: 18px; }
  main[data-page=dining] .menu-item { grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding-block: 19px; }
  main[data-page=dining] .menu-item h3 { font-size: 1.15rem; }
  main[data-page=dining] .menu-item p { font-size: .75rem; }
  main[data-page=dining] .menu-price { font-size: 1.25rem; min-width: 31px; }
  main[data-page=dining] .menu-price small { font-size: .62rem; white-space: normal; max-width: 60px; }
  main[data-page=dining] .dining-gallery { width: calc(100% - 40px); padding-block: 60px; }
  main[data-page=dining] .dining-photo-grid { grid-template-columns: 1fr; gap: 18px; }
  main[data-page=dining] .dining-photo-grid img, main[data-page=dining] .dining-photo-grid figure:nth-child(2) img { height: 340px; }
  main[data-page=dining] .dining-reservations .reservation-band { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 20px; padding: 18px; }
  main[data-page=dining] .reservation-photo { height: 300px; }
  main[data-page=dining] .dining-reservations .reservation-band>div { padding: 0; }
}
@media (max-width: 370px) {
  main[data-page=dining] .dining-opening { padding-inline: 20px; }
  main[data-page=dining] .menu-browser { padding-inline: 20px; }
  main[data-page=dining] .menu-content { padding-inline: 12px; }
  main[data-page=dining] .dining-filter-toggle { width: 44px; font-size: 0; gap: 0; }
}
@media (prefers-reduced-transparency: reduce) {
  main[data-page=dining] .menu-controls, main[data-page=dining] .menu-content, main[data-page=dining] .menu-aside { background: #381010; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
/* Preview with the supplied Regular face; weight 700 is synthesized by the browser. */
main[data-page=dining] .dining-title h1,
main[data-page=dining] .menu-reader-top h2,
main[data-page=dining] .dining-group-heading,
main[data-page=dining] .dining-gallery h2,
main[data-page=dining] .dining-reservations h2,
main[data-page=dining] .empty-state h3 {
  font-family: 'Haboro Contrast Preview', 'Cormorant', Georgia, serif;
  font-weight: 700;
  font-synthesis: weight;
}

/* Keep one continuous crop from the opening through the menu. */
@media (min-width: 761px) {
  main[data-page=dining] .dining-cover .dining-hero-supplied { object-position: center top; }
}

/* Display headings stay uppercase; dish names and control labels retain their case. */
main[data-page=dining] .dining-title h1,
main[data-page=dining] .menu-reader-top h2,
main[data-page=dining] .dining-group-heading { text-transform: uppercase; }
main[data-page=dining] .menu-reader-top h2 > span:last-child { min-width: 0; overflow-wrap: anywhere; }
main[data-page=dining] .dining-filter-toggle .dining-icon { width: 18px; height: 18px; }

/* Every category is present; desktop shows eight complete dishes at a time. */
main[data-page=dining] .dining-items-scroll {
  max-height: var(--dining-list-height, 640px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgb(219 187 130 / 30%) transparent;
  padding-right: 14px;
}
main[data-page=dining] .dining-items-scroll::-webkit-scrollbar { width: 3px; }
main[data-page=dining] .dining-items-scroll::-webkit-scrollbar-track { background: transparent; }
main[data-page=dining] .dining-items-scroll::-webkit-scrollbar-thumb { background: rgb(219 187 130 / 30%); border-radius: 8px; }
main[data-page=dining] .dining-items-scroll .menu-category { scroll-margin-top: 0; }
main[data-page=dining] .dining-items-scroll .menu-category:first-child .dining-group-heading { padding-top: 0; }
main[data-page=dining] .dining-result-actions { display: flex; align-items: center; gap: 10px; }
@media (max-width: 760px) {
  /* One native vertical page scroll on touch screens, without a nested scroll trap. */
  main[data-page=dining] .dining-items-scroll { max-height: none; overflow: visible; scrollbar-gutter: auto; padding-right: 0; }
  main[data-page=dining] .dining-items-scroll .menu-category { scroll-margin-top: 100px; }
}

/* A fine underline marks menu selection without restoring a filled button. */
main[data-page=dining] .menu-tabs a > span:last-child { text-decoration-thickness: 1px; text-underline-offset: 7px; text-decoration-color: rgb(219 187 130 / 75%); }
main[data-page=dining] .menu-tabs a[aria-current=page] > span:last-child,
main[data-page=dining] .menu-tabs a:focus-visible > span:last-child { text-decoration-line: underline; }
@media (hover: hover) {
  main[data-page=dining] .menu-tabs a:hover { background: transparent; text-decoration: none; }
  main[data-page=dining] .menu-tabs a:hover > span:last-child { text-decoration-line: underline; }
}

/* Give the first category in every menu another 2 cm below the reader heading. */
@media (min-width: 761px) {
  main[data-page=dining] .menu-reader-top { margin-bottom: calc(13px + 2cm); }
}
/* A subtle thumb only, without browser arrow buttons or a separate scroll button. */
@supports selector(::-webkit-scrollbar) {
  main[data-page=dining] .dining-items-scroll { scrollbar-width: auto; scrollbar-color: auto; }
}
main[data-page=dining] .dining-items-scroll::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
main[data-page=dining] .dining-items-scroll::-webkit-scrollbar-corner { background: transparent; }

/* All desktop menus retain the approved Dine-In frame; content scrolls inside. */
@media (min-width: 761px) {
  main[data-page=dining] .menu-layout { height: var(--dining-panel-height, auto); grid-template-rows: minmax(0, 1fr); }
  main[data-page=dining] .menu-content { display: flex; flex-direction: column; min-height: 0; }
  main[data-page=dining] .menu-reader-top, main[data-page=dining] .dining-results { flex: 0 0 auto; }
  main[data-page=dining] .dining-items-scroll { flex: 1 1 0; min-height: 0; max-height: none; overscroll-behavior-y: contain; }
  main[data-page=dining] .menu-aside { min-height: 0; }
  main[data-page=dining] .category-sidebar { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; scrollbar-width: thin; scrollbar-color: rgb(219 187 130 / 30%) transparent; }
  main[data-page=dining] .category-sidebar button { flex-shrink: 0; }
  main[data-page=dining] .category-sidebar::-webkit-scrollbar { width: 3px; }
  main[data-page=dining] .category-sidebar::-webkit-scrollbar-track { background: transparent; }
  main[data-page=dining] .category-sidebar::-webkit-scrollbar-thumb { background: rgb(219 187 130 / 30%); border-radius: 8px; }
  main[data-page=dining] .category-sidebar::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
  @supports selector(::-webkit-scrollbar) {
    main[data-page=dining] .category-sidebar { scrollbar-width: auto; scrollbar-color: auto; }
  }
}
/* Temporary, inert measurement uses natural Dine-In height and cannot affect layout. */
main[data-page=dining] .menu-content.dining-measurement { position: absolute; top: 0; left: 0; display: block; height: auto; visibility: hidden; pointer-events: none; }
main[data-page=dining] .dining-measurement .dining-items-scroll { flex: none; max-height: none; overflow-y: scroll; }

/* Retain the approved frame dimensions while visible descriptions now stack.
   Only the inert measuring copy keeps the former row typography. */
main[data-page=dining] .dining-measurement .dining-dish-copy { display: flex; }
main[data-page=dining] .dining-measurement .menu-item p { margin: 0; font-size: clamp(.8rem, .85vw, 1.05rem); line-height: 1.65; }
@media (max-width: 1300px) {
  main[data-page=dining] .dining-measurement .dining-dish-copy { display: block; }
  main[data-page=dining] .dining-measurement .menu-item p { margin-top: 7px; }
}
