/*
Theme Name: Mommy Recipe Lunchbox
Theme URI: https://mommyrecipe.com
Author: Mommy Recipe
Author URI: https://mommyrecipe.com
Description: A warm, accessible WordPress theme for lunchbox ideas and after-school snacks for school-aged kids.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.1.2
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mommyrecipe
Tags: food-and-drink, blog, block-theme, full-site-editing, accessibility-ready
*/

:root {
	--mr-cream: #fff8f2;
	--mr-paper: #ffffff;
	--mr-ink: #332520;
	--mr-muted: #6f5a51;
	--mr-raspberry: #b8325e;
	--mr-raspberry-dark: #922244;
	--mr-teal: #176b64;
	--mr-teal-dark: #0e504a;
	--mr-sage: #dce9d6;
	--mr-butter: #f6d365;
	--mr-sky: #ddecf5;
	--mr-line: #eadbd1;
	--mr-shadow: 0 18px 45px rgba(51, 37, 32, 0.12);
	--mr-radius: 8px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background:
		linear-gradient(90deg, rgba(184, 50, 94, 0.05) 1px, transparent 1px),
		linear-gradient(0deg, rgba(23, 107, 100, 0.05) 1px, transparent 1px),
		var(--mr-cream);
	background-size: 42px 42px;
	color: var(--mr-ink);
	overflow-x: hidden;
}

body,
button,
input,
select,
textarea {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--mr-ink);
	font-family: Charter, "Bitstream Charter", Georgia, serif;
	letter-spacing: 0;
}

a {
	color: var(--mr-teal);
	text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
	color: var(--mr-raspberry-dark);
}

img {
	height: auto;
	max-width: 100%;
}

button,
.wp-block-button__link,
input[type="submit"],
.mr-button-link {
	background: var(--mr-raspberry);
	border: 2px solid var(--mr-raspberry);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-weight: 800;
	line-height: 1.1;
	min-height: 44px;
	padding: 0.78rem 1.2rem;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

button:hover,
button:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible,
.mr-button-link:hover,
.mr-button-link:focus-visible {
	background: var(--mr-raspberry-dark);
	border-color: var(--mr-raspberry-dark);
	color: #fff;
	transform: translateY(-1px);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--mr-butter);
	outline-offset: 3px;
}

input,
textarea,
select {
	background: #fff;
	border: 2px solid var(--mr-line);
	border-radius: var(--mr-radius);
	color: var(--mr-ink);
	font-size: 1rem;
	min-height: 44px;
	padding: 0.75rem 0.9rem;
	width: 100%;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.mr-eyebrow {
	color: var(--mr-raspberry-dark);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 0.55rem;
	text-transform: uppercase;
}

.mr-site-header {
	background: rgba(255, 248, 242, 0.96);
	border-bottom: 1px solid var(--mr-line);
	position: relative;
	z-index: 20;
}

.mr-top-strip {
	background: var(--mr-teal);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	text-align: center;
}

.mr-top-strip a {
	color: #fff;
	text-decoration: underline;
}

.mr-top-strip .wp-block-group {
	padding-bottom: 0.45rem;
	padding-top: 0.45rem;
}

.mr-header-main {
	gap: 1rem;
	padding: 1.05rem 0 0.9rem;
}

.mr-classic-header-main {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1180px;
	padding-inline: 1rem;
}

.mr-brand {
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
}

.mr-mobile-menu-toggle {
	align-items: center;
	display: none;
	gap: 0.45rem;
}

.mr-brand .custom-logo,
.mr-brand img {
	border-radius: 50%;
}

.mr-logo-lockup,
.wp-block-site-title {
	font-family: Charter, "Bitstream Charter", Georgia, serif;
	font-size: clamp(2rem, 6vw, 3.4rem);
	font-weight: 800;
	line-height: 1;
	margin: 0;
}

.wp-block-site-title a {
	color: var(--mr-raspberry-dark);
}

.mr-main-nav {
	font-weight: 800;
}

.mr-classic-nav {
	font-weight: 800;
	min-width: 0;
}

.mr-classic-nav__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mr-classic-nav__list li {
	margin: 0;
	position: relative;
}

.mr-classic-nav__list a {
	border-radius: 999px;
	color: var(--mr-ink);
	display: inline-flex;
	padding: 0.55rem 0.8rem;
}

.mr-classic-nav__list a:hover,
.mr-classic-nav__list a:focus-visible {
	background: var(--mr-sage);
	color: var(--mr-teal-dark);
}

.mr-classic-nav__list .sub-menu,
.mr-classic-nav__list .children {
	background: #fff;
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-radius);
	box-shadow: var(--mr-shadow);
	display: none;
	left: 0;
	list-style: none;
	margin: 0;
	min-width: 230px;
	padding: 0.5rem;
	position: absolute;
	top: 100%;
	z-index: 40;
}

.mr-classic-nav__list li:hover > .sub-menu,
.mr-classic-nav__list li:focus-within > .sub-menu,
.mr-classic-nav__list li:hover > .children,
.mr-classic-nav__list li:focus-within > .children {
	display: block;
}

.mr-classic-nav__list .sub-menu a,
.mr-classic-nav__list .children a {
	display: flex;
	width: 100%;
}

.mr-main-nav a,
.wp-block-navigation-item__content {
	color: var(--mr-ink);
}

.mr-header-search {
	flex: 0 1 260px;
	max-width: 260px;
	min-width: 220px;
}

.mr-header-search .wp-block-search__inside-wrapper {
	border: 2px solid var(--mr-line);
	border-radius: 999px;
	overflow: hidden;
}

.mr-header-search input {
	border: 0;
	min-height: 42px;
}

.mr-header-search button {
	border-radius: 0;
	min-height: 42px;
	padding-inline: 1rem;
}

.mr-pillar-menu {
	background: #fff;
	border-bottom: 1px solid var(--mr-line);
	border-top: 1px solid var(--mr-line);
}

.mr-pillar-menu ul {
	align-items: stretch;
	display: flex;
	gap: 0.35rem;
	justify-content: center;
	list-style: none;
	margin: 0 auto;
	max-width: 1180px;
	overflow-x: auto;
	padding: 0.65rem 1rem;
}

.mr-pillar-menu a {
	align-items: center;
	border: 1px dashed transparent;
	border-radius: 999px;
	color: var(--mr-ink);
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 900;
	gap: 0.45rem;
	padding: 0.5rem 0.8rem;
	white-space: nowrap;
}

.mr-pillar-menu a:hover,
.mr-pillar-menu a:focus-visible {
	background: var(--mr-sage);
	border-color: var(--mr-teal);
	color: var(--mr-teal-dark);
}

.mr-pillar-menu svg {
	height: 28px;
	width: 28px;
}

.mr-pillar-menu img {
	height: 28px;
	width: 28px;
}

.mr-section {
	padding: clamp(2.5rem, 7vw, 5rem) 0;
}

.mr-home-wrap {
	margin: 0 auto;
	max-width: 1180px;
	padding-inline: 1rem;
}

.mr-home-narrow {
	margin: 0 auto;
	max-width: 980px;
	padding-inline: 1rem;
}

.mr-section--paper {
	background: #fff;
	border-block: 1px solid var(--mr-line);
}

.mr-section-heading {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.4rem;
}

.mr-section-heading h2 {
	font-size: clamp(2rem, 5vw, 3rem);
	margin: 0;
}

.mr-section-heading p {
	color: var(--mr-muted);
	margin: 0;
	max-width: 45rem;
}

.mr-hero {
	background: #fff;
	border-bottom: 1px solid var(--mr-line);
	overflow: hidden;
}

.mr-hero__inner {
	align-items: stretch;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(2rem, 7vw, 5rem) 1rem clamp(1.25rem, 3vw, 2.25rem);
}

.mr-hero__copy {
	align-self: center;
}

.mr-hero h1 {
	font-size: clamp(2.6rem, 7vw, 5.25rem);
	margin: 0 0 1rem;
	max-width: 11ch;
}

.mr-hero__lede {
	color: var(--mr-muted);
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	max-width: 42rem;
}

.mr-hero__visual {
	align-self: end;
	background: var(--mr-sky);
	border: 2px solid var(--mr-ink);
	border-radius: var(--mr-radius);
	box-shadow: 10px 10px 0 var(--mr-butter);
	min-height: 430px;
	overflow: hidden;
	position: relative;
}

.mr-hero__visual::before {
	background:
		radial-gradient(circle at 28% 24%, #fff 0 0.9rem, transparent 1rem),
		radial-gradient(circle at 70% 32%, #fff 0 0.75rem, transparent 0.85rem),
		linear-gradient(135deg, rgba(184, 50, 94, 0.16), rgba(23, 107, 100, 0.1));
	content: "";
	inset: 0;
	position: absolute;
}

.mr-hero__photo-card {
	background: #fff;
	border: 2px solid var(--mr-ink);
	border-radius: var(--mr-radius);
	inset: 9% 8% 12%;
	position: absolute;
	transform: rotate(-1.5deg);
}

.mr-hero__photo-card::before {
	background:
		linear-gradient(90deg, transparent 0 12%, rgba(51, 37, 32, 0.08) 12% 13%, transparent 13%),
		linear-gradient(#f7d7df 0 32%, #fff 32% 100%);
	border-bottom: 2px dashed var(--mr-line);
	content: "";
	display: block;
	height: 48%;
}

.mr-hero__photo-card::after {
	color: var(--mr-teal-dark);
	content: "photo slot";
	font-family: "SFMono-Regular", Consolas, monospace;
	font-size: 0.9rem;
	font-weight: 700;
	left: 1.2rem;
	position: absolute;
	top: 55%;
}

.mr-hero .mr-persona-optin {
	margin-top: 1.5rem;
}

.mr-category-circles {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(8, minmax(92px, 1fr));
	margin: 0 auto;
	max-width: 1180px;
	padding: 0 1rem;
}

.mr-category-circle {
	align-items: center;
	color: var(--mr-ink);
	display: flex;
	flex-direction: column;
	font-weight: 900;
	gap: 0.65rem;
	text-align: center;
}

.mr-category-circle__icon {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: #fff;
	border: 2px solid var(--mr-ink);
	border-radius: 50%;
	box-shadow: 5px 5px 0 var(--mr-sage);
	color: var(--mr-icon-accent, var(--mr-raspberry));
	display: grid;
	justify-items: center;
	padding: 1rem;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
	width: min(100%, 112px);
}

.mr-category-circle svg {
	height: 100%;
	max-height: 58px;
	width: 100%;
}

.mr-category-circle img {
	height: 58px;
	object-fit: contain;
	width: 58px;
}

.mr-author-block {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 5vw, 3rem);
	grid-template-columns: 260px minmax(0, 1fr);
}

.mr-author-block__photo {
	aspect-ratio: 1 / 1;
	background:
		linear-gradient(135deg, rgba(184, 50, 94, 0.16), rgba(23, 107, 100, 0.12)),
		var(--mr-sky);
	border: 2px solid var(--mr-ink);
	border-radius: 50%;
	box-shadow: 8px 8px 0 var(--mr-butter);
	position: relative;
}

.mr-author-block__photo::after {
	color: var(--mr-teal-dark);
	content: "author photo";
	font-family: "SFMono-Regular", Consolas, monospace;
	font-size: 0.85rem;
	font-weight: 800;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.mr-text-link {
	color: var(--mr-teal-dark);
	font-weight: 900;
	text-decoration: underline;
}

.mr-category-circle:hover .mr-category-circle__icon,
.mr-category-circle:focus-visible .mr-category-circle__icon {
	background: var(--mr-butter);
	box-shadow: 3px 3px 0 var(--mr-teal);
	transform: translateY(-2px) rotate(-1deg);
}

.mr-recipe-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mr-recipe-card,
.wp-block-post-template .wp-block-post {
	background: #fff;
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-radius);
	box-shadow: 0 10px 22px rgba(51, 37, 32, 0.08);
	overflow: hidden;
}

.mr-recipe-card__image,
.wp-block-post-featured-image {
	aspect-ratio: 4 / 3;
	background: var(--mr-sky);
	display: block;
	overflow: hidden;
}

.mr-recipe-card img,
.wp-block-post-featured-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.mr-recipe-card__body {
	padding: 1rem;
}

.mr-recipe-card h3,
.wp-block-post-title {
	font-size: 1.35rem;
	line-height: 1.15;
	margin: 0.3rem 0 0.55rem;
}

.mr-category-feature-card .mr-recipe-card__image {
	align-items: center;
	color: var(--mr-raspberry);
	display: grid;
	justify-items: center;
	min-height: 220px;
}

.mr-category-feature-card__icon {
	align-items: center;
	background: #fff;
	border: 2px solid var(--mr-ink);
	border-radius: 50%;
	box-shadow: 6px 6px 0 var(--mr-sage);
	display: grid;
	height: 110px;
	justify-items: center;
	width: 110px;
}

.mr-category-feature-card__icon svg {
	height: 68px;
	width: 68px;
}

.mr-card-meta {
	color: var(--mr-muted);
	font-size: 0.9rem;
	font-weight: 700;
}

.mr-pill {
	background: var(--mr-sage);
	border-radius: 999px;
	color: var(--mr-teal-dark);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	padding: 0.24rem 0.62rem;
	text-transform: uppercase;
}

.mr-content-sidebar {
	display: grid;
	gap: clamp(1.5rem, 5vw, 3rem);
	grid-template-columns: minmax(0, 760px) minmax(300px, 320px);
	justify-content: center;
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(2rem, 6vw, 4rem) 1rem;
}

.mr-post-article {
	background: #fff;
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-radius);
	padding: clamp(1rem, 4vw, 2.5rem);
}

.mr-post-article > *:first-child {
	margin-top: 0;
}

.mr-post-title {
	font-size: clamp(2.2rem, 6vw, 4.2rem);
	margin-bottom: 0.6rem;
}

.mr-post-meta {
	color: var(--mr-muted);
	font-size: 0.95rem;
	font-weight: 700;
}

.mr-jump-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.4rem 0;
}

.mr-jump-actions a,
.mr-jump-actions button {
	background: #fff;
	border: 2px solid var(--mr-teal);
	border-radius: 999px;
	color: var(--mr-teal-dark);
	font-weight: 900;
	padding: 0.65rem 1rem;
}

.mr-jump-actions a:hover,
.mr-jump-actions a:focus-visible,
.mr-jump-actions button:hover,
.mr-jump-actions button:focus-visible {
	background: var(--mr-teal);
	color: #fff;
}

.mr-single-sidebar {
	align-self: start;
	display: grid;
	gap: 1rem;
}

.mr-sidebar-card,
.mr-single-sidebar .widget {
	background: #fff;
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-radius);
	padding: 1rem;
}

.mr-disclosure {
	background: var(--mr-sky);
	border: 1px solid #bdd8e8;
	border-radius: var(--mr-radius);
	color: #274653;
	font-size: 0.92rem;
	padding: 0.9rem 1rem;
}

.mr-ad-slot {
	background: #fff;
	border: 1px dashed #bca89e;
	border-radius: var(--mr-radius);
	color: var(--mr-muted);
	display: grid;
	margin: 2.75rem 0;
	min-height: 280px;
	padding: 0.8rem;
	place-items: center;
	position: relative;
	text-align: center;
}

.mr-ad-slot--sidebar {
	margin: 0;
	min-height: 600px;
	width: 100%;
}

.mr-ad-label {
	background: #fff;
	color: var(--mr-muted);
	font-size: 0.7rem;
	font-weight: 800;
	left: 50%;
	letter-spacing: 0.12em;
	padding: 0 0.35rem;
	position: absolute;
	text-transform: uppercase;
	top: -0.55rem;
	transform: translateX(-50%);
}

.mr-ad-placeholder {
	align-items: center;
	background:
		linear-gradient(45deg, rgba(188, 168, 158, 0.18) 25%, transparent 25% 50%, rgba(188, 168, 158, 0.18) 50% 75%, transparent 75%);
	background-size: 22px 22px;
	border-radius: 6px;
	display: flex;
	font-weight: 900;
	height: 100%;
	justify-content: center;
	min-height: inherit;
	width: 100%;
}

.mr-persona-optin {
	background: var(--mr-sage);
	border: 2px solid var(--mr-teal-dark);
	border-radius: var(--mr-radius);
	box-shadow: 8px 8px 0 rgba(23, 107, 100, 0.14);
	color: var(--mr-ink);
	display: grid;
	gap: 1rem;
	padding: clamp(1rem, 3vw, 1.35rem);
}

.mr-persona-optin h2 {
	font-size: clamp(1.55rem, 4vw, 2.2rem);
	margin: 0 0 0.35rem;
}

.mr-persona-optin p {
	margin-bottom: 0;
	margin-top: 0;
}

.mr-persona-optin--compact {
	box-shadow: none;
	padding: 1rem;
}

.mr-persona-optin--compact h2 {
	font-size: 1.35rem;
}

.mr-persona-choices {
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
}

.mr-persona-choices label {
	cursor: pointer;
}

.mr-persona-choices input {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.mr-persona-choices span {
	background: #fff;
	border: 2px solid transparent;
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 900;
	padding: 0.5rem 0.75rem;
}

.mr-persona-choices input:checked + span {
	background: var(--mr-teal);
	border-color: var(--mr-teal-dark);
	color: #fff;
}

.mr-persona-choices input:focus-visible + span {
	outline: 3px solid var(--mr-butter);
	outline-offset: 3px;
}

.mr-optin-fields {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.15fr) auto;
}

.mr-persona-optin--compact .mr-optin-fields {
	grid-template-columns: 1fr;
}

.mr-form-note {
	color: var(--mr-muted);
	font-size: 0.82rem;
}

.mr-print-card {
	background: #fffdf7;
	border: 2px solid var(--mr-ink);
	border-radius: var(--mr-radius);
	box-shadow: 8px 8px 0 var(--mr-butter);
	margin: 2rem 0;
	padding: clamp(1rem, 4vw, 2rem);
}

.mr-print-card__header {
	align-items: start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.mr-print-card h2 {
	font-size: clamp(1.8rem, 5vw, 2.8rem);
	margin: 0 0 0.5rem;
}

.mr-recipe-meta {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 1.5rem 0;
}

.mr-recipe-meta div {
	background: #fff;
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-radius);
	padding: 0.8rem;
}

.mr-recipe-meta dt {
	color: var(--mr-muted);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

.mr-recipe-meta dd {
	font-weight: 900;
	margin: 0.2rem 0 0;
}

.mr-recipe-columns {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.mr-recipe-columns li {
	margin-bottom: 0.65rem;
}

.mr-recipe-notes {
	background: var(--mr-sky);
	border-radius: var(--mr-radius);
	margin-top: 1rem;
	padding: 1rem;
}

.mr-footer {
	background: var(--mr-ink);
	color: #fff;
	margin-top: 3rem;
}

.mr-footer a,
.mr-footer h2,
.mr-footer h3 {
	color: #fff;
}

.mr-footer__inner {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1.2fr 0.8fr 0.8fr;
	margin: 0 auto;
	max-width: 1180px;
	padding: 3rem 1rem;
}

.mr-footer .mr-persona-optin {
	background: #fff;
	border-color: var(--mr-butter);
	color: var(--mr-ink);
}

.mr-footer .mr-persona-optin h2,
.mr-footer .mr-persona-optin p {
	color: var(--mr-ink);
}

.mr-modal[hidden] {
	display: none;
}

.mr-modal {
	align-items: center;
	background: rgba(51, 37, 32, 0.62);
	display: grid;
	inset: 0;
	padding: 1rem;
	position: fixed;
	z-index: 1000;
}

.mr-modal__panel {
	background: #fff;
	border: 2px solid var(--mr-ink);
	border-radius: var(--mr-radius);
	box-shadow: var(--mr-shadow);
	margin: auto;
	max-width: 720px;
	padding: 1rem;
	position: relative;
	width: min(100%, 720px);
}

.mr-modal__close {
	background: #fff;
	border-color: var(--mr-ink);
	color: var(--mr-ink);
	position: absolute;
	right: 0.75rem;
	top: 0.75rem;
}

.mr-pagination {
	margin-top: 2rem;
}

@media (max-width: 980px) {
	.mr-hero__inner,
	.mr-content-sidebar,
	.mr-recipe-columns,
	.mr-footer__inner,
	.mr-author-block {
		grid-template-columns: 1fr;
	}

	.mr-hero h1 {
		max-width: 14ch;
	}

	.mr-hero__visual {
		min-height: 320px;
	}

	.mr-category-circles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.mr-recipe-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mr-optin-fields,
	.mr-recipe-meta {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.mr-header-main {
		align-items: stretch;
		flex-direction: column;
	}

	.mr-classic-header-main {
		align-items: stretch;
	}

	.mr-classic-nav__list {
		align-items: stretch;
		flex-direction: column;
	}

	.mr-classic-nav__list .sub-menu,
	.mr-classic-nav__list .children {
		border: 0;
		box-shadow: none;
		display: block;
		margin-left: 1rem;
		min-width: 0;
		padding: 0;
		position: static;
	}

	.mr-header-search {
		max-width: none;
		width: 100%;
	}

	.mr-section-heading {
		align-items: start;
		flex-direction: column;
	}

	.mr-category-circles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mr-recipe-grid {
		grid-template-columns: 1fr;
	}

	.mr-optin-fields,
	.mr-recipe-meta {
		grid-template-columns: 1fr;
	}

	.mr-print-card__header {
		flex-direction: column;
	}

	.mr-post-article {
		padding: 1rem;
	}
}

@media print {
	body * {
		visibility: hidden;
	}

	.mr-print-card,
	.mr-print-card * {
		visibility: visible;
	}

	.mr-print-card {
		box-shadow: none;
		left: 0;
		margin: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

	.mr-print-button,
	.mr-ad-slot,
	.mr-site-header,
	.mr-footer {
		display: none !important;
	}
}

/* Lunchbox niche redesign layer. */
.mr-top-strip {
	background: var(--mr-teal);
	color: #fff;
	font-size: 1rem;
	padding-bottom: 1.35rem;
	position: relative;
}

.mr-top-strip::after {
	background: radial-gradient(circle at 14px -1px, transparent 13px, #fff 14px);
	background-size: 28px 16px;
	bottom: -1px;
	content: "";
	height: 16px;
	left: 0;
	position: absolute;
	right: 0;
}

.mr-top-strip a {
	color: #fff;
	font-weight: 900;
}

.mr-top-strip .wp-block-group {
	align-items: center;
	display: flex;
	gap: 0.8rem;
	justify-content: center;
	margin: 0 auto;
	max-width: 1180px;
	padding-inline: 1rem;
}

.mr-top-strip p {
	margin: 0;
}

.mr-top-strip p span {
	font-weight: 950;
	text-transform: uppercase;
}

.mr-top-strip__image {
	height: 58px;
	object-fit: contain;
	width: 76px;
}

.mr-site-header {
	background: #fff;
	box-shadow: 0 5px 18px rgba(51, 37, 32, 0.12);
}

.mr-classic-header-main {
	padding-bottom: 1.25rem;
	padding-top: 1.45rem;
}

.mr-brand-logo {
	display: inline-flex;
	line-height: 0;
}

.mr-brand-logo img {
	border-radius: 0;
	height: auto;
	max-height: 82px;
	max-width: min(340px, 52vw);
	object-fit: contain;
	width: 340px;
}

.mr-logo-lockup,
.wp-block-site-title {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	font-weight: 950;
	letter-spacing: 0.02em;
	text-transform: lowercase;
}

.wp-block-site-title a,
.mr-logo-lockup a {
	color: var(--mr-teal);
}

.mr-classic-nav__list a {
	border-bottom: 2px solid transparent;
	border-radius: 0;
	font-size: 1.05rem;
	font-weight: 900;
	padding: 0.45rem 0.35rem;
}

.mr-classic-nav__list a:hover,
.mr-classic-nav__list a:focus-visible {
	background: transparent;
	border-color: #e6b2a9;
	color: var(--mr-teal-dark);
}

.mr-header-search {
	position: relative;
}

.mr-header-search input {
	border-radius: 999px;
	padding-right: 3.3rem;
}

.mr-header-search button {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: var(--mr-teal);
	border-color: var(--mr-teal);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	min-height: 42px;
	padding: 0;
	position: absolute;
	right: 3px;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
}

.mr-header-search button:hover,
.mr-header-search button:focus-visible {
	background: var(--mr-raspberry);
	border-color: var(--mr-raspberry);
	transform: translateY(-50%);
}

.mr-pillar-menu {
	background: #fff;
}

.mr-pillar-menu ul {
	gap: 0.7rem;
	padding: 1rem;
}

.mr-pillar-menu a {
	background: #f4d5cf;
	border: 2px solid transparent;
	border-radius: 999px;
	box-shadow: 0 7px 15px rgba(51, 37, 32, 0.08);
	font-size: 1rem;
	padding: 0.6rem 1rem;
}

.mr-pillar-menu a:hover,
.mr-pillar-menu a:focus-visible {
	background: var(--mr-sage);
	border-color: var(--mr-teal);
	color: var(--mr-teal-dark);
}

.mr-pillar-menu li:nth-child(2n) a {
	background: #dbeaf0;
}

.mr-pillar-menu li:nth-child(3n) a {
	background: #eadcc9;
}

.mr-pillar-menu li:nth-child(4n) a {
	background: #dce9d6;
}

.mr-hero {
	background: #fff;
}

.mr-hero h1 {
	font-family: Charter, "Bitstream Charter", Georgia, serif;
	font-size: clamp(2.8rem, 6vw, 4.8rem);
	max-width: 12ch;
}

.mr-hero__lede {
	max-width: 43rem;
}

.mr-hero__visual--lunchbox {
	background:
		linear-gradient(135deg, rgba(246, 211, 101, 0.28), rgba(221, 236, 245, 0.9)),
		#ddecf5;
}

.mr-hero__photo-card::after {
	content: "lunchbox photo";
}

.mr-recipe-strip:first-child {
	padding-top: clamp(2rem, 5vw, 4rem);
}

.mr-section--ink {
	background: #1f1e1b;
	color: #fff;
}

.mr-section--ink h2,
.mr-section--ink strong,
.mr-section--ink em,
.mr-section--ink span,
.mr-section--ink p {
	color: #fff;
}

.mr-section-heading--light .mr-eyebrow {
	color: #f6d365;
}

.mr-pillar-roadmap {
	border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.mr-pillar-roadmap__row {
	align-items: start;
	border-bottom: 1px solid rgba(255, 255, 255, 0.24);
	color: #fff;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1.2fr) 180px minmax(0, 1.8fr);
	padding: 1.1rem 0;
}

.mr-pillar-roadmap__row:hover,
.mr-pillar-roadmap__row:focus-visible {
	color: #fff;
	background: rgba(255, 255, 255, 0.06);
}

.mr-pillar-roadmap__row strong {
	font-family: Charter, "Bitstream Charter", Georgia, serif;
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	line-height: 1.28;
}

.mr-pillar-roadmap__row span {
	font-size: 1.35rem;
}

.mr-pillar-roadmap__row em {
	font-family: Charter, "Bitstream Charter", Georgia, serif;
	font-size: clamp(1.25rem, 3vw, 1.75rem);
	font-style: normal;
	line-height: 1.45;
}

.mr-category-circles {
	grid-template-columns: repeat(8, minmax(96px, 1fr));
}

.mr-category-circle__icon {
	background: #fff;
	box-shadow: 5px 5px 0 rgba(23, 107, 100, 0.15);
	color: var(--mr-icon-accent, var(--mr-teal));
}

.mr-category-circle__icon:empty::after {
	content: attr(data-initial);
	font-family: Charter, "Bitstream Charter", Georgia, serif;
	font-size: 2rem;
	font-weight: 900;
}

.mr-category-feature-card .mr-recipe-card__image {
	background: #eef7fb;
}

.mr-single-shell {
	background: #fff;
}

.mr-single-layout {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	grid-template-columns: minmax(0, 760px) minmax(300px, 340px);
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(2rem, 5vw, 4rem) 1rem;
}

.mr-single-article {
	min-width: 0;
}

.mr-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	font-size: 0.95rem;
	margin-bottom: 1.5rem;
}

.mr-breadcrumbs a {
	color: #111;
	text-decoration: underline;
}

.mr-single-title {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: clamp(2.6rem, 6vw, 4.4rem);
	font-weight: 850;
	line-height: 1.05;
	margin: 0 0 1rem;
}

.mr-action-row,
.mr-share-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin: 1.3rem 0;
}

.mr-action-pill,
.mr-share-button {
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(51, 37, 32, 0.14);
	color: #111;
	display: inline-flex;
	font-weight: 850;
	justify-content: center;
	min-width: 150px;
	padding: 0.7rem 1.25rem;
}

.mr-action-pill--pink,
.mr-share-button--pink {
	background: #f3d3cb;
}

.mr-action-pill--blue,
.mr-share-button--blue {
	background: #dbeaf0;
}

.mr-action-pill--tan,
.mr-share-button--tan {
	background: #eadcc9;
}

.mr-single-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1rem;
	margin: 1.4rem 0;
}

.mr-single-meta img {
	border-radius: 50%;
}

.mr-dot-divider {
	background-image: radial-gradient(circle, #d87b69 2px, transparent 2px);
	background-size: 14px 6px;
	height: 8px;
	margin: 1.8rem 0 2.4rem;
}

.mr-single-featured img {
	border-radius: 8px;
	width: 100%;
}

.mr-entry-content {
	font-size: 1.14rem;
	line-height: 1.8;
}

.mr-entry-content > p:first-of-type {
	font-size: 1.28rem;
	font-style: italic;
}

.mr-save-recipe {
	background:
		repeating-linear-gradient(45deg, #f7f7f7 0 3px, transparent 3px 8px),
		#fff;
	margin: 3rem 0;
	padding: 1.2rem;
}

.mr-save-recipe__inner {
	background: #fff;
	padding: clamp(1.25rem, 4vw, 2.6rem);
}

.mr-save-recipe__icon {
	align-items: center;
	background: #111;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 0.8rem;
	font-weight: 900;
	height: 46px;
	justify-content: center;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
	width: 46px;
}

.mr-save-recipe h2 {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: clamp(2rem, 5vw, 3.2rem);
	line-height: 1.08;
	margin: 0.2rem 0 0.75rem;
}

.mr-save-recipe .mr-persona-optin {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.mr-related-panel {
	border: 1px solid var(--mr-line);
	margin: 3rem 0;
	padding: 1.2rem;
}

.mr-related-panel h2 {
	background: #f4f2f1;
	display: inline-block;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 1.35rem;
	margin: -1.2rem 0 1.5rem -1.2rem;
	padding: 1rem 1.5rem;
}

.mr-related-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mr-related-card {
	color: #111;
	display: grid;
	gap: 0.75rem;
}

.mr-related-card__image {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: #eef7fb;
	display: grid;
	justify-items: center;
	overflow: hidden;
}

.mr-related-card__image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.mr-related-card svg {
	height: 70px;
	width: 70px;
}

.mr-comments-panel {
	background: #f5f3f1;
	border-radius: 24px;
	margin: 3rem 0 0;
	padding: clamp(1.2rem, 4vw, 2.8rem);
}

.mr-comments-panel h2,
.mr-comments-panel h3,
.comment-reply-title {
	border-bottom: 1px solid #111;
	display: inline-block;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: clamp(2rem, 5vw, 3.2rem);
	font-weight: 850;
	margin-top: 0;
}

.mr-comments-panel textarea,
.mr-comments-panel input[type="text"],
.mr-comments-panel input[type="email"],
.mr-comments-panel input[type="url"] {
	border: 1px solid #111;
	border-radius: 6px;
}

.mr-author-sidebar {
	display: grid;
	gap: 1.4rem;
	align-self: start;
}

.mr-author-card {
	background: #f4f2f1;
	padding: 2rem;
	text-align: center;
}

.mr-author-card__photo {
	background:
		linear-gradient(135deg, rgba(244, 213, 207, 0.85), rgba(221, 236, 245, 0.9)),
		#fff;
	border: 8px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--mr-line);
	height: 160px;
	margin: -4rem auto 1.4rem;
	width: 160px;
}

.mr-author-card h2 {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 2rem;
}

.mr-floating-socials {
	display: grid;
	gap: 0.45rem;
	position: fixed;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 900;
}

.mr-floating-socials a {
	align-items: center;
	background: #fff;
	border: 2px solid var(--mr-teal);
	border-radius: 50%;
	box-shadow: 0 8px 18px rgba(51, 37, 32, 0.16);
	color: var(--mr-teal-dark);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 950;
	height: 44px;
	justify-content: center;
	text-transform: uppercase;
	width: 44px;
}

.mr-floating-socials svg {
	fill: currentColor;
	height: 23px;
	width: 23px;
}

.mr-floating-socials .mr-social-pinterest {
	border-color: #bd081c;
	color: #bd081c;
}

.mr-floating-socials .mr-social-facebook {
	border-color: #1877f2;
	color: #1877f2;
}

.mr-floating-socials .mr-social-instagram {
	border-color: #c13584;
	color: #c13584;
}

.mr-floating-socials .mr-social-tiktok {
	border-color: #111;
	color: #111;
}

.mr-floating-socials a:last-child {
	background: var(--mr-teal);
	color: #fff;
	font-size: 0.7rem;
}

.mr-floating-socials a:hover,
.mr-floating-socials a:focus-visible {
	background: var(--mr-butter);
	color: var(--mr-ink);
}

@media (max-width: 980px) {
	.mr-single-layout,
	.mr-pillar-roadmap__row {
		grid-template-columns: 1fr;
	}

	.mr-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.mr-brand-logo img {
		max-width: 240px;
		width: 240px;
	}

	.mr-top-strip .wp-block-group {
		align-items: center;
		flex-direction: column;
		gap: 0.25rem;
	}

	.mr-top-strip__image {
		height: 46px;
		width: 62px;
	}

	.mr-floating-socials {
		bottom: 0.8rem;
		display: flex;
		left: 50%;
		right: auto;
		top: auto;
		transform: translateX(-50%);
	}

	.mr-floating-socials a {
		height: 40px;
		width: 40px;
	}

	.mr-action-pill,
	.mr-share-button {
		width: 100%;
	}

	.mr-related-grid {
		grid-template-columns: 1fr;
	}
}

/* Mobile polish layer: keeps the WordPress upload theme usable on real phones. */
@media (max-width: 900px) {
	.mr-site-header {
		position: relative;
	}

	.mr-top-strip {
		font-size: 0.92rem;
		padding-bottom: 1rem;
	}

	.mr-top-strip .wp-block-group {
		gap: 0.55rem;
		max-width: 520px;
		text-align: left;
	}

	.mr-top-strip p {
		line-height: 1.35;
	}

	.mr-classic-header-main {
		align-items: center;
		display: grid;
		gap: 0.75rem;
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 0.95rem 1rem;
	}

	.mr-brand {
		min-width: 0;
	}

	.mr-brand-logo img {
		max-height: 70px;
		max-width: min(270px, 68vw);
		width: 270px;
	}

	.mr-mobile-menu-toggle {
		background: #fff;
		border-color: var(--mr-teal);
		box-shadow: 0 6px 14px rgba(51, 37, 32, 0.1);
		color: var(--mr-teal-dark);
		display: inline-flex;
		justify-self: end;
		padding: 0.62rem 0.9rem;
	}

	.mr-mobile-menu-toggle:hover,
	.mr-mobile-menu-toggle:focus-visible {
		background: var(--mr-sage);
		border-color: var(--mr-teal-dark);
		color: var(--mr-teal-dark);
	}

	.mr-classic-nav {
		grid-column: 1 / -1;
		width: 100%;
	}

	.mr-js .mr-classic-nav {
		display: none;
	}

	.mr-js .mr-classic-nav.is-open {
		display: block;
	}

	.mr-classic-nav__list {
		align-items: stretch;
		display: grid;
		gap: 0.5rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mr-classic-nav__list a {
		align-items: center;
		background: #fff6f0;
		border: 1px solid var(--mr-line);
		border-radius: 999px;
		display: flex;
		font-size: 0.95rem;
		justify-content: center;
		line-height: 1.15;
		min-height: 44px;
		padding: 0.62rem 0.7rem;
		text-align: center;
	}

	.mr-classic-nav__list a:hover,
	.mr-classic-nav__list a:focus-visible {
		background: var(--mr-sage);
		border-color: var(--mr-teal);
	}

	.mr-classic-nav__list .sub-menu,
	.mr-classic-nav__list .children {
		background: transparent;
		border: 0;
		box-shadow: none;
		display: grid;
		gap: 0.4rem;
		grid-column: 1 / -1;
		margin: 0;
		min-width: 0;
		padding: 0;
		position: static;
	}

	.mr-header-search {
		grid-column: 1 / -1;
		max-width: none;
		min-width: 0;
		width: 100%;
	}

	.mr-pillar-menu ul {
		justify-content: flex-start;
		overflow-x: auto;
		padding: 0.75rem 1rem;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.mr-pillar-menu li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.mr-pillar-menu a {
		font-size: 0.92rem;
		padding: 0.55rem 0.78rem;
		white-space: nowrap;
	}

	.mr-section {
		padding: 2.2rem 0;
	}

	.mr-section-heading {
		align-items: start;
		flex-direction: column;
		gap: 0.65rem;
	}

	.mr-section-heading h2 {
		font-size: clamp(1.85rem, 8vw, 2.55rem);
		line-height: 1.04;
	}

	.mr-section-heading p {
		font-size: 1rem;
		line-height: 1.55;
	}

	.mr-hero__inner {
		gap: 1.35rem;
		padding: 1.8rem 1rem 2.2rem;
	}

	.mr-hero h1 {
		font-size: clamp(2.2rem, 10vw, 3.35rem);
		line-height: 1.02;
		max-width: none;
	}

	.mr-hero__lede {
		font-size: 1.05rem;
		line-height: 1.65;
	}

	.mr-hero__visual {
		box-shadow: 7px 7px 0 var(--mr-butter);
		min-height: min(72vw, 320px);
		width: calc(100% - 7px);
	}

	.mr-category-circles {
		gap: 0.85rem;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		padding: 0;
	}

	.mr-category-circle {
		gap: 0.45rem;
	}

	.mr-category-circle__icon {
		padding: 0.75rem;
		width: min(100%, 88px);
	}

	.mr-category-circle svg {
		max-height: 44px;
	}

	.mr-category-circle__label {
		font-size: 0.86rem;
		line-height: 1.18;
	}

	.mr-recipe-grid {
		gap: 1rem;
	}

	.mr-recipe-card__body {
		padding: 0.95rem;
	}

	.mr-recipe-card h3,
	.wp-block-post-title {
		font-size: 1.2rem;
	}

	.mr-category-feature-card .mr-recipe-card__image {
		min-height: 180px;
	}

	.mr-category-feature-card__icon {
		height: 92px;
		width: 92px;
	}

	.mr-category-feature-card__icon svg {
		height: 56px;
		width: 56px;
	}

	.mr-author-block {
		text-align: center;
	}

	.mr-author-block__photo {
		margin: 0 auto;
		max-width: 210px;
		width: 68vw;
	}

	.mr-persona-optin {
		box-shadow: 5px 5px 0 rgba(23, 107, 100, 0.14);
		padding: 1rem;
	}

	.mr-persona-choices {
		display: grid;
		grid-template-columns: 1fr;
	}

	.mr-persona-choices span {
		justify-content: center;
		width: 100%;
	}

	.mr-optin-fields,
	.mr-recipe-meta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	body {
		padding-bottom: 4.25rem;
	}

	.mr-top-strip .wp-block-group {
		align-items: center;
		flex-direction: row;
		justify-content: flex-start;
	}

	.mr-top-strip p span {
		display: block;
	}

	.mr-top-strip__image {
		flex: 0 0 auto;
		height: 44px;
		width: 58px;
	}

	.mr-brand-logo img {
		max-width: min(225px, 62vw);
		width: 225px;
	}

	.mr-mobile-menu-toggle span {
		display: none;
	}

	.mr-mobile-menu-toggle {
		height: 44px;
		justify-content: center;
		padding: 0;
		width: 44px;
	}

	.mr-classic-nav__list {
		grid-template-columns: 1fr;
	}

	.mr-pillar-menu ul {
		gap: 0.5rem;
	}

	.mr-pillar-menu svg,
	.mr-pillar-menu img {
		height: 22px;
		width: 22px;
	}

	.mr-hero__copy {
		text-align: left;
	}

	.mr-hero h1 {
		font-size: clamp(2rem, 11vw, 2.75rem);
	}

	.mr-hero__visual {
		min-height: 240px;
	}

	.mr-category-circles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mr-category-circle__icon {
		width: 82px;
	}

	.mr-recipe-grid {
		grid-template-columns: 1fr;
	}

	.mr-recipe-card__image,
	.wp-block-post-featured-image {
		aspect-ratio: 16 / 11;
	}

	.mr-floating-socials {
		background: rgba(255, 255, 255, 0.94);
		border: 1px solid var(--mr-line);
		border-radius: 999px;
		box-shadow: 0 8px 22px rgba(51, 37, 32, 0.16);
		gap: 0.28rem;
		padding: 0.34rem;
	}

	.mr-floating-socials a {
		box-shadow: none;
		height: 38px;
		width: 38px;
	}

	.mr-footer {
		padding-bottom: 4.25rem;
	}
}
