.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.menu-print-button{flex-shrink:0}
.menu-toolbar{margin-bottom:30px}
.menu-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.menu-filter{border:1px solid #dbe4ea;border-radius:999px;background:#fff;color:var(--prussian-blue);padding:10px 17px;font:inherit;font-weight:600;cursor:pointer}
.menu-filter.active,.menu-filter:hover{background:var(--prussian-blue);border-color:var(--prussian-blue);color:#fff}
.menu-filter:focus-visible,.menu-print-button:focus-visible{outline:3px solid var(--selective-yellow);outline-offset:3px}
.menu-grid{column-count:2;column-gap:24px}
.menu-grid.is-filtered{column-count:1;max-width:820px;margin-inline:auto}
.menu-category{display:inline-block;width:100%;box-sizing:border-box;break-inside:avoid;margin:0 0 24px;background:#fff;border:1px solid #e1e7eb;border-radius:18px;padding:22px;overflow:hidden;box-shadow:0 5px 20px rgba(2,48,71,.035);vertical-align:top}
.menu-category[hidden]{display:none}
.menu-category-image{display:block;width:calc(100% + 44px);max-width:none;height:170px;object-fit:cover;margin:-22px -22px 20px}
.menu-serving-heading{text-align:right}
.menu-table .menu-servings{width:44%;padding-left:18px}
.menu-serving{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f7f9fa;border:1px solid #edf1f3;border-radius:8px;padding:7px 9px;margin-bottom:5px;line-height:1.35}
.menu-serving:last-child{margin-bottom:0}
.menu-serving-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 6px;font-size:.76rem;font-weight:500;color:#53636f;text-align:left}
.menu-serving-label small{font-size:.7rem;font-weight:400;color:#77858e;white-space:nowrap}
.menu-serving-price{font-size:.86rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.menu-category-heading{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.menu-category-number{font-size:20px;font-family:Georgia,serif;color:#87680b;background:#fff6db;border-radius:10px;padding:7px 10px;flex-shrink:0}
.menu-category-heading h3{font-size:1.3rem;margin:0 0 4px}
.menu-category-heading p{color:#657480;font-size:.9rem;margin:0}
.menu-table{width:100%;border-collapse:collapse}
.menu-table thead th{border-bottom:2px solid #e5eaee;color:#677681;font-size:.76rem;font-weight:700;text-transform:uppercase;padding:0 0 12px;letter-spacing:.04em}
.menu-table tbody th,.menu-table tbody td{border-bottom:1px solid #edf0f2;padding:13px 0;vertical-align:middle}
.menu-table tbody th{text-align:left}
.menu-table tbody tr:last-child th,.menu-table tbody tr:last-child td{border-bottom:0;padding-bottom:0}
.menu-table .menu-price{text-align:right;white-space:nowrap;padding-left:14px;width:1%;font-size:.88rem;font-variant-numeric:tabular-nums}
.menu-table tbody td{font-weight:700;color:var(--prussian-blue)}
.menu-dish-name{display:block;font-weight:700;font-size:.98rem;color:var(--prussian-blue)}
.menu-dish-description{display:block;font-size:.8rem;color:#677681;font-weight:400;margin-top:4px;line-height:1.45}
.menu-sample-note{background:#fff6db;border-left:3px solid #c59a22;padding:14px 18px;border-radius:6px;font-size:.9rem;margin-bottom:24px;color:#624b09}
.menu-bottom-note{margin-top:26px;padding:20px;border-top:1px solid #dbe4ea;color:#53636f;font-size:.9rem}
.menu-print-brand{display:none}
@media(max-width:991px){.menu-grid{column-count:1;max-width:760px;margin-inline:auto}}
@media(max-width:575px){.menu-category-image{width:calc(100% + 28px);height:155px;margin:-18px -14px 18px}.menu-table .menu-servings{padding-left:10px;width:48%}.menu-serving{gap:6px;padding:7px 6px}.menu-serving-price{font-size:.76rem}.menu-serving-label{font-size:.72rem}}
@media(max-width:575px){.menu-heading{align-items:flex-start;flex-direction:column}.menu-category{padding:18px 14px}.menu-table .menu-price{padding-left:9px;font-size:.78rem}.menu-dish-name{font-size:.9rem}.menu-category-heading h3{font-size:1.2rem}.menu-filter{font-size:.85rem;padding:8px 12px}}
@media print{
    @page{size:A4 portrait;margin:10mm}
    html,body{background:#fff!important;color:#111!important;font-size:9pt!important;width:100%!important;margin:0!important}
    body>*:not(main){display:none!important}
    main>*:not(#restaurant-menu){display:none!important}
    #restaurant-menu{display:block!important;padding:0!important;margin:0!important;background:#fff!important}
    #restaurant-menu .container{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}
    .menu-heading,.menu-toolbar{display:none!important}
    .menu-print-brand{display:block;text-align:center;margin-bottom:10pt;padding-bottom:8pt;border-bottom:2px solid #222}
    .menu-print-brand img{height:28pt;max-width:140pt;object-fit:contain;margin:0 auto 4pt}
    .menu-print-brand h2{font-size:16pt;margin:0 0 3pt;color:#000;font-family:Georgia,'Playfair Display',serif;line-height:1.15}
    .menu-print-brand p{font-size:8pt;margin:2pt 0;color:#222}
    .menu-grid,.menu-grid.is-filtered{display:block!important;column-count:1!important;column-gap:0!important;column-fill:auto!important;max-width:none!important;width:100%!important;margin:0!important}
    .menu-category,.menu-category[hidden]{display:block!important;width:100%;box-sizing:border-box;break-inside:avoid!important;page-break-inside:avoid!important;border:1px solid #ccc;border-radius:3pt;padding:8pt 10pt;margin:0 0 10pt!important;box-shadow:none;background:#fff!important;orphans:3;widows:3}
    .menu-category-image{display:none!important}
    .menu-category-heading{display:flex;align-items:center;gap:6pt;break-after:avoid;page-break-after:avoid;margin-bottom:6pt}
    .menu-category-number{font-size:12pt;color:#333;background:transparent;border-radius:0;padding:0}
    .menu-category-heading h3{font-size:11pt;margin:0 0 2pt;color:#000}
    .menu-category-heading p{font-size:8pt;color:#333;margin:0;line-height:1.3}
    .menu-table{width:100%;border-collapse:collapse}
    .menu-table thead{display:table-header-group}
    .menu-table thead th{font-size:7.5pt;font-weight:700;color:#222;text-transform:uppercase;letter-spacing:.05em;border-bottom:1.2pt solid #999;padding:0 0 4pt}
    .menu-table tbody th,.menu-table tbody td{border-bottom:1pt solid #e0e0e0;padding:4pt 0;vertical-align:middle;text-align:left}
    .menu-table tbody tr:last-child th,.menu-table tbody tr:last-child td{border-bottom:0}
    .menu-table tr{break-inside:avoid;page-break-inside:avoid}
    .menu-table .menu-servings{width:auto;padding-left:6pt}
    .menu-dish-name{font-size:8.5pt;font-weight:700;color:#000}
    .menu-dish-description{font-size:7.5pt;font-weight:400;color:#444;margin-top:2pt;line-height:1.35}
    .menu-serving{display:flex;align-items:baseline;justify-content:space-between;gap:4pt;background:none!important;border:none;border-bottom:1pt dotted #ccc;border-radius:0;padding:2pt 0;margin:0}
    .menu-serving:last-child{border-bottom:0}
    .menu-serving-label{font-size:8pt;font-weight:500;color:#222;text-align:left}
    .menu-serving-label small{font-size:7pt;font-weight:400;color:#555}
    .menu-serving-price{font-size:8.5pt;font-weight:700;color:#000;white-space:nowrap;font-variant-numeric:tabular-nums}
    .menu-sample-note{font-size:7.5pt;color:#333;background:#faf6e8;border-left:3pt solid #b78a1e;border-radius:2pt;padding:6pt 8pt;margin-bottom:10pt;break-inside:avoid}
    .menu-bottom-note{font-size:8pt;color:#222;margin-top:10pt;padding:8pt 0 0;border-top:1.2pt solid #999;break-inside:avoid}
}
