.topline { position:relative; top:auto; }
.menu-nav-sticky { top:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding-top:8px; padding-bottom:8px; }
.menu-nav-sticky .menu-type-switch { grid-column:1; grid-row:1; width:min(100%,340px); border:1px solid #9a751a; border-radius:7px; box-shadow:none; padding:3px; }
.menu-nav-sticky .menu-type-switch button { padding:7px 12px; font-size:12px; border-radius:4px; box-shadow:none; }
.menu-nav-sticky .menu-type-switch button.active,.menu-nav-sticky .menu-type-switch button:nth-child(2).active { box-shadow:none; }
.menu-nav-sticky .dietary-filters { display:none; }
.menu-nav-sticky .category-nav { grid-column:1 / -1; grid-row:2; padding:0; margin:0; overflow-x:auto; flex-wrap:nowrap; }
.menu-nav-sticky .category-nav button { flex-shrink:0; }
.filter-toggle { grid-column:2; grid-row:1; align-self:stretch; border:1px solid #9a751a; border-radius:7px; padding:8px 12px; background:#fff9ed; color:#23234a; font:600 13px 'DM Sans',sans-serif; cursor:pointer; }
.filter-toggle.is-filtered { color:white; background:#364bc2; border-color:#364bc2; }
.filter-toggle:focus-visible,.filter-sheet button:focus-visible { outline:3px solid #ef4385; outline-offset:2px; }
.filter-sheet { box-sizing:border-box; width:min(440px,calc(100% - 24px)); max-height:80dvh; margin:auto; padding:24px; background:#fff9ed; color:#23234a; border:1px solid #364bc2; border-radius:16px; }
.filter-sheet::backdrop { background:#17172a99; }
.filter-sheet h2 { margin:0 40px 20px 0; font:600 22px 'DM Sans',sans-serif; }
.filter-close { position:absolute; right:12px; top:10px; width:44px; height:44px; background:none; border:0; color:inherit; font-size:28px; cursor:pointer; }
.filter-options { display:grid; gap:10px; }
.filter-options button { padding:14px; text-align:left; border:1px solid #aaa6b8; border-radius:8px; background:white; color:#23234a; font:500 16px 'DM Sans',sans-serif; cursor:pointer; }
.filter-options button[aria-pressed=true] { background:#364bc2; color:white; border-color:#364bc2; }
@media(max-width:700px){.filter-sheet { margin:auto auto 0; width:100%; border-radius:18px 18px 0 0; padding-bottom:max(24px,env(safe-area-inset-bottom)); }.menu-nav-sticky .menu-type-switch{width:100%;}.menu-nav-sticky:not(.has-dietary) .menu-type-switch{grid-column:1 / -1;}.menu-nav-sticky .category-nav {padding-top:0;}}
