.menu-explorer{width:min(1180px,calc(100% - 36px));padding:35px 40px}.menu-intro-row{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.menu-intro-row h2{font-size:36px}.menu-intro-row .dialog-intro{max-width:650px}.selection-shortcut{font-size:11px;white-space:nowrap}.menu-explorer .menu-tools{margin-top:24px}.menu-explorer .filter-tabs{gap:8px}.menu-explorer .filter-tabs button{font-size:11px;min-height:42px;padding:9px 16px}.menu-search-row{display:grid;grid-template-columns:1.5fr 1fr;gap:25px;align-items:end}.menu-explorer .search-wrap{margin:17px 0 0;min-height:52px}.ingredient-select{display:flex;flex-direction:column;gap:3px;margin-top:15px}.ingredient-select>span{font-size:9px;color:var(--muted)}.ingredient-select select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:7px 0 11px;font-size:12px;color:var(--ink);border-radius:0;min-height:40px}.menu-view-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;font-size:10px;color:var(--muted)}.view-buttons{display:flex;align-items:center;gap:6px}.view-buttons button{padding:7px 11px;border:1px solid var(--line);font-size:9px;min-height:36px}.view-buttons button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:#ebece2}.view-buttons #saved-filter{margin-right:10px}.menu-allergen-note,.menu-price-pending{font-size:10px;color:var(--muted);margin:16px 0 0}.menu-price-pending{margin-top:4px}.menu-explorer-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start;margin-top:20px}.dish-group+.dish-group{margin-top:28px}.dish-group>h3{font:500 10px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px}.dish-group>h3 span{font:9px var(--sans);color:var(--muted);border:1px solid var(--line);padding:2px 6px}.dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dish-card{border:1px solid var(--line);background:#fff5;min-width:0;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.dish-card.is-selected{border-color:#69816b;box-shadow:inset 0 0 0 1px #69816b}.dish-card-content{padding:15px 17px;display:flex;flex:1;flex-direction:column}.dish-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:30px}.dish-ingredient{font-size:9px;letter-spacing:.03em;color:var(--muted)}.save-dish{font:23px/1 Georgia;min-width:34px;min-height:34px;padding:3px;margin-right:-7px}.save-dish[aria-pressed=true]{color:#95664c}.dish-card h4{font:400 20px/1.55 var(--serif);letter-spacing:-.02em;margin:12px 0 20px}.dish-card p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 15px}.dish-image{width:100%;aspect-ratio:1.4;object-fit:cover}.dish-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.dish-price{font:500 14px/1.6 Manrope,var(--sans)}.quantity-control{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-shrink:0;border:1px solid var(--line);background:var(--paper)}.quantity-control button{font-size:18px;width:33px;min-height:35px;padding:4px;display:grid;place-items:center}.quantity-control button:hover:not(:disabled){background:var(--forest);color:white}.quantity-control button:disabled{opacity:.3;cursor:default}.quantity-control>span{font:11px Manrope;min-width:17px;text-align:center}.selection-panel{background:#eeeee3;border:1px solid var(--line);padding:23px 20px;position:sticky;top:0}.selection-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:17px;border-bottom:1px solid var(--line)}.selection-heading h3{font-size:22px}.clear-selection{padding:0;font-size:8px;border-bottom:1px solid currentColor;color:var(--muted)}.selection-empty{font-size:11px;line-height:1.9;color:var(--muted);margin:20px 0}.selected-dish{display:flex;gap:10px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.selected-dish strong{display:block;font:400 13px/1.7 var(--serif)}.selected-dish small{display:block;font:9px/1.5 Manrope;margin-top:7px;color:var(--muted)}.selected-dish .quantity-control{gap:1px}.selected-dish .quantity-control button{width:25px;min-height:32px;font-size:15px}.selected-dish .quantity-control>span{font-size:10px;min-width:12px}.selection-totals{padding-top:16px;display:flex;flex-direction:column;gap:7px}.selection-totals>span{font-size:9px;color:var(--muted)}.selection-totals>strong{font:20px/1.5 var(--serif)}.selection-totals p{font-size:8px;line-height:1.8;color:var(--muted);margin:0}.selection-hint{font-size:9px;line-height:1.9;color:var(--muted);margin:18px 0}.selection-panel>.button{width:100%;font-size:9px;gap:10px;padding:15px 12px}.selection-panel>.button:disabled{opacity:.4;cursor:default}.choice-launch{position:fixed;bottom:22px;right:25px;z-index:15;box-shadow:0 5px 30px #0002;font-size:11px;padding:14px 20px;gap:20px}.booking-choice{border:1px solid var(--line);background:#eef0e6;padding:15px 18px;margin-bottom:23px}.booking-choice-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-choice-top>strong{font:400 20px var(--serif)}.booking-choice .text-link{font-size:9px}.booking-choice ul{padding:0;margin:14px 0 0;list-style:none}.booking-choice li{font-size:11px;padding:7px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.booking-choice li>span{font-family:Manrope}.booking-choice p{font-size:9px;color:var(--muted);margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cuisine .menu-choice-note{font-size:11px;color:#c3cbbd;line-height:1.9;margin-top:20px;max-width:370px}#menu-results[data-view=list] .dish-grid{display:flex;flex-direction:column;gap:0}#menu-results[data-view=list] .dish-card{border:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none;display:block}#menu-results[data-view=list] .dish-card.is-selected{background:#e8ecdf}#menu-results[data-view=list] .dish-card-content{display:grid;grid-template-columns:1fr auto;gap:0 20px;padding:12px}#menu-results[data-view=list] .dish-card-top{grid-row:1;grid-column:1/3;min-height:20px}#menu-results[data-view=list] .dish-card h4{grid-column:1;grid-row:2;margin:3px 0;font-size:18px}#menu-results[data-view=list] .dish-card-bottom{grid-column:2;grid-row:2;gap:20px;align-self:center}#menu-results[data-view=list] .dish-card p{grid-column:1;grid-row:3}#menu-results[data-view=list] .dish-image{display:none}
@media(max-width:950px){.menu-explorer{padding:28px}.menu-explorer-body{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.dish-grid{grid-template-columns:1fr}.selection-panel{padding:20px 16px}.selection-heading h3{font-size:20px}.menu-intro-row h2{font-size:31px}}
@media(max-width:680px){.menu-explorer{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:23px 18px}.menu-intro-row{display:block}.menu-intro-row h2{font-size:28px}.selection-shortcut{font-size:10px;margin-top:15px}.menu-explorer .menu-tools{margin-top:19px}.menu-explorer .filter-tabs{gap:6px}.menu-explorer .filter-tabs button{font-size:9px;padding:8px 11px;min-height:40px}.menu-search-row{grid-template-columns:1fr;gap:0}.ingredient-select{margin-top:13px}.menu-explorer .search-wrap{margin-top:12px}.menu-view-row{margin-top:18px;gap:8px;font-size:9px;align-items:center}.view-buttons{gap:4px}.view-buttons button{font-size:8px;padding:7px;min-height:38px}.view-buttons #saved-filter{margin-right:4px}.menu-allergen-note,.menu-price-pending{font-size:9px}.menu-explorer-body{display:block}.dish-grid{grid-template-columns:1fr 1fr;gap:9px}.dish-card-content{padding:12px}.dish-card h4{font-size:17px;line-height:1.6;margin:8px 0 17px;overflow-wrap:anywhere}.dish-ingredient{font-size:8px}.dish-card-bottom{align-items:flex-start;flex-direction:column;gap:9px}.dish-price{font-size:13px}.quantity-control{width:100%;justify-content:space-between}.quantity-control button{min-height:38px;width:36px}.save-dish{font-size:23px;min-height:36px}.selection-panel{position:static;margin-top:28px;padding:20px}.selection-heading h3{font-size:25px}.selection-empty{font-size:12px}.selected-dish strong{font-size:15px}.selected-dish .quantity-control{width:auto}.selected-dish .quantity-control button{min-width:34px;min-height:40px}.selection-panel>.button{font-size:11px}.selection-hint{font-size:10px}.selection-totals>span{font-size:10px}.selection-totals>strong{font-size:24px}.choice-launch{right:15px;bottom:15px;font-size:10px;padding:14px 18px;min-height:46px}.booking-choice{padding:13px}.booking-choice-top{gap:12px}.booking-choice-top>strong{font-size:18px}.booking-choice .text-link{font-size:8px}.booking-choice p{font-size:9px}#menu-results[data-view=list] .dish-card-content{gap:0 12px;padding:10px}#menu-results[data-view=list] .dish-card h4{font-size:16px}#menu-results[data-view=list] .dish-card-bottom{gap:8px}#menu-results[data-view=list] .quantity-control{width:95px}#menu-results[data-view=list] .quantity-control button{width:30px}}
/* Catalog controls and keyboard focus. */
.menu-refine-row,.menu-secondary-filters{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:15px}.menu-refine-row>label,.menu-secondary-filters>label,.menu-refine-select{display:flex;flex:1;flex-direction:column;gap:6px;min-width:145px}.menu-refine-row label>span,.menu-secondary-filters label>span{font-size:10px;color:var(--muted)}#menu-budget,#menu-sort{width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);padding:9px 12px;font:12px var(--sans)}#print-menu{min-height:44px;flex-shrink:0;font-size:11px;padding:10px 16px;border:1px solid var(--line)}.menu-explorer :is(button,input,select,a):focus-visible{outline:2px solid var(--forest);outline-offset:3px}.menu-explorer .search-wrap:focus-within{border-bottom-color:var(--forest);box-shadow:0 1px 0 var(--forest)}#selection-heading:focus{outline:2px solid var(--forest);outline-offset:5px}.dish-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.dish-category{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--gold)}.dish-price-request{font-size:10px;color:var(--muted);max-width:140px}.dish-confirm-note,.selected-dish .selection-confirm{color:#765d39;font-size:10px;line-height:1.65}.selected-dish>div:first-child{min-width:0}.selected-dish strong,.booking-choice li>span:first-child{overflow-wrap:anywhere}.booking-selection-subtotal{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:15px;padding-top:12px;border-top:1px solid var(--line);font-size:11px}.booking-selection-subtotal>strong{font:17px var(--serif)}.booking-choice li>span:first-child{font-family:var(--sans)}.booking-choice li small{display:block;margin-top:3px;color:var(--muted);font-size:9px}#menu-results[data-view=list] .dish-description{grid-row:3}#menu-results[data-view=list] .dish-portion{grid-row:4}#menu-results[data-view=list] .dish-allergens{grid-row:5}#menu-results[data-view=list] .dish-confirm-note{grid-row:6}.menu-view-row{flex-wrap:wrap}.view-buttons{flex-wrap:wrap}.menu-printout{display:none}
@media(max-width:680px){.menu-refine-row,.menu-secondary-filters{gap:12px}.menu-refine-row>label,.menu-secondary-filters>label,.menu-refine-select{min-width:125px}#menu-budget,#menu-sort{font-size:11px;padding:8px}.menu-view-row{align-items:flex-start}.dish-price-request{font-size:10px}.dish-meta{gap:3px}.dish-category{font-size:8px}.booking-selection-subtotal{font-size:10px}.booking-selection-subtotal>strong{font-size:16px}#print-menu{font-size:10px}.menu-explorer .filter-tabs button{overflow-wrap:anywhere;max-width:100%}}
@media(max-width:380px){.dish-grid{grid-template-columns:1fr}.menu-intro-row h2{font-size:25px}#menu-results[data-view=list] .dish-card-content{grid-template-columns:minmax(0,1fr)}#menu-results[data-view=list] .dish-card-top{grid-column:1}#menu-results[data-view=list] .dish-card h4{grid-row:2}#menu-results[data-view=list] .dish-card-bottom{grid-column:1;grid-row:7;flex-direction:row;justify-content:space-between;margin-top:10px}#menu-results[data-view=list] .quantity-control{width:auto}.menu-refine-row>label,.menu-secondary-filters>label{min-width:100%;width:100%}}
@media print{
 @page{margin:16mm 14mm}
 body.printing-menu{overflow:visible!important;background:white!important;color:#111!important;font-size:10pt}
 body.printing-menu>*{display:none!important}
 body.printing-menu>.menu-printout{display:block!important;position:static!important;max-height:none!important;width:auto!important;overflow:visible!important;color:#111!important;background:white!important}
 body.printing-menu dialog::backdrop{display:none!important}
 .print-menu-header{border-bottom:1pt solid #777;margin-bottom:14pt;padding-bottom:10pt}
 .print-menu-header h1{font:22pt/1.4 var(--serif);margin:0 0 7pt}
 .print-menu-header p{font:8.5pt/1.55 var(--sans);margin:4pt 0;color:#333}
 .print-menu-sections{columns:2;column-gap:22pt}
 .print-menu-course{margin:0 0 15pt}
 .print-menu-course h2{font:13pt/1.45 var(--serif);margin:0 0 7pt;border-bottom:1pt solid #aaa;padding-bottom:5pt;break-after:avoid;page-break-after:avoid}
 .print-menu-item{display:flex;justify-content:space-between;align-items:baseline;gap:12pt;padding:6pt 0;border-bottom:.4pt solid #ddd;break-inside:avoid;page-break-inside:avoid;font:8.5pt/1.5 var(--sans)}
 .print-menu-item>div{min-width:0;overflow-wrap:anywhere}.print-menu-item strong{font-weight:500}.print-menu-item small{display:block;font-size:8pt;color:#555}.print-menu-item>span{white-space:nowrap;flex-shrink:0;font-size:8.5pt}
}
.dish-image-caption{display:block;font:9px/1.7 var(--sans);color:var(--muted);padding:8px 16px 0}.menu-wine-intro{font:11px/1.85 var(--sans);color:var(--muted);margin:0 0 18px;max-width:700px}#menu-results[data-view=list] .dish-image-caption{display:none}@media(max-width:680px){.dish-image-caption{font-size:8px;padding:7px 12px 0}.menu-wine-intro{font-size:10px}}
@media print{.print-menu-note{font:8pt/1.5 var(--sans);color:#444;margin:0 0 7pt}}
#menu-section{width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);padding:9px 12px;font:12px var(--sans)}.menu-section-wrap{display:flex;flex:1;flex-direction:column;gap:6px;min-width:145px}@media(max-width:680px){#menu-section{font-size:11px;padding:8px}.menu-section-wrap{min-width:125px}}
/* Wine navigation and bottle identities use the same records as the enquiry. */
#wine-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 0}
#wine-navigation{order:-1;min-width:0}
#wine-navigation .menu-section-wrap{min-width:0;height:100%}
#wine-filters label>span,#wine-navigation .menu-section-wrap>span{font:11px/1.5 var(--sans);color:var(--muted)}
#wine-filters :is(select,#menu-section){min-height:48px;font:13px var(--sans)}
#menu-results[data-section=wine] .wine-country-block{grid-column:1/-1;min-width:0;margin:22px 0 0}
#menu-results[data-section=wine] .wine-country-block:first-child{margin-top:0}
#menu-results[data-section=wine] .wine-country-heading{font:400 24px/1.5 var(--serif);margin:5px 0 10px;color:var(--ink)}
#menu-results[data-section=wine] .wine-region-heading{font:500 11px/1.7 var(--sans);letter-spacing:.04em;color:var(--gold);margin:15px 0 5px}
#menu-results[data-section=wine] .wine-country-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#menu-results[data-section=wine][data-view=list] .wine-country-items{display:block}
#menu-results[data-section=wine][data-view] .wine-card .dish-card-content{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto;gap:3px 18px;padding:20px 9px}
#menu-results[data-section=wine][data-view] .wine-card .dish-card-top{grid-column:2;grid-row:1;align-self:start;min-height:44px}
#menu-results[data-section=wine][data-view] .wine-card .wine-producer{grid-column:1;grid-row:2;min-width:0;font:500 11px/1.7 var(--sans);letter-spacing:.06em;margin:0;text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere}
#menu-results[data-section=wine][data-view] .wine-card .wine-producer-pending{font-size:10px;letter-spacing:0;text-transform:none;color:var(--muted)}
#menu-results[data-section=wine][data-view] .wine-card h4{grid-column:1;grid-row:1;min-width:0;font:400 23px/1.55 var(--serif);margin:0 0 5px;overflow-wrap:anywhere}
#menu-results[data-section=wine][data-view] .wine-card .wine-details{grid-column:1;grid-row:3;min-width:0}
#menu-results[data-section=wine][data-view] .wine-card .wine-details p{font:11px/1.75 var(--sans);color:var(--muted);margin:0}
#menu-results[data-section=wine][data-view] .wine-card .wine-record-reference{display:block;font:10px/1.6 var(--sans);color:var(--muted);margin-top:5px}
#menu-results[data-section=wine][data-view] .wine-card .dish-card-bottom{grid-column:2;grid-row:3/6;align-self:end;justify-self:end;margin:0}
#menu-results[data-section=wine][data-view] .wine-card .wine-unavailable{grid-column:1;grid-row:4;font:11px/1.7 var(--sans);margin:6px 0 0;color:#765d39}
#menu-results[data-section=wine][data-view] .wine-card .dish-description{grid-column:1;grid-row:5;margin:6px 0 0}
#menu-results[data-section=wine] .wine-bottle-image{object-fit:contain;max-height:260px;background:#eeeee5}
@media(max-width:680px){
 #wine-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #wine-navigation{grid-column:1/-1}
 #wine-filters label:last-of-type{grid-column:auto}
 #wine-filters :is(select,#menu-section){font-size:16px;min-height:48px}
 #wine-filters label>span,#wine-navigation .menu-section-wrap>span{font-size:12px}
 #menu-results[data-section=wine] .wine-country-items{grid-template-columns:1fr}
 #menu-results[data-section=wine][data-view] .wine-card .dish-card-content{grid-template-columns:minmax(0,1fr) 44px;gap:3px 8px;padding:18px 2px}
 #menu-results[data-section=wine][data-view] .wine-card h4{font-size:21px;line-height:1.55}
 #menu-results[data-section=wine][data-view] .wine-card .wine-producer{grid-column:1/-1;font-size:11px}
 #menu-results[data-section=wine][data-view] .wine-card .wine-details{grid-column:1/-1}
 #menu-results[data-section=wine][data-view] .wine-card .wine-details p{font-size:12px}
 #menu-results[data-section=wine][data-view] .wine-card .dish-card-bottom{grid-column:1/-1;grid-row:6;margin-top:10px}
 #menu-results[data-section=wine][data-view] .wine-card .wine-unavailable,#menu-results[data-section=wine][data-view] .wine-card .dish-description{grid-column:1/-1;font-size:12px}
 #menu-results[data-section=wine] .wine-country-heading{font-size:23px}
}
@media(max-width:380px){#wine-filters{grid-template-columns:1fr}#wine-navigation{grid-column:1}#wine-filters label:last-of-type{grid-column:1}}
/* Keep long menus navigable without changing the current selection or filters. */
.menu-scroll-tools{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:46;display:flex;width:max-content;max-width:calc(100vw - 32px);gap:0;padding:3px;background:var(--paper);border:1px solid var(--line);box-shadow:0 5px 24px #20382c24;border-radius:3px}
.menu-scroll-tools[hidden]{display:none!important}
.menu-scroll-tools button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 15px;font:500 12px/1.4 var(--sans);color:var(--forest);white-space:nowrap}
.menu-scroll-tools button+button{border-left:1px solid var(--line)}
.menu-scroll-tools button:hover{background:#e8eddf}
.menu-scroll-tools button:focus-visible{outline-offset:-3px}
.menu-explorer :is(#menu-title,#wine-filters,#menu-course-heading){scroll-margin-top:18px}
.menu-page .menu-explorer :is(#menu-title,#wine-filters,#menu-course-heading){scroll-margin-top:calc(var(--site-header-height,104px) + 18px)}
.menu-scroll-tools:not([hidden])~.menu-bottom{padding-bottom:76px}
@media(max-width:1000px){
 .menu-page .menu-scroll-tools{bottom:calc(var(--mobile-nav-height,66px) + 12px)}
 .menu-page .menu-scroll-tools--selection{bottom:calc(var(--mobile-nav-height,66px) + 80px)}
 .menu-page .menu-scroll-tools--selection:not([hidden])~.menu-bottom{padding-bottom:144px}
}
@media(max-width:680px){.menu-scroll-tools{bottom:16px}.menu-scroll-tools button{font-size:12px;padding:9px 13px}}
@media print{.menu-scroll-tools{display:none!important}.menu-scroll-tools:not([hidden])~.menu-bottom{padding-bottom:0}}
@media print{.print-wine-section>h3{font:11pt/1.5 var(--serif);margin:12pt 0 5pt;break-after:avoid}.print-wine-country>h4{font:9.5pt/1.5 var(--sans);margin:8pt 0 3pt;break-after:avoid}.print-wine-country>h5{font:8.5pt/1.5 var(--sans);margin:6pt 0 2pt;color:#555;break-after:avoid}}
