/* Printed menu: white paper, dark ink, rust logo. Sizes scale with --bam-scale so long menus fit one page. */

:root {
	--bam-scale: 1;
	--ink: #2a2623;
	--muted: #6a6259;
	--rule: #d9d1c6;
	--rust: #9c5a48;
	--serif: "Baskervville", "Libre Baskerville", Baskerville, Georgia, serif;
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	background: #e9e5df;
	color: var(--ink);
	font-family: var(--serif);
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

/* ---- Sheet ---- */

.bam-size-a4 { --w: 210mm; --h: 297mm; --pad-y: 20mm; --pad-x: 24mm; --base: 11.5pt; }
.bam-size-a5 { --w: 148mm; --h: 210mm; --pad-y: 13mm; --pad-x: 15mm; --base: 9.5pt; }

.bam-sheet {
	width: var(--w);
	height: var(--h);
	margin: 72px auto 40px;
	background: #fff;
	box-shadow: 0 2px 18px rgba(0, 0, 0, .12);
	overflow: hidden;
}

.bam-sheet-inner {
	height: 100%;
	padding: var(--pad-y) var(--pad-x);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	font-size: calc(var(--base) * var(--bam-scale));
	line-height: 1.45;
}

/* ---- Toolbar (screen only) ---- */

.bam-toolbar {
	position: fixed;
	inset: 0 0 auto 0;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 20px;
	background: #2a2623;
	color: #efe8de;
	font: 14px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	z-index: 10;
}
.bam-toolbar span:first-child { flex: 1; }
.bam-toolbar-fit { color: #d9a189; }
.bam-toolbar button {
	font: inherit;
	padding: 8px 18px;
	border: 0;
	background: #efe8de;
	color: #2a2623;
	cursor: pointer;
}

/* ---- Logo ---- */

.bam-print-brand {
	text-align: center;
	margin-bottom: 1.6em;
}
.bam-print-logo { display: block; margin: 0 auto; width: 12em; max-width: 62%; height: auto; }
.bam-print-logo-mask {
	-webkit-mask: var(--bam-logo) center / contain no-repeat;
	mask: var(--bam-logo) center / contain no-repeat;
	background: var(--rust);
}
.bam-print-logo-mask.bam-tint-ink { background: var(--ink); }
.bam-print-wordmark {
	margin: 0;
	font-size: 1.9em;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink);
	line-height: 1.1;
}
.bam-print-wordmark span { display: block; font-size: .5em; letter-spacing: .12em; }

/* ---- Menu body ---- */

.bam-menu-print { flex: 1; display: flex; flex-direction: column; }

.bam-head { text-align: center; margin-bottom: 1.8em; }
/* Short menus sit in the middle of the page; long ones fill it. */
.bam-menu-print > .bam-head { margin-top: auto; }
.bam-title {
	margin: 0;
	font-weight: 400;
	font-size: 1.35em;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.bam-subtitle { margin: .5em 0 0; font-style: italic; color: var(--muted); }
.bam-prices { margin: .6em 0 0; }
.bam-prices span { display: block; }
.bam-prices-pairing { font-style: italic; color: var(--muted); }

.bam-section { margin: 0 0 1.4em; break-inside: avoid; }
.bam-section-title { margin: 0 0 .35em; font-size: 1em; font-weight: 600; }
.bam-section-note { margin: -.15em 0 .4em; font-style: italic; color: var(--muted); font-size: .92em; }

.bam-items { list-style: none; margin: 0; padding: 0; }
.bam-item { margin: 0 0 .32em; }
.bam-item-line { display: flex; align-items: baseline; gap: 1.2em; }
.bam-item-text { flex: 1; }
.bam-item-desc:not(.bam-item-desc-only)::before { content: " | "; }
.bam-tags { margin-left: .4em; font-size: .78em; letter-spacing: .06em; color: var(--muted); }
.bam-item-price { white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.bam-item-pairing { margin: .1em 0 0; font-style: italic; color: var(--muted); font-size: .92em; }

.bam-foot { margin-top: auto; padding-top: 1.2em; text-align: center; font-style: italic; font-size: .82em; color: var(--muted); }
.bam-key { margin: 0 0 .6em; font-style: normal; letter-spacing: .04em; white-space: pre-wrap; }
.bam-notes p { margin: 0 0 .15em; }

/* Tasting menus (wine pairings) read better centred, course by course. */
.bam-menu-print.bam-has-pairings .bam-section { text-align: center; }
.bam-menu-print.bam-has-pairings .bam-item-line { justify-content: center; }
.bam-menu-print.bam-has-pairings .bam-item-text { flex: 0 1 auto; }
.bam-menu-print.bam-has-pairings .bam-item { margin-bottom: .85em; }

@media print {
	html, body { background: #fff; }
	.bam-toolbar { display: none; }
	.bam-sheet { margin: 0; box-shadow: none; }
}

@media screen and (max-width: 820px) {
	.bam-sheet { transform-origin: top center; transform: scale(.45); margin-bottom: -40%; }
}
