/* Jozef Eten & Drinken — menukaart (huisstijl: thema Yoga, Jozef-redesign 2026-06) */
.jozef-menukaart {
	--jm-brown: var(--jozef-brown, #613213);
	--jm-gold: var(--jozef-gold, #9a7e1e);
	--jm-ink: var(--jozef-ink, #201915);
	--jm-muted: var(--jozef-muted, #665f58);
	--jm-line: var(--jozef-line, #ded5c8);
	--jm-paper: var(--jozef-paper, #ffffff);
	--jm-heading: var(--jozef-heading, Dosis, Arial, sans-serif);
	--jm-body: var(--jozef-body, avenir_plf, "Open Sans", Arial, sans-serif);
	color: var(--jm-ink);
	font-family: var(--jm-body);
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	margin: 0 auto;
	max-width: 100%;
}
.jozef-menukaart *,
.jozef-menukaart *::before,
.jozef-menukaart *::after { box-sizing: border-box; }

/* Navigatie Lunch · Diner · Dessert */
.jozef-menukaart .jm-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 28px;
}
.jozef-menukaart .jm-nav a {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid var(--jm-brown);
	border-radius: 999px;
	color: var(--jm-brown);
	font-family: var(--jm-heading);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.jozef-menukaart .jm-nav a:hover,
.jozef-menukaart .jm-nav a:focus-visible {
	background: var(--jm-brown);
	color: #fff;
}

/* Kaart */
.jozef-menukaart .jm-kaart {
	background: var(--jm-paper);
	border-radius: var(--jozef-radius, 8px);
	box-shadow: var(--jozef-shadow, 0 18px 45px rgba(58, 36, 18, .1));
	padding: 32px 28px 28px;
	margin: 0 0 36px;
	scroll-margin-top: 90px;
}
.jozef-menukaart .jm-kaart-titel {
	margin: 0 0 22px !important;
	font-family: var(--jm-heading) !important;
	font-size: 36px !important;
	font-weight: 400 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase;
	color: var(--jm-ink) !important;
	line-height: 1.1 !important;
	text-align: left;
}

.jozef-menukaart .jm-kaart-sub {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: -12px 0 22px !important;
	font-family: var(--jm-heading);
	font-size: 18px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--jm-muted);
}
.jozef-menukaart .jm-kaart-prijs { color: var(--jm-ink); font-variant-numeric: tabular-nums; }
.jozef-menukaart .jm-voetnoot {
	margin: 18px 0 0 !important;
	font-size: 14px !important;
	font-style: italic;
	color: var(--jm-muted) !important;
	line-height: 1.4 !important;
}
.jozef-menukaart .jm-voetnoot + .jm-voetnoot { margin-top: 4px !important; }

/* Secties */
.jozef-menukaart .jm-sectie { margin: 0 0 26px; }
.jozef-menukaart .jm-sectie:last-child { margin-bottom: 0; }
.jozef-menukaart .jm-sectie-titel {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 10px !important;
	padding: 0 0 6px;
	border-bottom: 1px solid var(--jm-line);
	font-family: var(--jm-heading) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	letter-spacing: .22em !important;
	text-transform: uppercase;
	color: var(--jm-ink) !important;
	line-height: 1.3 !important;
}
.jozef-menukaart .jm-sectie-hint {
	font-family: var(--jm-body);
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--jm-muted);
}
.jozef-menukaart .jm-groep { margin: 0 0 12px; }
.jozef-menukaart .jm-groep:last-child { margin-bottom: 0; }
.jozef-menukaart .jm-groep-titel {
	margin: 10px 0 4px !important;
	font-family: var(--jm-heading) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase;
	color: var(--jm-muted) !important;
	line-height: 1.3 !important;
}
.jozef-menukaart .jm-noot {
	margin: 2px 0 6px !important;
	font-size: 14px !important;
	font-style: italic;
	color: var(--jm-muted) !important;
	line-height: 1.4 !important;
}

/* Gerechten */
.jozef-menukaart .jm-items {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.jozef-menukaart .jm-item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	margin: 0 !important;
	padding: 5px 0 !important;
	list-style: none !important;
	line-height: 1.45 !important;
}
.jozef-menukaart .jm-omschrijving { flex: 1 1 auto; min-width: 0; }
.jozef-menukaart .jm-naam { font-weight: 700; color: var(--jm-ink); }
.jozef-menukaart .jm-detail { color: #3a3330; }
.jozef-menukaart .jm-sep { color: #b9b1a6; padding: 0 .1em; }
.jozef-menukaart .jm-item-noot {
	font-size: 14px;
	font-style: italic;
	color: var(--jm-muted);
	white-space: nowrap;
}
.jozef-menukaart .jm-prijs {
	flex: 0 0 auto;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--jm-ink);
}

/* Wijn: naam + producent op regel 1, land en smaak op regel 2 */
.jozef-menukaart .jm-wijn .jm-producent { color: #3a3330; }
.jozef-menukaart .jm-wijn-detail {
	display: block;
	font-size: 14.5px;
	color: var(--jm-muted);
}

/* Kaartafbeeldingen */
.jozef-menukaart .jm-beelden {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin: 26px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid var(--jm-line);
}
.jozef-menukaart .jm-beeld {
	display: block;
	border: 1px solid var(--jm-line);
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	line-height: 0;
}
.jozef-menukaart .jm-beeld img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
}

@media (max-width: 600px) {
	.jozef-menukaart { font-size: 15px; }
	.jozef-menukaart .jm-kaart { padding: 22px 16px 18px; border-radius: 6px; }
	.jozef-menukaart .jm-kaart-titel { font-size: 30px !important; }
	.jozef-menukaart .jm-sectie-titel { flex-wrap: wrap; font-size: 15px !important; letter-spacing: .18em !important; }
	.jozef-menukaart .jm-item { gap: 10px; }
	.jozef-menukaart .jm-item-noot { white-space: normal; }
	.jozef-menukaart .jm-nav a { font-size: 15px; padding: 7px 14px; }
}
