/* Menu card: categories, dishes with dotted price leaders, dietary icons. */
.lmn-menu { scroll-margin-top: calc(var(--lmn-header-h) + 4rem); padding-block: 1rem; }
.lmn-menu + .lmn-menu { margin-top: var(--lmn-gap); border-top: 3px solid var(--lmn-yellow); padding-top: var(--lmn-gap); }
.lmn-menu__header { margin-bottom: var(--lmn-gap); }
.lmn-menu__title { color: var(--lmn-coral); margin-bottom: 0.2em; }
.lmn-menu__times { display: inline-flex; align-items: center; gap: 0.4em; font-family: var(--lmn-font-caps); font-size: 1.05rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lmn-black); background: var(--lmn-yellow); padding: 0.3em 0.9em; border-radius: var(--lmn-radius-pill); margin: 0 0 0.75rem; }
.lmn-menu__price-pp { font-family: var(--lmn-font-display); font-size: 1.75rem; color: var(--lmn-black); margin: 0.25rem 0 0.5rem; }
.lmn-menu__price-pp-suffix { font-family: var(--lmn-font-text); font-size: 1rem; font-weight: 700; }
.lmn-menu__intro { max-width: 46rem; color: var(--lmn-text); }
.lmn-menu__group + .lmn-menu__group { margin-top: clamp(1.5rem, 4vw, 2.5rem); }
.lmn-menu__category {
	font-family: var(--lmn-font-caps); font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); letter-spacing: 0.1em; text-transform: uppercase; color: var(--lmn-coral-deep);
	margin: 0 0 0.25rem; padding-bottom: 0.25rem; border-bottom: 2px solid var(--lmn-pink);
}
.lmn-menu__category-note { font-style: italic; color: var(--lmn-text-muted); margin: 0.25rem 0 1rem; }
.lmn-menu__items { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem 2.5rem; }
.lmn-menu__item { display: flex; gap: 1rem; padding: 0.25rem 0; break-inside: avoid; }
.lmn-menu__item-image { margin: 0; flex: none; width: 5.5rem; height: 5.5rem; border-radius: var(--lmn-radius-sm); overflow: hidden; background: var(--lmn-cream-deep); }
.lmn-menu__item-image img { width: 100%; height: 100%; object-fit: cover; }
.lmn-menu__item-body { flex: 1; min-width: 0; }
.lmn-menu__item-head { display: flex; align-items: baseline; gap: 0.5rem; }
.lmn-menu__item-title { font-family: var(--lmn-font-text); font-size: 1.0625rem; font-weight: 700; margin: 0; line-height: 1.3; }
.lmn-menu__dots { flex: 1; min-width: 1.5rem; border-bottom: 2px dotted rgba(22, 22, 22, 0.3); transform: translateY(-0.35em); }
.lmn-menu__item-price { font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lmn-menu__item-price-note { font-size: 0.8em; color: var(--lmn-text-muted); font-weight: 400; }
.lmn-menu__item-desc { margin: 0.15rem 0 0; color: var(--lmn-text-muted); font-size: 0.95rem; line-height: 1.45; }
.lmn-menu__item.is-favorite .lmn-menu__item-title::after { content: "★"; color: var(--lmn-coral); font-size: 0.75em; margin-left: 0.4em; vertical-align: 0.1em; }
.lmn-menu__footnote { margin-top: var(--lmn-gap); padding-top: 1rem; border-top: 1px solid var(--lmn-cream-deep); font-size: 0.9rem; color: var(--lmn-text-muted); }
.lmn-menu__empty { color: var(--lmn-text-muted); font-style: italic; }
@media (min-width: 760px) { .lmn-menu--columns .lmn-menu__items { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .lmn-menu--columns .lmn-menu__items { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Tabs variant */
.lmn-menu-tabs__list { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: var(--lmn-gap); border-bottom: 3px solid var(--lmn-pink); padding-bottom: 0.75rem; }
.lmn-menu-tabs__tab {
	font: inherit; font-weight: 700; padding: 0.6em 1.25em; border: 2px solid var(--lmn-black); background: transparent; color: var(--lmn-black); border-radius: var(--lmn-radius-pill); cursor: pointer;
}
.lmn-menu-tabs__tab[aria-selected="true"] { background: var(--lmn-black); color: var(--lmn-yellow); }
.lmn-menu-tabs__panel .lmn-menu { padding-top: 0; }
.lmn-menu-tabs__panel .lmn-menu__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Colour per card (term setting "Kleur"): header band with a wavy bottom edge, like the printed menus. */
.lmn-menu { --lmn-menu-accent: var(--lmn-yellow); --lmn-menu-accent-text: var(--lmn-black); --lmn-menu-heading: var(--lmn-coral-deep); }
.lmn-menu--color-pink { --lmn-menu-accent: var(--lmn-pink); --lmn-menu-heading: var(--lmn-coral-deep); }
.lmn-menu--color-peach { --lmn-menu-accent: var(--lmn-peach); --lmn-menu-heading: var(--lmn-purple-deep); }
.lmn-menu--color-purple { --lmn-menu-accent: var(--lmn-purple); --lmn-menu-accent-text: var(--lmn-white); --lmn-menu-heading: var(--lmn-purple-deep); }
.lmn-menu--color-coral { --lmn-menu-accent: var(--lmn-coral); --lmn-menu-accent-text: var(--lmn-white); --lmn-menu-heading: var(--lmn-coral-deep); }
.lmn-menu__header {
	background: var(--lmn-menu-accent); color: var(--lmn-menu-accent-text);
	padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem) clamp(2rem, 4vw, 3rem);
	border-radius: var(--lmn-radius) var(--lmn-radius) 0 0;
	-webkit-mask: linear-gradient(#000, #000) top / 100% calc(100% - 18px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'%3E%3Cpath d='M0 0h120v6c-15 0-15 12-30 12S75 6 60 6 45 18 30 18 15 6 0 6z'/%3E%3C/svg%3E") bottom / 120px 18px repeat-x;
	mask: linear-gradient(#000, #000) top / 100% calc(100% - 18px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'%3E%3Cpath d='M0 0h120v6c-15 0-15 12-30 12S75 6 60 6 45 18 30 18 15 6 0 6z'/%3E%3C/svg%3E") bottom / 120px 18px repeat-x;
}
.lmn-menu__title { color: inherit; }
.lmn-menu__times { background: rgba(255, 255, 255, 0.85); color: var(--lmn-black); }
.lmn-menu--color-purple .lmn-menu__times, .lmn-menu--color-coral .lmn-menu__times { background: rgba(22, 22, 22, 0.25); color: var(--lmn-white); }
.lmn-menu__price-pp { color: inherit; }
.lmn-menu__intro { color: inherit; }
.lmn-menu__category { color: var(--lmn-menu-heading); border-bottom-color: var(--lmn-menu-accent); }
.lmn-menu__item.is-favorite .lmn-menu__item-title::after { color: var(--lmn-menu-heading); }
.lmn-menu-tabs__tab[aria-selected="true"] { background: var(--lmn-black); color: var(--lmn-yellow); }
