/*
 * Lunchboard design "Bistro": a classic serif menu with centred headings and
 * dotted leaders, set in Libre Caslon Text.
 */

.lunchboard.is-style-bistro:not(.uses-theme-fonts) {
	--lb-font-display: "Libre Caslon Text", "Iowan Old Style", "Georgia", serif;
	--lb-font-text: "Libre Caslon Text", "Iowan Old Style", "Georgia", serif;
}

.lunchboard.is-style-bistro {
	--lb-gap: 1em;
	--lb-group-gap: 2.4em;
	max-width: 44em;
	margin-inline: auto;
	line-height: 1.45;
}

.lunchboard.is-style-bistro.is-compact {
	--lb-gap: 0.6em;
	--lb-group-gap: 1.6em;
}

/* Header: calendar week in small capitals, dates in italics */

.lunchboard.is-style-bistro .lunchboard-header {
	margin-bottom: 2em;
	text-align: center;
}

.lunchboard.is-style-bistro .lunchboard-header__meta {
	flex-direction: column;
	align-items: center;
	gap: 0.15em;
}

.lunchboard.is-style-bistro .lunchboard-header__week {
	color: var(--lb-accent);
	font-variant-caps: all-small-caps;
	letter-spacing: 0.14em;
}

.lunchboard.is-style-bistro .lunchboard-header__range {
	font-size: 1.15em;
	font-style: italic;
}

.lunchboard.is-style-bistro .lunchboard-header__note {
	font-style: italic;
}

/* Group titles between two fine rules */

.lunchboard.is-style-bistro .lunchboard-group__title {
	display: grid;
	grid-template-columns: minmax(1.5em, 1fr) auto minmax(1.5em, 1fr);
	align-items: center;
	column-gap: 0.8em;
	row-gap: 0.25em;
	margin-bottom: 1em;
	color: var(--lb-accent);
	font-size: 1.5em;
	font-style: italic;
	font-weight: 400;
	text-align: center;
}

.lunchboard.is-style-bistro .lunchboard-group__title::before,
.lunchboard.is-style-bistro .lunchboard-group__title::after {
	content: "";
	grid-row: 1;
	border-top: 1px solid currentcolor;
	opacity: 0.35;
}

.lunchboard.is-style-bistro .lunchboard-group__title::before {
	grid-column: 1;
}

.lunchboard.is-style-bistro .lunchboard-group__title::after {
	grid-column: 3;
}

.lunchboard.is-style-bistro .lunchboard-group__name {
	grid-column: 2;
	grid-row: 1;
}

.lunchboard.is-style-bistro .lunchboard-group__date,
.lunchboard.is-style-bistro .lunchboard-group__today {
	grid-column: 2;
	font-size: 0.58em;
	font-style: normal;
	font-variant-caps: all-small-caps;
	letter-spacing: 0.14em;
}

.lunchboard.is-style-bistro .lunchboard-group__date {
	color: var(--lb-muted);
}

.lunchboard.is-style-bistro .lunchboard-group.is-sub .lunchboard-group__title {
	font-size: 1.2em;
}

.lunchboard.is-style-bistro .lunchboard-group__note {
	text-align: center;
}

/* Dishes */

.lunchboard.is-style-bistro .lunchboard-dish__name {
	font-size: 1.06em;
	font-weight: 400;
}

.lunchboard.is-style-bistro .lunchboard-dish__leader {
	height: 0.5em;
	border: 0;
	background-image: radial-gradient(circle, currentcolor 0.055em, transparent 0.07em);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 0.42em 0.42em;
	opacity: 0.55;
	transform: translateY(-0.12em);
}

.lunchboard.is-style-bistro .lunchboard-dish__price {
	font-variant-numeric: oldstyle-nums tabular-nums;
	font-weight: 400;
}

.lunchboard.is-style-bistro .lunchboard-dish__desc {
	font-style: italic;
}

.lunchboard.is-style-bistro .lunchboard-badge {
	font-style: italic;
	font-weight: 400;
}

.lunchboard.is-style-bistro .lunchboard-group.is-past :is(.lunchboard-group__name, .lunchboard-group__date, .lunchboard-dish__title, .lunchboard-dish__price) {
	color: var(--lb-muted);
}

.lunchboard.is-style-bistro .lunchboard-legend {
	margin-top: 2.4em;
}

.lunchboard.is-style-bistro .lunchboard-legend__title {
	font-variant-caps: all-small-caps;
	font-weight: 400;
	letter-spacing: 0.12em;
}

.lunchboard.is-style-bistro .lunchboard-legend__notice {
	text-align: center;
}
