#menu-placement{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:center;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#menu-placement .manifesto-copy .eyebrow{margin:0 0 16px;font-size:11px;color:var(--red);max-width:none;justify-self:start}
.menu-invite{display:flex;align-items:center;gap:22px;background:#eeebdf;border-radius:22px;padding:24px 28px;min-width:0}
.menu-invite>img{width:55px;height:140px;object-fit:cover;transform:rotate(-5deg);flex-shrink:0}
#menu-placement h3{font:800 28px/1.15 'DM Sans',Arial,sans-serif;letter-spacing:-1px;margin:0 0 10px;overflow-wrap:anywhere}
#menu-placement .menu-invite p{font-size:15px;line-height:1.5;color:#555e57;margin:0 0 17px;max-width:none}
.menu-button{display:inline-flex;align-items:center;gap:20px;justify-content:center;background:#15271d;color:white;min-height:46px;padding:10px 22px;border:0;border-radius:28px;font-size:14px;font-weight:600;line-height:1.4;text-align:center}
.menu-button span{flex-shrink:0}.menu-invite>div{min-width:0}
.menu-reader{background:#eeebdf;border-radius:22px;overflow:hidden;scroll-margin-top:24px}.menu-reader-head{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px 28px}.menu-reader-head h2{font-size:30px;letter-spacing:-1px;overflow-wrap:anywhere}.menu-reader-head p{font-size:14px;color:#555e57;margin:7px 0 0}.menu-reader button{border:0;border-radius:28px;background:#fffdf8;color:var(--ink);min-height:46px;padding:10px 18px;line-height:1.4}.menu-reader button:disabled{cursor:default;opacity:.4}.menu-controls{display:flex;gap:24px;justify-content:space-between;align-items:end;padding:0 28px 20px}.menu-controls label{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:0;max-width:40%}.menu-controls select{border:0;border-radius:8px;padding:10px;background:#fffdf8;min-height:44px;color:var(--ink);min-width:0;max-width:100%;font-size:15px}.menu-paging{display:flex;gap:8px;align-items:center}.menu-paper{background:#dcd9ce;padding:24px;max-height:680px;overflow:auto;overscroll-behavior:contain}.menu-paper img{display:block;width:430px;height:auto;max-width:100%;margin:auto;background:#faf9f4}.menu-paper.zoomed img{width:860px;max-width:none}.menu-status{font-size:13px;text-align:center;margin:10px}.menu-reader-head>button{flex-shrink:0;max-width:40%}
@media(max-width:760px){#menu-placement{display:block;padding:25px 0;margin-top:12px}#menu-placement h2{font-size:36px}.menu-invite{margin-top:24px;padding:22px 18px;gap:18px}.menu-invite>img{width:45px;height:115px}#menu-placement h3{font-size:25px}#menu-placement .menu-invite p{font-size:14px}.menu-button{padding:10px 18px;gap:12px}.menu-reader-head{padding:20px 16px;gap:10px}.menu-reader-head h2{font-size:25px}.menu-reader-head>button{padding:10px 12px;font-size:13px}.menu-controls{display:block;padding:0 14px 14px}.menu-controls label{max-width:none;margin-bottom:14px}.menu-paging{justify-content:center;gap:5px}.menu-paging button{padding:10px;min-width:40px}.menu-paging select{max-width:145px;font-size:13px}.menu-paper{padding:10px;max-height:none;overscroll-behavior:auto}.menu-paper img{width:100%}.menu-paper.zoomed{max-height:75svh}.menu-paper.zoomed img{width:650px}.menu-status{margin:12px}}
@media(prefers-reduced-motion:no-preference){.menu-button{transition:background .15s}.menu-button:hover{background:#304c39}}
/* Category buttons replace the native section dropdown. */
.menu-controls{flex-wrap:wrap;gap:16px}
.menu-categories{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%;min-width:0}
.menu-reader .menu-categories button{border:1px solid var(--red);border-radius:10px;background:transparent;padding:10px 16px;min-height:44px;font-size:14px;overflow-wrap:anywhere;max-width:100%}
.menu-reader .menu-categories button[aria-pressed=true]{background:#f7dfd7;font-weight:700}
.menu-reader .menu-categories button:hover{background:#f7e8df}
.menu-controls .menu-paging{margin-inline-start:auto}
@media(max-width:760px){.menu-categories{margin-bottom:16px}.menu-reader .menu-categories button{flex:1 1 160px;text-align:start}.menu-controls .menu-paging{margin-inline-start:0}}
@media(max-width:760px){.menu-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.menu-reader .menu-categories button{width:100%;min-width:0;padding:10px 12px}}

/* Desktop reader grows with the complete menu page, including zoom. */
@media(min-width:761px){.menu-paper{max-height:none;overflow:visible;overscroll-behavior:auto}.menu-paper.zoomed img{max-width:100%}}

.menu-text-link{display:block;margin-top:12px;font-size:12px;text-decoration:underline;text-underline-offset:3px;line-height:1.5}

/* The whole menu invitation is one generous, keyboard-accessible target. */
.menu-invite{position:relative;border:1px solid #c9c2b3;box-shadow:0 8px 22px #31291709}.menu-invite>img{width:72px;height:auto}.menu-button{font-size:17px;font-weight:700;min-height:52px;padding:12px 24px}.menu-button::after{content:"";position:absolute;inset:0;border-radius:22px}.menu-invite:focus-within{outline:2px solid var(--red);outline-offset:4px}.room-summary{max-width:640px;line-height:1.6}
@media(max-width:760px){.menu-button{width:100%;padding-inline:12px}.menu-invite>div{flex:1}.menu-invite{gap:18px}.menu-invite>img{width:64px}}
