.menu-book{width:min(760px,90%);margin:45px auto 80px;padding:0}
.menu-book-track{display:flex;width:100%;aspect-ratio:1.414;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;border:1px solid #9b7847;background:#ecd9b8;border-radius:12px;box-shadow:0 20px 65px #0005;overscroll-behavior-x:contain}
.menu-book-track::-webkit-scrollbar{display:none}
.menu-book-page{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#faecd1,#dfc399)}
.menu-book-image{display:block;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in;border-radius:0;box-shadow:none}
.menu-book-image img{display:block;width:100%;height:100%;object-fit:contain}
.menu-book-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.menu-book-controls button{border:1px solid #9b7847;border-radius:50%;background:transparent;color:var(--yellow);width:48px;height:48px;font-size:26px;cursor:pointer;flex-shrink:0;padding:0;box-shadow:none}
.menu-book-controls button:disabled{opacity:.3;cursor:default}
.menu-book-controls p{margin:0;text-align:center;color:var(--paper);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.menu-book-hint{text-align:center;color:var(--muted);font-size:13px;line-height:1.6;margin-top:15px}
.menu-book-dialog{width:min(1200px,96vw);max-width:96vw;max-height:94dvh;padding:48px 10px 10px;background:#ecd9b8;border:1px solid #9b7847;border-radius:8px;overflow:auto}
.menu-book-dialog::backdrop{background:#000c}
.menu-book-dialog img{display:block;width:100%;height:auto}
.menu-book-close{position:absolute;right:12px;top:10px;background:none;border:0;color:#382219;padding:6px 12px;cursor:pointer;font-size:16px}
@media(max-width:560px){.menu-book{margin:28px auto 55px}.menu-book-controls p{font-size:13px}.menu-book-controls button{width:42px;height:42px}.menu-book-hint{font-size:12px}.menu-book-dialog img{min-width:850px}}
@media(prefers-reduced-motion:no-preference){.menu-book-track{scroll-behavior:smooth}}

/* Full-width menu with controls inside the page. */
.menu-book{width:100%;margin:35px 0 65px;padding:0}
.menu-book-stage{position:relative;width:100%}
.menu-book-track{border-radius:0;border-left:0;border-right:0;box-shadow:none}
.menu-book-controls{position:absolute;inset:0;margin:0;padding:0 clamp(10px,2vw,32px);pointer-events:none}
.menu-book-controls button{pointer-events:auto;background:#211713e8;color:#f2e8d5;border-color:#d7b16b;box-shadow:0 3px 15px #0003;width:54px;height:54px}
.menu-book-controls button:hover:not(:disabled){background:#382219}
.menu-book-controls p{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:75%;padding:7px 14px;border-radius:20px;background:#211713e8;color:#f2e8d5;font-size:13px}
@media(max-width:560px){.menu-book{margin:24px 0 45px}.menu-book-controls button{width:36px;height:36px;font-size:22px}.menu-book-controls p{bottom:6px;padding:4px 9px;font-size:10px;max-width:72%}.menu-book-hint{padding:0 12px}}
/* A complete menu spread fits below the fixed navigation. */
.menu-night-intro{min-height:0;padding-top:45px;padding-bottom:35px}
.menu-book{width:min(1400px,94%);margin:24px auto 45px;scroll-margin-top:150px}
.menu-book-stage{height:clamp(240px,calc(100svh - 220px),850px);background:#ecd9b8;border:1px solid #9b7847;border-radius:10px;overflow:hidden;box-shadow:0 18px 50px #0004}
.menu-book-track{height:100%;aspect-ratio:auto;border:0;background:#ecd9b8}
.menu-book-page{background:#ecd9b8;padding:24px 70px 52px;box-sizing:border-box}
.menu-book-controls{padding:0 14px}
.menu-book-controls button{width:44px;height:44px;background:#382219;color:#f2e8d5;border:1px solid #9b7847;font-size:24px;box-shadow:none}
.menu-book-controls p{bottom:12px;background:transparent;color:#382219;font-size:13px;padding:0;max-width:85%}
.menu-book-hint{margin:12px 0 0}
@media(max-width:560px){.menu-night-intro{padding-top:32px;padding-bottom:25px}.menu-book{width:94%;margin:18px auto 35px;scroll-margin-top:180px}.menu-book-stage{height:clamp(250px,calc(100svh - 235px),600px)}.menu-book-page{padding:12px 6px 48px}.menu-book-controls{padding:0 8px;align-items:flex-end;padding-bottom:9px}.menu-book-controls button{width:32px;height:32px;font-size:20px}.menu-book-controls p{bottom:17px;max-width:72%;font-size:10px}.menu-book-hint{font-size:11px}}
/* Keep the artwork, remove the surrounding panel. */
.menu-book-stage{background:transparent;border:0;border-radius:0;box-shadow:none}
.menu-book-track,.menu-book-page{background:transparent}
.menu-book-controls p{color:var(--paper)}
.menu-book-controls button,.menu-dialog-controls button{display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #d7b16b99;border-radius:50%;background:linear-gradient(145deg,#493325,#211713);color:#e9c98c;font-family:Arial,sans-serif;font-size:27px;line-height:1;cursor:pointer;box-shadow:inset 0 1px 0 #f2e8d51a,0 5px 18px #0004;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.menu-book-controls button:hover:not(:disabled),.menu-dialog-controls button:hover:not(:disabled){background:#d7b16b;color:#211713;transform:scale(1.07);box-shadow:0 0 22px #d7b16b33}
.menu-book-controls button:active:not(:disabled),.menu-dialog-controls button:active:not(:disabled){transform:scale(.95)}
.menu-book-controls button:focus-visible,.menu-dialog-controls button:focus-visible,.menu-book-close:focus-visible{outline:2px solid #f2e8d5;outline-offset:4px}
.menu-dialog-controls button:disabled{opacity:.3;cursor:default}
.menu-book-dialog{background:#211713;border:1px solid #d7b16b66;padding:62px 16px 88px;border-radius:12px}
.menu-book-close{color:#e9c98c;border:1px solid #d7b16b66;border-radius:24px;top:12px;right:16px;padding:8px 16px;background:#382219;font-size:14px}
.menu-dialog-controls{position:sticky;bottom:-76px;display:flex;justify-content:center;align-items:center;gap:28px;padding:12px;margin:10px 0 -76px;background:#211713f5;border-radius:35px;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}
.menu-dialog-counter{color:#e9c98c;font-size:14px;letter-spacing:2px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:560px){.menu-book-controls button{width:34px;height:34px;font-size:21px}.menu-dialog-controls button{width:44px;height:44px;font-size:24px}.menu-dialog-controls{gap:20px}.menu-book-dialog{padding-left:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.menu-book-controls button,.menu-dialog-controls button{transition:none}}
