.menu-filter-controls{min-width:0;margin:0 0 14px}.menu-filter-bar,.menu-quick-filters{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.menu-quick-filters{gap:8px}.menu-filter-toggle,.menu-all-filters,.menu-filter-chip{border:1px solid var(--line,#e0d8cb);min-height:44px;color:var(--green,#253f33);text-align:left;overflow-wrap:anywhere;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:14px;line-height:1.3;display:inline-flex}.menu-filter-toggle>svg,.menu-all-filters>svg,.menu-filter-chip>svg{flex-shrink:0}.menu-filter-toggle:hover,.menu-all-filters:hover,.menu-filter-chip:hover{background:var(--action-soft,#fff0e5);border-color:var(--action,#c7441d)}.menu-filter-toggle[aria-pressed=true]{color:var(--action,#c7441d);background:var(--action-soft,#fff0e5);border-color:var(--action,#c7441d);font-weight:600}.menu-all-filters{font-weight:600}.filter-count{background:var(--green,#253f33);color:#fff;font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;display:inline-flex}.menu-filter-sort{min-width:0;color:var(--green,#253f33);align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.menu-filter-sort select{border:1px solid var(--line,#e0d8cb);min-width:0;max-width:220px;min-height:44px;color:var(--green,#253f33);background:0 0;border-radius:12px;padding:10px 12px;font-size:14px}.menu-filter-sort-note{color:var(--muted,#6f7568);margin:9px 0 0;font-size:12px;line-height:1.4}.menu-filter-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.menu-filter-chip{background:var(--action-soft,#fff0e5);justify-content:flex-start;max-width:100%;padding:8px 12px;font-size:13px}.modal.modal-sheet{background:var(--cream,#fff7ed);width:680px;max-width:calc(100vw - 32px);max-height:min(88dvh,840px);color:var(--green,#253f33);border-radius:16px;padding:0;overflow:hidden}.modal.modal-sheet[open]{flex-direction:column;display:flex}.modal.modal-sheet>.modal-inner{width:100%;max-height:inherit;flex-direction:column;min-height:0;padding:0;display:flex}.modal.modal-sheet .modal-header{border-bottom:1px solid var(--line,#e0d8cb);background:var(--cream,#fff7ed);flex:none;align-items:center;gap:16px;margin:0;padding:20px 24px 16px}.modal.modal-sheet .modal-header h2{min-width:0;margin:0;font-size:28px;line-height:1.2}.modal.modal-sheet .modal-header .icon-btn{border:1px solid var(--line,#e0d8cb);border-radius:12px;flex-shrink:0;width:44px;min-width:44px;height:44px}.filter-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.filter-panel-content{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:18px 24px 24px;overflow-y:auto}.filter-panel-live{color:var(--muted,#6f7568);margin:0 0 22px;font-size:13px;line-height:1.5}.filter-panel fieldset{border:0;min-width:0;margin:0 0 20px;padding:0}.filter-panel legend{width:100%;margin-bottom:12px;padding:0;font-size:17px;font-weight:600;line-height:1.4}.filter-panel-checkboxes,.filter-panel .allergen-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.filter-panel-checkboxes label,.filter-panel .allergen-checkboxes label{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:9px;min-width:0;min-height:44px;margin:0;padding:5px 0;font-size:15px;line-height:1.4;display:flex}.filter-panel-checkboxes label>svg{flex-shrink:0}.filter-panel input[type=checkbox]{width:21px;height:21px;accent-color:var(--action,#c7441d);flex-shrink:0}.filter-panel-meat{justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;font-size:15px;display:flex}.filter-panel-meat>span{align-items:center;gap:9px;min-width:0;display:flex}.filter-panel-meat>span>svg{flex-shrink:0}.filter-panel-meat select{border:1px solid var(--line,#e0d8cb);min-width:150px;max-width:100%;min-height:44px;color:var(--green,#253f33);background:0 0;border-radius:12px;padding:10px 12px;font-size:16px}.filter-panel-notice,.filter-panel .allergen-filter-body>p{color:var(--muted,#6f7568);margin:12px 0 20px;font-size:13px;line-height:1.6}.filter-panel-allergens{border-top:1px solid var(--line,#e0d8cb);padding-top:20px}.filter-panel .allergen-filter-body{padding:0}.filter-panel .allergen-filter-body .text-link{min-height:44px;color:var(--action,#c7441d);font-size:14px}.filter-panel-footer{padding:16px 24px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--line,#e0d8cb);background:var(--cream,#fff7ed);flex:none;grid-template-columns:1fr 1fr;gap:12px;display:grid}.filter-panel-footer button{overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:12px 14px;font-size:15px;line-height:1.4}.filter-reset{border:1px solid var(--line,#e0d8cb);min-height:44px;color:var(--green,#253f33);background:0 0}.filter-reset:disabled{opacity:.45;cursor:default}.filter-done{background:var(--action,#c7441d);color:#fff;min-height:48px;font-weight:600}.filter-done:hover{background:var(--action-hover,#a63315)}.menu-filter-controls button:focus-visible,.menu-filter-controls select:focus-visible,.modal-sheet button:focus-visible,.modal-sheet select:focus-visible,.modal-sheet input:focus-visible{outline:2px solid var(--action,#c7441d);outline-offset:3px}@media (max-width:760px){.menu-filter-bar{gap:10px}.menu-filter-sort{justify-content:space-between;width:100%;margin-left:0}.menu-filter-sort select{max-width:70%}.modal.modal-sheet{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;position:fixed;inset:auto 0 0}.modal.modal-sheet .modal-header{padding:16px 18px 12px}.modal.modal-sheet .modal-header h2{font-size:25px}.filter-panel-content{padding:16px 18px 20px}.filter-panel-footer{padding:12px 18px max(12px, env(safe-area-inset-bottom));gap:10px}}@media (max-width:390px){.filter-panel-checkboxes,.filter-panel .allergen-checkboxes{grid-template-columns:minmax(0,1fr);gap:4px}.filter-panel-meat{flex-direction:column;align-items:stretch;gap:9px}.filter-panel-meat select{width:100%}.menu-filter-toggle,.menu-all-filters{padding:10px 12px}}
