/* Full-menu navigation and accessible details; original visual design retained. */
[hidden]{display:none!important}
body:has(dialog[open]){overflow:hidden}
button:disabled{cursor:wait;opacity:.6}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8ba48c;outline-offset:4px}
.preview{padding:8px 16px;line-height:1.5}
.tool-inner{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:center;padding-top:10px;padding-bottom:10px}
.category-tools{display:flex;gap:10px;min-width:0;align-items:center}
.category-picker{flex:none;display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid #bfcbb9;border-radius:30px;background:#e6eadf;color:var(--ink);font-size:13px;min-height:44px}
.cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#bdc9b7 transparent;padding:5px 4px 7px;min-width:0}
.cats button{flex:none;white-space:nowrap;min-height:44px}
input{width:100%;min-height:44px;font-size:16px}
.content{scroll-margin-top:160px}
.section-head{gap:18px}.section-head span{white-space:nowrap}
.grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.group-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-bottom:1px solid #d9ded2;padding:12px 0 14px;margin-top:20px}
.group-heading:first-child{margin-top:0;padding-top:0}
.group-heading h3{font:26px Georgia;margin:0}
.group-heading span{font-size:12px;color:var(--muted);white-space:nowrap}
.food{display:flex;flex-direction:column;align-items:stretch;min-width:0;border-radius:16px}
.photo img{display:block}
.photo-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:150px;font:italic 17px Georgia;color:#7d8679;background:#ecebe5}
.availability{position:absolute;left:10px;top:10px;padding:7px 10px;border-radius:20px;background:#fff;font-size:11px}
.name{line-height:1.18;overflow-wrap:anywhere}
.desc{min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.food>.price{margin-top:auto;padding-top:2px}
.actions a{display:flex;align-items:center;justify-content:center}
.detail-photo{height:300px;background:#ecebe5}
.detail-photo img{width:100%;height:100%;max-height:none;object-fit:contain;display:block}
.modal-copy h2{overflow-wrap:anywhere}.modal-copy a{text-decoration:underline;text-underline-offset:3px}
#detail-description{white-space:pre-line}
.close{width:44px;height:44px;z-index:2;color:var(--ink)}
.category-dialog{max-width:580px}.category-dialog .eyebrow{margin-bottom:14px}.category-dialog h2{padding-right:30px}
.category-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.category-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:14px;border:1px solid #d3d9ce;border-radius:12px;background:transparent;color:var(--ink);font-size:14px;min-height:52px;line-height:1.3}
.category-list button[aria-pressed=true]{background:var(--ink);color:white}.category-list small{opacity:.7;font-size:12px}
.empty{padding:40px 10px;line-height:1.6}.empty a{text-decoration:underline}
@media(max-width:740px){
 .tool-inner{padding:8px 20px 12px;grid-template-columns:1fr;gap:8px}.category-tools{gap:6px}.category-picker{padding:10px 12px;font-size:12px}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .group-heading h3{font-size:23px}.group-heading{margin-top:16px}.category-dialog .modal-copy{padding:24px 18px}.category-list button{padding:12px;font-size:13px}
}
@media(max-width:380px){.tool-inner{padding-left:14px;padding-right:14px}.actions a{font-size:12px}.category-list{grid-template-columns:1fr}}
