/* MeatingUp theme styles. Tokens come from theme.json (--wp--preset--*, --wp--custom--*).
   Rules of the house: text is left-aligned, no gradients, no purple, rust text only via rust-ink
   below 24px (rust on cream is 3.82:1), never rust on forest (2.95:1). */

:root {
	--mu-forest: var(--wp--preset--color--forest);
	--mu-deep: var(--wp--preset--color--forest-deep);
	--mu-charcoal: var(--wp--preset--color--charcoal);
	--mu-cream: var(--wp--preset--color--cream);
	--mu-paper: var(--wp--preset--color--paper);
	--mu-white: var(--wp--preset--color--white);
	--mu-rust: var(--wp--preset--color--rust);
	--mu-rust-ink: var(--wp--preset--color--rust-ink);
	--mu-gold: var(--wp--preset--color--gold);
	--mu-muted: var(--wp--preset--color--muted);
	--mu-on-forest-muted: var(--wp--preset--color--on-forest-muted);
	--mu-line: var(--wp--preset--color--line);
	--mu-r-xs: var(--wp--custom--radius--xs);
	--mu-r-sm: var(--wp--custom--radius--sm);
	--mu-r-md: var(--wp--custom--radius--md);
	--mu-r-lg: var(--wp--custom--radius--lg);
	--mu-r-pill: var(--wp--custom--radius--pill);
	--mu-lift: var(--wp--preset--shadow--lift);
	--mu-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--mu-gap: clamp(1rem, 0.7rem + 1.2vw, 1.75rem);
	--mu-header-h: 5.25rem;
	--mu-actionbar-h: 0px;
	color-scheme: light;
}

/* ---------- Base ---------- */

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: calc(var(--mu-header-h) + 1rem); }
/* Header, main and footer sit flush: no root block gap between them. */
.wp-site-blocks > * { margin-block-start: 0; }
body {
	font-optical-sizing: auto;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	text-align: left;
	padding-bottom: var(--mu-actionbar-h);
}
h1, h2, h3, h4 { font-variation-settings: "SOFT" 30; text-wrap: balance; }
p, li { text-wrap: pretty; }
::selection { background: var(--mu-gold); color: var(--mu-charcoal); }
img { height: auto; max-width: 100%; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; transition: color 160ms var(--mu-ease), text-decoration-color 160ms var(--mu-ease); }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--mu-rust-ink); outline-offset: 3px; border-radius: 2px; }
.mu-band--forest :focus-visible, .mu-header :focus-visible, .mu-footer :focus-visible, .mu-actionbar :focus-visible { outline-color: var(--mu-gold); }
.skip-link:focus { background: var(--mu-gold); color: var(--mu-charcoal); }

.mu-icon {
	width: 1.25em;
	height: 1.25em;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
	vertical-align: -0.22em;
}

/* Small label above headings: rust ink with a short gold rule. */
.mu-eyebrow, .mu-eyebrow a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mu-rust-ink);
	text-decoration: none;
}
.mu-eyebrow::before { content: ""; width: 1.75rem; height: 2px; background: var(--mu-gold); flex: none; }
.mu-eyebrow a { margin: 0; padding-block: 0.3rem; }
.mu-eyebrow a::before { content: none; }
.mu-lede { font-size: var(--wp--preset--font-size--md); line-height: 1.5; color: var(--mu-muted); }

/* Left-anchored layout: content-width blocks start at the wide column's left edge instead of
   being centred in the window, so every section shares one left edge (owner's direction). */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}

/* ---------- Bands (landing sections) ---------- */

.mu-band { padding-block: var(--wp--preset--spacing--80); }
.mu-band--tight { padding-block: var(--wp--preset--spacing--70); }
.mu-band--paper { background: var(--mu-paper); }
.mu-band--white { background: var(--mu-white); }
.mu-band--forest { background: var(--mu-forest); color: var(--mu-cream); }
.mu-band--forest :where(h1, h2, h3, h4) { color: var(--mu-cream); }
.mu-band--forest .mu-lede, .mu-band--forest .mu-muted { color: var(--mu-on-forest-muted); }
.mu-band--forest .mu-eyebrow { color: var(--mu-gold); }
.mu-band--forest a:where(:not(.wp-element-button)) { color: var(--mu-gold); }
.mu-band--forest a:where(:not(.wp-element-button)):hover { color: var(--mu-cream); }
.mu-landing > .wp-block-post-content > .mu-band:first-child { margin-block-start: 0; }
.mu-landing > .wp-block-post-content > * + .mu-band { margin-block-start: 0; }

/* Section head: title left, optional link pushed right on wide screens (never centred). */
.mu-sectionhead { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 0.5rem 2rem; margin-bottom: var(--wp--preset--spacing--60); }
.mu-sectionhead > :first-child { max-width: 40rem; }
.mu-sectionhead h2 { margin: 0; }
.mu-sectionhead p { margin: 0.5rem 0 0; }

/* ---------- Header ---------- */

.mu-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--mu-deep);
	color: var(--mu-cream);
	border-bottom: 1px solid rgba(214, 174, 106, 0.28);
}
.admin-bar .mu-header { top: var(--wp-admin--admin-bar--height, 32px); }
.mu-header__inner { min-height: var(--mu-header-h); gap: 1.5rem; }
.mu-brand { gap: 0 !important; min-width: 0; }
/* Logo: horned M + wordmark (assets/branding). The tagline is live text under the wordmark, indented
   to line up with "Meating": the M takes 23% of the logo width. */
.mu-header { --mu-logo-h: 48px; }
.mu-brand__logo { margin: 0; line-height: 0; }
.mu-brand__logo img { display: block; width: auto; height: var(--mu-logo-h); max-width: none; }
.mu-brand__logo a { display: inline-block; border-radius: 4px; }
.mu-brand .mu-brand__tagline { margin: 0.45rem 0 0 calc(var(--mu-logo-h) * 6.508 * 0.23) !important; font-size: 0.6875rem; font-weight: 640; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.1; color: var(--mu-on-forest-muted); white-space: nowrap; }
.mu-header__nav { gap: 1.25rem; }
.mu-nav { font-size: var(--wp--preset--font-size--sm); font-weight: 520; }
.mu-nav .wp-block-navigation__container { gap: 0.25rem 1.4rem; }
.mu-nav .wp-block-navigation-item__content { color: var(--mu-cream); text-decoration: none; padding-block: 0.4rem; border-bottom: 2px solid transparent; transition: border-color 180ms var(--mu-ease), color 180ms var(--mu-ease); }
.mu-nav .wp-block-navigation-item__content:hover { border-bottom-color: var(--mu-gold); color: var(--mu-white); }
.mu-nav .current-menu-item > .wp-block-navigation-item__content,
.mu-nav [aria-current="page"] { border-bottom-color: var(--mu-gold); }
.mu-nav .wp-block-navigation__responsive-container-open { color: var(--mu-cream); width: 44px; height: 44px; justify-content: center; align-items: center; }
.mu-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.mu-header__cta .wp-block-button__link { padding: 0.7rem 1.1rem; white-space: nowrap; }

/* Phone/tablet menu overlay: forest, left-aligned, big tap targets. */
.mu-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--mu-deep) !important;
	color: var(--mu-cream) !important;
	padding: 1.25rem clamp(1rem, 4vw, 2.5rem) 2rem;
}
.mu-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 3.5rem; }
.mu-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 0 !important; width: 100%; }
.mu-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(201, 192, 173, 0.25); }
.mu-nav .is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: 0.95rem 0 !important; font-size: var(--wp--preset--font-size--lg); font-weight: 650; border: 0; }
.mu-nav .wp-block-navigation__responsive-container-close { color: var(--mu-cream); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }

/* Six links plus the CTA need ~1160px; below that the menu collapses (core's own breakpoint is 600px). */
@media (min-width: 1160px) {
	.mu-nav .wp-block-navigation__responsive-container-open { display: none !important; }
}
@media (max-width: 1159px) {
	.mu-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.mu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
}
@media (max-width: 599px) {
	.mu-header .mu-header__cta { display: none !important; }
	:root { --mu-header-h: 4.5rem; }
	.mu-header { --mu-logo-h: 36px; }
	.mu-brand .mu-brand__tagline { font-size: 0.625rem; letter-spacing: 0.1em; }
}

/* ---------- Phone action bar ---------- */

.mu-actionbar { display: none; }
@media (max-width: 899px) {
	:root { --mu-actionbar-h: calc(4rem + env(safe-area-inset-bottom, 0px)); }
	.mu-actionbar {
		position: fixed;
		inset: auto 0 0;
		z-index: 60;
		display: grid;
		grid-template-columns: 1fr 1.3fr 1fr;
		gap: 0.5rem;
		padding: 0.5rem clamp(0.5rem, 3vw, 1rem) calc(0.5rem + env(safe-area-inset-bottom, 0px));
		background: var(--mu-deep);
		border-top: 1px solid rgba(214, 174, 106, 0.35);
	}
	.mu-actionbar__link {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 0.45rem;
		min-height: 3rem;
		padding: 0 0.75rem;
		border-radius: var(--mu-r-sm);
		color: var(--mu-cream);
		font-size: var(--wp--preset--font-size--xs);
		font-weight: 620;
		line-height: 1.1;
		text-decoration: none;
	}
	.mu-actionbar__link--primary { background: var(--mu-rust); color: var(--mu-white); }
	.mu-actionbar__link .mu-icon { width: 1.2rem; height: 1.2rem; }
	.mu-actionbar__link[aria-current="page"]:not(.mu-actionbar__link--primary) { box-shadow: inset 0 -2px 0 var(--mu-gold); }
}
@media (max-width: 359px) {
	.mu-actionbar__link .mu-icon { display: none; }
}
/* The open menu covers the page; the action bar would duplicate it. */
body:has(.wp-block-navigation__responsive-container.is-menu-open) .mu-actionbar { display: none; }

/* ---------- Buttons ---------- */

.wp-element-button, .wp-block-button__link, .mu-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.875rem;
	text-decoration: none;
	transition: background-color 180ms var(--mu-ease), color 180ms var(--mu-ease), border-color 180ms var(--mu-ease), transform 180ms var(--mu-ease);
}
.wp-element-button:active, .mu-btn:active { transform: translateY(1px); }
.mu-btn {
	padding: 0.85rem 1.35rem;
	border: 0;
	border-radius: var(--mu-r-sm);
	background: var(--mu-rust);
	color: var(--mu-white);
	font: inherit;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 620;
	line-height: 1.2;
	cursor: pointer;
}
.mu-btn:hover, .mu-btn:focus-visible { background: var(--mu-rust-ink); color: var(--mu-white); }
.is-style-outline > .wp-block-button__link, .mu-btn--outline {
	background: transparent;
	color: var(--mu-forest);
	border: 2px solid var(--mu-forest);
	padding: calc(0.85rem - 2px) calc(1.35rem - 2px);
}
.is-style-outline > .wp-block-button__link:hover, .mu-btn--outline:hover { background: var(--mu-forest); color: var(--mu-cream); }
.mu-band--forest .is-style-outline > .wp-block-button__link, .mu-band--forest .mu-btn--outline { color: var(--mu-cream); border-color: var(--mu-cream); }
.mu-band--forest .is-style-outline > .wp-block-button__link:hover, .mu-band--forest .mu-btn--outline:hover { background: var(--mu-cream); color: var(--mu-forest); }
.mu-btn--quiet { background: transparent; color: var(--mu-rust-ink); padding-inline: 0; min-height: 2.75rem; text-decoration: underline; }
.mu-btn--quiet:hover { background: transparent; color: var(--mu-forest); }
.wp-block-buttons { gap: 0.75rem; justify-content: flex-start; }

/* ---------- Forms ---------- */

.mu-field { display: grid; gap: 0.4rem; margin: 0 0 1rem; }
.mu-field label, .mu-label, .mu-fieldset legend { font-size: var(--wp--preset--font-size--sm); font-weight: 620; color: var(--mu-forest); }
.mu-help { font-size: var(--wp--preset--font-size--xs); color: var(--mu-muted); margin: 0; }
.mu-band--forest .mu-help { color: var(--mu-on-forest-muted); }
.mu-band--forest .mu-field label, .mu-band--forest .mu-label, .mu-band--forest .mu-fieldset legend { color: var(--mu-cream); }
input[type="text"], input[type="email"], input[type="search"], input[type="number"], input[type="url"], input[type="tel"], select, textarea {
	width: 100%;
	min-height: 2.875rem;
	padding: 0.65rem 0.85rem;
	font: inherit;
	font-size: var(--wp--preset--font-size--base);
	color: var(--mu-charcoal);
	background: var(--mu-white);
	border: 1.5px solid var(--mu-muted);
	border-radius: var(--mu-r-sm);
	transition: border-color 160ms var(--mu-ease), box-shadow 160ms var(--mu-ease);
}
textarea { min-height: 8rem; line-height: 1.5; }
select { appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2323332B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.6rem center; background-size: 1.1rem; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--mu-gold); outline-offset: 1px; border-color: var(--mu-forest); }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #A3271B; }
.mu-error { color: #A3271B; font-size: var(--wp--preset--font-size--xs); font-weight: 620; margin: 0; }
.mu-fieldset { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.mu-fieldset legend { padding: 0; margin-bottom: 0.5rem; }

/* Choice chips: real checkboxes/radios, styled. Work without JS. */
.mu-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mu-chip { position: relative; display: inline-flex; }
.mu-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mu-chip span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 2.5rem;
	padding: 0.45rem 0.95rem;
	border: 1.5px solid var(--mu-muted);
	border-radius: var(--mu-r-pill);
	background: var(--mu-white);
	color: var(--mu-charcoal);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 520;
	transition: background-color 160ms var(--mu-ease), color 160ms var(--mu-ease), border-color 160ms var(--mu-ease);
}
.mu-chip input:hover + span { border-color: var(--mu-forest); }
.mu-chip input:checked + span { background: var(--mu-forest); border-color: var(--mu-forest); color: var(--mu-cream); }
.mu-chip input:focus-visible + span { outline: 3px solid var(--mu-gold); outline-offset: 2px; }
.mu-band--forest .mu-chip span { background: transparent; color: var(--mu-cream); border-color: var(--mu-on-forest-muted); }
.mu-band--forest .mu-chip input:checked + span { background: var(--mu-gold); border-color: var(--mu-gold); color: var(--mu-charcoal); }

.mu-check { display: flex; gap: 0.6rem; align-items: flex-start; font-size: var(--wp--preset--font-size--sm); }
.mu-check input { width: 1.5rem; height: 1.5rem; margin: 0; accent-color: var(--mu-forest); flex: none; }

/* Core search block */
.mu-search .wp-block-search__inside-wrapper { gap: 0.5rem; max-width: 34rem; }
.mu-search .wp-block-search__input { border-radius: var(--mu-r-sm); }
.mu-search .wp-block-search__button { margin: 0; }

/* ---------- Cards ---------- */

.mu-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--mu-paper);
	border-radius: var(--mu-r-md);
	overflow: hidden;
	transition: box-shadow 220ms var(--mu-ease), transform 220ms var(--mu-ease);
}
.mu-card:hover { box-shadow: var(--mu-lift); transform: translateY(-2px); }
.mu-card__image { margin: 0 !important; overflow: hidden; }
.mu-card__image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 500ms var(--mu-ease); }
.mu-card:hover .mu-card__image img { transform: scale(1.03); }
.mu-card__body { padding: 1rem 1.15rem 1.25rem; display: grid; gap: 0.45rem; }
.mu-card__body > * { margin: 0 !important; }
.mu-card__kicker, .mu-card__kicker a { font-size: var(--wp--preset--font-size--xs); font-weight: 650; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mu-rust-ink); text-decoration: none; }
.mu-card__title { font-size: var(--wp--preset--font-size--md); line-height: 1.2; }
.mu-card__title a { color: var(--mu-forest); text-decoration: none; }
.mu-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* whole card clickable, one link */
.mu-card__title a:hover { color: var(--mu-rust-ink); text-decoration: underline; }
.mu-card__excerpt { font-size: var(--wp--preset--font-size--sm); color: var(--mu-muted); line-height: 1.5; }
.mu-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.mu-card__meta { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; font-size: var(--wp--preset--font-size--xs); color: var(--mu-muted); }
.mu-card__meta .mu-icon { color: var(--mu-rust-ink); }
.mu-card a:not(.mu-card__title a) { position: relative; z-index: 2; }

/* ---------- Masonry ----------
   Without JS: an even grid. With JS (main.js) items span measured rows, so columns pack
   like masonry while DOM, tab and reading order stay left-to-right. */

.mu-masonry {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr));
	gap: var(--mu-gap);
	align-items: start;
}
.mu-masonry > li { margin: 0 !important; }
.mu-masonry.is-packed { grid-auto-rows: 4px; row-gap: 0; }
.mu-masonry.is-packed > * { margin-bottom: var(--mu-gap) !important; }
/* Varied photo shapes give the masonry its rhythm. */
.mu-masonry > :nth-child(6n + 2) .mu-card__image img { aspect-ratio: 4 / 5; }
.mu-masonry > :nth-child(6n + 3) .mu-card__image img { aspect-ratio: 1 / 1; }
.mu-masonry > :nth-child(6n + 4) .mu-card__image img { aspect-ratio: 3 / 4; }
.mu-masonry > :nth-child(6n + 5) .mu-card__image img { aspect-ratio: 5 / 4; }
.mu-masonry > :nth-child(6n + 6) .mu-card__image img { aspect-ratio: 4 / 5; }
@media (min-width: 900px) {
	/* The first item leads: two columns wide, bigger title. */
	.mu-masonry--lead > :first-child { grid-column: span 2; }
	.mu-masonry--lead > :first-child .mu-card__image img { aspect-ratio: 16 / 10; }
	.mu-masonry--lead > :first-child .mu-card__title { font-size: var(--wp--preset--font-size--lg); }
}
.wp-block-query .mu-masonry { margin-bottom: var(--wp--preset--spacing--60); }

/* ---------- Page head, article, prose ---------- */

.mu-main { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--80); }
.mu-landing { padding: 0; }
.mu-pagehead { padding-bottom: var(--wp--preset--spacing--60); margin-bottom: var(--wp--preset--spacing--60) !important; border-bottom: 1px solid var(--mu-line); }
.mu-pagehead > * { margin-block: 0; }
.mu-pagehead__title { font-size: var(--wp--preset--font-size--xxl); max-width: 22ch; }
.mu-pagehead__lede, .mu-pagehead .wp-block-post-excerpt__excerpt { margin-top: 1rem !important; font-size: var(--wp--preset--font-size--md); line-height: 1.5; color: var(--mu-muted); max-width: 58ch; }
.mu-pagehead .mu-search { margin-top: 1.25rem; }
/* Page photo: a wide strip under the lede on phones, a column beside the title from 900px. */
.mu-pagehead__image { margin: 1.5rem 0 0 !important; }
.mu-pagehead__image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--mu-r-lg); }
@media (min-width: 900px) {
	.mu-pagehead:has(.mu-pagehead__image) { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: var(--wp--preset--spacing--60); align-items: start; }
	.mu-pagehead:has(.mu-pagehead__image) > :not(.mu-pagehead__image) { grid-column: 1; }
	.mu-pagehead__image { grid-column: 2; grid-row: 1 / span 3; margin: 0 !important; }
	.mu-pagehead__image img { aspect-ratio: 4 / 3; }
}

.mu-article__head { display: grid; gap: var(--wp--preset--spacing--60); align-items: end; margin-bottom: var(--wp--preset--spacing--70) !important; }
@media (min-width: 1000px) { .mu-article__head:has(.mu-article__image) { grid-template-columns: 1fr 1.1fr; } }
.mu-article__intro > * { margin-block: 0 0.9rem; }
.mu-article__title { font-size: var(--wp--preset--font-size--xxl); }
.mu-article__lede { font-size: var(--wp--preset--font-size--md); color: var(--mu-muted); line-height: 1.5; }
.mu-article__image { margin: 0; }
.mu-article__image img { border-radius: var(--mu-r-lg); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.mu-byline { gap: 0.25rem 1rem; font-size: var(--wp--preset--font-size--sm); color: var(--mu-muted); }
.mu-byline > * { margin: 0; }
.mu-article__foot { margin-top: var(--wp--preset--spacing--70) !important; padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--mu-line); display: grid; gap: 1rem; }
.mu-postnav { display: grid; gap: 1rem; }
@media (min-width: 700px) { .mu-postnav { grid-template-columns: 1fr 1fr; } }
.mu-tags a { color: var(--mu-rust-ink); }

.mu-prose { font-size: var(--wp--preset--font-size--base); }
/* Prose rules apply to the writer's own blocks only (direct children), never inside tool blocks. */
.mu-prose > :not(.alignwide):not(.alignfull) { max-width: var(--wp--custom--measure); }
.mu-prose > h2 { margin-top: 2.2em; font-size: var(--wp--preset--font-size--lg); }
.mu-prose > h3 { margin-top: 1.8em; font-size: var(--wp--preset--font-size--md); }
.mu-prose > :where(ul, ol) { padding-left: 1.3em; }
.mu-prose li + li { margin-top: 0.35em; }
.mu-prose li::marker { color: var(--mu-rust-ink); }
.mu-prose img { border-radius: var(--mu-r-md); }
.mu-prose .wp-block-image figcaption { text-align: left; }

/* Tables: forest header, quiet rows, scroll on narrow screens. */
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--sm); background: var(--mu-white); }
.wp-block-table th, .wp-block-table td { padding: 0.7rem 0.9rem; border: 0; border-bottom: 1px solid var(--mu-line); text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--mu-forest); color: var(--mu-cream); font-weight: 650; }
.wp-block-table tbody tr:nth-child(even) { background: var(--mu-paper); }
.wp-block-table figcaption { text-align: left; }

/* Notes and disclosures: always readable, never centred. */
.mu-note {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	padding: 1rem 1.15rem;
	background: var(--mu-paper);
	border-left: 4px solid var(--mu-gold);
	border-radius: 0 var(--mu-r-sm) var(--mu-r-sm) 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
}
.mu-note > .mu-icon { color: var(--mu-rust-ink); margin-top: 0.1rem; }
.mu-note p { margin: 0; }
.mu-note--sponsored { border-left-color: var(--mu-rust); }

/* Pagination */
.mu-pagination { gap: 0.4rem; font-size: var(--wp--preset--font-size--sm); }
.mu-pagination a, .mu-pagination .current { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 0.8rem; border-radius: var(--mu-r-sm); background: var(--mu-paper); color: var(--mu-forest); text-decoration: none; }
.mu-pagination .current { background: var(--mu-forest); color: var(--mu-cream); }
.mu-pagination a:hover { background: var(--mu-gold); color: var(--mu-charcoal); }

/* ---------- Split (text + art), used by 404 and landing sections ---------- */

.mu-split { display: grid; gap: var(--wp--preset--spacing--70); align-items: center; }
@media (min-width: 900px) { .mu-split { grid-template-columns: 1.15fr 0.85fr; } }
.mu-split__text > * { margin-block: 0 1.1rem; }
.mu-404__art { display: flex; align-items: flex-end; gap: 1rem; color: var(--mu-forest); font-size: clamp(6rem, 4rem + 9vw, 12rem); font-weight: 820; line-height: 0.85; letter-spacing: -0.05em; font-variation-settings: "SOFT" 100, "opsz" 144; }
.mu-404__art .mu-icon { width: 0.5em; height: 0.5em; color: var(--mu-rust); stroke-width: 1.4; }

/* ---------- Footer ---------- */

.mu-footer { border-top: 1px solid rgba(214, 174, 106, 0.35); background: var(--mu-forest); color: var(--mu-cream); padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60); margin-top: 0 !important; }
.mu-footer a { color: var(--mu-cream); text-decoration: none; }
.mu-footer a:hover { color: var(--mu-gold); text-decoration: underline; }
.mu-footer__grid { display: grid; gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); }
@media (min-width: 900px) { .mu-footer__grid { grid-template-columns: 1.8fr repeat(3, 1fr); } }
.mu-footer__about > * { margin-block: 0 0.75rem; }
.mu-footer__logo { margin: 0 0 1rem !important; line-height: 0; }
.mu-footer__logo img { display: block; width: 280px; max-width: 100%; height: auto; }
.mu-footer__tagline { font-style: italic; color: var(--mu-gold); }
.mu-footer__lede { color: var(--mu-on-forest-muted); max-width: 34ch; font-size: var(--wp--preset--font-size--sm); }
.mu-footer__heading { margin: 0 0 0.9rem; font-size: var(--wp--preset--font-size--xs); font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mu-gold); }
.mu-footer__links { list-style: none; padding: 0; margin: 0; font-size: var(--wp--preset--font-size--sm); }
.mu-footer__links li { margin: 0; }
.mu-footer__links a { display: inline-block; padding: 0.35rem 0; }
.mu-footer__base { margin-top: var(--wp--preset--spacing--70) !important; padding-top: var(--wp--preset--spacing--50); border-top: 1px solid rgba(201, 192, 173, 0.3); display: grid; gap: 0.75rem; font-size: var(--wp--preset--font-size--xs); color: var(--mu-on-forest-muted); }
.mu-footer__base p { margin: 0; max-width: 80ch; }
.mu-footer__base a { text-decoration: underline; color: var(--mu-cream); }

/* ---------- Motion preferences ---------- */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.mu-card:hover, .mu-card:hover .mu-card__image img { transform: none; }
}

/* ---------- Home page sections ---------- */

/* Hero: text + planner form left, a real sample week right. */
.mu-hero { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--80); }
.mu-hero__grid { display: grid; gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--80); align-items: center; }
@media (min-width: 1000px) { .mu-hero__grid { grid-template-columns: 1.2fr 0.8fr; } }
.mu-hero__text > * { margin-block: 0 1.1rem; }
.mu-hero__title { max-width: 14ch; }
.mu-hero .mu-planner--hero { margin-top: 1.5rem; }
.mu-hero__art { align-self: center; }

/* Meat tiles: a bento grid, beef leads (two columns, two rows from 900px). */
.mu-meats { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--mu-gap); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) { .mu-meats { grid-template-columns: repeat(3, 1fr); } }
/* Below 1000px the lead tile takes a full row of two (phones) or two of three columns (tablets);
   on phones the last tile closes the row, so no empty cell is left. */
@media (max-width: 999px) { .mu-meats__item--lead { grid-column: span 2; } }
@media (max-width: 699px) { .mu-meats__item:last-child { grid-column: span 2; } }
/* 4 columns: beef 2x2, four singles, then the last two share the bottom row (no gap). */
@media (min-width: 1000px) { .mu-meats { grid-template-columns: repeat(4, 1fr); } .mu-meats__item--lead { grid-column: span 2; grid-row: span 2; } .mu-meats__item:nth-child(n+6) { grid-column: span 2; } }
.mu-meats__item a { position: relative; display: grid; align-content: end; gap: 0.25rem; min-height: 9rem; height: 100%; padding: 1.1rem 1.2rem; border-radius: var(--mu-r-md); background: var(--mu-paper); color: var(--mu-forest); text-decoration: none; overflow: hidden; transition: background-color 200ms var(--mu-ease), color 200ms var(--mu-ease), transform 200ms var(--mu-ease); }
.mu-meats__item a:hover { background: var(--mu-forest); color: var(--mu-cream); transform: translateY(-2px); }
.mu-meats__item .mu-icon { position: absolute; top: 1rem; right: 1rem; width: 2.25rem; height: 2.25rem; color: var(--mu-rust-ink); stroke-width: 1.4; }
.mu-meats__item a:hover .mu-icon { color: var(--mu-gold); }
.mu-meats__name { font-size: var(--wp--preset--font-size--lg); font-weight: 720; line-height: 1.1; }
.mu-meats__hint { font-size: var(--wp--preset--font-size--sm); color: var(--mu-muted); }
.mu-meats__item a:hover .mu-meats__hint { color: var(--mu-on-forest-muted); }
.mu-meats__item--lead a { background: var(--mu-forest); color: var(--mu-cream); min-height: 14rem; padding: 1.5rem 1.6rem; }
.mu-meats__item--lead .mu-icon { width: 5rem; height: 5rem; color: var(--mu-gold); top: 1.5rem; right: 1.5rem; }
.mu-meats__item--lead .mu-meats__name { font-size: var(--wp--preset--font-size--xxl); }
.mu-meats__item--lead .mu-meats__hint { color: var(--mu-on-forest-muted); font-size: var(--wp--preset--font-size--md); }
.mu-meats__item--lead a:hover { background: var(--mu-deep); }

/* Split, art first on wide screens. */
@media (min-width: 900px) { .mu-split--flip { grid-template-columns: 0.9fr 1.1fr; } .mu-split--flip > .mu-split__art { order: -1; } }

/* Closing band: a big numeral beside the call to action. */
.mu-closing__grid { display: grid; gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70); align-items: center; }
@media (min-width: 800px) { .mu-closing__grid { grid-template-columns: auto 1fr; } }
.mu-closing__figure { margin: 0; display: flex; align-items: baseline; gap: 0.5rem; color: var(--mu-gold); font-size: clamp(6rem, 4rem + 8vw, 11rem); font-weight: 820; line-height: 0.8; letter-spacing: -0.05em; font-variation-settings: "SOFT" 100, "opsz" 144; }
.mu-closing__unit { font-size: var(--wp--preset--font-size--lg); letter-spacing: 0.02em; color: var(--mu-on-forest-muted); font-weight: 600; }
.mu-closing__text > * { margin-block: 0 1rem; }
.mu-closing__text h2 { max-width: 22ch; }

/* ---------- WooCommerce (owner-installed, 2026-11-06): keep its own templates inside the house rules ----------
   Left-aligned text, the same page spacing as our templates, and 24px minimum tap targets. */
body.woocommerce-page .wp-site-blocks > main:not(.mu-main) { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--80); }
body.woocommerce-page :is(h1, h2, h3, h4, p).has-text-align-center,
body.woocommerce-page .wc-block-product-collection__no-results,
body.woocommerce-page .wc-block-product-collection__no-results * { text-align: left !important; }
body.woocommerce-page .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before { margin-left: 0 !important; }
body.woocommerce-page .wp-block-woocommerce-empty-cart-block .wp-block-separator { margin-left: 0 !important; }
.wc-block-breadcrumbs { margin-bottom: var(--wp--preset--spacing--40) !important; }
.wc-block-breadcrumbs a, .product_meta a, .taxonomy-product_cat a, .taxonomy-product_tag a { display: inline-block; padding-block: 0.35rem; }
.woocommerce-form__input-checkbox { width: 1.5rem; height: 1.5rem; accent-color: var(--mu-forest); vertical-align: middle; }
.show-password-input { min-width: 1.5rem; min-height: 1.5rem; }
body.woocommerce-page .woocommerce-button.button { text-align: left; }
body.woocommerce-page .wp-block-separator.is-style-dots { text-align: left !important; }
body.woocommerce-page .wp-block-separator.is-style-dots::before { padding-left: 0 !important; }

/* ---------- Closing call to action (footer part; left out on the home, planner and grocery pages) ---------- */
.mu-cta-band { background: var(--mu-paper); border-top: 1px solid var(--mu-line); padding-block: var(--wp--preset--spacing--70); }
.mu-cta-band__grid { display: grid; gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70); align-items: center; }
@media (min-width: 900px) { .mu-cta-band__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); } }
.mu-cta-band__text > * { margin-block: 0 1rem; }
.mu-cta-band__text > :last-child { margin-bottom: 0; }
.mu-cta-band__title { font-size: var(--wp--preset--font-size--xl); max-width: 18ch; }
.mu-cta-band__text p:not(.mu-eyebrow) { color: var(--mu-muted); max-width: 46ch; }
.mu-cta-band .mu-sample { background: #fff; border: 1px solid var(--mu-line); }
/* Two meals side by side from 600px, so the sample reads as a week grid, not a second hero list. */
@media (min-width: 600px) { .mu-cta-band .mu-sample__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.25rem; } }
body.woocommerce-page .wc-block-grid__product, body.woocommerce-page .wc-block-grid__product * { text-align: left !important; }
body.woocommerce-page .wp-block-post-title a { display: inline-block; padding-block: 0.3rem; }

/* ---------- Home hero: a wide photo, dark on the left so the words sit on the photograph itself ---------- */
/* No overlay or gradient: the image was shot with dark negative space on the left (owner, 2026-11-06).
   --mu-cover-shade matches that shadow (sampled #0A1514) so the phone layout's text panel meets the photo. */
.mu-cover { --mu-cover-shade: #0A1514; position: relative; margin-block: 0 !important; background: var(--mu-cover-shade); color: var(--mu-cream); overflow: hidden; }
.mu-cover__img { margin: 0 !important; }
.mu-cover__img img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: 100% 55%; }
@media (min-width: 600px) { .mu-cover__img img { aspect-ratio: 21 / 9; object-position: 100% 55%; } }
.mu-cover__content { padding: var(--wp--preset--spacing--60) var(--wp--style--root--padding-right, 1rem) var(--wp--preset--spacing--70) var(--wp--style--root--padding-left, 1rem); }
.mu-cover__content > * { margin-block: 0 1.1rem; }
.mu-cover__content > :last-child { margin-bottom: 0; }
.mu-cover .mu-eyebrow { color: var(--mu-gold); }
.mu-cover__title { color: var(--mu-cream); max-width: 15ch; font-size: clamp(2.5rem, 1.6rem + 3vw, 4.25rem) !important; line-height: 1.02; }
.mu-cover .mu-lede { color: var(--mu-on-forest-muted); max-width: 46ch; }
.mu-cover__points { list-style: none; padding: 0; display: grid; gap: 0.55rem; }
.mu-cover__points li { display: flex; gap: 0.65rem; align-items: flex-start; font-weight: 560; }
.mu-cover__points .mu-icon { color: var(--mu-gold); flex: none; margin-top: 0.15rem; }
.mu-cover .is-style-outline > .wp-block-button__link { color: var(--mu-cream); border-color: var(--mu-cream); }
.mu-cover .is-style-outline > .wp-block-button__link:hover { background: var(--mu-cream); color: var(--mu-forest); }
/* Text over the photo only where the plate stays clear of it (from 1200px); below that the photo sits on top. */
@media (min-width: 1200px) {
	.mu-cover { display: flex; align-items: center; min-height: clamp(34rem, 44vw, 44rem); }
	.mu-cover__img { position: absolute; inset: 0; }
	.mu-cover__img img { height: 100%; aspect-ratio: auto; object-position: 100% 50%; }
	.mu-cover__content { position: relative; z-index: 1; width: min(34rem, 40vw); padding-block: var(--wp--preset--spacing--70); padding-right: 0;
		margin-left: max(var(--wp--style--root--padding-left, 1.5rem), calc((100% - var(--wp--style--global--wide-size)) / 2)); }
}
