.city-menu-intro { background:#201e1a; color:#fff8e9; padding:44px 0; border-bottom:4px solid var(--city-yellow) }
.city-menu-intro>.container { display:flex; align-items:center; justify-content:space-between; gap:30px }
.city-menu-intro .city-eyebrow { color:var(--city-yellow); margin-bottom:10px }
.city-menu-intro h1 { font-size:48px; font-weight:900; line-height:1.05; color:inherit; margin:0 0 14px }
.city-menu-intro p:last-child { font-size:14px; color:#c8c2b9; line-height:1.6; margin:0 }
.city-menu-back { color:#f7f1e6; font-size:13px; font-weight:700; border:1px solid #ffffff40; border-radius:7px; padding:13px 18px; flex-shrink:0 }
.city-menu-back:hover { color:var(--city-yellow); border-color:var(--city-yellow) }
.city-menu-layout { display:grid; grid-template-columns:225px minmax(0,1fr); gap:34px; padding-top:36px; padding-bottom:24px; align-items:start }
.city-menu-sidebar { position:sticky; top:25px }
.city-menu-sidebar h2 { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:var(--city-muted); margin:0 0 15px 12px }
.city-menu-categories { display:flex; flex-direction:column; gap:5px }
.city-menu-categories { scrollbar-width:thin; scrollbar-color:#b9ad9a #e9e2d6 }
.city-menu-categories::-webkit-scrollbar { height:4px!important }
.city-menu-categories::-webkit-scrollbar-track { background:#e9e2d6 }
.city-menu-categories::-webkit-scrollbar-thumb { background:#b9ad9a; border-radius:4px }
.city-menu-categories a { display:flex; align-items:center; gap:10px; color:#4c473f; font-size:12px; line-height:1.3; font-weight:700; padding:9px 11px; border:1px solid transparent; border-radius:7px }
.city-menu-categories a:hover { background:#f0ebe2; color:#211e1a }
.city-menu-categories a.is-current { background:#fff; border-color:#e2d6c8; color:#be0050; box-shadow:inset 3px 0 var(--city-pink) }
.city-menu-categories img { border-radius:50%; height:36px; width:36px; object-fit:cover; flex-shrink:0 }
.city-menu-count { margin-left:auto; font-size:11px; color:var(--city-muted) }
.city-menu-results { min-width:0 }
.city-menu-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px }
.city-menu-toolbar .city-eyebrow { color:var(--city-muted); margin-bottom:6px; font-size:10px }
.city-menu-toolbar h2 { font-size:25px; font-weight:800; margin:0 }
.city-menu-search { display:flex; flex:0 1 280px; max-width:100%; background:#fff; border:1px solid #d8cebf; border-radius:7px; overflow:hidden; min-width:0 }
.city-menu-search input { width:100%; min-width:0; border:0; background:transparent; padding:13px; font-size:13px; color:#211e1a }
.city-menu-search button { border:0; background:transparent; color:#4c473f; min-width:44px }
.city-menu-subcategories { display:flex; gap:8px; overflow:auto; padding:0 0 18px; margin-bottom:8px }
.city-menu-subcategories a { color:#514b42; border:1px solid #dfd6c9; background:#f5f0e8; padding:9px 16px; border-radius:6px; white-space:nowrap; font-size:12px; font-weight:700 }
.city-menu-subcategories a[aria-current] { color:#fff; background:#211e1a; border-color:#211e1a }
.city-menu-search-note { font-size:13px; color:#6f6558; margin-bottom:20px }
.city-menu-search-note a { color:#b00048; margin-left:10px }
.city-menu-food-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px }
.city-menu-food-grid>[data-city-item] { width:auto; max-width:100%; padding:0 }
.city-menu-page .city-food-card { display:grid; grid-template-columns:122px minmax(0,1fr); border-radius:9px; min-height:198px; transition:border-color .15s }
.city-menu-page .city-food-card:hover { border-color:#c8bba7 }
.city-menu-page .city-food-image { aspect-ratio:auto; min-height:100%; height:100%; border-right:1px solid #eee9e0 }
.city-menu-page .city-food-image img { object-fit:cover }
.city-menu-page .city-food-body { padding:17px 15px; min-width:0 }
.city-menu-page .city-food-card h3 { font-size:19px; line-height:1.16; margin-bottom:8px; overflow-wrap:anywhere }
.city-menu-page .city-food-category { display:none }
.city-menu-page .city-food-description { font-size:11px; line-height:1.5; min-height:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:18px }
.city-menu-page .city-food-bottom { gap:10px; flex-wrap:wrap }
.city-menu-page .city-food-bottom strong { font-size:17px; white-space:nowrap }
.city-menu-page .city-add { padding:8px 10px; min-height:38px; font-size:10px; gap:8px }
.city-menu-page .city-allergen { height:22px; width:22px; font-size:11px }
.city-menu-page .city-unavailable-label { max-width:108px; left:7px; top:7px; font-size:9px; line-height:1.35; padding:6px 8px }
.city-menu-pagination { display:flex; justify-content:center; margin-top:25px }
.city-menu-availability-note { font-size:11px; line-height:1.6; color:#746b5e; margin-top:18px }
.city-menu-empty { padding:45px 25px; border:1px dashed #cdbfa9; border-radius:9px; text-align:center; background:#f4eee5 }
.city-menu-empty h3 { font-size:25px; font-weight:800 }.city-menu-empty p { font-size:14px; color:#6d6357 }
.city-menu-help { display:flex; flex-wrap:wrap; gap:20px; align-items:center; padding-top:25px; padding-bottom:35px; border-top:1px solid #ddd4c6; margin-top:20px }
.city-menu-help p { color:#6c6255; margin:0; font-size:13px }.city-menu-help>a:not(.city-button) { color:#252019; font-weight:800; font-size:17px }.city-menu-help .city-button { margin-left:auto; min-height:42px; font-size:12px }
.city-menu-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding-top:38px; padding-bottom:38px }
.city-menu-category-card { border:1px solid #e4dccc; border-radius:10px; background:#fff; color:#211e1a; overflow:hidden; transition:border-color .2s }
.city-menu-category-card:hover { border-color:var(--city-pink); color:#b5004d }
.city-menu-category-photo { aspect-ratio:1.55; overflow:hidden; background:#eee8dd }.city-menu-category-photo img { width:100%; height:100%; object-fit:cover; transition:transform .25s }.city-menu-category-card:hover img { transform:scale(1.04) }
.city-menu-category-caption { display:flex; gap:12px; justify-content:space-between; align-items:center; padding:19px }.city-menu-category-caption p { margin:0 0 5px; font-size:10px; color:#776d5e; text-transform:uppercase; letter-spacing:.08em }.city-menu-category-caption h2 { font-size:21px; font-weight:800; margin:0 }.city-menu-category-caption>span { font-size:22px }
.city-delivery-status { display:block; font-size:12px; line-height:1.5; color:#665c4c; margin-top:9px }.city-delivery-status[data-state=matched] { color:#28603a }.city-delivery-status[data-state=ambiguous],.city-delivery-status[data-state=unmatched] { color:#8b4a13 }
@media(max-width:1199px) { .city-menu-layout { grid-template-columns:190px minmax(0,1fr); gap:22px }.city-menu-page .city-food-card { grid-template-columns:105px minmax(0,1fr) }.city-menu-page .city-food-body { padding:14px 12px }.city-menu-page .city-food-card h3 { font-size:18px }.city-menu-page .city-food-bottom { gap:9px }.city-menu-overview { grid-template-columns:repeat(3,minmax(0,1fr)) } }
@media(max-width:991px) { .city-menu-layout { grid-template-columns:1fr; gap:26px; padding-top:22px }.city-menu-sidebar { position:static; min-width:0 }.city-menu-sidebar h2 { display:none }.city-menu-categories { flex-direction:row; overflow:auto; padding:0 0 10px; gap:8px }.city-menu-categories a { flex-shrink:0; background:#f0e9dd; padding:8px 12px; white-space:nowrap; max-width:230px }.city-menu-categories a.is-current { box-shadow:inset 0 -3px var(--city-pink) }.city-menu-categories img { width:28px; height:28px }.city-menu-count { display:none }.city-menu-page .city-food-card { grid-template-columns:115px minmax(0,1fr) }.city-menu-intro { padding:32px 0 }.city-menu-intro h1 { font-size:39px } }
@media(max-width:575px) { .city-menu-intro>.container { flex-direction:column; align-items:flex-start; gap:20px }.city-menu-intro h1 { font-size:36px }.city-menu-intro p:last-child { font-size:12px; max-width:300px }.city-menu-back { padding:10px 13px; font-size:11px }.city-menu-layout { padding-top:18px; gap:16px }.city-menu-toolbar { align-items:flex-start; flex-direction:column; gap:17px; margin-bottom:20px }.city-menu-toolbar h2 { font-size:25px }.city-menu-search { flex:auto; width:100% }.city-menu-food-grid { grid-template-columns:1fr; gap:13px }.city-menu-page .city-food-card { grid-template-columns:96px minmax(0,1fr); min-height:180px }.city-menu-page .city-food-body { padding:15px 12px }.city-menu-page .city-food-card h3 { font-size:19px }.city-menu-page .city-food-bottom strong { font-size:16px }.city-menu-page .city-food-description { font-size:11px; margin-bottom:14px }.city-menu-page .city-unavailable-label { max-width:84px; font-size:8px; left:5px; padding:5px }.city-menu-help { gap:12px }.city-menu-help .city-button { margin:8px 0 0; width:100% }.city-menu-overview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:24px; padding-bottom:24px }.city-menu-category-caption { padding:14px 12px; gap:7px }.city-menu-category-caption h2 { font-size:16px; line-height:1.2; overflow-wrap:anywhere }.city-menu-category-caption p { font-size:9px }.city-menu-category-caption>span { font-size:18px }.city-menu-category-photo { aspect-ratio:1.2 } }

@media(max-width:991px) {
    .city-menu-intro>.container>div { min-width:0; max-width:100% }
    .city-menu-intro h1 { overflow-wrap:anywhere }
    .city-menu-category-picker { min-width:0; border:1px solid #dfd6c9; border-radius:10px; background:#fff }
    .city-menu-category-picker>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; padding:12px 14px; cursor:pointer; list-style:none }
    .city-menu-category-picker>summary::-webkit-details-marker { display:none }
    .city-menu-category-picker>summary>span:first-child { min-width:0 }
    .city-menu-category-picker summary small { display:block; font-size:10px; color:#776d5e; margin-bottom:3px }
    .city-menu-category-picker summary strong { display:block; font-size:14px; line-height:1.4; overflow-wrap:anywhere }
    .city-menu-picker-arrow { flex:none; font-size:24px; line-height:1 }
    .city-menu-category-picker[open] .city-menu-picker-arrow { transform:rotate(180deg) }
    .city-menu-category-picker[open]>summary { border-bottom:1px solid #e8e0d4 }
    .city-menu-category-picker:not([open])>.city-menu-categories { display:none }
    .city-menu-categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; padding:12px }
    .city-menu-categories a { min-width:0; max-width:none; min-height:64px; gap:8px; padding:10px; white-space:normal; border:1px solid #e8e0d4; border-radius:8px; background:#faf7f1 }
    .city-menu-categories a>span:not(.city-menu-count) { min-width:0; line-height:1.35; font-size:12px; overflow-wrap:anywhere }
    .city-menu-categories a.is-current { border-color:var(--city-pink); background:#fff1f6; box-shadow:inset 0 0 0 1px var(--city-pink) }
    .city-menu-categories img { flex:none; width:30px; height:30px; border-radius:5px }
    .city-menu-category-picker>summary:focus-visible { outline:2px solid var(--city-pink); outline-offset:3px; border-radius:10px }
    .city-menu-subcategories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible }
    .city-menu-subcategories a { min-width:0; white-space:normal; overflow-wrap:anywhere; min-height:44px; display:flex; align-items:center }
}
