/* Mobile menu: single-row header, readable controls and full dish photography. */
@media(max-width:600px){
 .topbar{height:72px;min-height:72px;padding:0 18px;gap:12px;flex-wrap:nowrap;backdrop-filter:blur(20px)}
 .brand{font-size:17px;gap:7px;white-space:nowrap;letter-spacing:0}
 .brand-dot{width:6px;height:6px;flex-shrink:0}
 .header-menu{display:none}
 .preferences{gap:6px;margin:0;margin-inline-start:auto}
 .preferences button{min-height:38px;padding:8px 10px;font-size:12px;border-radius:10px}
 .wrap{padding:26px 18px 40px}
 .menu-heading{align-items:flex-end;gap:12px;margin-bottom:22px}
 .eyebrow{font-size:11px;line-height:1.7;margin-bottom:6px}
 .menu-heading h1{font-size:30px;line-height:1.45;letter-spacing:0}
 .menu-count{font-size:11px;padding:7px 10px;margin-bottom:5px;white-space:nowrap}
 .menu-controls{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:20px}
 .search{min-width:0}.search input{height:50px;border-radius:14px;font-size:14px}
 .views{width:100%;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;gap:4px;border-radius:12px}
 .views button{justify-content:center;min-height:40px;padding:8px;font-size:13px;border-radius:9px;gap:8px}
 .views button span:last-child{font-size:13px}
 .category-nav{gap:8px;padding:0 0 12px;margin:0 0 16px;scrollbar-width:none;overscroll-behavior-inline:contain}
 .category-nav a{padding:10px 14px;font-size:12px;line-height:1.5;flex-shrink:0}
 .items.list,.items.grid{gap:22px;grid-template-columns:minmax(0,1fr)}
 .items.list .item,.items.grid .item{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border-radius:18px;min-height:0;box-shadow:0 4px 18px #00000008}
 .items.list .item>img,.items.grid .item>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;align-self:stretch;border-radius:0;flex-shrink:0}
 .items.list .item-body,.items.grid .item-body{padding:18px 18px 16px;min-width:0;width:100%}
 .items.list .item h2,.items.grid .item h2{font-size:17px;line-height:1.65;margin:0 0 8px;font-weight:700;overflow-wrap:anywhere}
 .items.list .item p,.items.grid .item p{font-size:13px;line-height:1.85;margin:0 0 14px;overflow-wrap:anywhere}
 .items.list .price,.items.grid .price{font-size:17px;line-height:1.7;padding-top:12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
 .items.text-view .item-body{padding:18px}
 .dish-info{padding:22px}.dish-info h1{font-size:23px}
 .dish-breadcrumb{margin-bottom:18px}
}
@media(max-width:360px){
 .topbar{padding-inline:12px;gap:8px}.brand{font-size:15px}.preferences button{padding:8px;font-size:11px}
 .wrap{padding-inline:14px}.menu-heading h1{font-size:26px}
}
@media(max-width:600px){
 .category-nav a[aria-current="page"]{background:var(--green);color:var(--surface);border-color:transparent;font-weight:700}
 html[data-theme=dark] .category-nav a[aria-current="page"]{background:#e6bdd2;color:#301e28}
}
/* Desktop list: two balanced entries per row instead of stretched strips. */
@media(min-width:601px){
 .items.list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
 .items.list .item{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);align-items:center;min-height:0;padding:0;border-radius:16px}
 .items.list .item>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;align-self:stretch;min-width:0;min-height:0}
 .items.list .item-body{min-width:0;padding:16px}
 .items.list .item h2{font-size:17px;line-height:1.65;margin:0 0 9px;overflow-wrap:anywhere}
 .items.list .item p{font-size:13px;line-height:1.8;margin:0 0 12px;overflow-wrap:anywhere}
 .items.list .price{font-size:17px;line-height:1.7;padding-top:10px;border-top:1px solid var(--line)}
}
@media(min-width:601px) and (max-width:1000px){
 .items.list{grid-template-columns:minmax(0,1fr)}
 .items.list .item{grid-template-columns:minmax(0,34%) minmax(0,66%)}
 .items.list .item-body{padding:18px}
}

@media(max-width:600px){.views.dish-views{grid-template-columns:repeat(2,minmax(0,1fr))}.views.dish-views button[data-view="list"]{display:none}}
/* Mobile category cards keep labels outside the photography. */
@media(max-width:600px){
 #results.grid:not(.text-view) .category{display:flex;flex-direction:column;aspect-ratio:auto;background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:14px}
 #results.grid:not(.text-view) .category img{position:static;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;flex-shrink:0}
 #results.grid:not(.text-view) .category:after{display:none}
 #results.grid:not(.text-view) .category-label{position:static;display:flex;flex:1;align-items:flex-start;padding:12px;gap:0;color:var(--ink)}
 #results.grid:not(.text-view) .category-label>div{width:100%;display:flex;flex-direction:column;height:100%}
 #results.grid:not(.text-view) .category-label span{font-size:14px;line-height:1.6;text-shadow:none;overflow-wrap:anywhere}
 #results.grid:not(.text-view) .category-label small{font-size:11px;line-height:1.6;color:var(--subtle);padding-top:6px;margin-top:auto}
 #results.grid.list .category-label{padding:15px 16px}
 #results.grid.list .category-label>div{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
 #results.grid.list .category-label span{font-size:17px}
 #results.grid.list .category-label small{padding:0;margin:0;white-space:nowrap;flex-shrink:0}
}
/* Two dishes per row on phones, with readable content below full photos. */
@media(max-width:600px){
 .items.grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
 .items.grid.compact .item{border-radius:13px;min-width:0}
 .items.grid.compact .item-body{padding:11px;display:flex;flex-direction:column;flex:1}
 .items.grid.compact .item h2{font-size:14px;line-height:1.65;margin-bottom:7px}
 .items.grid.compact .item p{font-size:11px;line-height:1.8;margin:0 0 10px}
 .items.grid.compact .price{font-size:14px;line-height:1.7;padding-top:9px;margin-top:auto}
}

.views button[data-view="compact"]{display:none}
@media(max-width:600px){.views.dish-views{grid-template-columns:repeat(3,minmax(0,1fr))}.views.dish-views button[data-view="compact"]{display:flex}}
