@page { size: A4 portrait; margin: 6mm; }

:root { --paper: #fff; --paper-deep: #f2ede2; }
html, body { background: #fff; }
html.print-measuring body { width: 198mm; }
body { font-size: 9pt; line-height: 1.14; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.print-page { display: flex; flex-direction: column; width: 100%; min-height: var(--print-layout-min-height); zoom: var(--print-scale); }
.skip-link, .masthead__actions, .masthead::before, .masthead::after { display: none; }
.masthead { display: block; min-height: auto; overflow: visible; padding: 0 0 1.5mm; background: none; color: var(--ink); border-bottom: 1.5px solid var(--bottle); break-inside: avoid; }
.masthead__inner { width: 100%; display: grid; grid-template-columns: 38mm 1fr; gap: 4mm; align-items: center; }
.brand-logo { display: block; width: 36mm; height: 36mm; margin: 0; padding: 0; background: transparent; filter: none; }
.brand-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-copy { padding: 0 0 0 4mm; border-top: 0; border-left: 1px solid var(--gold); text-align: left; }
.masthead .eyebrow { margin-bottom: 1.5mm; color: var(--gold); font-size: 18pt; font-weight: 700; line-height: .95; letter-spacing: .08em; }
.intro { max-width: none; margin: 0; color: var(--ink); font-size: 9.6pt; }
.menu-shell { display: flex; flex: 1; flex-direction: column; justify-content: space-between; width: 100%; padding: 1.5mm 0 0; }
[data-menu] { columns: 2; column-gap: 5mm; column-rule: 1px solid var(--line); }
.menu-section { display: block; padding: 1.2mm 0; border-top: 1px solid var(--line); break-inside: auto; }
[data-menu] > .menu-section:first-child { padding-top: .6mm; border-top: 0; }
.menu-section--highlighted { width: 100%; margin: 0; padding: 1.2mm 1.4mm; border: 1px solid var(--line); background: var(--paper-deep); box-decoration-break: clone; -webkit-box-decoration-break: clone; box-shadow: inset 2px 0 0 var(--gold); }
.menu-section > h2 { margin-bottom: .5mm; font-size: 14pt; line-height: .95; }
.section-description { margin-bottom: .5mm; font-size: 8.6pt; line-height: 1.14; }
.items { display: block; margin-top: .4mm; }
.menu-item { display: grid; grid-template-columns: 1fr auto; gap: .2mm 1.2mm; padding: .6mm 0; break-inside: avoid; }
.menu-item__name { font-size: 10pt; line-height: 1.12; }
.menu-item__name-tail { gap: .55mm; }
.menu-item__price { font-size: 10pt; line-height: 1.12; color: var(--brown); }
.menu-item__description { font-size: 8.8pt; line-height: 1.14; }
.menu-item__allergens { gap: .2mm; }
.menu-item__note { font-size: 7.4pt; line-height: 1.14; }
.allergen-mark { gap: .45mm; font-size: 7pt; font-style: italic; font-weight: 400; line-height: 1.12; }
.allergen-symbol { width: 4.5mm; }
.allergen-mark--compact .allergen-symbol { width: 3.8mm; }
.allergen-mark--compact, .allergen-mark--compact[aria-expanded="true"] { min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--bottle-soft); cursor: default; }
.allergen-mark--compact .allergen-mark__label { display: none; }
.allergen-icon__cap { fill: #fff; }
.subsection { margin-top: 1mm; break-inside: auto; }
.subsection h3 { margin-bottom: .35mm; font-size: 10.5pt; }
.extras { margin-top: 1mm; padding: .9mm; break-inside: avoid; }
.extras h3 { margin-bottom: .3mm; font-size: 10pt; }
.section-note { margin-top: 1mm; padding: .9mm; border-left-width: 2px; font-size: 7.4pt; break-inside: avoid; }
.legend { display: grid; grid-template-columns: 24mm 1fr; gap: 0 2mm; width: 100%; padding: 1.2mm 0 0; border-top: 1px solid var(--bottle); break-inside: avoid; }
.legend > h2 { grid-row: 1 / span 3; margin: .4mm 0 0; text-align: left; font-size: 10.5pt; }
.legend__intro { margin: 0 0 .7mm; text-align: left; font-size: 6.8pt; }
.legend__items { grid-template-columns: repeat(6,minmax(0,1fr)); gap: .5mm 1mm; margin: 0 0 .6mm; }
.allergen-mark--legend { gap: .3mm; font-size: 6.2pt; font-style: normal; }
.allergen-mark--legend .allergen-symbol { width: 4mm; }
.legend__note { margin: 0; text-align: left; font-size: 6.6pt; }
.review-cta { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4mm; width: 100%; padding: 1.2mm 0; border-top: 1px solid var(--bottle); text-align: left; break-inside: avoid; }
.review-cta__copy { max-width: none; margin: 0; }
.review-cta__eyebrow { margin-bottom: .3mm; font-size: 6.8pt; }
.review-cta h2 { font-size: 10.5pt; line-height: 1; }
.review-cta__copy > p:not(.review-cta__eyebrow) { margin: .4mm 0 0; font-size: 7.2pt; line-height: 1.15; }
.review-cta__button { display: none; }
.review-cta__qr { display: flex; align-items: center; gap: 2mm; color: var(--ink); font-size: 6.2pt; line-height: 1.1; text-align: right; text-decoration: none; }
.review-cta__qr span { max-width: 20mm; }
.review-cta__qr img { display: block; width: 20mm; height: 20mm; margin: 0; padding: 1mm; background: #fff; }
footer { display: none; }
