/* Luntsi front-end. Inherits the theme's fonts and text colour; tune with the custom properties below. */
.luntsi {
	--luntsi-accent: #b0182c;
	--luntsi-muted: color-mix(in srgb, currentColor 68%, transparent);
	--luntsi-line: color-mix(in srgb, currentColor 16%, transparent);
	--luntsi-card: transparent;
	--luntsi-radius: 10px;
	--luntsi-gap: 18px;
}
.luntsi [hidden] { display: none !important; }
.luntsi .luntsi-eyebrow {
	margin: 0 0 .6em;
	font-size: .8em;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--luntsi-accent);
}
.luntsi .luntsi-items { list-style: none; margin: 0; padding: 0; }
.luntsi .luntsi-item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	padding: .5em 0;
	border-bottom: 1px solid var(--luntsi-line);
	line-height: 1.4;
}
.luntsi .luntsi-item:last-child { border-bottom: 0; }
.luntsi .luntsi-dish { font-weight: 600; }
.luntsi .luntsi-diets { display: inline-flex; gap: 4px; }
.luntsi .luntsi-diets abbr {
	text-decoration: none;
	font-size: .72em;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 1px 6px;
	border: 1px solid var(--luntsi-line);
	border-radius: 4px;
	color: var(--luntsi-muted);
	cursor: help;
}
.luntsi p { margin: 0 0 .5em; }
.luntsi .luntsi-prices { margin-top: .9em; font-weight: 700; }
.luntsi .luntsi-origins, .luntsi .luntsi-hours, .luntsi .luntsi-empty, .luntsi .luntsi-note { color: var(--luntsi-muted); }
.luntsi .luntsi-soon, .luntsi .luntsi-closed, .luntsi .luntsi-off { font-weight: 700; }
.luntsi .luntsi-more a { color: var(--luntsi-accent); font-weight: 700; }
.luntsi .luntsi-next { margin-top: 1em; padding-top: .8em; border-top: 1px solid var(--luntsi-line); }
.luntsi .luntsi-next-h { font-weight: 700; }

.luntsi-week .luntsi-week-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 0 0 var(--luntsi-gap); }
.luntsi-week .luntsi-week-head .luntsi-eyebrow { margin: 0; }
.luntsi-week .luntsi-range { margin: 0; font-size: 1.25em; font-weight: 700; }
.luntsi-week .luntsi-days {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: var(--luntsi-gap);
}
.luntsi-week .luntsi-day {
	padding: 18px 20px;
	background: var(--luntsi-card);
	border: 1px solid var(--luntsi-line);
	border-radius: var(--luntsi-radius);
}
.luntsi-week .luntsi-day.is-today { border: 2px solid var(--luntsi-accent); }
.luntsi-week .luntsi-day-h { margin: 0 0 .4em; font-size: 1.2em; line-height: 1.25; }
.luntsi-week .luntsi-date { font-weight: 400; color: var(--luntsi-muted); }
.luntsi-week .luntsi-badge {
	margin-left: 6px;
	padding: 3px 7px;
	font-size: .55em;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	vertical-align: .3em;
	color: var(--luntsi-accent-ink, #fff);
	background: var(--luntsi-accent);
	border-radius: 4px;
}
.luntsi-week .luntsi-info { margin-top: calc(var(--luntsi-gap) * 1.2); line-height: 1.6; }
.luntsi-week .luntsi-legend abbr { text-decoration: none; font-weight: 700; }
.luntsi .luntsi-group + .luntsi-group { margin-top: .7em; }
.luntsi .luntsi-line { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; margin: 0 0 .1em; padding-bottom: .2em; border-bottom: 1px solid var(--luntsi-line); font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--luntsi-muted); }
.luntsi .luntsi-line-price { letter-spacing: 0; text-transform: none; }
