/* V8: restaurant-first dining and a self-contained, large menu reader. */
.bistro-menu-section {background:var(--mist);padding-top:44px;padding-bottom:48px;}
.bistro-menu-section .sec-head {display:block;text-align:center;margin-bottom:24px;}
.menu-intro {max-width:65ch;margin:16px auto 0;}
.menu-reader {background:var(--chalk);border:1px solid var(--stone);box-shadow:0 10px 30px rgba(20,30,24,.06);border-radius:4px;overflow:hidden;}
.menu-reader [hidden] {display:none!important;}
.menu-reader-top {padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--stone);}
.menu-reader-top strong {font-family:var(--serif);font-size:24px;color:var(--ink);font-weight:400;display:block;}
.menu-reader-top span {display:block;font-size:13px;margin-top:4px;}
.menu-document-links {display:flex;gap:12px;flex-wrap:wrap;}
.menu-document-links a {font-size:13px;font-weight:600;padding:10px 14px;min-height:44px;border:1px solid var(--stone);display:inline-flex;align-items:center;}
.menu-document-links a:first-child {background:var(--ink);color:var(--chalk);border-color:var(--ink);}
.menu-shortcuts {display:flex;gap:8px;flex-wrap:wrap;padding:16px 24px 0;}
.menu-reader button,.menu-reader select {font:inherit;color:var(--ink);}
.menu-shortcuts button {border:1px solid var(--stone);background:white;padding:8px 14px;font-size:13px;cursor:pointer;min-height:44px;}
.menu-shortcuts button[aria-current="page"] {background:var(--ink);color:var(--chalk);}
.menu-controls {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 24px 12px;}
.menu-paging,.menu-zoom {display:flex;gap:8px;align-items:center;}
.menu-controls button {border:1px solid var(--stone);background:white;min-width:44px;min-height:44px;padding:8px 12px;cursor:pointer;font-size:14px;}
.menu-controls button:disabled {opacity:.35;cursor:default;}
.menu-controls button:not(:disabled):hover,.menu-shortcuts button:hover {border-color:var(--brass);}
.menu-controls select {background:white;border:1px solid var(--stone);min-height:44px;padding:8px;max-width:280px;width:100%;font-size:14px;}
.menu-zoom [data-menu-zoom] {font-size:12px;min-width:38px;text-align:center;}
.menu-status {margin:0;padding:0 24px 12px;font-size:13px;color:var(--slate);}
.menu-stage {height:auto;width:100%;overflow:auto;background:#d5d7d0;overscroll-behavior:contain;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);}
.menu-canvas {width:max-content;min-width:100%;padding:16px;}
.menu-canvas img {display:block;width:100%;max-width:none;height:auto;margin:0 auto;background:white;box-shadow:0 4px 18px rgba(0,0,0,.14);}
.menu-help {margin:0;padding:10px 24px;font-size:12px;}
.menu-thumbnails {display:flex;gap:8px;padding:4px 24px 14px;overflow-x:auto;}
.menu-thumbnails button {flex:0 0 62px;border:2px solid transparent;background:none;padding:3px;cursor:pointer;}
.menu-thumbnails button[aria-current="page"] {border-color:var(--brass);background:white;}
.menu-thumbnails img {width:52px;height:76px;object-fit:contain;}
.menu-thumbnails span {display:block;text-align:center;font-size:11px;}
.menu-text {border-top:1px solid var(--stone);padding:10px 24px;font-size:13px;}
.menu-text summary {cursor:pointer;padding:6px 0;min-height:36px;}
.menu-text pre {font:14px/1.6 var(--sans);white-space:pre-wrap;word-break:normal;max-height:420px;overflow:auto;margin:12px 0;padding:16px;background:white;}
.menu-disclaimer {max-width:70ch;text-align:center;font-size:13px;margin:18px auto 0;}
.menu-reader.is-expanded {position:fixed;inset:0;z-index:3000;max-width:none;width:auto;height:100dvh;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;overflow:auto;}
.menu-reader.is-expanded .menu-stage {height:0;flex:1 1 0;min-height:180px;}
.menu-reader.is-expanded .menu-thumbnails {display:none;}
.menu-reader.is-expanded .menu-reader-top {padding-block:12px;}
.menu-reader.is-expanded .menu-controls {padding-block:10px;}
.menu-page main {padding-top:90px;}
.menu-page .bistro-menu-section {padding-top:36px;}
.menu-reader .visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.dining-page .dining-food .g-item {aspect-ratio:4/3;}
@media(min-width:1000px) {.dining-page .hero.page-hero {min-height:500px;}}
@media(max-width:767px) {
 .bistro-menu-section {padding-inline:12px;padding-top:30px;}
 .menu-reader-top {padding:16px;align-items:flex-start;flex-direction:column;gap:12px;}
 .menu-reader-top strong {font-size:22px;}
 .menu-document-links {gap:8px;}
 .menu-document-links a {font-size:12px;padding:8px 12px;}
 .menu-shortcuts {padding:12px 12px 0;gap:6px;}
 .menu-shortcuts button {font-size:12px;padding:6px 10px;}
 .menu-controls {padding:12px;gap:10px;}
 .menu-paging {width:100%;}
 .menu-controls select {max-width:none;flex:1;min-width:0;}
 .menu-zoom {width:100%;flex-wrap:wrap;}
 .menu-controls button {padding:8px 10px;}
 .menu-status {padding:0 12px 10px;}
 .menu-help,.menu-text {padding-inline:12px;}
 .menu-stage {height:auto;min-height:0;}
 .menu-thumbnails {padding-inline:12px;}
 .menu-reader.is-expanded .menu-reader-top {display:none;}
 .menu-reader.is-expanded .menu-shortcuts {display:none;}
 .menu-reader.is-expanded .menu-stage {min-height:120px;}
 .menu-reader.is-expanded .menu-text {display:none;}
 .menu-page main {padding-top:78px;}
}

/* V11: the inline reader grows to the full page at normal zoom. */
.menu-reader.is-expanded > :not(.menu-stage) {flex-shrink:0;}
.menu-reader.is-expanded .menu-text {display:none;}
