/* mf-css-bundle 12 files, key ae2ba529a58650f3b2de */

/* --- mealfan-v3-mfv3-defensive-css.css --- */
/* Hide anything that looks like a header/nav/footer not from V3.
   V3's chrome is .mf-header / .mf-footer / .mf-deal-bar / .mf-nav. */
body.mf-v3 > header:not(.mf-header):not(.mf-deal-bar),
body.mf-v3 > footer:not(.mf-footer),
body.mf-v3 > nav:not(.mf-nav),
body.mf-v3 > .header,
body.mf-v3 > #header,
body.mf-v3 > .site-header,
body.mf-v3 > #site-header,
body.mf-v3 > #masthead,
body.mf-v3 > .mobile-menu,
body.mf-v3 > #mobMenu,
body.mf-v3 > .footer:not(.mf-footer),
body.mf-v3 > #footer,
body.mf-v3 > #colophon,
body.mf-v3 .mf-main > header:not(.mf-header),
body.mf-v3 .mf-main > .header,
body.mf-v3 .mf-main > #header,
body.mf-v3 .mf-main > .site-header,
body.mf-v3 .mf-main > #masthead,
body.mf-v3 .mf-main > .mobile-menu,
body.mf-v3 .mf-main > #mobMenu,
body.mf-v3 .mf-main > footer:not(.mf-footer),
/* Any nested doctype/html/body that the parent theme's header.php tried to inject. */
body.mf-v3 body,
body.mf-v3 html { display: none !important; }


/* --- mf-meal-product-premium-20260815.css --- */
body.single-meal {
	--mfp-ink: #1a2332;
	--mfp-muted: #657084;
	--mfp-coral: #b45736;
	--mfp-coral-dark: #963f29;
	--mfp-paper: #fbfaf7;
	--mfp-line: #ded8cf;
	--mfp-soft: #f1ede6;
	background: #f8f7f3;
}
@media (min-width: 901px) {
	body.single-meal .mf-header .mf-logo,
	body.single-meal .mf-header .mf-nav > a,
	body.single-meal .mf-header .mf-nav > .mf-nav-item > a {
		align-items: center;
		display: inline-flex !important;
		min-height: 44px;
	}
}
body.single-meal .mfm-article {
	box-sizing: border-box;
	max-width: 1220px !important;
	padding: clamp(32px, 4vw, 56px) clamp(20px, 3vw, 38px) 88px !important;
}
body.single-meal .mfm-content,
body.single-meal .mfm-meal {
	color: var(--mfp-ink);
	font-family: "DM Sans", Arial, sans-serif;
}
body.single-meal .mfm-content > div:first-child,
body.single-meal .mf-premium-hero {
	align-items: start !important;
	display: grid !important;
	gap: clamp(40px, 5.5vw, 76px) !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(370px, .92fr) !important;
	margin: 0 0 clamp(42px, 5vw, 60px) !important;
}
body.single-meal .mf-premium-media,
body.single-meal .mf-premium-panel {
	flex: none !important;
	min-width: 0 !important;
}
body.single-meal .mf-premium-media {
	align-items: center;
	background: #fff;
	border: 1px solid #ebe6df;
	border-radius: 26px;
	display: grid;
	overflow: hidden;
}
body.single-meal .mf-premium-media img {
	border-radius: 0 !important;
	display: block;
	height: auto !important;
	margin: 0;
	width: 100% !important;
}
body.single-meal .mf-premium-media {
	display: block !important;
	grid-column: 1;
	grid-row: 1;
	position: relative;
	width: 100%;
}
body.single-meal .mf-premium-gallery {
	aspect-ratio: 800 / 573;
	background: #fff;
	isolation: isolate;
	position: relative;
	width: 100%;
}
body.single-meal .mf-premium-image-reviews {
	background: #fff;
	border-top: 1px solid var(--mfp-line);
	box-sizing: border-box;
	margin: 0 !important;
	padding: 26px clamp(20px, 4vw, 30px) 28px;
	width: 100%;
}
body.single-meal .mf-premium-image-reviews > h2 {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(25px, 3vw, 32px) !important;
	font-weight: 600 !important;
	letter-spacing: -.02em;
	line-height: 1.08;
	margin: 0 0 18px !important;
}
body.single-meal .mf-premium-image-reviews > .mf-premium-image-review-card,
body.single-meal .mf-premium-image-reviews details .mf-premium-image-review-card {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid #ebe6df !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 18px 0 !important;
}
body.single-meal .mf-premium-image-reviews .mf-premium-image-review-card img {
	height: auto !important;
	max-width: 100% !important;
}
body.single-meal .mf-premium-image-reviews .mf-premium-more-reviews {
	border-top: 1px solid #ebe6df;
	margin: 0;
	padding: 0;
}
body.single-meal .mf-premium-image-reviews .mf-premium-more-reviews > summary {
	align-items: center;
	color: var(--mfp-ink);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: flex-start;
	list-style: none;
	min-height: 52px;
}
body.single-meal .mf-premium-image-reviews .mf-premium-more-reviews > summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-image-reviews .mf-premium-more-reviews > summary::after {
	color: var(--mfp-coral-dark);
	content: "+";
	font-size: 21px;
	font-weight: 500;
}
body.single-meal .mf-premium-image-reviews .mf-premium-more-reviews[open] > summary::after { content: "×"; }
body.single-meal .mf-premium-image-review-action {
	align-items: center;
	border-top: 1px solid #ebe6df;
	color: var(--mfp-ink) !important;
	display: flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: space-between;
	min-height: 52px;
	text-decoration: underline !important;
	text-decoration-color: var(--mfp-coral) !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 4px;
}
body.single-meal .mf-premium-gallery .mf-premium-slide {
	height: 100% !important;
	inset: 0;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	transition: opacity .42s ease;
	width: 100% !important;
}
body.single-meal .mf-premium-gallery .mf-premium-slide.is-active {
	opacity: 1;
	z-index: 1;
}
body.single-meal .mf-premium-gallery-label {
	background: rgba(255, 255, 255, .9);
	border: 1px solid rgba(26, 35, 50, .1);
	border-radius: 999px;
	color: #394456;
	font-size: 11px;
	font-weight: 800;
	left: 16px;
	letter-spacing: .05em;
	padding: 7px 10px;
	position: absolute;
	text-transform: uppercase;
	top: 16px;
	z-index: 3;
}
body.single-meal .mf-premium-gallery-actions {
	align-items: center;
	bottom: 16px;
	display: flex;
	gap: 8px;
	position: absolute;
	right: 16px;
	z-index: 3;
}
body.single-meal .mf-premium-gallery-count {
	background: rgba(26, 35, 50, .86);
	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	min-width: 48px;
	padding: 8px 10px;
	text-align: center;
}
body.single-meal .mf-premium-gallery-button {
	align-items: center;
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(26, 35, 50, .13);
	border-radius: 50%;
	color: var(--mfp-ink);
	cursor: pointer;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}
body.single-meal .mf-premium-gallery-button:hover,
body.single-meal .mf-premium-gallery-button:focus-visible {
	background: #fff;
	outline: 3px solid rgba(180, 87, 54, .32);
	outline-offset: 2px;
}
body.single-meal .mf-premium-gallery-button svg {
	height: 18px;
	width: 18px;
}
body.single-meal .mf-premium-photo-hero-action {
	align-items: center;
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(26, 35, 50, .13);
	border-radius: 999px;
	bottom: 16px;
	color: var(--mfp-ink);
	cursor: pointer;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	gap: 7px;
	left: 16px;
	min-height: 44px;
	padding: 0 14px;
	position: absolute;
	z-index: 3;
}
body.single-meal .mf-premium-photo-hero-action:hover,
body.single-meal .mf-premium-photo-hero-action:focus-visible {
	background: #fff;
	outline: 3px solid rgba(180, 87, 54, .32);
	outline-offset: 2px;
}
body.single-meal .mf-premium-photo-hero-action svg {
	height: 17px;
	width: 17px;
}
body.single-meal .mf-premium-gallery-story {
	background: linear-gradient(180deg, transparent, rgba(16, 22, 33, .9));
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	display: none;
	left: 0;
	padding: 58px 118px 18px 18px;
	position: absolute;
	width: 100%;
	z-index: 2;
}
body.single-meal .mf-premium-gallery-story.is-visible { display: block; }
body.single-meal .mf-premium-gallery-story strong {
	display: block;
	font-size: 13px;
	font-weight: 850;
	margin-bottom: 3px;
}
body.single-meal .mf-premium-gallery-story span {
	display: block;
	font-size: 12px;
	line-height: 1.4;
	opacity: .92;
}
body.single-meal .mf-premium-community-prompt {
	background: #1b2331;
	border-radius: 24px;
	display: grid;
	grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
	margin-bottom: 52px !important;
	overflow: hidden;
}
body.single-meal .mf-premium-community-visual {
	min-height: 248px;
	position: relative;
}
body.single-meal .mf-premium-community-visual::after {
	background: linear-gradient(90deg, transparent 62%, #1b2331 100%);
	content: "";
	inset: 0;
	position: absolute;
}
body.single-meal .mf-premium-community-visual img {
	height: 100% !important;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100% !important;
}
body.single-meal .mf-premium-community-copy {
	align-self: center;
	box-sizing: border-box;
	color: #fff;
	padding: clamp(28px, 4vw, 48px);
}
body.single-meal .mf-premium-community-kicker {
	color: #efad8f;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .1em;
	margin: 0 0 10px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-community-copy h2 {
	color: #fff;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.02;
	margin: 0 0 12px;
}
body.single-meal .mf-premium-community-copy > p:not(.mf-premium-community-kicker) {
	color: #dce0e7;
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
	max-width: 530px;
}
body.single-meal .mf-premium-community-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}
body.single-meal .mf-premium-community-actions button,
body.single-meal .mf-premium-community-actions a {
	align-items: center;
	border-radius: 999px;
	box-sizing: border-box;
	display: inline-flex;
	font-size: 13px;
	font-weight: 850;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	text-decoration: none !important;
}
body.single-meal .mf-premium-community-photo {
	background: #d06e48;
	border: 1px solid #d06e48;
	color: #fff;
	cursor: pointer;
}
body.single-meal .mf-premium-community-review {
	background: transparent;
	border: 1px solid rgba(255,255,255,.42);
	color: #fff !important;
}
body.single-meal .mf-premium-panel {
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 0;
	grid-column: 2;
	grid-row: 1;
}
body.single-meal .mf-premium-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 20px;
}
body.single-meal .mf-premium-meta > *,
body.single-meal .mf-premium-meta span {
	box-sizing: border-box;
	margin: 0 !important;
}
body.single-meal .mf-premium-meta > div,
body.single-meal .mf-premium-meta span {
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	letter-spacing: .035em;
	line-height: 1.2 !important;
	padding: 8px 11px !important;
}
body.single-meal .mf-premium-title,
body.single-meal .mf-premium-title .cu-meal-header {
	margin: 0;
}
body.single-meal .mf-premium-title .mfm-h1,
body.single-meal .mf-premium-title .cu-meal-name {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif !important;
	font-size: clamp(40px, 4.4vw, 62px) !important;
	font-weight: 600 !important;
	letter-spacing: -.035em !important;
	line-height: .98 !important;
	margin: 0 !important;
	max-width: 13ch;
}
body.single-meal .mf-premium-title .cu-meal-subtitle {
	color: #394456;
	font-size: 17px;
	line-height: 1.5;
	margin: 14px 0 0;
}
body.single-meal .mf-premium-title .cu-chef-credit {
	color: var(--mfp-muted);
	font-size: 14px;
	margin: 8px 0 0;
}
body.single-meal .mf-premium-hero-rating {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--mfp-line) !important;
	border-radius: 0 !important;
	border-top: 1px solid var(--mfp-line) !important;
	box-shadow: none !important;
	display: grid;
	gap: 4px 12px;
	grid-template-columns: auto 1fr;
	margin: 24px 0 20px !important;
	padding: 14px 0 !important;
}
body.single-meal .mf-premium-rating-label {
	color: var(--mfp-ink) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	grid-column: 1 / -1;
	letter-spacing: .075em;
	text-transform: uppercase;
}
body.single-meal .mf-premium-rating-help {
	color: var(--mfp-muted) !important;
	display: block !important;
	font-size: 13px !important;
	grid-column: 1 / -1;
	line-height: 1.45 !important;
	margin: 0 0 3px !important;
}
body.single-meal .mf-premium-hero-rating .mf-ugc-summary {
	align-items: center;
	color: var(--mfp-ink) !important;
	display: flex;
	flex-wrap: wrap;
	font-size: 13px !important;
	font-weight: 750;
	gap: 7px;
	grid-column: 1 / -1;
	margin: 2px 0 4px !important;
}
body.single-meal .mf-premium-hero-rating .mf-ugc-tap {
	align-items: center;
	display: flex !important;
	gap: 0 !important;
}
body.single-meal .mf-premium-hero-rating .mf-tap {
	align-items: center;
	border-radius: 50%;
	display: inline-flex !important;
	height: 44px;
	justify-content: center;
	position: relative;
	width: 44px;
}
body.single-meal .mf-premium-hero-rating .mf-tap::after {
	background: var(--mfp-ink);
	border-radius: 6px;
	bottom: calc(100% + 6px);
	color: #fff;
	content: attr(data-mf-rating-label);
	font-size: 11px;
	font-weight: 750;
	left: 50%;
	opacity: 0;
	padding: 6px 8px;
	pointer-events: none;
	position: absolute;
	transform: translate(-50%, 4px);
	transition: opacity .16s ease, transform .16s ease;
	white-space: nowrap;
	z-index: 4;
}
body.single-meal .mf-premium-hero-rating .mf-tap:hover::after,
body.single-meal .mf-premium-hero-rating .mf-tap:focus-visible::after {
	opacity: 1;
	transform: translate(-50%, 0);
}
body.single-meal .mf-premium-hero-rating .mf-tap svg {
	fill: transparent !important;
	height: 29px;
	stroke: #a84d30;
	stroke-linejoin: round;
	stroke-width: 1.3px;
	transition: fill .14s ease, stroke .14s ease, transform .14s ease;
	width: 29px;
}
body.single-meal .mf-premium-hero-rating .mf-tap.is-preview svg,
body.single-meal .mf-premium-hero-rating .mf-tap.is-selected svg,
body.single-meal .mf-premium-hero-rating .mf-tap:hover svg {
	fill: var(--mfp-coral) !important;
	stroke: var(--mfp-coral);
}
body.single-meal .mf-premium-hero-rating .mf-tap:focus-visible {
	outline: 3px solid rgba(180, 87, 54, .32);
	outline-offset: 1px;
}
body.single-meal .mf-premium-review-link {
	align-items: center !important;
	align-self: center;
	color: var(--mfp-ink) !important;
	display: inline-flex !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	justify-self: start;
	margin: 0 !important;
	min-height: 44px;
	text-decoration: underline !important;
	text-decoration-color: var(--mfp-coral) !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 4px;
}
body.single-meal .mf-premium-hero-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	grid-column: 1 / -1;
}
body.single-meal .mf-premium-share-link {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--mfp-muted);
	cursor: pointer;
	display: inline-flex;
	font: 750 14px/1 "DM Sans", Arial, sans-serif;
	gap: 7px;
	min-height: 44px;
	padding: 0;
	text-decoration: underline;
	text-decoration-color: #c8bdb3;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
body.single-meal .mf-premium-share-link:hover,
body.single-meal .mf-premium-share-link:focus-visible {
	color: var(--mfp-ink);
	outline: 0;
	text-decoration-color: var(--mfp-coral);
}
body.single-meal .mf-premium-hero-rating .mf-ugc-msg {
	grid-column: 1 / -1;
	margin: 0 !important;
	min-height: 0 !important;
}
body.single-meal .mf-premium-overview {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 18px;
	box-shadow: 0 12px 34px rgba(26,35,50,.055);
	margin: 0 0 16px;
	overflow: hidden;
}
body.single-meal .mf-premium-overview-head {
	align-items: end;
	background: #1b2331;
	color: #fff;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	padding: 16px 17px;
}
body.single-meal .mf-premium-overview-head strong {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.05;
}
body.single-meal .mf-premium-overview-head span {
	color: #cfd5df;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.35;
	text-align: right;
}
body.single-meal .mf-premium-facts {
	display: grid !important;
	gap: 1px;
	grid-template-columns: repeat(var(--mfp-fact-count, 2), minmax(0, 1fr));
	margin: 0 !important;
	padding: 0 !important;
}
body.single-meal .mf-premium-overview-fact {
	background: #fbf8f3;
	border-bottom: 1px solid var(--mfp-line);
	padding: 15px 17px 16px;
}
body.single-meal .mf-premium-overview-fact + .mf-premium-overview-fact { border-left: 1px solid var(--mfp-line); }
body.single-meal .mf-premium-overview-fact-label {
	color: var(--mfp-coral-dark);
	display: block;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .075em;
	line-height: 1.25;
	text-transform: uppercase;
}
body.single-meal .mf-premium-overview-fact-value {
	color: var(--mfp-ink);
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
	margin-top: 7px;
}
body.single-meal .mf-premium-overview-fact-detail {
	color: #737b89;
	display: block;
	font-size: 10px;
	font-weight: 650;
	line-height: 1.35;
	margin-top: 5px;
}
body.single-meal .mf-premium-nutrition {
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	display: grid !important;
	font-family: "DM Sans", Arial, sans-serif !important;
	grid-template-columns: repeat(var(--mfp-macro-count, 4), minmax(0, 1fr));
	margin: 0 !important;
	overflow: hidden;
	padding: 0 !important;
}
body.single-meal .mf-premium-nutrition-title,
body.single-meal .mf-premium-nutrition-meta,
body.single-meal .mf-premium-nutrition-note {
	grid-column: 1 / -1;
}
body.single-meal .mf-premium-nutrition-title {
	align-items: center;
	background: #fbf8f3 !important;
	border-bottom: 1px solid var(--mfp-line) !important;
	color: var(--mfp-muted) !important;
	display: flex !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	justify-content: space-between;
	letter-spacing: .08em !important;
	padding: 12px 14px !important;
	text-transform: uppercase;
}
body.single-meal .mf-premium-nutrition-title .mf-premium-snapshot-source {
	color: #77716b;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}
body.single-meal .mf-premium-nutrition-meta {
	border: 0 !important;
	color: var(--mfp-muted) !important;
	font-size: 11px !important;
	padding: 8px 14px 0 !important;
}
body.single-meal .mf-premium-macro {
	border: 0 !important;
	border-right: 1px solid #eee9e2 !important;
	display: block !important;
	padding: 13px 12px !important;
}
body.single-meal .mf-premium-macro.mf-premium-macro-last { border-right: 0 !important; }
body.single-meal .mf-premium-macro span {
	display: block;
	padding: 0 !important;
}
body.single-meal .mf-premium-macro span:first-child {
	align-items: flex-end;
	color: var(--mfp-muted);
	display: flex;
	font-size: 11px !important;
	font-weight: 650 !important;
	line-height: 1.25;
	min-height: 28px;
}
body.single-meal .mf-premium-macro span:last-child {
	color: var(--mfp-ink);
	font-size: 23px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	margin-top: 3px;
}
body.single-meal .mf-premium-nutrition.is-single-macro .mf-premium-macro {
	padding: 17px !important;
}
body.single-meal .mf-premium-nutrition.is-single-macro .mf-premium-macro span:last-child {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 38px !important;
	font-weight: 600 !important;
}
body.single-meal .mf-premium-stat-insights {
	background: #fbf8f3;
	border-top: 1px solid var(--mfp-line);
	display: grid;
	gap: 1px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.single-meal .mf-premium-stat-insight {
	background: #fbf8f3;
	padding: 12px 14px 13px;
}
body.single-meal .mf-premium-stat-insight + .mf-premium-stat-insight {
	border-left: 1px solid var(--mfp-line);
}
body.single-meal .mf-premium-stat-insight-label {
	color: var(--mfp-muted);
	display: block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 1.3;
	text-transform: uppercase;
}
body.single-meal .mf-premium-stat-insight strong {
	color: var(--mfp-ink);
	display: block;
	font-size: 16px;
	line-height: 1.25;
	margin-top: 4px;
}
body.single-meal .mf-premium-stat-insight-detail {
	color: #77716b;
	display: block;
	font-size: 10px;
	line-height: 1.35;
	margin-top: 2px;
}
body.single-meal .mf-premium-stat-meter {
	background: #e4ddd4;
	border-radius: 999px;
	display: block;
	height: 4px;
	margin-top: 9px;
	overflow: hidden;
}
body.single-meal .mf-premium-stat-meter span {
	background: var(--mfp-coral);
	border-radius: inherit;
	display: block;
	height: 100%;
}
body.single-meal .mf-premium-nutrition-note {
	border: 0 !important;
	border-top: 1px solid var(--mfp-line) !important;
	color: #77716b !important;
	font-size: 10px !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	padding: 9px 14px !important;
}
body.single-meal .mf-premium-provider-cta {
	align-items: center;
	background: var(--mfp-ink) !important;
	border-radius: 12px !important;
	color: #fff !important;
	display: flex !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	justify-content: center;
	min-height: 52px;
	padding: 0 22px !important;
	text-decoration: none !important;
}
body.single-meal .mf-premium-provider-cta:hover,
body.single-meal .mf-premium-provider-cta:focus-visible {
	background: #2b394d !important;
	outline: 3px solid rgba(180, 87, 54, .32);
	outline-offset: 2px;
}
body.single-meal .mf-premium-removed { display: none !important; }
body.single-meal .mf-premium-crumbs {
	display: inline-flex;
	margin: 0 0 20px !important;
}
body.single-meal .mf-premium-crumbs .mf-premium-back-link {
	align-items: center;
	background: rgba(255,255,255,.72);
	border: 1px solid #ddd6cc;
	border-radius: 999px;
	color: var(--mfp-ink) !important;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 8px;
	letter-spacing: .015em;
	min-height: 44px;
	padding: 0 14px;
	text-decoration: none !important;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
body.single-meal .mf-premium-crumbs .mf-premium-back-link:hover,
body.single-meal .mf-premium-crumbs .mf-premium-back-link:focus-visible {
	background: #fff;
	border-color: var(--mfp-coral);
	outline: 3px solid rgba(180,87,54,.18);
	outline-offset: 2px;
	transform: translateX(-2px);
}
body.single-meal .mf-premium-back-icon {
	display: block;
	height: 14px;
	width: 14px;
}
body.single-meal .mf-premium-flow {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 980px !important;
}
body.single-meal .mf-premium-wide {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 980px !important;
	width: 100%;
}
body.single-meal .mf-premium-section-title {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.05;
	margin: 0 auto 24px;
	max-width: 980px;
}
body.single-meal .mf-premium-prepared {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 24px;
	display: block;
	margin-bottom: 52px !important;
	overflow: hidden;
}
body.single-meal .mf-meal-rankings {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 24px;
	box-sizing: border-box;
	margin: 0 auto 52px;
	padding: clamp(28px, 5vw, 48px);
}
body.single-meal .mf-meal-ranking-kicker {
	color: var(--mfp-coral-dark);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .12em;
	margin: 0 0 12px;
	text-transform: uppercase;
}
body.single-meal .mf-meal-rankings h2 {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.05;
	margin: 0 0 14px;
}
body.single-meal .mf-meal-ranking-intro {
	color: #4d5767;
	font-size: 16px;
	line-height: 1.65;
	margin: 0 0 28px;
	max-width: 720px;
}
body.single-meal .mf-meal-ranking-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.single-meal .mf-meal-ranking-card {
	background: var(--mfp-paper);
	border: 1px solid #e8e1d8;
	border-radius: 16px;
	padding: 22px;
}
body.single-meal .mf-meal-ranking-card p { margin: 0; }
body.single-meal .mf-meal-ranking-card > p:last-of-type {
	color: var(--mfp-muted);
	font-size: 13px;
	line-height: 1.45;
	margin-top: 7px;
}
body.single-meal .mf-meal-ranking-label {
	color: var(--mfp-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.single-meal .mf-meal-ranking-number {
	color: var(--mfp-ink);
	font-size: 18px;
	line-height: 1.2;
	margin-top: 10px !important;
}
body.single-meal .mf-meal-ranking-number strong {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 600;
}
body.single-meal .mf-meal-ranking-card meter {
	appearance: none;
	background: #e7e1d8;
	border: 0;
	border-radius: 999px;
	display: block;
	height: 8px;
	margin-top: 16px;
	width: 100%;
}
body.single-meal .mf-meal-ranking-card meter::-webkit-meter-bar {
	background: #e7e1d8;
	border: 0;
	border-radius: 999px;
	height: 8px;
}
body.single-meal .mf-meal-ranking-card meter::-webkit-meter-optimum-value {
	background: var(--mfp-coral);
	border-radius: 999px;
}
body.single-meal .mf-meal-ranking-card meter::-moz-meter-bar {
	background: var(--mfp-coral);
	border-radius: 999px;
}
body.single-meal .mf-meal-ranking-note {
	color: #77716b;
	font-size: 11px;
	line-height: 1.5;
	margin: 18px 0 0;
}
body.single-meal .mf-premium-media .mf-meal-rankings.mf-premium-image-rankings {
	background: #fff;
	border: 0;
	border-top: 1px solid var(--mfp-line);
	border-radius: 0;
	margin: 0 !important;
	padding: 26px clamp(20px, 3vw, 28px) 28px;
	width: 100%;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-kicker {
	margin-bottom: 8px;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings h2 {
	font-size: clamp(27px, 3vw, 34px);
	margin-bottom: 10px;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-intro {
	font-size: 14px;
	line-height: 1.55;
	margin-bottom: 18px;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-grid {
	gap: 10px;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-card {
	border-radius: 12px;
	padding: 16px;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-number {
	font-size: 14px;
	margin-top: 7px !important;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-number strong {
	font-size: clamp(25px, 3vw, 32px);
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-card > p:last-of-type {
	font-size: 11px;
	margin-top: 5px;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-card meter {
	height: 6px;
	margin-top: 12px;
}
body.single-meal .mf-premium-media .mf-premium-image-rankings .mf-meal-ranking-note {
	margin-top: 14px;
}
body.single-meal .mf-premium-media .mf-premium-ranking-unavailable .mf-meal-ranking-intro {
	margin-bottom: 0;
	max-width: 48ch;
}
body.single-meal .mf-premium-ranking-share {
	align-items: center;
	background: transparent;
	border: 1px solid #cfc7bc;
	border-radius: 999px;
	color: var(--mfp-ink);
	cursor: pointer;
	display: inline-flex;
	font: 800 12px/1 "DM Sans", Arial, sans-serif;
	justify-content: center;
	margin-top: 16px;
	min-height: 44px;
	padding: 0 15px;
}
body.single-meal .mf-premium-ranking-share:hover,
body.single-meal .mf-premium-ranking-share:focus-visible {
	border-color: var(--mfp-coral);
	outline: 3px solid rgba(180, 87, 54, .24);
	outline-offset: 2px;
}
body.single-meal .mf-premium-ranking-trust {
	align-items: center;
	color: #5d665f;
	display: flex;
	font-size: 11px;
	font-weight: 700;
	gap: 8px;
	line-height: 1.45;
	margin: 16px 0 0;
}
body.single-meal .mf-premium-ranking-trust::before {
	background: #2f9458;
	border-radius: 999px;
	box-shadow: 0 0 0 4px rgba(47, 148, 88, .1);
	content: "";
	flex: 0 0 7px;
	height: 7px;
	width: 7px;
}
body.single-meal .mf-premium-share-options {
	border-top: 1px solid #e9e3da;
	margin-top: 18px;
	padding-top: 16px;
}
body.single-meal .mf-premium-share-label {
	color: var(--mfp-ink);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .02em;
	margin: 0 0 10px;
}
body.single-meal .mf-premium-share-actions {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.single-meal .mf-premium-share-action {
	align-items: center;
	background: #fff;
	border: 1px solid #cfc7bc;
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--mfp-ink) !important;
	cursor: pointer;
	display: inline-flex;
	font: 800 12px/1 "DM Sans", Arial, sans-serif;
	justify-content: center;
	margin: 0;
	min-height: 44px;
	padding: 0 14px;
	text-decoration: none !important;
}
body.single-meal .mf-premium-share-action:hover,
body.single-meal .mf-premium-share-action:focus-visible {
	background: #fff8f3;
	border-color: var(--mfp-coral);
	outline: 3px solid rgba(180, 87, 54, .2);
	outline-offset: 2px;
}
body.single-meal .mf-premium-editorial {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 24px;
	box-sizing: border-box;
	margin-bottom: 52px !important;
	overflow: hidden;
	padding: clamp(28px, 4.5vw, 46px);
}
body.single-meal .mf-premium-editorial-kicker,
body.single-meal .mf-premium-sources-kicker {
	color: var(--mfp-coral-dark);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .11em;
	margin: 0 0 10px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-editorial h2,
body.single-meal .mf-premium-sources h2 {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(31px, 4vw, 43px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.05;
	margin: 0;
}
body.single-meal .mf-premium-editorial-intro {
	color: var(--mfp-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 12px 0 26px;
	max-width: 68ch;
}
body.single-meal .mf-premium-editorial-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.single-meal .mf-premium-fit-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.single-meal .mf-premium-insight-card,
body.single-meal .mf-premium-fit-card {
	background: var(--mfp-paper);
	border: 1px solid #e8e1d8;
	border-radius: 16px;
	padding: 22px;
}
body.single-meal .mf-premium-insight-card.is-consideration {
	background: #fff8f2;
	border-color: #ecd3c2;
}
body.single-meal .mf-premium-insight-card.is-review {
	background: #1b2331;
	border-color: #1b2331;
}
body.single-meal .mf-premium-insight-card.is-review .mf-premium-insight-label,
body.single-meal .mf-premium-insight-card.is-review strong,
body.single-meal .mf-premium-insight-card.is-review p { color: #fff; }
body.single-meal .mf-premium-quick-stars {
	color: #f08a5b;
	font-size: 22px;
	letter-spacing: 3px;
	line-height: 1;
	margin: 12px 0 15px;
}
body.single-meal .mf-premium-quick-review {
	align-items: center;
	background: var(--mfp-coral);
	border: 1px solid var(--mfp-coral);
	border-radius: 999px;
	color: #fff !important;
	display: inline-flex;
	font-size: 13px;
	font-weight: 850;
	justify-content: center;
	min-height: 44px;
	padding: 0 17px;
	text-decoration: none !important;
}
body.single-meal .mf-premium-quick-review:hover,
body.single-meal .mf-premium-quick-review:focus-visible {
	background: #d25e32;
	outline: 3px solid rgba(240,138,91,.3);
	outline-offset: 2px;
}
body.single-meal .mf-premium-insight-label,
body.single-meal .mf-premium-fit-label {
	color: var(--mfp-coral-dark);
	display: block;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	margin-bottom: 9px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-insight-card strong,
body.single-meal .mf-premium-fit-card strong {
	color: var(--mfp-ink);
	display: block;
	font-size: 17px;
	line-height: 1.3;
	margin-bottom: 7px;
}
body.single-meal .mf-premium-insight-card p,
body.single-meal .mf-premium-fit-card p {
	color: #515b69;
	font-size: 14px;
	line-height: 1.6;
	margin: 0;
}
body.single-meal .mf-premium-source-alert {
	align-items: flex-start;
	background: #fff0e7;
	border: 1px solid #efc7b1;
	border-radius: 16px;
	display: grid;
	gap: 13px;
	grid-template-columns: 34px minmax(0, 1fr);
	margin-top: 16px;
	padding: 18px;
}
body.single-meal .mf-premium-source-alert-mark {
	align-items: center;
	background: var(--mfp-coral);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 18px;
	font-weight: 850;
	height: 34px;
	justify-content: center;
	width: 34px;
}
body.single-meal .mf-premium-source-alert strong {
	color: var(--mfp-ink);
	display: block;
	font-size: 15px;
	margin-bottom: 4px;
}
body.single-meal .mf-premium-source-alert p {
	color: #654b3e;
	font-size: 13px;
	line-height: 1.55;
	margin: 0;
}
body.single-meal .mf-premium-fit {
	border-top: 1px solid #e9e3da;
	margin-top: 28px;
	padding-top: 26px;
}
body.single-meal .mf-premium-fit h3 {
	color: var(--mfp-ink);
	font-size: 21px;
	font-weight: 800;
	margin: 0 0 15px;
}
body.single-meal .mf-premium-fit-card.is-fit .mf-premium-fit-label { color: #267947; }
body.single-meal .mf-premium-fit-card.is-skip .mf-premium-fit-label { color: #a04431; }
body.single-meal .mf-premium-sources {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 20px;
	box-sizing: border-box;
	margin-bottom: 42px !important;
	padding: clamp(24px, 4vw, 36px);
}
body.single-meal .mf-premium-sources h2 { font-size: clamp(27px, 3.5vw, 36px); }
body.single-meal .mf-premium-sources-intro {
	color: var(--mfp-muted);
	font-size: 14px;
	line-height: 1.6;
	margin: 10px 0 18px;
}
body.single-meal .mf-premium-source-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
body.single-meal .mf-premium-source-link {
	align-items: center;
	border: 1px solid #d5cec4;
	border-radius: 999px;
	color: var(--mfp-ink) !important;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	min-height: 44px;
	padding: 0 15px;
	text-decoration: none !important;
}
body.single-meal .mf-premium-source-link:hover,
body.single-meal .mf-premium-source-link:focus-visible {
	border-color: var(--mfp-coral);
	outline: 3px solid rgba(180, 87, 54, .2);
	outline-offset: 2px;
}
body.single-meal .mf-premium-food-collection {
	margin-bottom: 52px !important;
}
body.single-meal .mf-premium-food-collection-head {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 20px;
}
body.single-meal .mf-premium-food-collection-kicker {
	color: var(--mfp-coral-dark);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .1em;
	margin: 0 0 8px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-food-collection h2 {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(32px, 4vw, 46px) !important;
	font-weight: 600 !important;
	letter-spacing: -.025em;
	line-height: 1.04;
	margin: 0 !important;
}
body.single-meal .mf-premium-food-collection-note {
	color: var(--mfp-muted);
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 3px;
	max-width: 280px;
	text-align: right;
}
body.single-meal .mf-premium-food-grid {
	display: grid !important;
	gap: 14px !important;
	grid-template-columns: repeat(var(--mfp-food-count, 3), minmax(0, 1fr)) !important;
}
body.single-meal .mf-premium-food-card {
	color: inherit !important;
	display: block !important;
	min-width: 0;
	text-decoration: none !important;
}
body.single-meal .mf-premium-food-card-shell {
	background: #fff !important;
	border: 1px solid #e0d9d0 !important;
	border-radius: 18px !important;
	box-shadow: 0 1px 0 rgba(26,35,50,.03);
	height: 100%;
	overflow: hidden !important;
	transition: box-shadow .2s ease, transform .2s ease;
}
body.single-meal .mf-premium-food-card:hover .mf-premium-food-card-shell,
body.single-meal .mf-premium-food-card:focus-visible .mf-premium-food-card-shell {
	box-shadow: 0 15px 34px rgba(26,35,50,.13);
	transform: translateY(-4px);
}
body.single-meal .mf-premium-food-card:focus-visible { outline: 0; }
body.single-meal .mf-premium-food-card-media {
	aspect-ratio: 4 / 3;
	background: #eee8df;
	overflow: hidden;
	position: relative;
}
body.single-meal .mf-premium-food-card-media::before {
	animation: mfPremiumFoodLoad 1.35s ease-in-out infinite;
	background: linear-gradient(100deg, #eee8df 18%, #f8f4ee 42%, #eee8df 66%);
	background-size: 220% 100%;
	content: "";
	inset: 0;
	position: absolute;
	transition: opacity .2s ease;
}
body.single-meal .mf-premium-food-card-media.is-image-ready::before { opacity: 0; }
@keyframes mfPremiumFoodLoad {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}
body.single-meal .mf-premium-food-card img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto !important;
	object-fit: cover;
	transition: opacity .22s ease, transform .35s ease;
	width: 100% !important;
}
body.single-meal .mf-premium-food-card-media img {
	height: 100% !important;
	inset: 0;
	opacity: 0;
	position: absolute;
}
body.single-meal .mf-premium-food-card-media.is-image-ready img { opacity: 1; }
body.single-meal .mf-premium-food-card:hover img { transform: scale(1.035); }
body.single-meal .mf-premium-food-card-copy { padding: 16px 17px 18px !important; }
body.single-meal .mf-premium-food-card-title {
	color: var(--mfp-ink) !important;
	font-size: 15px !important;
	font-weight: 850 !important;
	line-height: 1.32 !important;
	margin: 0 0 8px !important;
}
body.single-meal .mf-premium-food-card-meta {
	color: var(--mfp-muted) !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
}
body.single-meal .mf-premium-prepared .cu-meal-header,
body.single-meal .mf-premium-prepared .cu-meal-meta,
body.single-meal .mf-premium-prepared .cu-brand-card { display: none !important; }
body.single-meal .mf-premium-prepared h3,
body.single-meal .mf-premium-disclosure summary {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.15;
	margin: 0 0 10px;
}
body.single-meal .mf-premium-prepared .cu-specs,
body.single-meal .mf-premium-disclosure,
body.single-meal .mf-premium-prepared .cu-reheating {
	border: 0;
	border-bottom: 1px solid var(--mfp-line);
	box-sizing: border-box;
	padding: 24px clamp(22px, 4vw, 34px);
}
body.single-meal .mf-premium-prepared .cu-reheating { border-bottom: 0; }
body.single-meal .mf-premium-diet-copy,
body.single-meal .mf-premium-ingredient-list {
	color: #4d5767;
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
}
body.single-meal .mf-premium-disclosure summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
}
body.single-meal .mf-premium-disclosure summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-disclosure summary::after {
	color: var(--mfp-coral-dark);
	content: "+";
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 24px;
	font-weight: 500;
}
body.single-meal .mf-premium-disclosure[open] summary { margin-bottom: 12px; }
body.single-meal .mf-premium-disclosure[open] summary::after { content: "×"; }
body.single-meal .mf-premium-ingredients {
	background: #fffdf9;
	border-bottom: 1px solid var(--mfp-line);
	box-sizing: border-box;
	padding: clamp(30px, 4vw, 42px) clamp(22px, 4vw, 34px);
}
body.single-meal .mf-premium-ingredients-head {
	align-items: end;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 24px;
}
body.single-meal .mf-premium-ingredients-kicker {
	color: var(--mfp-coral-dark);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .1em;
	margin: 0 0 7px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-ingredients h3 {
	font-size: clamp(27px, 3.2vw, 36px);
	margin: 0;
}
body.single-meal .mf-premium-ingredients-count {
	color: var(--mfp-muted);
	font-size: 13px;
	line-height: 1.45;
	margin: 0 0 3px;
	text-align: right;
}
body.single-meal .mf-premium-ingredient-tiles {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-bottom: 15px;
}
body.single-meal .mf-premium-ingredient-tile {
	background: #fff;
	border: 1px solid #ded8cf;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(28, 35, 47, .055);
	margin: 0;
	min-width: 0;
	overflow: hidden;
}
body.single-meal .mf-premium-ingredient-tile-media {
	aspect-ratio: 4 / 3;
	background: #faf9f6;
	overflow: hidden;
}
body.single-meal .mf-premium-ingredient-tile-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
	width: 100%;
}
body.single-meal .mf-premium-ingredient-tile-media.is-placeholder {
	align-items: center;
	background: #f3eee7;
	display: flex;
	flex-direction: column;
	gap: 7px;
	justify-content: center;
	padding: 12px;
}
body.single-meal .mf-premium-ingredient-mark {
	color: #9a452d;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(34px, 4vw, 48px);
	font-weight: 600;
	line-height: 1;
}
body.single-meal .mf-premium-ingredient-category {
	color: #6c5c50;
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .09em;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}
body.single-meal .mf-premium-ingredient-tile[data-category="protein"] .mf-premium-ingredient-tile-media { background: #f5e8e3; }
body.single-meal .mf-premium-ingredient-tile[data-category="produce"] .mf-premium-ingredient-tile-media { background: #edf4e8; }
body.single-meal .mf-premium-ingredient-tile[data-category="grain-and-starch"] .mf-premium-ingredient-tile-media { background: #f6f0df; }
body.single-meal .mf-premium-ingredient-tile[data-category="dairy"] .mf-premium-ingredient-tile-media { background: #edf3f4; }
body.single-meal .mf-premium-ingredient-tile[data-category="seasoning"] .mf-premium-ingredient-tile-media { background: #f7ebe4; }
body.single-meal .mf-premium-ingredient-tile:hover img { transform: scale(1.035); }
body.single-meal .mf-premium-ingredient-tile-copy {
	padding: 13px 13px 15px;
}
body.single-meal .mf-premium-ingredient-quantity {
	color: var(--mfp-coral-dark);
	display: block;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .045em;
	line-height: 1.3;
	margin-bottom: 5px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-ingredient-name {
	color: var(--mfp-ink);
	display: block;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.3;
}
body.single-meal .mf-premium-ingredient-source {
	color: #596273;
	font-size: 12px;
	line-height: 1.55;
	margin: 0;
}
body.single-meal .mf-premium-ingredient-more {
	border-top: 1px solid #ddd7ce;
	margin-top: 18px;
}
body.single-meal .mf-premium-ingredient-more summary {
	align-items: center;
	color: var(--mfp-ink);
	cursor: pointer;
	display: flex;
	font-size: 13px;
	font-weight: 850;
	justify-content: space-between;
	list-style: none;
	min-height: 52px;
}
body.single-meal .mf-premium-ingredient-more summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-ingredient-more summary::after {
	color: var(--mfp-coral-dark);
	content: "+";
	font-size: 21px;
	font-weight: 500;
}
body.single-meal .mf-premium-ingredient-more[open] summary::after { content: "×"; }
body.single-meal .mf-premium-ingredient-more ul {
	display: grid;
	gap: 8px 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0 0 4px;
}
body.single-meal .mf-premium-ingredient-more li {
	border-top: 1px solid #eee9e2;
	color: #4d5767;
	font-size: 12px;
	line-height: 1.45;
	padding: 9px 0 0;
}
body.single-meal .mf-premium-ingredients-empty {
	align-items: center;
	background: #f7f4ef;
	border: 1px solid #ddd7ce;
	border-radius: 16px;
	display: flex;
	gap: 15px;
	padding: 20px;
}
body.single-meal .mf-premium-ingredients-empty-mark {
	align-items: center;
	background: #fff;
	border: 1px solid #d9d1c7;
	border-radius: 50%;
	color: var(--mfp-coral-dark);
	display: inline-flex;
	flex: 0 0 42px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 24px;
	font-style: italic;
	justify-content: center;
	height: 42px;
}
body.single-meal .mf-premium-ingredients-empty h4 {
	color: var(--mfp-ink);
	font-size: 16px;
	margin: 0 0 5px;
}
body.single-meal .mf-premium-ingredients-empty p {
	color: #596273;
	font-size: 13px;
	line-height: 1.55;
	margin: 0;
}
body.single-meal .mf-premium-ingredient-visuals {
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	margin-bottom: 16px;
	min-height: 500px;
}
body.single-meal .mf-premium-ingredient-visual {
	background: #1b2331;
	border: 0;
	border-radius: 22px;
	box-shadow: 0 18px 42px rgba(28, 35, 47, .13);
	margin: 0;
	overflow: hidden;
	position: relative;
}
body.single-meal .mf-premium-ingredient-visual-media {
	background: #242c39;
	height: 100%;
	overflow: hidden;
}
body.single-meal .mf-premium-ingredient-visual-media.is-split {
	display: grid;
	gap: 2px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.single-meal .mf-premium-ingredient-visual-media.is-split img { min-width: 0; }
body.single-meal .mf-premium-ingredient-visual:first-child { grid-row: 1 / 3; }
body.single-meal .mf-premium-ingredient-visual-media::after {
	background: linear-gradient(180deg, transparent 34%, rgba(17, 22, 31, .86) 100%);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}
body.single-meal .mf-premium-ingredient-visual img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
	width: 100%;
}
body.single-meal .mf-premium-ingredient-visual:hover img { transform: scale(1.035); }
body.single-meal .mf-premium-ingredient-visual.is-meal-crop img { object-position: center; }
body.single-meal .mf-premium-ingredient-visual figcaption {
	bottom: 0;
	color: #fff;
	left: 0;
	padding: 20px 18px 17px;
	position: absolute;
	right: 0;
	z-index: 2;
}
body.single-meal .mf-premium-ingredient-visual figcaption strong {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.15;
}
body.single-meal .mf-premium-ingredient-visual figcaption span {
	color: rgba(255,255,255,.82);
	display: block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
	margin-top: 5px;
	max-width: 34ch;
}
body.single-meal .mf-premium-ingredient-visual-note {
	color: #596273;
	font-size: 12px;
	line-height: 1.55;
	margin: 0 0 20px;
}
body.single-meal .mf-premium-swipe-hint { display: none; }
body.single-meal .mf-premium-ingredient-complete {
	background: #fff;
	border: 1px solid #ddd7ce;
	border-radius: 17px;
	padding: 0 18px;
}
body.single-meal .mf-premium-ingredient-complete summary {
	align-items: center;
	color: var(--mfp-ink);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: 850;
	justify-content: space-between;
	list-style: none;
	min-height: 56px;
}
body.single-meal .mf-premium-ingredient-complete summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-ingredient-complete summary::after {
	color: var(--mfp-coral-dark);
	content: "+";
	font-size: 23px;
	font-weight: 500;
}
body.single-meal .mf-premium-ingredient-complete[open] { padding-bottom: 18px; }
body.single-meal .mf-premium-ingredient-complete[open] summary::after { content: "×"; }
body.single-meal .mf-premium-ingredient-groups {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.single-meal .mf-premium-ingredient-group {
	background: #fff;
	border: 1px solid #ddd7ce;
	border-radius: 17px;
	box-sizing: border-box;
	min-width: 0;
	padding: 18px;
}
body.single-meal .mf-premium-ingredient-group-head {
	align-items: center;
	display: flex;
	gap: 11px;
	margin-bottom: 14px;
}
body.single-meal .mf-premium-ingredient-icon {
	align-items: center;
	background: #f8eee7;
	border-radius: 12px;
	color: var(--mfp-coral-dark);
	display: inline-flex;
	flex: 0 0 38px;
	height: 38px;
	justify-content: center;
}
body.single-meal .mf-premium-ingredient-icon svg {
	height: 20px;
	width: 20px;
}
body.single-meal .mf-premium-ingredient-group h4 {
	color: var(--mfp-ink);
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 2px;
}
body.single-meal .mf-premium-ingredient-group-meta {
	color: var(--mfp-muted);
	font-size: 11px;
	margin: 0;
}
body.single-meal .mf-premium-ingredient-items {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.single-meal .mf-premium-ingredient-items li {
	background: #f6f4ef;
	border: 1px solid #e5e0d8;
	border-radius: 999px;
	color: #394354;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.25;
	padding: 7px 10px;
}
body.single-meal .mf-premium-prepared .cu-reheating ul {
	margin: 12px 0 0;
	padding-left: 20px;
}
body.single-meal .mf-premium-prepared .cu-reheating p,
body.single-meal .mf-premium-prepared .cu-reheating li {
	color: #4d5767;
	font-size: 14px;
	line-height: 1.65;
}
body.single-meal .mf-premium-heating-steps {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 22px 0 18px;
}
body.single-meal .mf-premium-heating-step {
	background: #f7f2eb;
	border: 1px solid #e3dbd0;
	border-radius: 16px;
	padding: 18px;
}
body.single-meal .mf-premium-heating-step-number {
	align-items: center;
	background: var(--mfp-coral-dark);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 850;
	height: 30px;
	justify-content: center;
	margin-bottom: 12px;
	width: 30px;
}
body.single-meal .mf-premium-heating-step strong {
	color: var(--mfp-ink);
	display: block;
	font-size: 14px;
	margin-bottom: 5px;
}
body.single-meal .mf-premium-heating-step p { margin: 0 !important; }
body.single-meal .mf-premium-heating-details {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 16px;
	box-shadow: 0 18px 44px rgba(27,35,49,.08);
	margin-top: 22px;
	overflow: hidden;
}
body.single-meal .mf-premium-heating-details summary {
	background: #1b2331;
	color: #fff;
	cursor: pointer;
	display: block;
	list-style: none;
	min-height: 132px;
	padding: 26px 28px 22px;
	position: relative;
	transition: background-color .28s ease;
}
body.single-meal .mf-premium-heating-details summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-heating-details summary:focus-visible {
	outline: 3px solid rgba(208,110,72,.55);
	outline-offset: -4px;
}
body.single-meal .mf-premium-heating-details[open] summary { background: #202a3a; }
body.single-meal .mf-premium-recipe-summary-main {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
}
body.single-meal .mf-premium-recipe-summary-kicker {
	color: #e7a487;
	display: block;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .15em;
	margin-bottom: 7px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-recipe-summary-title {
	color: #fff;
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(24px, 3vw, 33px);
	font-weight: 500;
	letter-spacing: -.02em;
	line-height: 1.05;
}
body.single-meal .mf-premium-recipe-summary-hint {
	color: #c8cfda;
	display: block;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.45;
	margin-top: 7px;
}
body.single-meal .mf-premium-recipe-toggle {
	align-items: center;
	background: linear-gradient(135deg, #d06e48, #e08b61);
	border-radius: 999px;
	box-shadow: 0 8px 24px rgba(208,110,72,.3);
	color: #fff;
	display: inline-flex;
	font-size: 20px;
	font-weight: 500;
	height: 48px;
	justify-content: center;
	transition: transform .3s cubic-bezier(.16,1,.3,1);
	width: 48px;
}
body.single-meal .mf-premium-recipe-toggle svg {
	display: block;
	height: 20px;
	width: 20px;
}
body.single-meal .mf-premium-heating-details[open] .mf-premium-recipe-toggle { transform: rotate(180deg); }
body.single-meal .mf-premium-recipe-progress {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(var(--mfp-recipe-steps, 5), minmax(8px, 1fr));
	margin-top: 20px;
}
body.single-meal .mf-premium-recipe-progress span {
	background: rgba(255,255,255,.18);
	border-radius: 999px;
	display: block;
	height: 3px;
	transition: background-color .28s ease;
}
body.single-meal .mf-premium-heating-details[open] .mf-premium-recipe-progress span { background: #e7a487; }
body.single-meal .mf-premium-heating-details > ul {
	background: #fff;
	counter-reset: mf-recipe-step;
	list-style: none !important;
	margin: 0 !important;
	padding: 6px 28px 18px !important;
}
body.single-meal .mf-premium-heating-details > ul > li {
	border-top: 1px solid #ece7df;
	color: #4d5767;
	counter-increment: mf-recipe-step;
	font-size: 14px;
	line-height: 1.7;
	list-style: none !important;
	margin: 0 !important;
	min-height: 88px;
	padding: 24px 8px 24px 72px !important;
	position: relative;
}
body.single-meal .mf-premium-heating-details > ul > li::before {
	align-items: center;
	background: #fbf4ef;
	border: 1px solid #ebc4b3;
	border-radius: 50%;
	color: #9d452d;
	content: counter(mf-recipe-step, decimal-leading-zero);
	display: flex;
	font-family: "DM Mono", ui-monospace, monospace;
	font-size: 11px;
	font-weight: 750;
	height: 42px;
	justify-content: center;
	left: 8px;
	position: absolute;
	top: 24px;
	width: 42px;
}
body.single-meal .mf-premium-heating-details > ul > li::after {
	background: #eadfd5;
	content: "";
	height: calc(100% - 56px);
	left: 29px;
	position: absolute;
	top: 72px;
	width: 1px;
}
body.single-meal .mf-premium-heating-details > ul > li:last-child::after { display: none; }
body.single-meal .mf-premium-recipe-full-step-title {
	color: var(--mfp-ink);
	display: block;
	font-size: 13px;
	font-weight: 850;
	letter-spacing: .02em;
	margin-bottom: 5px;
}
body.single-meal .mf-premium-recipe-full-step-copy { margin: 0 !important; }
body.single-meal .mf-premium-heating-details[open] > ul {
	animation: mfRecipeReveal .36s cubic-bezier(.16,1,.3,1) both;
}
@keyframes mfRecipeReveal {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}
body.single-meal .mf-premium-poll {
	display: none !important;
}
body.single-meal .mf-premium-review-stage {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 24px;
	box-sizing: border-box;
	margin-bottom: 38px !important;
	padding: clamp(28px, 5vw, 54px);
	scroll-margin-top: 150px;
}
body.single-meal .mf-premium-review-kicker {
	color: var(--mfp-coral-dark);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .09em;
	margin: 0 0 10px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-review-title {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(32px, 4.4vw, 48px);
	font-weight: 600;
	letter-spacing: -.03em;
	line-height: 1.04;
	margin: 0 0 12px;
}
body.single-meal .mf-premium-review-intro {
	color: #4d5767;
	font-size: 16px;
	line-height: 1.6;
	margin: 0 0 30px;
	max-width: 680px;
}
body.single-meal .mf-premium-review-grid {
	display: block;
	max-width: 760px;
}
body.single-meal .mf-premium-review-stage #respond,
body.single-meal .mf-premium-review-stage #comments,
body.single-meal .mf-premium-review-stage #mf-ugc {
	box-sizing: border-box;
	margin: 0 !important;
	max-width: none !important;
}
body.single-meal .mf-premium-review-stage #respond {
	background: transparent;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0;
	scroll-margin-top: 150px;
}
body.single-meal .mf-premium-review-stage .comment-reply-title {
	display: none !important;
}
body.single-meal .mf-premium-review-stage #commentform {
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body.single-meal .mf-premium-review-stage #commentform > p {
	margin: 0 !important;
}
body.single-meal .mf-premium-review-journey {
	background: #f8f5f0;
	border: 1px solid #ddd6cc;
	border-radius: 16px;
	grid-column: 1 / -1;
	padding: 18px 18px 15px;
}
body.single-meal .mf-premium-review-progress-track {
	background: #e5ded5;
	border-radius: 999px;
	height: 7px;
	overflow: hidden;
}
body.single-meal .mf-premium-review-progress-fill {
	background: linear-gradient(90deg, #d06e48, #e8a13f, #6ba875, #2e9e57);
	border-radius: inherit;
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .42s cubic-bezier(.4,0,.2,1);
}
body.single-meal .mf-premium-review-steps {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
}
body.single-meal .mf-premium-review-step {
	align-items: center;
	color: #777f8c;
	display: flex;
	font-size: 11px;
	font-weight: 750;
	gap: 7px;
	line-height: 1.2;
	min-width: 0;
	transition: color .25s ease;
}
body.single-meal .mf-premium-review-step-number {
	align-items: center;
	background: #e7dfd5;
	border-radius: 50%;
	color: #6d7480;
	display: inline-flex;
	flex: 0 0 26px;
	font-size: 11px;
	font-weight: 850;
	height: 26px;
	justify-content: center;
	transition: background-color .25s ease, color .25s ease, transform .25s ease;
	width: 26px;
}
body.single-meal .mf-premium-review-step.is-active { color: #8f3d25; }
body.single-meal .mf-premium-review-step.is-active .mf-premium-review-step-number {
	background: #f2c2b2;
	color: #7f321d;
	transform: scale(1.08);
}
body.single-meal .mf-premium-review-step.is-complete { color: #23663a; }
body.single-meal .mf-premium-review-step.is-complete .mf-premium-review-step-number {
	background: #2e9e57;
	color: #fff;
}
body.single-meal .mf-premium-review-status {
	color: #5d6471;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.4;
	margin: 12px 0 0;
}
body.single-meal .mf-premium-review-status.is-started { color: #8f3d25; }
body.single-meal .mf-premium-review-status.is-complete { color: #23663a; }
body.single-meal .mf-premium-required-note {
	color: #5d6471;
	font-size: 12px;
	font-weight: 650;
	grid-column: 1 / -1;
	margin: 0 !important;
}
body.single-meal .mf-required-marker {
	color: var(--mfp-coral-dark);
	font-weight: 900;
	margin-left: 2px;
}
body.single-meal .mf-premium-label-help {
	color: #657084;
	font-weight: 600;
	margin-left: 5px;
}
body.single-meal .mf-premium-review-stage #commentform label {
	color: #394456 !important;
	font-size: 13px !important;
	font-weight: 750 !important;
}
body.single-meal .mf-premium-review-stage .comment-form-cookies-consent {
	align-items: center;
	display: flex;
	gap: 10px;
	min-height: 44px;
}
body.single-meal .mf-premium-review-stage .comment-form-cookies-consent input[type="checkbox"] {
	height: 20px;
	margin: 0;
	min-width: 20px;
	width: 20px;
}
body.single-meal .mf-premium-review-stage .comment-form-meal-rating,
body.single-meal .mf-premium-review-stage .mf-premium-comment-field,
body.single-meal .mf-premium-review-stage .comment-form-cookies-consent,
body.single-meal .mf-premium-review-stage .form-submit {
	grid-column: 1 / -1;
}
body.single-meal .mf-premium-review-stage .comment-form-meal-rating {
	display: block !important;
}
body.single-meal .mf-premium-review-stage #commentform input[type="text"],
body.single-meal .mf-premium-review-stage #commentform input[type="email"],
body.single-meal .mf-premium-review-stage #commentform input[type="url"],
body.single-meal .mf-premium-review-stage #commentform textarea {
	background: #fbfaf7;
	border: 1px solid #d8d1c8 !important;
	border-radius: 10px !important;
	box-sizing: border-box;
	color: var(--mfp-ink);
	font: inherit;
	min-height: 48px;
	padding: 12px !important;
	width: 100%;
}
body.single-meal .mf-premium-review-stage #commentform textarea { min-height: 132px; }
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-incomplete input[type="text"],
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-incomplete input[type="email"],
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-incomplete textarea {
	background: #fff5f2 !important;
	border-color: #d98d73 !important;
	box-shadow: inset 4px 0 0 rgba(180, 87, 54, .55);
}
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-complete input[type="text"],
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-complete input[type="email"],
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-complete textarea {
	background: #f1faf4 !important;
	border-color: #78aa86 !important;
	box-shadow: inset 4px 0 0 rgba(47, 122, 70, .55);
}
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-incomplete > label {
	color: #8f3d25 !important;
}
body.single-meal .mf-premium-review-stage #commentform .mf-review-required.is-complete > label {
	color: #23663a !important;
}
body.single-meal .mf-premium-review-stage #commentform input:focus,
body.single-meal .mf-premium-review-stage #commentform textarea:focus {
	background: #fff !important;
	border-color: var(--mfp-coral) !important;
	box-shadow: 0 0 0 3px rgba(180, 87, 54, .16);
	outline: 0;
}
body.single-meal .mf-premium-review-counter {
	color: #657084;
	font-size: 12px;
	font-weight: 750;
	margin-top: 7px;
	text-align: right;
}
body.single-meal .mf-review-required.is-incomplete .mf-premium-review-counter { color: #8f3d25; }
body.single-meal .mf-review-required.is-complete .mf-premium-review-counter { color: #23663a; }
body.single-meal .mf-premium-review-stage #mf-star-input {
	align-items: center;
	display: flex !important;
	gap: 3px !important;
	min-height: 44px;
}
body.single-meal .mf-premium-review-stage #mf-star-input .mf-star {
	box-sizing: content-box;
	cursor: pointer;
	fill: transparent !important;
	height: 32px;
	padding: 6px;
	stroke: #a84d30;
	stroke-linejoin: round;
	stroke-width: 1.25px;
	transition: fill .15s ease, stroke .15s ease, transform .15s ease;
	width: 32px;
}
body.single-meal .mf-premium-review-stage .comment-form-meal-rating.mf-review-required {
	background: #fbfaf7;
	border: 1px solid #d8d1c8;
	border-radius: 10px;
	padding: 12px !important;
	transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.single-meal .mf-premium-review-stage .comment-form-meal-rating.mf-review-required.is-incomplete {
	background: #fff5f2;
	border-color: #d98d73;
}
body.single-meal .mf-premium-review-stage .comment-form-meal-rating.mf-review-required.is-complete {
	background: #f1faf4;
	border-color: #78aa86;
}
body.single-meal .mf-premium-review-stage .comment-form-meal-rating.mf-review-required:focus-within {
	background: #fff;
	border-color: var(--mfp-coral);
	box-shadow: 0 0 0 3px rgba(180, 87, 54, .16);
}
body.single-meal .mf-premium-review-stage #mf-star-input .mf-star.is-preview,
body.single-meal .mf-premium-review-stage #mf-star-input .mf-star.is-selected,
body.single-meal .mf-premium-review-stage #mf-star-input .mf-star:hover,
body.single-meal .mf-premium-review-stage #mf-star-input .mf-star:focus-visible {
	fill: var(--mfp-coral) !important;
	stroke: var(--mfp-coral);
	outline: none;
	transform: translateY(-1px);
}
body.single-meal .mf-premium-review-stage .comment-form-meal-photo { display: none; }
body.single-meal .mf-premium-review-stage .form-submit input[type="submit"] {
	background: var(--mfp-ink) !important;
	border: 0 !important;
	border-radius: 10px !important;
	color: #fff !important;
	cursor: pointer;
	font-size: 14px !important;
	font-weight: 800 !important;
	min-height: 50px;
	padding: 0 22px !important;
}
body.single-meal .mf-premium-review-stage .form-submit input[type="submit"]:hover,
body.single-meal .mf-premium-review-stage .form-submit input[type="submit"]:focus-visible {
	background: #2b394d !important;
	outline: 3px solid rgba(180, 87, 54, .32);
	outline-offset: 2px;
}
body.single-meal .mf-premium-review-stage .form-submit input[type="submit"]:disabled,
body.single-meal .mf-premium-review-stage .form-submit input[type="submit"]:disabled:hover,
html body.single-meal .mf-premium-review-stage #commentform .form-submit #submit[disabled] {
	background: #e8e2da !important;
	color: #746d65 !important;
	cursor: not-allowed;
	outline: 0;
}
html body.single-meal .mf-premium-review-stage #commentform .form-submit #submit.is-ready:not([disabled]) {
	background: #23663a !important;
	box-shadow: 0 10px 24px rgba(35, 102, 58, .18);
	color: #fff !important;
	cursor: pointer;
	transition: background-color .16s ease, box-shadow .16s ease, transform .12s ease;
}
html body.single-meal .mf-premium-review-stage #commentform .form-submit #submit.is-ready:not([disabled]):hover,
html body.single-meal .mf-premium-review-stage #commentform .form-submit #submit.is-ready:not([disabled]):focus-visible {
	background: #184f2b !important;
	outline: 3px solid rgba(35, 102, 58, .25);
	outline-offset: 2px;
}
html body.single-meal .mf-premium-review-stage #commentform .form-submit #submit.is-ready:not([disabled]):active {
	transform: translateY(1px);
}
body.single-meal .mf-premium-review-stage #mf-ugc {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 22px 0 0 !important;
	text-align: left !important;
}
body.single-meal .mf-premium-photo-disclosure {
	border-top: 1px solid var(--mfp-line);
	margin-top: 28px;
	padding-top: 4px;
}
body.single-meal .mf-premium-photo-disclosure > summary {
	align-items: center;
	color: var(--mfp-ink);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: space-between;
	list-style: none;
	min-height: 50px;
}
body.single-meal .mf-premium-photo-disclosure > summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-photo-disclosure > summary::after {
	color: var(--mfp-coral-dark);
	content: "+";
	font-size: 22px;
	font-weight: 500;
}
body.single-meal .mf-premium-photo-disclosure[open] > summary::after { content: "×"; }
body.single-meal .mf-premium-review-stage #mf-ugc > div:first-child { display: none; }
body.single-meal .mf-premium-review-stage #mf-ugc .mf-premium-photo-title {
	color: var(--mfp-ink) !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 22px !important;
	font-weight: 600 !important;
	letter-spacing: -.015em;
	line-height: 1.15;
	margin: 0 0 10px !important;
}
body.single-meal .mf-premium-review-stage #mf-ugc .mf-premium-photo-copy {
	color: #4d5767 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	margin: 0 0 18px !important;
}
body.single-meal .mf-premium-review-stage #mf-ugc .mf-premium-photo-fields {
	display: grid !important;
	gap: 10px !important;
	margin: 0 !important;
	max-width: none !important;
}
body.single-meal .mf-premium-review-stage #mf-ugc input[type="file"],
body.single-meal .mf-premium-review-stage #mf-ugc input[type="text"] {
	background: #fff;
	border: 1px solid #d8d1c8 !important;
	border-radius: 10px !important;
	box-sizing: border-box;
	min-height: 48px;
	padding: 10px !important;
	width: 100%;
}
body.single-meal .mf-premium-review-stage #mf-ugc #mf-ugc-go {
	background: var(--mfp-coral-dark) !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	min-height: 50px;
	padding: 0 18px !important;
	width: 100%;
}
body.single-meal .mf-premium-photo-optional {
	border: 0;
	margin: 0;
	padding: 0;
}
body.single-meal .mf-premium-photo-optional summary {
	color: #4d5767;
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	list-style-position: inside;
	padding: 5px 0;
}
body.single-meal .mf-premium-photo-optional-fields {
	display: grid;
	gap: 8px;
	margin-top: 8px;
}
body.single-meal .mf-premium-review-stage #mf-ugc-msg {
	font-size: 13px !important;
	margin-top: 10px !important;
	min-height: 18px !important;
}
body.single-meal .mf-premium-photo-terms {
	color: #77716b !important;
	font-size: 11px !important;
	line-height: 1.5 !important;
	margin-top: 12px !important;
}
body.single-meal .mf-premium-review-stage #comments {
	grid-column: 1 / -1;
	margin-bottom: 28px !important;
}
body.single-meal .mf-premium-review-note {
	color: #77716b;
	font-size: 12px;
	line-height: 1.5;
	margin: 12px 0 0;
}
body.single-meal .mf-premium-review-dock {
	align-items: center;
	background: rgba(26, 35, 50, .97);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 16px;
	bottom: 18px;
	box-shadow: 0 16px 42px rgba(16, 22, 31, .22);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	gap: 12px;
	max-width: min(350px, calc(100vw - 32px));
	opacity: 0;
	padding: 10px 12px 10px 18px;
	pointer-events: none;
	position: fixed;
	right: 18px;
	transform: translateY(18px);
	transition: opacity .22s ease, transform .22s ease;
	width: max-content;
	z-index: 9998;
}
body.single-meal .mf-premium-review-dock.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
body.single-meal .mf-premium-review-dock-copy {
	font-size: 14px;
	font-weight: 800;
	margin-right: 4px;
	white-space: nowrap;
}
body.single-meal .mf-premium-review-dock button {
	border-radius: 999px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 800;
	min-height: 44px;
	padding: 0 16px;
}
body.single-meal .mf-premium-review-dock-rate {
	background: #fff;
	border: 1px solid #fff;
	color: var(--mfp-ink);
}
body.single-meal .mf-premium-review-dock-photo {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .44);
	color: #fff;
}
body.single-meal .mf-premium-review-dock-close {
	align-items: center;
	background: transparent;
	border: 0;
	color: #fff;
	display: inline-flex;
	font-size: 21px !important;
	justify-content: center;
	min-width: 44px;
	padding: 0 !important;
}
body.single-meal .mfmoi-card.mf-premium-email {
	background: #fffdf9 !important;
	border: 1px solid var(--mfp-line) !important;
	border-radius: 20px !important;
	box-shadow: none !important;
	margin-bottom: 52px !important;
	overflow: hidden;
	padding: clamp(28px, 4vw, 42px) !important;
	position: relative;
}
body.single-meal .mfmoi-card.mf-premium-email::before {
	background: var(--mfp-coral);
	border-radius: 999px;
	content: "";
	height: 3px;
	left: clamp(28px, 4vw, 42px);
	position: absolute;
	top: 0;
	width: 72px;
}
body.single-meal .mf-premium-email .mfmoi-grid {
	display: block !important;
}
body.single-meal .mf-premium-email .mfmoi-photo,
body.single-meal .mf-premium-email .mfmoi-trust { display: none !important; }
body.single-meal .mf-premium-email .mfmoi-body {
	align-items: center;
	display: grid;
	gap: 9px clamp(34px, 5vw, 58px);
	grid-template-columns: minmax(0, .92fr) minmax(370px, 1.08fr);
	margin: 0;
	max-width: none;
}
body.single-meal .mf-premium-email-kicker {
	color: var(--mfp-coral-dark);
	font-size: 11px;
	font-weight: 850;
	grid-column: 1;
	letter-spacing: .09em;
	margin: 0;
	text-transform: uppercase;
}
body.single-meal .mf-premium-email .mfmoi-h {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(28px, 3.4vw, 36px);
	font-weight: 600;
	grid-column: 1;
	letter-spacing: -.025em;
	line-height: 1.05;
	margin: 0 0 6px;
}
body.single-meal .mf-premium-email .mfmoi-deal,
body.single-meal .mf-premium-email .mfmoi-sub,
body.single-meal .mf-premium-email .mfmoi-urg {
	grid-column: 1;
}
body.single-meal .mf-premium-email .mfmoi-deal {
	background: transparent !important;
	border: 0 !important;
	border-left: 3px solid var(--mfp-coral) !important;
	border-radius: 0 !important;
	margin: 2px 0 7px !important;
	padding: 2px 0 2px 12px !important;
}
body.single-meal .mf-premium-email .mfmoi-deal-label {
	color: var(--mfp-muted) !important;
	display: block !important;
	font-size: 11px !important;
	font-weight: 750 !important;
	letter-spacing: .04em;
	margin: 0 0 3px !important;
	text-transform: uppercase;
}
body.single-meal .mf-premium-email .mfmoi-deal-text {
	color: var(--mfp-ink) !important;
	font-size: 17px !important;
	font-weight: 850 !important;
}
body.single-meal .mf-premium-email .mfmoi-sub {
	color: #4d5767 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	margin: 0 !important;
}
body.single-meal .mf-premium-email .mfmoi-urg {
	color: #77716b !important;
	font-size: 12px !important;
	margin: 0 !important;
}
body.single-meal .mf-premium-email .mfmoi-form {
	align-content: center;
	display: grid !important;
	gap: 9px 10px;
	grid-column: 2;
	grid-row: 1 / span 5;
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 0 !important;
	padding: 0 !important;
}
body.single-meal .mf-premium-email-label {
	align-items: center;
	color: var(--mfp-ink);
	display: flex;
	font-size: 13px;
	font-weight: 800;
	grid-column: 1 / -1;
	justify-content: space-between;
	transition: color .16s ease;
}
body.single-meal .mf-premium-email-requirement {
	color: #657084;
	font-size: 11px;
	font-weight: 700;
}
body.single-meal .mf-premium-email .mfmoi-form:focus-within .mf-premium-email-label {
	color: var(--mfp-coral-dark);
}
body.single-meal .mf-premium-email .mfmoi-em,
body.single-meal .mf-premium-email .mfmoi-btn {
	border-radius: 10px !important;
	box-sizing: border-box;
	min-height: 52px;
}
body.single-meal .mf-premium-email .mfmoi-em {
	background: #fbfaf7 !important;
	border: 1px solid #cfc7bd !important;
	font-size: 15px !important;
	padding: 0 14px !important;
	transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
	width: 100% !important;
}
body.single-meal .mf-premium-email .mfmoi-em:hover {
	background: #fff !important;
	border-color: #9e968d !important;
}
body.single-meal .mf-premium-email .mfmoi-em:focus {
	background: #fff !important;
	border-color: #d4764e !important;
	box-shadow: 0 0 0 3px rgba(212, 118, 78, .2) !important;
	outline: 0 !important;
}
body.single-meal .mf-premium-email .mfmoi-em:autofill,
body.single-meal .mf-premium-email .mfmoi-em:-webkit-autofill {
	border-color: #d4764e !important;
	box-shadow: 0 0 0 3px rgba(212, 118, 78, .18), 0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color: var(--mfp-ink) !important;
}
body.single-meal .mf-premium-email .mfmoi-em.mf-email-incomplete,
body.single-meal .mf-footopt-email.mf-email-incomplete {
	background: #fff5f2 !important;
	border-color: #c98267 !important;
	box-shadow: inset 4px 0 0 #c98267 !important;
}
body.single-meal .mf-premium-email .mfmoi-em.mf-email-complete,
body.single-meal .mf-footopt-email.mf-email-complete {
	background: #f1fbf4 !important;
	border-color: #3b8150 !important;
	box-shadow: inset 4px 0 0 #3b8150 !important;
}
body.single-meal .mf-premium-email .mfmoi-btn {
	background: var(--mfp-ink) !important;
	border: 1px solid var(--mfp-ink) !important;
	cursor: pointer;
	min-width: 165px;
	padding: 0 22px !important;
	transition: background-color .16s ease, border-color .16s ease, transform .12s ease;
	width: auto !important;
}
body.single-meal .mf-premium-email .mfmoi-btn:hover,
body.single-meal .mf-premium-email .mfmoi-btn:focus-visible {
	background: var(--mfp-coral) !important;
	border-color: var(--mfp-coral) !important;
	outline: 3px solid rgba(212, 118, 78, .28);
	outline-offset: 2px;
}
body.single-meal .mf-premium-email .mfmoi-btn:active {
	transform: translateY(1px);
}
body.single-meal .mf-premium-email .mfmoi-btn:disabled,
body.single-meal .mf-footopt-btn:disabled {
	background: #e8e2da !important;
	border-color: #e8e2da !important;
	box-shadow: none !important;
	color: #776f66 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
	transform: none !important;
}
body.single-meal .mf-premium-email .mfmoi-btn.mf-email-ready,
body.single-meal .mf-footopt-btn.mf-email-ready {
	background: #23663a !important;
	border-color: #23663a !important;
	color: #fff !important;
}
body.single-meal .mf-premium-footer-deal-note {
	color: #657084;
	font-size: 12px;
	line-height: 1.55;
	margin: 12px 0 0 !important;
}
body.single-meal .mf-footopt-err {
	color: #a6402c;
	font-size: 13px;
	font-weight: 750;
	margin: 10px 0 0 !important;
}
body.single-meal .mf-premium-email .mfmoi-fine,
body.single-meal .mf-premium-email .mfmoi-ok {
	color: #5d6471 !important;
	grid-column: 2;
	margin: 0 !important;
}
body.single-meal .mf-premium-faq {
	background: #fff;
	border: 1px solid var(--mfp-line);
	border-radius: 22px;
	box-sizing: border-box;
	margin-bottom: 52px !important;
	padding: clamp(24px, 4vw, 36px);
}
body.single-meal .mf-premium-faq-kicker {
	color: var(--mfp-coral-dark);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .1em;
	margin: 0 0 10px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-faq h2 {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.05;
	margin: 0 0 22px;
}
body.single-meal .mf-premium-faq details {
	border-top: 1px solid var(--mfp-line);
	margin: 0;
	padding: 0;
}
body.single-meal .mf-premium-faq details:last-child { border-bottom: 1px solid var(--mfp-line); }
body.single-meal .mf-premium-faq summary {
	align-items: center;
	color: var(--mfp-ink);
	cursor: pointer;
	display: flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: space-between;
	list-style: none;
	min-height: 58px;
	padding: 7px 2px;
}
body.single-meal .mf-premium-faq summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-faq summary::after {
	color: var(--mfp-coral-dark);
	content: "+";
	font-size: 22px;
	font-weight: 500;
	margin-left: 18px;
}
body.single-meal .mf-premium-faq details[open] summary::after { content: "×"; }
body.single-meal .mf-premium-faq details p {
	color: #4d5767;
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
	max-width: 760px;
	padding: 0 2px 20px;
}
body.single-meal .mf-premium-faq .mf-premium-sources-intro { margin: 0 0 16px; }
body.single-meal .mf-premium-faq .mf-premium-source-links { padding-bottom: 20px; }
body.single-meal .mf-premium-source-note {
	background: #fff8f2;
	border-left: 3px solid var(--mfp-coral);
	color: #5f4a3f;
	font-size: 13px;
	line-height: 1.6;
	margin: 0 0 18px;
	max-width: 790px;
	padding: 12px 14px;
}
body.single-meal .mf-onefoot h4 { color: #fff !important; }
body.single-meal .mfv3-author-byline.mf-premium-author-footer {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--mfp-line) !important;
	border-radius: 0 !important;
	color: var(--mfp-muted) !important;
	display: flex !important;
	font-size: 13px !important;
	gap: 12px !important;
	margin-bottom: 34px !important;
	margin-top: 28px !important;
	padding: 24px 0 0 !important;
}
body.single-meal .mfv3-author-byline.mf-premium-author-footer img {
	height: 44px !important;
	width: 44px !important;
}
body.single-meal .mfv3-author-byline.mf-premium-author-footer p { margin: 0 !important; }
body.single-meal .mfv3-author-byline.mf-premium-author-footer p + p { margin-top: 4px !important; }
body.single-meal .mfv3-author-byline.mf-premium-author-footer a { color: var(--mfp-ink) !important; }
body.single-meal .mf-premium-city-links {
	background: #f7f1e9;
	border: 1px solid rgba(29,37,50,.12);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(24,31,43,.10);
	box-sizing: border-box;
	margin: 20px auto 0;
	max-width: 980px;
	overflow: hidden;
	padding: 0;
	width: calc(100% - 32px);
}
body.single-meal .mf-premium-city-links > summary {
	align-items: center;
	background: #1d2532;
	color: #fff;
	cursor: pointer;
	display: flex;
	gap: 22px;
	justify-content: space-between;
	list-style: none;
	min-height: 88px;
	padding: 16px 24px;
	transition: background .2s ease;
}
body.single-meal .mf-premium-city-links > summary:hover { background: #242e3e; }
body.single-meal .mf-premium-city-links > summary::-webkit-details-marker { display: none; }
body.single-meal .mf-premium-location-summary-copy { display: grid; gap: 3px; min-width: 0; }
body.single-meal .mf-premium-location-summary-kicker,
body.single-meal .mf-premium-location-kicker {
	color: #e89068;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .17em;
	line-height: 1.3;
	text-transform: uppercase;
}
body.single-meal .mf-premium-location-summary-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.18;
}
body.single-meal .mf-premium-location-summary-meta {
	color: rgba(255,255,255,.68);
	font-size: 12px;
	line-height: 1.4;
}
body.single-meal .mf-premium-disclosure summary:focus-visible,
body.single-meal .mf-premium-ingredient-more summary:focus-visible,
body.single-meal .mf-premium-ingredient-complete summary:focus-visible,
body.single-meal .mf-premium-photo-disclosure > summary:focus-visible,
body.single-meal .mf-premium-faq summary:focus-visible,
body.single-meal .mf-premium-city-links > summary:focus-visible {
	border-radius: 8px;
	outline: 3px solid rgba(180,87,54,.28);
	outline-offset: 2px;
}
body.single-meal .mf-premium-city-links .mf-city-links-v1 {
	border: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 26px !important;
	width: 100% !important;
}
body.single-meal .mf-premium-location-directory {
	display: grid;
	gap: 26px;
}
body.single-meal .mf-premium-location-feature {
	background: #1d2532;
	border-radius: 20px;
	display: grid;
	grid-template-columns: minmax(0,.9fr) minmax(360px,1.1fr);
	overflow: hidden;
}
body.single-meal .mf-premium-location-feature-copy {
	align-content: center;
	display: grid;
	padding: 38px 34px;
}
body.single-meal .mf-premium-location-feature-copy h3 {
	color: #fff;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px,4vw,46px);
	letter-spacing: -.035em;
	line-height: 1.02;
	margin: 8px 0 13px;
}
body.single-meal .mf-premium-location-feature-copy > p {
	color: rgba(255,255,255,.72);
	font-size: 14px;
	line-height: 1.65;
	margin: 0;
	max-width: 40ch;
}
body.single-meal .mf-premium-location-stats { display: flex; gap: 26px; margin: 26px 0 24px; }
body.single-meal .mf-premium-location-stat { display: grid; gap: 2px; }
body.single-meal .mf-premium-location-stat strong {
	color: #fff;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}
body.single-meal .mf-premium-location-stat span {
	color: rgba(255,255,255,.57);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.single-meal .mf-premium-location-map-cta {
	align-items: center;
	align-self: start;
	background: #d4764e;
	border-radius: 999px;
	color: #fff !important;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	gap: 9px;
	justify-content: center;
	min-height: 44px;
	padding: 0 17px;
	text-decoration: none !important;
	width: max-content;
}
body.single-meal .mf-premium-location-map-cta:hover,
body.single-meal .mf-premium-location-map-cta:focus-visible {
	background: #e1845b;
	box-shadow: 0 0 0 4px rgba(212,118,78,.2);
	outline: 0;
}
body.single-meal .mf-premium-location-map-cta svg,
body.single-meal .mf-premium-state-link svg {
	fill: none;
	flex: 0 0 auto;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}
body.single-meal .mf-premium-location-map-link {
	align-items: center;
	background: radial-gradient(circle at 78% 24%,rgba(212,118,78,.18),transparent 27%),linear-gradient(145deg,#fffaf3 0%,#eee4d8 100%);
	display: flex;
	justify-content: center;
	min-height: 370px;
	overflow: hidden;
	padding: 30px;
	position: relative;
	text-decoration: none !important;
}
body.single-meal .mf-premium-location-map-link::before {
	background-image: radial-gradient(rgba(29,37,50,.14) .7px,transparent .7px);
	background-size: 14px 14px;
	content: "";
	inset: 0;
	opacity: .35;
	position: absolute;
}
body.single-meal .mf-premium-location-map {
	align-items: center;
	display: flex;
	justify-content: center;
	max-width: 490px;
	min-height: 240px;
	position: relative;
	width: 100%;
	z-index: 1;
}
body.single-meal .mf-premium-location-map-placeholder {
	align-items: center;
	color: #7b6659;
	display: flex;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 18px;
	gap: 10px;
	justify-content: center;
	text-align: center;
}
body.single-meal .mf-premium-location-map-placeholder::before {
	border: 2px solid rgba(212,118,78,.3);
	border-radius: 50%;
	border-top-color: #d4764e;
	content: "";
	height: 20px;
	width: 20px;
}
body.single-meal .mf-premium-location-map.is-loading .mf-premium-location-map-placeholder::before { animation: mfpLocationSpin .8s linear infinite; }
@keyframes mfpLocationSpin { to { transform: rotate(360deg); } }
body.single-meal .mf-premium-location-map .usmap {
	display: block;
	height: auto;
	max-height: 305px;
	pointer-events: none;
	width: 100%;
}
body.single-meal .mf-premium-location-map .usmap .st { fill: #3a4658 !important; stroke: #f4ebdf !important; stroke-width: 2 !important; }
body.single-meal .mf-premium-location-map .usmap .st.has { fill: #d4764e !important; }
body.single-meal .mf-premium-location-map-link:hover .usmap .st.has { fill: #e0835b !important; }
body.single-meal .mf-premium-location-grid-head {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}
body.single-meal .mf-premium-location-grid-head-copy { max-width: 620px; }
body.single-meal .mf-premium-location-grid-head h3 {
	color: var(--mfp-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(26px,3vw,34px);
	letter-spacing: -.025em;
	line-height: 1.1;
	margin: 6px 0 8px;
}
body.single-meal .mf-premium-location-grid-head p {
	color: var(--mfp-muted);
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}
body.single-meal .mf-premium-all-states {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(29,37,50,.16);
	border-radius: 999px;
	color: var(--mfp-ink) !important;
	display: inline-flex;
	font-size: 12px;
	font-weight: 850;
	min-height: 44px;
	padding: 0 16px;
	text-decoration: none !important;
	white-space: nowrap;
}
body.single-meal .mf-premium-all-states:hover,
body.single-meal .mf-premium-all-states:focus-visible {
	border-color: var(--mfp-coral);
	outline: 3px solid rgba(180,87,54,.18);
	outline-offset: 2px;
}
body.single-meal .mf-premium-location-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.single-meal .mf-premium-location-group {
	background: #fff;
	border: 1px solid rgba(29,37,50,.11);
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(29,37,50,.04);
	margin: 0 !important;
	min-height: 118px;
	overflow: hidden;
	padding: 17px 17px 15px;
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.single-meal .mf-premium-location-group::before {
	background: #d4764e;
	border-radius: 0 0 999px 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	top: 0;
	transition: width .2s ease;
	width: 42px;
}
body.single-meal .mf-premium-location-group:hover { border-color: rgba(212,118,78,.42); box-shadow: 0 16px 34px rgba(29,37,50,.09); transform: translateY(-2px); }
body.single-meal .mf-premium-location-group:hover::before { width: 72px; }
body.single-meal .mf-premium-state-code {
	color: #b45736;
	display: block;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .18em;
	line-height: 1;
	margin-bottom: 7px;
	text-transform: uppercase;
}
body.single-meal .mf-premium-state-link {
	align-items: center;
	color: var(--mfp-ink) !important;
	display: flex;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 18px;
	font-weight: 700;
	gap: 12px;
	justify-content: space-between;
	letter-spacing: -.015em;
	line-height: 1.2;
	margin-bottom: 10px;
	text-decoration: none !important;
}
body.single-meal .mf-premium-state-link:hover,
body.single-meal .mf-premium-state-link:focus-visible {
	color: var(--mfp-coral-dark) !important;
	outline: 0;
}
body.single-meal .mf-premium-state-link svg { height: 17px; width: 17px; }
body.single-meal .mf-premium-city-list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
body.single-meal .mf-premium-city-list a {
	background: #f7f1e9;
	border-radius: 999px;
	color: #5f6671 !important;
	font-size: 11px;
	font-weight: 750;
	line-height: 1.3;
	padding: 5px 9px;
	text-decoration: none !important;
}
body.single-meal .mf-premium-city-list a:hover,
body.single-meal .mf-premium-city-list a:focus-visible {
	background: #f1dfd3;
	color: var(--mfp-coral-dark) !important;
	outline: 0;
}
body.single-meal .mf-premium-image-reviews .mf-premium-more-reviews > summary::after,
body.single-meal .mf-premium-disclosure summary::after,
body.single-meal .mf-premium-ingredient-more summary::after,
body.single-meal .mf-premium-ingredient-complete summary::after,
body.single-meal .mf-premium-photo-disclosure > summary::after,
body.single-meal .mf-premium-faq summary::after,
body.single-meal .mf-premium-city-links > summary::after {
	border-bottom: 2px solid currentColor;
	border-right: 2px solid currentColor;
	box-sizing: border-box;
	content: "" !important;
	flex: 0 0 9px;
	font-size: 0;
	height: 9px;
	margin-left: 18px;
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform .22s ease;
	width: 9px;
}
body.single-meal .mf-premium-image-reviews .mf-premium-more-reviews[open] > summary::after,
body.single-meal .mf-premium-disclosure[open] summary::after,
body.single-meal .mf-premium-ingredient-more[open] summary::after,
body.single-meal .mf-premium-ingredient-complete[open] summary::after,
body.single-meal .mf-premium-photo-disclosure[open] > summary::after,
body.single-meal .mf-premium-faq details[open] summary::after,
body.single-meal .mf-premium-city-links[open] > summary::after {
	content: "" !important;
	transform: rotate(225deg) translate(-2px, -2px);
}
body.single-meal .mfq-compact-outer,
body.single-meal .mfv3-cluster-nav,
body.single-meal #mf-stick,
body.single-meal #mf-rate-chip { display: none !important; }
body.single-meal .mf-premium-content > h2,
body.single-meal .mf-premium-content > .mf-premium-flow h2 {
	font-family: "Playfair Display", Georgia, serif;
	letter-spacing: -.015em;
}
@media (max-width: 900px) {
	body.single-meal .mfm-content > div:first-child,
	body.single-meal .mf-premium-hero {
		gap: 22px !important;
		grid-template-columns: 1fr !important;
	}
	body.single-meal .mf-premium-panel {
		display: contents !important;
	}
	body.single-meal .mf-premium-title { grid-column: 1; grid-row: 1; }
	body.single-meal .mf-premium-meta { grid-column: 1; grid-row: 2; margin: 0 !important; }
	body.single-meal .mf-premium-hero-rating { grid-column: 1; grid-row: 3; }
	body.single-meal .mf-premium-media {
		grid-column: 1;
		grid-row: 4;
		max-width: 680px;
	}
	body.single-meal .mf-premium-overview { grid-column: 1; grid-row: 5; }
	body.single-meal .mf-premium-provider-cta { grid-column: 1; grid-row: 6; }
	body.single-meal .mf-premium-title .mfm-h1,
	body.single-meal .mf-premium-title .cu-meal-name { max-width: 18ch; }
	body.single-meal .mf-premium-email .mfmoi-body { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-email .mfmoi-form {
		grid-column: 1;
		grid-row: auto;
		margin-top: 12px !important;
	}
	body.single-meal .mf-premium-email .mfmoi-fine,
	body.single-meal .mf-premium-email .mfmoi-ok { grid-column: 1; }
	body.single-meal .mf-premium-location-feature { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-location-map-link { min-height: 310px; }
	body.single-meal .mf-premium-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.single-meal .mf-premium-community-prompt { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); }
	body.single-meal .mf-premium-ingredient-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.single-meal .mf-premium-ingredient-visuals {
		grid-template-columns: minmax(0, 1.1fr) minmax(250px, .9fr);
		min-height: 460px;
	}
}
@media (max-width: 620px) {
	body.single-meal .mf-deal-bar { transition: opacity .2s ease, transform .2s ease; }
	body.single-meal .mf-header { transition: top .2s ease; }
	body.single-meal.mf-premium-scrolled .mf-deal-bar {
		opacity: 0;
		pointer-events: none;
		transform: translateY(-100%);
	}
	body.single-meal.mf-premium-scrolled .mf-header { top: 0 !important; }
	body.single-meal .mf-header .mf-logo,
	body.single-meal .mf-header .mf-nav-cta {
		align-items: center;
		display: inline-flex !important;
		justify-content: center;
		min-height: 44px;
	}
	body.single-meal .mf-city-links-v1 a {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
		padding: 0 5px;
	}
	body.single-meal .mf-onefoot a {
		align-items: center;
		display: flex;
		min-height: 44px;
	}
	body.single-meal .mf-onefoot li { margin-bottom: 0 !important; }
	body.single-meal .mf-premium-crumbs a,
	body.single-meal .mfv3-author-byline.mf-premium-author-footer a {
		align-items: center;
		display: inline-flex;
		min-height: 44px;
	}
	body.single-meal .mf-premium-photo-optional summary {
		align-items: center;
		display: flex;
		min-height: 44px;
	}
	body.single-meal .mf-premium-city-links { border-radius: 20px; width: calc(100% - 24px); }
	body.single-meal .mf-premium-city-links > summary {
		align-items: flex-start;
		gap: 16px;
		min-height: 92px;
		padding: 16px 18px;
	}
	body.single-meal .mf-premium-location-summary-title { font-size: 18px; }
	body.single-meal .mf-premium-location-summary-meta { font-size: 11px; }
	body.single-meal .mf-premium-city-links .mf-city-links-v1 { padding: 16px !important; }
	body.single-meal .mf-premium-location-directory { gap: 22px; }
	body.single-meal .mf-premium-location-feature-copy { padding: 28px 22px 30px; }
	body.single-meal .mf-premium-location-feature-copy h3 { font-size: 36px; }
	body.single-meal .mf-premium-location-stats { gap: 22px; margin: 22px 0; }
	body.single-meal .mf-premium-location-map-link { min-height: 235px; padding: 20px; }
	body.single-meal .mf-premium-location-map { min-height: 190px; }
	body.single-meal .mf-premium-location-map .usmap { max-height: 220px; }
	body.single-meal .mf-premium-location-grid-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}
	body.single-meal .mf-premium-location-grid { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-all-states { min-height: 44px; }
	body.single-meal .mf-premium-location-group { min-height: 112px; padding: 17px; }
	body.single-meal .mf-premium-state-link { min-height: 28px; }
	body.single-meal .mf-premium-review-stage .comment-form-cookies-consent {
		align-items: center;
		display: flex !important;
		min-height: 44px;
	}
	body.single-meal .mf-premium-review-stage .comment-form-cookies-consent input {
		flex: 0 0 24px;
		height: 24px !important;
		width: 24px !important;
	}
	body.single-meal .mfm-article { padding: 24px 16px 36px !important; }
	body.single-meal .mfm-content > div:first-child,
	body.single-meal .mf-premium-hero { gap: 20px !important; margin-bottom: 52px !important; }
	body.single-meal .mf-premium-media { border-radius: 20px; }
	body.single-meal .mf-premium-title .mfm-h1,
	body.single-meal .mf-premium-title .cu-meal-name { font-size: clamp(38px, 12vw, 50px) !important; }
	body.single-meal .mf-premium-title { order: 1; }
	body.single-meal .mf-premium-meta { margin: 0 !important; order: 2; }
	body.single-meal .mf-premium-hero-rating { order: 3; }
	body.single-meal .mf-premium-media { order: 4; }
	body.single-meal .mf-premium-overview { order: 5; }
	body.single-meal .mf-premium-provider-cta { order: 6; }
	body.single-meal .mf-premium-hero-rating { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-review-link { grid-column: 1; }
	body.single-meal .mf-premium-hero-actions { gap: 4px 18px; }
	body.single-meal .mf-meal-ranking-grid { grid-template-columns: 1fr; }
	body.single-meal .mf-meal-rankings { border-radius: 20px; padding: 26px 20px; }
	body.single-meal .mf-premium-nutrition { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.single-meal .mf-premium-nutrition.is-single-macro { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-nutrition-title {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}
	body.single-meal .mf-premium-email .mfmoi-form { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-email .mfmoi-btn {
		grid-column: 1;
		width: 100% !important;
	}
	body.single-meal .mf-premium-review-stage #commentform { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-review-journey { padding: 16px 12px 13px; }
	body.single-meal .mf-premium-review-steps { gap: 4px; }
	body.single-meal .mf-premium-review-step {
		flex-direction: column;
		font-size: 10px;
		gap: 5px;
		text-align: center;
	}
	body.single-meal .mf-premium-review-stage .comment-form-author,
	body.single-meal .mf-premium-review-stage .comment-form-email { grid-column: 1; }
	body.single-meal .mf-premium-gallery-label { left: 12px; top: 12px; }
	body.single-meal .mf-premium-gallery-actions { bottom: 12px; right: 12px; }
	body.single-meal .mf-premium-photo-hero-action { bottom: 12px; left: 12px; }
	body.single-meal .mf-premium-gallery-story { padding: 54px 16px 70px; }
	body.single-meal .mf-premium-community-prompt { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-community-visual { min-height: 205px; }
	body.single-meal .mf-premium-community-visual::after { background: linear-gradient(180deg, transparent 62%, #1b2331 100%); }
	body.single-meal .mf-premium-community-copy { padding: 28px 22px 30px; }
	body.single-meal .mf-premium-community-actions > * { flex: 1 1 140px; }
	body.single-meal .mf-premium-editorial,
	body.single-meal .mf-premium-sources {
		border-radius: 20px;
		padding: 26px 20px;
	}
	body.single-meal .mf-premium-editorial-grid,
	body.single-meal .mf-premium-fit-grid { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-insight-card,
	body.single-meal .mf-premium-fit-card { padding: 19px; }
	body.single-meal .mf-premium-share-action { padding-inline: 8px; }
	body.single-meal .mf-premium-source-link { flex: 1 1 210px; }
	body.single-meal .mf-premium-food-collection-head {
		align-items: start;
		flex-direction: column;
		gap: 8px;
	}
	body.single-meal .mf-premium-food-collection-note { text-align: left; }
	body.single-meal .mf-premium-food-grid {
		display: flex !important;
		overflow-x: auto;
		padding: 0 2px 14px 0;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}
	body.single-meal .mf-premium-food-card {
		flex: 0 0 min(82vw, 320px);
		scroll-snap-align: start;
	}
	body.single-meal .mf-premium-review-stage { border-radius: 20px; padding: 26px 20px; scroll-margin-top: 190px; }
	body.single-meal .mf-premium-review-stage #respond { scroll-margin-top: 190px; }
	body.single-meal .mf-premium-review-stage #mf-ugc { padding: 18px 0 0 !important; }
	body.single-meal .mf-premium-ingredients-head {
		align-items: start;
		flex-direction: column;
		gap: 8px;
	}
	body.single-meal .mf-premium-ingredients-count { text-align: left; }
	body.single-meal .mf-premium-ingredient-tiles {
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.single-meal .mf-premium-ingredient-tile-copy { padding: 11px 11px 13px; }
	body.single-meal .mf-premium-ingredient-more ul { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-ingredient-visuals {
		display: flex;
		min-height: 0;
		overflow-x: auto;
		padding: 0 2px 12px 0;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}
	body.single-meal .mf-premium-ingredient-visual {
		flex: 0 0 min(74vw, 292px);
		grid-row: auto;
		scroll-snap-align: start;
	}
	body.single-meal .mf-premium-ingredient-visual-media {
		aspect-ratio: 4 / 3;
		height: auto;
	}
	body.single-meal .mf-premium-swipe-hint {
		align-items: center;
		color: var(--mfp-muted);
		display: flex;
		font-size: 12px;
		font-weight: 750;
		gap: 9px;
		margin: -2px 0 14px;
	}
	body.single-meal .mf-premium-swipe-dots {
		align-items: center;
		display: flex;
		gap: 5px;
	}
	body.single-meal .mf-premium-swipe-dot {
		background: #d6cec4;
		border-radius: 99px;
		display: block;
		height: 6px;
		transition: background .2s ease, width .2s ease;
		width: 6px;
	}
	body.single-meal .mf-premium-swipe-dot.is-active {
		background: var(--mfp-coral);
		width: 16px;
	}
	body.single-meal .mf-premium-ingredient-groups { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-heating-steps { grid-template-columns: 1fr; }
	body.single-meal .mf-premium-heating-details summary { min-height: 124px; padding: 22px 20px 19px; }
	body.single-meal .mf-premium-recipe-summary-main { gap: 12px; }
	body.single-meal .mf-premium-recipe-summary-title { font-size: 25px; }
	body.single-meal .mf-premium-recipe-toggle { height: 44px; width: 44px; }
	body.single-meal .mf-premium-heating-details > ul { padding: 4px 18px 14px !important; }
	body.single-meal .mf-premium-heating-details > ul > li { padding: 22px 2px 22px 62px !important; }
	body.single-meal .mf-premium-heating-details > ul > li::before { height: 38px; left: 2px; top: 22px; width: 38px; }
	body.single-meal .mf-premium-heating-details > ul > li::after { left: 21px; top: 67px; }
	body.single-meal .mf-premium-review-dock {
		bottom: 10px;
		gap: 7px;
		max-width: calc(100vw - 20px);
		padding: 8px;
		right: 10px;
		width: calc(100vw - 20px);
	}
	body.single-meal .mf-premium-review-dock-copy { display: none; }
	body.single-meal .mf-premium-review-dock button:not(.mf-premium-review-dock-close) {
		flex: 1 1 0;
		padding: 0 10px;
	}
}
#mfml-overlay {
	background: rgba(20,16,8,.58);
	display: none;
	inset: 0;
	opacity: 0;
	position: fixed;
	transition: opacity .25s ease;
	z-index: 99998;
}
#mfml-overlay.on { display: block; opacity: 1; }
#mfml {
	background: #fff;
	border: 2px solid #d06e48;
	border-radius: 22px;
	box-shadow: 0 26px 70px rgba(31,20,12,.3);
	display: none;
	font-family: "DM Sans", Arial, sans-serif;
	left: 50%;
	opacity: 0;
	overflow: visible;
	position: fixed;
	text-align: left;
	top: 50%;
	transform: translate(-50%,-46%) scale(.96);
	transition: opacity .25s ease, transform .25s ease;
	width: min(690px,94vw);
	z-index: 99999;
}
#mfml.on { display: block; opacity: 1; transform: translate(-50%,-50%) scale(1); }
#mfml-badge {
	background: #d06e48;
	border-radius: 999px;
	box-shadow: 0 5px 14px rgba(208,110,72,.34);
	color: #fff;
	font-size: 12px;
	font-weight: 850;
	left: 50%;
	letter-spacing: .09em;
	padding: 8px 20px;
	position: absolute;
	top: 0;
	transform: translate(-50%,-50%);
	white-space: nowrap;
	z-index: 3;
}
#mfml-close {
	align-items: center;
	background: #f6efe8;
	border: 0;
	border-radius: 50%;
	color: #74685e;
	cursor: pointer;
	display: flex;
	font-size: 20px;
	height: 44px;
	justify-content: center;
	position: absolute;
	right: 12px;
	top: 12px;
	width: 44px;
	z-index: 3;
}
#mfml-close:focus-visible { outline: 3px solid rgba(208,110,72,.35); outline-offset: 2px; }
#mfml-flex { border-radius: 20px; display: grid; grid-template-columns: minmax(230px,.78fr) minmax(0,1.22fr); overflow: hidden; }
#mfml-visual { background: #f6efe7; min-height: 470px; position: relative; }
#mfml-image { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
#mfml-visual::after { background: linear-gradient(180deg,transparent 52%,rgba(17,12,7,.85)); content: ""; inset: 0; position: absolute; }
#mfml-caption { bottom: 0; color: #fff; font-family: "Playfair Display", Georgia, serif; font-size: 19px; font-weight: 600; left: 0; line-height: 1.15; padding: 30px 20px 20px; position: absolute; right: 0; z-index: 2; }
#mfml-body { display: flex; flex-direction: column; justify-content: center; padding: 42px 34px 30px; }
#mfml-kicker { color: #a84d30; font-size: 12px; font-weight: 850; letter-spacing: .08em; margin: 0 0 9px; text-transform: uppercase; }
#mfml-title { color: #1b2331; font-family: "Playfair Display", Georgia, serif; font-size: 38px; font-weight: 600; letter-spacing: -.025em; line-height: 1.02; margin: 0; }
#mfml-sub { color: #3f4857; font-size: 15px; font-weight: 700; line-height: 1.48; margin: 11px 0 3px; }
#mfml-plus { color: #767d88; font-size: 12px; line-height: 1.45; margin: 0 0 17px; }
#mfml-steps { align-items: center; display: flex; margin: 0 0 15px; }
#mfml-steps .step { align-items: center; color: #948878; display: flex; font-size: 11px; font-weight: 750; gap: 6px; white-space: nowrap; }
#mfml-steps .num { align-items: center; background: #eee5da; border-radius: 50%; display: flex; font-size: 11px; font-weight: 850; height: 24px; justify-content: center; width: 24px; }
#mfml-steps .step.active { color: #a84d30; }
#mfml-steps .step.active .num { background: #d06e48; color: #fff; }
#mfml-steps .track { background: #eee5da; flex: 1; height: 2px; margin: 0 9px; min-width: 22px; position: relative; }
#mfml-steps .track i { background: #2e9e57; display: block; height: 100%; transform: scaleX(0); transform-origin: left; transition: transform .45s ease; }
#mfml.done #mfml-steps .track i { transform: scaleX(1); }
#mfml.done #mfml-steps .step { color: #23663a; }
#mfml.done #mfml-steps .num { background: #2e9e57; color: #fff; }
#mfml-field { position: relative; }
#mfml-email { background: #fff; border: 2px solid #e2d9ce; border-radius: 12px; box-sizing: border-box; color: #1b2331; font: 700 16px/1.2 "DM Sans", Arial, sans-serif; outline: 0; padding: 15px 44px 15px 15px; text-align: center; transition: border-color .25s ease, box-shadow .25s ease; width: 100%; }
#mfml-email::placeholder { color: #aaa094; font-weight: 550; }
#mfml-email:focus { border-color: #d06e48; box-shadow: 0 0 0 4px rgba(208,110,72,.13); }
#mfml.bad #mfml-email { border-color: #c94848; box-shadow: 0 0 0 4px rgba(201,72,72,.11); }
#mfml.ok #mfml-email { border-color: #2e9e57; box-shadow: 0 0 0 4px rgba(46,158,87,.11); }
#mfml-check { align-items: center; background: #2e9e57; border-radius: 50%; color: #fff; display: flex; font-size: 13px; height: 23px; justify-content: center; position: absolute; right: 13px; top: 50%; transform: translateY(-50%) scale(0); transition: transform .3s cubic-bezier(.34,1.7,.5,1); width: 23px; }
#mfml.ok #mfml-check { transform: translateY(-50%) scale(1); }
#mfml-progress { background: #eee5da; border-radius: 999px; height: 5px; margin-top: 8px; overflow: hidden; }
#mfml-progress i { background: linear-gradient(90deg,#d06e48,#e8a13f,#8fbd61,#2e9e57); border-radius: inherit; display: block; height: 100%; transition: width .32s ease; width: 0; }
#mfml-hint { color: #a44236; display: none; font-size: 12px; font-weight: 700; line-height: 1.4; margin: 7px 2px 0; }
#mfml-hint.on { display: block; }
#mfml-submit { background: #ece4da; border: 0; border-radius: 12px; color: #9d9081; cursor: not-allowed; font: 850 16px/1 "DM Sans",Arial,sans-serif; margin-top: 12px; min-height: 52px; padding: 0 16px; transition: background-color .25s ease, color .25s ease, transform .15s ease; width: 100%; }
#mfml.ok #mfml-submit { background: #d06e48; box-shadow: 0 8px 20px rgba(208,110,72,.3); color: #fff; cursor: pointer; }
#mfml.ok #mfml-submit:hover { background: #bd5c38; }
#mfml-submit:focus-visible { outline: 3px solid rgba(208,110,72,.35); outline-offset: 2px; }
#mfml-fine { color: #82786e; font-size: 10.5px; line-height: 1.45; margin: 11px 0 0; text-align: center; }
#mfml-success { background: #eff9f2; border: 2px solid #8dc69d; border-radius: 13px; color: #23663a; display: none; font-size: 15px; font-weight: 800; line-height: 1.45; padding: 16px; text-align: center; }
#mfml.done #mfml-field,#mfml.done #mfml-progress,#mfml.done #mfml-hint,#mfml.done #mfml-submit { display: none; }
#mfml.done #mfml-success { display: block; animation: mfmlReveal .55s cubic-bezier(.34,1.4,.5,1); }
#mfml-autocomplete { background: #fff; border: 1px solid #ded4c8; border-radius: 12px; box-shadow: 0 12px 28px rgba(31,20,12,.18); display: none; left: 0; overflow: hidden; position: absolute; right: 0; top: calc(100% + 6px); z-index: 4; }
#mfml-autocomplete.show { display: block; }
#mfml-autocomplete button { background: #fff; border: 0; color: #1b2331; cursor: pointer; display: block; font: 700 14px/1.2 "DM Sans",Arial,sans-serif; min-height: 44px; padding: 0 14px; text-align: left; width: 100%; }
#mfml-autocomplete button:hover,#mfml-autocomplete button:focus-visible { background: #faf3e9; outline: 0; }
#mfml-autocomplete button + button { border-top: 1px solid #eee7df; }
@keyframes mfmlReveal { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: scale(1); } }
@media (max-width:620px) {
	#mfml { max-height: calc(100vh - 28px); overflow: auto; width: min(94vw,430px); }
	#mfml-flex { display: block; }
	#mfml-visual { min-height: 142px; }
	#mfml-visual::after { background: linear-gradient(180deg,transparent 30%,rgba(17,12,7,.82)); }
	#mfml-caption { font-size: 16px; padding: 34px 18px 14px; }
	#mfml-body { padding: 34px 20px 22px; }
	#mfml-title { font-size: 31px; }
	#mfml-sub { font-size: 14px; }
	#mfml-steps .step { font-size: 10px; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
	body.single-meal * { scroll-behavior: auto !important; }
	body.single-meal .mf-premium-gallery .mf-premium-slide,
	body.single-meal .mf-premium-review-dock,
	body.single-meal .mf-premium-ingredient-visual img,
	body.single-meal .mf-premium-swipe-dot,
	body.single-meal .mf-deal-bar,
	body.single-meal .mf-header { transition: none !important; }
	body.single-meal .mf-premium-food-card-media::before { animation: none !important; }
	#mfml,#mfml-overlay,#mfml-progress i,#mfml-steps .track i,#mfml-check { transition: none !important; }
	body.single-meal .mf-premium-heating-details[open] > ul { animation: none !important; }
}


/* --- quiz-cta-mealfan-quiz-compact-css.css --- */
.mfq-compact-outer.mfq-compact-injected { display: block !important; }
    .mfq-compact { max-width: 900px; margin: 48px auto; padding: 0 16px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
    .mfq-compact * { box-sizing: border-box; }
    .mfq-compact__inner { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 32px; align-items: center; padding: 32px 36px; border-radius: 20px; background: linear-gradient(135deg, #1a2332 0%, #2a3a52 100%); color: #fff; box-shadow: 0 12px 40px rgba(0,0,0,0.12); position: relative; overflow: hidden; }
    .mfq-compact__inner::before { content: ''; position: absolute; top: -40%; right: -10%; width: 280px; height: 280px; background: radial-gradient(circle, rgba(212,118,78,0.25) 0%, transparent 70%); pointer-events: none; }
    .mfq-compact__content { position: relative; z-index: 1; }
    .mfq-compact__eyebrow { display: inline-block; font-size: 11px; letter-spacing: 2px; color: #d4764e; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; }
    .mfq-compact__headline { font-family: "Playfair Display", Georgia, serif; font-size: 26px; line-height: 1.2; font-weight: 500; color: #fff !important; margin: 0 0 10px 0 !important; }
    .mfq-compact__sub { font-size: 15px; line-height: 1.55; color: rgba(255,255,255,0.82) !important; margin: 0 !important; }
    .mfq-compact__action { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
    .mfq-compact__btn { display: inline-flex; align-items: center; gap: 8px; background: #d4764e; color: #fff !important; padding: 16px 28px; border-radius: 999px; font-size: 15px; font-weight: 600; letter-spacing: 0.3px; text-decoration: none !important; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease; white-space: nowrap; }
    .mfq-compact__btn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(212,118,78,0.45); background: #e08357; color: #fff !important; }
    .mfq-compact__btn-arrow { font-size: 18px; line-height: 1; transition: transform 0.15s ease; }
    .mfq-compact__btn:hover .mfq-compact__btn-arrow { transform: translateX(3px); }
    .mfq-compact__micro { font-size: 11px; color: rgba(255,255,255,0.55); letter-spacing: 0.5px; }
    @media (max-width: 720px) {
        .mfq-compact { margin: 32px auto; padding: 0 12px; }
        .mfq-compact__inner { grid-template-columns: 1fr; gap: 20px; padding: 24px 22px; border-radius: 16px; text-align: center; }
        .mfq-compact__headline { font-size: 22px; }
        .mfq-compact__sub { font-size: 14px; }
        .mfq-compact__action { align-items: center; }
        .mfq-compact__btn { padding: 14px 24px; font-size: 14px; }
    }


/* --- mf-review-menu-fab-v4-b0.css --- */
/* Hide v3 FAB */
#mf-fab2{display:none!important}
/* v4 FAB */
#mf-fab4{position:fixed;right:18px;bottom:18px;z-index:9998;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
#mf-fab4 a{display:inline-flex;align-items:center;gap:8px;font:700 14px/1 system-ui,-apple-system,"Segoe UI",sans-serif;padding:12px 16px;border-radius:999px;text-decoration:none;box-shadow:0 6px 20px rgba(28,33,56,.28);transition:transform .12s;}
#mf-fab4 a:hover{transform:translateY(-2px);}
#mf-fab4 .mf-fab-rev{background:#e5541b;color:#fff;}
#mf-fab4 .mf-fab-menu{background:#1a2332;color:#fff;}
#mf-fab4 svg{width:16px;height:16px;flex:none;}
#mf-fab4 .x{margin-left:2px;opacity:.75;font-weight:400;font-size:16px;cursor:pointer;line-height:1;}
@media(max-width:600px){#mf-fab4 .lbl{display:none;}#mf-fab4 a{padding:14px;}#mf-fab4{right:14px;bottom:14px;}}


/* --- mf-meal-tap-20260807-mf-meal-tap-20260807-css.css --- */
#mf-tapbar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:99990;
  background:#fff;border:2px solid #f5a623;border-radius:16px;box-shadow:0 10px 34px rgba(20,14,8,.18);
  padding:12px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:94vw;font-size:14px}
#mf-tapbar .mf-tap-q{font-weight:800;color:#3d3220}
#mf-tapbar .mf-tap-stars{display:inline-flex;gap:3px}
#mf-tapbar .mf-tap-star{border:none;background:none;cursor:pointer;font-size:27px;line-height:1;
  color:#dcd6cc;padding:0 2px}
#mf-tapbar .mf-tap-star:hover,#mf-tapbar .mf-tap-star.on{color:#f5a623}
#mf-tapbar .mf-tap-x{border:none;background:none;cursor:pointer;font-size:17px;color:#b3a68f;padding:2px 4px}
#mf-tapbar input{padding:8px 11px;border:1.5px solid #ddd;border-radius:9px;font-size:13px;outline:none;min-width:170px}
#mf-tapbar button.mf-tap-send{background:#f5a623;color:#fff;border:none;border-radius:9px;
  padding:8px 14px;font-size:13px;font-weight:800;cursor:pointer}
#mf-tapbar .mf-tap-ok{font-weight:800;color:#178a43}
@media(max-width:560px){#mf-tapbar{bottom:8px;padding:10px 12px;font-size:13px}
  #mf-tapbar .mf-tap-star{font-size:24px}}


/* --- mtbx-head-20260720.css --- */
#mtbx-hint{display:none;margin:7px 2px 0;font-size:13px;font-weight:700;color:#e59b9b;text-align:left;letter-spacing:.2px}
#mtbx-hint.on{display:block}
.mtbconf{position:fixed;top:-14px;width:9px;height:14px;z-index:2147483000;pointer-events:none;animation:mtbfall linear forwards;border-radius:2px}
@keyframes mtbfall{to{transform:translateY(110vh) rotate(720deg);opacity:.9}}
/* v3 inline sticky capture bar (replaces the click-to-open teaser) */
.mftb-bar{position:sticky!important;top:0;z-index:99990;background:#1a2332!important;color:#fff!important;padding:0!important;margin:0!important;border:0!important;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.mftb-inline{display:flex;align-items:center;justify-content:center;gap:12px 16px;max-width:1060px;margin:0 auto;padding:9px 16px;flex-wrap:wrap;font-family:inherit}
.mftb-offer{font-size:14.5px;font-weight:600;color:#fff;letter-spacing:.1px}
.mftb-offer strong{color:#f0a882}
.mftb-offer em{font-style:normal;color:#aeb7c6;font-weight:500;font-size:13px}
.mftb-fields{display:flex;gap:8px;position:relative}
.mf-deal-bar{cursor:pointer}
.mf-deal-bar .mftb-fields{display:none!important}
.mf-deal-bar .mftb-claim{margin-left:12px;background:#e0895f;color:#1a2332;border:0;font-weight:800;font-size:12px;letter-spacing:.5px;padding:5px 14px;border-radius:999px;cursor:pointer;text-transform:uppercase;animation:mftbPulse 2s ease-in-out infinite}
.mf-deal-bar .mftb-claim:hover{background:#f0a882}
@keyframes mftbPulse{0%{box-shadow:0 0 0 0 rgba(224,137,95,.65);transform:scale(1)}50%{box-shadow:0 0 0 9px rgba(224,137,95,0);transform:scale(1.06)}100%{box-shadow:0 0 0 0 rgba(224,137,95,0);transform:scale(1)}}
.mf-deal-bar .mftb-claim.mftb-clicked{animation:mftbPress .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes mftbPress{0%{transform:scale(1)}30%{transform:scale(.82);background:#f0a882}60%{transform:scale(1.14);box-shadow:0 0 0 10px rgba(224,137,95,.001),0 0 18px rgba(240,168,130,.9)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.mf-deal-bar .mftb-claim,.mf-deal-bar .mftb-claim.mftb-clicked{animation:none}}
.mftb-suggest{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:#fff;color:#1a2332;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:600;box-shadow:0 10px 26px rgba(0,0,0,.28);cursor:pointer;z-index:100001;display:none;text-align:left;line-height:1.35}
.mftb-suggest.on{display:block}
.mftb-suggest b{color:#c0603a}
.mftb-email{border:1.5px solid #47536b;background:#fff;color:#111;border-radius:999px;padding:9px 16px;font-size:14px;width:212px;outline:none;font-weight:600}
.mftb-email::placeholder{color:#9aa0aa;font-weight:500}
.mftb-email:focus{border-color:#d4764e;box-shadow:0 0 0 3px rgba(212,118,78,.28)}
.mftb-btn{border:0;background:linear-gradient(135deg,#d4764e,#c06840);color:#fff;border-radius:999px;padding:9px 20px;font-weight:800;font-size:14px;cursor:pointer;white-space:nowrap;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 12px rgba(212,118,78,.3)}
.mftb-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(212,118,78,.42)}
@media(max-width:640px){.mftb-offer em{display:none}.mftb-offer{font-size:13px;flex-basis:100%;text-align:center}.mftb-inline{gap:8px;padding:8px 10px}.mftb-fields{flex:1;max-width:360px}.mftb-email{width:0;flex:1;min-width:110px}.mftb-btn{padding:9px 14px}}
.mf-okhint{display:none;margin:6px 2px 0;font-size:12.5px;font-weight:700;color:#2e9e57;text-align:left}
.mf-okhint.on{display:block}
@media(hover:none){button:not([disabled]){transition:transform .1s}button:not([disabled]):active{transform:scale(.96)}}


/* --- mtbx-modal-20260720.css --- */
#mtbx-ov{position:fixed;inset:0;background:rgba(20,16,8,.55);z-index:99998;display:none;opacity:0;transition:opacity .25s}
#mtbx-ov.on{display:block;opacity:1}
#mtbx{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.96);z-index:99999;display:none;opacity:0;
 width:min(640px,94vw);border-radius:20px;background:#fff;border:2px solid #d96b3f;
 box-shadow:0 24px 64px rgba(60,30,5,.28);transition:opacity .25s,transform .25s;font-family:inherit;text-align:left}
#mtbx.on{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}
#mtbx-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:#d96b3f;color:#fff;
 font-weight:800;font-size:12.5px;letter-spacing:.08em;padding:8px 20px;border-radius:999px;z-index:2;
 box-shadow:0 4px 12px rgba(217,107,63,.35);white-space:nowrap}
#mtbx-x{position:absolute;top:12px;right:14px;border:0;background:#f6efe4;width:32px;height:32px;border-radius:50%;
 font-size:18px;line-height:1;color:#8a7f68;cursor:pointer;z-index:2}
#mtbx-flex{display:flex;align-items:stretch;border-radius:18px;overflow:hidden}
#mtbx-left{flex:0 0 44%;background:#faf3e7;display:flex;flex-direction:column;justify-content:center;padding:26px 0 26px 26px}
#mtbx-frame{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1/1.06;background:#fff;
 box-shadow:0 8px 22px rgba(60,30,5,.14)}
#mtbx-pic{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
#mtbx-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(17,12,6,.78));
 color:#fff;font-size:12px;font-weight:700;padding:26px 12px 10px;line-height:1.4;text-align:center}
#mtbx-body{flex:1;padding:38px 30px 26px;display:flex;flex-direction:column;justify-content:center}
#mtbx-kick{color:#d96b3f;font-weight:800;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px}
#mtbx h3{margin:0;font-size:52px;line-height:.95;color:#111;font-weight:900;letter-spacing:-.02em}
#mtbx-sub{margin:8px 0 0;font-size:18px;font-weight:700;color:#111}
#mtbx-plus{margin:2px 0 16px;font-size:14.5px;color:#6b6355}
#mtbx-steps{display:flex;align-items:center;margin:0 0 14px}
#mtbx-steps .st{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#9a8d7b}
#mtbx-steps .st .n{width:22px;height:22px;border-radius:50%;background:#efe6d8;color:#9a8d7b;display:flex;
 align-items:center;justify-content:center;font-size:12px;font-weight:800;transition:all .35s}
#mtbx-steps .st.active{color:#d96b3f}
#mtbx-steps .st.active .n{background:#d96b3f;color:#fff}
#mtbx.done #mtbx-steps .st{color:#2e9e57}
#mtbx.done #mtbx-steps .st .n{background:#2e9e57;color:#fff}
#mtbx-steps .track{flex:1;height:2px;background:#efe6d8;margin:0 10px;position:relative;min-width:28px}
#mtbx-steps .track i{position:absolute;inset:0;background:#2e9e57;transform:scaleX(0);transform-origin:left;transition:transform .5s;display:block}
#mtbx.done #mtbx-steps .track i{transform:scaleX(1)}
#mtbx-inwrap{position:relative}
#mtbx-in{width:100%;box-sizing:border-box;padding:15px 44px 15px 16px;font-size:16.5px;border:2px solid #e5dccb;border-radius:12px;
 outline:none;background:#fff;transition:border-color .3s,box-shadow .3s;text-align:center;font-weight:600;color:#111}
#mtbx-in::placeholder{color:#b9ad99;font-weight:500}
#mtbx-in:focus{border-color:#d96b3f;box-shadow:0 0 0 4px rgba(217,107,63,.12)}
#mtbx.ok #mtbx-in{border-color:#2e9e57;box-shadow:0 0 0 4px rgba(46,158,87,.12);background:#f2fbf5}
#mtbx.bad #mtbx-in{border-color:#d64545;box-shadow:0 0 0 4px rgba(214,69,69,.12);background:#ffe4ec}
#mtbx-in.key{animation:mtbxKey .3s ease-out}
@keyframes mtbxKey{0%{box-shadow:0 0 0 3px rgba(217,107,63,.25)}100%{box-shadow:0 0 0 10px rgba(217,107,63,0)}}
#mtbx-check{position:absolute;right:13px;top:50%;width:22px;height:22px;border-radius:50%;background:#2e9e57;
 display:flex;align-items:center;justify-content:center;transform:translateY(-50%) scale(0);transition:transform .35s cubic-bezier(.34,1.7,.5,1)}
#mtbx.ok #mtbx-check{transform:translateY(-50%) scale(1)}
#mtbx-check svg{width:12px;height:12px}
#mtbx-prog{height:4px;border-radius:99px;background:#f1e7d8;margin-top:8px;overflow:hidden}
#mtbx-prog i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#d96b3f,#e8a13f,#9ec44f,#2e9e57);
 background-size:400px 100%;transition:width .35s cubic-bezier(.4,0,.2,1)}
#mtbx.done #mtbx-prog{display:none}
#mtbx.ok #mtbx-btn{position:relative;overflow:hidden}
#mtbx.ok #mtbx-btn::after{content:'';position:absolute;top:0;left:-80%;width:60%;height:100%;
 background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);animation:mtbxShine 1.4s ease .15s 2}
@keyframes mtbxShine{to{left:130%}}
.mtbx-cf{position:absolute;width:8px;height:12px;border-radius:2px;pointer-events:none;z-index:3;
 animation:mtbxFall 1.1s cubic-bezier(.3,.6,.4,1) forwards}
@keyframes mtbxFall{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),110px) rotate(var(--rot))}}
#mtbx.done #mtbx-code{animation:mtbxReveal .6s cubic-bezier(.34,1.4,.5,1);cursor:pointer}
@keyframes mtbxReveal{0%{transform:scale(.85);letter-spacing:.3em;opacity:0}100%{transform:scale(1);letter-spacing:.06em;opacity:1}}
#mtbx-btn{width:100%;margin-top:12px;padding:16px;font-size:18px;font-weight:800;border:0;border-radius:12px;
 background:#f1e7d8;color:#b3a288;cursor:not-allowed;transition:all .35s}
#mtbx.ok #mtbx-btn{background:#d96b3f;color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(217,107,63,.35)}
#mtbx.ok #mtbx-btn:hover{background:#c05a30}
#mtbx-code{display:none;margin:0;padding:15px;border:2px solid #2e9e57;border-radius:12px;text-align:center;
 font-size:21px;font-weight:800;letter-spacing:.06em;color:#166b33;background:#f2fbf5}
#mtbx-code small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;color:#5aa877;margin-bottom:2px}
#mtbx.done #mtbx-code{display:block}
#mtbx.done #mtbx-in,#mtbx.done #mtbx-btn{display:none}
#mtbx-go{display:none;margin-top:12px;padding:16px;font-size:18px;font-weight:800;border-radius:12px;text-align:center;
 background:#d96b3f;color:#fff!important;text-decoration:none;box-shadow:0 8px 20px rgba(217,107,63,.35)}
#mtbx.done #mtbx-go{display:block}
#mtbx-fine{margin:12px 0 0;font-size:12.5px;color:#a99c86;text-align:center;font-weight:600}
@media(max-width:600px){#mtbx-left{display:none}#mtbx-body{padding:42px 22px 22px}#mtbx h3{font-size:40px}}
#mtbx-inwrap .mfw-email-ac{position:absolute;left:0;right:0;top:100%;margin-top:5px;background:#fff;border:1.5px solid #e5dccb;border-radius:12px;box-shadow:0 10px 24px rgba(60,30,5,.16);z-index:100000;overflow:hidden;display:none;text-align:left}
#mtbx-inwrap .mfw-email-ac.show{display:block}
#mtbx-inwrap .mfw-email-ac.mfw-ac-up{top:auto;bottom:100%;margin-top:0;margin-bottom:5px}
#mtbx-inwrap .mfw-ac-opt{padding:13px 16px;min-height:44px;box-sizing:border-box;display:flex;align-items:center;font-size:16px;color:#111;cursor:pointer;font-weight:600}
#mtbx-inwrap .mfw-ac-opt b{color:#a8502e;font-weight:700}
#mtbx-inwrap .mfw-ac-opt:hover,#mtbx-inwrap .mfw-ac-opt.hl{background:#faf3e7}
#mtbx-inwrap .mfw-ac-opt+.mfw-ac-opt{border-top:1px solid #f3ede3}
#mtbx.done .mfw-email-ac{display:none!important}


/* --- mf-footopt-20260720.css --- */
.mf-footopt{background:#faf8f4;border-top:1px solid #e8e0d2;padding:38px 20px}
.mf-footopt-in{max-width:640px;margin:0 auto;text-align:center;background:#fff;border:2px solid #e8e0d2;border-radius:20px;padding:28px 24px;box-shadow:0 10px 30px rgba(26,35,50,.08)}
.mf-footopt h4{font-size:21px;margin:0 0 6px;color:#1a2332!important;font-weight:800}
.mf-footopt p{margin:0 0 16px;font-size:14px;color:#5a6472!important}
.mf-footopt p strong{color:#c0603a}
.mf-footopt-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.mf-footopt-email{flex:1;min-width:220px;max-width:320px;border:1.5px solid #ddd4c8;background:#fff;color:#111;border-radius:999px;padding:12px 18px;font-size:15px;outline:none;font-weight:600}
.mf-footopt-email::placeholder{color:#9aa0aa;font-weight:500}
.mf-footopt-email:focus{border-color:#d4764e;box-shadow:0 0 0 3px rgba(212,118,78,.28)}
.mf-footopt-email.bad{border-color:#d64545!important;background:#ffe4ec;box-shadow:0 0 0 3px rgba(214,69,69,.15)!important}
.mf-footopt-email.ok{border-color:#2e9e57!important;background:#f2fbf5;box-shadow:0 0 0 3px rgba(46,158,87,.15)!important}
.mf-footopt-btn{border:0;background:#f1e7d8;color:#b3a288;border-radius:999px;padding:12px 24px;font-weight:800;font-size:15px;cursor:not-allowed;white-space:nowrap;transition:background .3s,color .3s,box-shadow .3s}
.mf-footopt-btn.on{background:linear-gradient(135deg,#d4764e,#c06840);color:#fff;cursor:pointer;box-shadow:0 4px 12px rgba(212,118,78,.3);animation:mfFootPulse 1.5s ease-in-out infinite}
@keyframes mfFootPulse{0%{box-shadow:0 0 0 0 rgba(212,118,78,.5)}50%{box-shadow:0 0 0 9px rgba(212,118,78,0)}100%{box-shadow:0 0 0 0 rgba(212,118,78,0)}}
@media(prefers-reduced-motion:reduce){.mf-footopt-btn.on{animation:none}}
.mf-footopt-chips{display:none;gap:8px;flex-wrap:wrap;justify-content:center;flex-basis:100%;margin-top:4px}
.mf-footopt-chips.on{display:flex}
.mf-footopt-chip{border:1.5px solid #ddd4c8;background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;color:#1a2332;cursor:pointer}
.mf-footopt-chip:hover{background:#faf3e7}
.mf-footopt .mf-okhint{text-align:center}
.mf-footopt-done{font-size:16px;font-weight:700;color:#166b33}


/* --- mfnx-20260720.css --- */
#mfnx-ov{position:fixed;inset:0;background:rgba(20,16,8,.55);z-index:99998;display:none;opacity:0;transition:opacity .25s}
#mfnx-ov.on{display:block;opacity:1}
#mfnx{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.96);z-index:99999;display:none;opacity:0;
 width:min(640px,94vw);border-radius:20px;background:#fff;border:2px solid #d96b3f;
 box-shadow:0 24px 64px rgba(60,30,5,.28);transition:opacity .25s,transform .25s;font-family:inherit;text-align:left}
#mfnx.on{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}
#mfnx-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:#d96b3f;color:#fff;
 font-weight:800;font-size:12.5px;letter-spacing:.08em;padding:8px 20px;border-radius:999px;z-index:2;
 box-shadow:0 4px 12px rgba(217,107,63,.35);white-space:nowrap}
#mfnx-x{position:absolute;top:8px;right:10px;border:0;background:#f6efe4;width:44px;height:44px;border-radius:50%;
 display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:#736955;cursor:pointer;z-index:2}
#mfnx-x:hover{background:#ecdfcd;color:#312b22}
#mfnx-x:focus-visible{outline:3px solid #2e6fb0;outline-offset:3px}
#mfnx-flex{display:flex;align-items:stretch;border-radius:18px;overflow:hidden}
#mfnx-left{flex:0 0 44%;background:#faf3e7;display:flex;flex-direction:column;justify-content:center;padding:26px 0 26px 26px}
#mfnx-frame{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1/1.06;background:#fff;
 box-shadow:0 8px 22px rgba(60,30,5,.14)}
#mfnx-pic{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
#mfnx-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(17,12,6,.78));
 color:#fff;font-size:12px;font-weight:700;padding:26px 12px 10px;line-height:1.4;text-align:center}
#mfnx-body{flex:1;padding:38px 30px 26px;display:flex;flex-direction:column;justify-content:center}
#mfnx-kick{color:#d96b3f;font-weight:800;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px}
#mfnx h3{margin:0;font-size:52px;line-height:.95;color:#111;font-weight:900;letter-spacing:-.02em}
#mfnx-sub{margin:8px 0 0;font-size:18px;font-weight:700;color:#111}
#mfnx-plus{margin:2px 0 16px;font-size:14.5px;color:#6b6355}
#mfnx-steps{display:flex;align-items:center;margin:0 0 14px}
#mfnx-steps .st{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#9a8d7b}
#mfnx-steps .st .n{width:22px;height:22px;border-radius:50%;background:#efe6d8;color:#9a8d7b;display:flex;
 align-items:center;justify-content:center;font-size:12px;font-weight:800;transition:all .35s}
#mfnx-steps .st.active{color:#d96b3f}
#mfnx-steps .st.active .n{background:#d96b3f;color:#fff}
#mfnx.done #mfnx-steps .st{color:#2e9e57}
#mfnx.done #mfnx-steps .st .n{background:#2e9e57;color:#fff}
#mfnx-steps .track{flex:1;height:2px;background:#efe6d8;margin:0 10px;position:relative;min-width:28px}
#mfnx-steps .track i{position:absolute;inset:0;background:#2e9e57;transform:scaleX(0);transform-origin:left;transition:transform .5s;display:block}
#mfnx.done #mfnx-steps .track i{transform:scaleX(1)}
#mfnx-inwrap{position:relative}
#mfnx-in{width:100%;box-sizing:border-box;padding:15px 44px 15px 16px;font-size:16.5px;border:2px solid #e5dccb;border-radius:12px;
 outline:none;background:#fff;transition:border-color .3s,box-shadow .3s,background-color .3s;text-align:center;font-weight:600;color:#111}
#mfnx-in::placeholder{color:#b9ad99;font-weight:500}
#mfnx-in:focus{border-color:#d96b3f;box-shadow:0 0 0 4px rgba(217,107,63,.12)}
#mfnx.ok #mfnx-in{border-color:#2e9e57;background:#f2fbf5;box-shadow:0 0 0 4px rgba(46,158,87,.12)}
#mfnx.bad #mfnx-in{border-color:#d64545;background:#fff1f1;box-shadow:0 0 0 4px rgba(214,69,69,.14)}
#mfnx-in.key{animation:mfnxKey .3s ease-out}
@keyframes mfnxKey{0%{box-shadow:0 0 0 3px rgba(217,107,63,.25)}100%{box-shadow:0 0 0 10px rgba(217,107,63,0)}}
#mfnx-check{position:absolute;right:13px;top:50%;width:22px;height:22px;border-radius:50%;background:#2e9e57;
 display:flex;align-items:center;justify-content:center;transform:translateY(-50%) scale(0);transition:transform .35s cubic-bezier(.34,1.7,.5,1)}
#mfnx.ok #mfnx-check{transform:translateY(-50%) scale(1)}
#mfnx-check svg{width:12px;height:12px}
#mfnx-prog{height:4px;border-radius:99px;background:#f1e7d8;margin-top:8px;overflow:hidden}
#mfnx-prog i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#d96b3f,#e8a13f,#9ec44f,#2e9e57);
 background-size:400px 100%;transition:width .35s cubic-bezier(.4,0,.2,1)}
#mfnx.done #mfnx-prog{display:none}
#mfnx.ok #mfnx-btn{position:relative;overflow:hidden}
#mfnx.ok #mfnx-btn::after{content:'';position:absolute;top:0;left:-80%;width:60%;height:100%;
 background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);animation:mfnxShine 1.4s ease .15s 2}
@keyframes mfnxShine{to{left:130%}}
.mfnx-cf{position:absolute;width:8px;height:12px;border-radius:2px;pointer-events:none;z-index:3;
 animation:mfnxFall 1.1s cubic-bezier(.3,.6,.4,1) forwards}
@keyframes mfnxFall{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),110px) rotate(var(--rot))}}
#mfnx.done #mfnx-code{animation:mfnxReveal .6s cubic-bezier(.34,1.4,.5,1);cursor:pointer}
@keyframes mfnxReveal{0%{transform:scale(.85);letter-spacing:.3em;opacity:0}100%{transform:scale(1);letter-spacing:.06em;opacity:1}}
#mfnx-btn{width:100%;margin-top:12px;padding:16px;font-size:18px;font-weight:800;border:0;border-radius:12px;
 background:#f1e7d8;color:#b3a288;cursor:not-allowed;transition:all .35s}
#mfnx.ok #mfnx-btn{background:#d96b3f;color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(217,107,63,.35)}
#mfnx.ok #mfnx-btn:hover{background:#c05a30}
#mfnx-code{display:none;margin:0;padding:15px;border:2px solid #2e9e57;border-radius:12px;text-align:center;
 font-size:21px;font-weight:800;letter-spacing:.06em;color:#166b33;background:#f2fbf5}
#mfnx-code small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;color:#5aa877;margin-bottom:2px}
#mfnx.done #mfnx-code{display:block}
#mfnx.done #mfnx-in,#mfnx.done #mfnx-btn,#mfnx.done #mfnx-ph,#mfnx.done #mfnx-smslbl{display:none}
#mfnx-go{display:none;margin-top:12px;padding:16px;font-size:18px;font-weight:800;border-radius:12px;text-align:center;
 background:#d96b3f;color:#fff!important;text-decoration:none;box-shadow:0 8px 20px rgba(217,107,63,.35)}
#mfnx.done #mfnx-go{display:block}
#mfnx-fine{margin:12px 0 0;font-size:12.5px;color:#a99c86;text-align:center;font-weight:600}
@media(max-width:600px){#mfnx-left{display:none}#mfnx-body{padding:42px 22px 22px}#mfnx h3{font-size:40px}}
#mfnx-inwrap .mfw-email-ac{position:absolute;left:0;right:0;top:100%;margin-top:5px;background:#fff;border:1.5px solid #e5dccb;border-radius:12px;box-shadow:0 10px 24px rgba(60,30,5,.16);z-index:100000;overflow:hidden;display:none;text-align:left}
#mfnx-inwrap .mfw-email-ac.show{display:block}
#mfnx-inwrap .mfw-email-ac.mfw-ac-up{top:auto;bottom:100%;margin-top:0;margin-bottom:5px}
#mfnx-inwrap .mfw-ac-opt{padding:13px 16px;min-height:44px;box-sizing:border-box;display:flex;align-items:center;font-size:16px;color:#111;cursor:pointer;font-weight:600}
#mfnx-inwrap .mfw-ac-opt b{color:#a8502e;font-weight:700}
#mfnx-inwrap .mfw-ac-opt:hover,#mfnx-inwrap .mfw-ac-opt.hl{background:#faf3e7}
#mfnx-inwrap .mfw-ac-opt+.mfw-ac-opt{border-top:1px solid #f3ede3}
#mfnx.done .mfw-email-ac{display:none!important}
#mfnx h3{font-size:38px;line-height:1.02}
#mfnx-hint{display:none;margin:7px 2px 0;font-size:13px;font-weight:700;color:#e59b9b;text-align:left;letter-spacing:.2px}
#mfnx-hint.on{display:block}
@media(max-width:600px){#mfnx h3{font-size:32px}}


/* --- 482-mealfan-opt-in-boost-get-my-code-with-go-mf-optin-boost-css.css --- */
.mftb-email.mfb-invalid,#mtbx-in.mfb-invalid,#mfnx-in.mfb-invalid{
    border-color:#d64545 !important;background:#fff1ef !important;box-shadow:0 0 0 3px rgba(214,69,69,.20) !important;}
  .mftb-email.mfb-valid,#mtbx-in.mfb-valid,#mfnx-in.mfb-valid{
    border-color:#2e9e57 !important;background:#f2fbf5 !important;box-shadow:0 0 0 3px rgba(46,158,87,.18) !important;}
  /* mf-fix-20260726: the field must AGREE with the message.
     Two independent layers were judging the same input and did not talk to each other:
     #mf-buzz-valid (topbar module) prints "checkmark Looks good" and sets data-mf-ok="1",
     while 482 owns the border and background colours. Result on screen was a red box with
     a green tick and the words "Looks good" underneath.
     Bind the green state to the SAME signal that prints the message, and let it win over
     any red left behind by the other layer. */
  input[type=email][data-mf-ok="1"],
  input[type=email][data-mf-ok="1"].mfb-invalid,
  .mftb-email[data-mf-ok="1"], #mtbx-in[data-mf-ok="1"], #mfnx-in[data-mf-ok="1"],
  #mfg-em[data-mf-ok="1"], #mfg2-em[data-mf-ok="1"], #mfg3-em[data-mf-ok="1"],
  #mfm-em[data-mf-ok="1"],
  .mf-footopt-email[data-mf-ok="1"], .mfsh-email[data-mf-ok="1"]{
    border-color:#2e9e57 !important;
    background:#f2fbf5 !important;
    box-shadow:0 0 0 3px rgba(46,158,87,.18) !important;
  }
  /* and never show the red mark while the message says it is fine */
  input[type=email][data-mf-ok="1"] ~ .mfb-mark.err{opacity:0 !important}
  .mfb-mark{font-weight:700;font-size:13px;pointer-events:none;transition:opacity .15s;opacity:0}
  .mfb-mark.on{opacity:1}.mfb-mark.err{color:#d64545}.mfb-mark.ok{color:#2e9e57}
  /* keep top-bar email + CTA + Google on one line */
  .mftb-fields{flex-wrap:nowrap !important;align-items:center !important}
  .mftb-fields .mfb-mark{margin-left:-30px;margin-right:12px;align-self:center}
  .mfb-or{color:#8f98a8;font-size:12px;font-weight:600;letter-spacing:.3px;white-space:nowrap}
  .mfb-gbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#1f2430;
    border:1px solid #dcdfe6;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;
    cursor:pointer;line-height:1;font-family:inherit;white-space:nowrap;transition:box-shadow .15s,transform .05s,background .15s}
  .mfb-gbtn:hover{box-shadow:0 2px 10px rgba(0,0,0,.18)}
  .mfb-gbtn:active{transform:translateY(1px)}
  .mfb-gbtn svg{width:16px;height:16px;flex:0 0 auto}
  /* top-bar Google = SECONDARY to the orange CTA: lighter + smaller so the primary clearly wins */
  .mftb-fields .mfb-gbtn{padding:7px 12px;font-size:12.5px;font-weight:500;color:#3c4043;border-color:#d6dae0}
  /* popup version: full-width pill under the email field (stays prominent there) */
  .mfb-gbtn.mfb-pop{width:100%;padding:11px 14px;font-size:14px;font-weight:600;margin-top:8px}
  .mfb-hide-native{display:none !important}
  /* MOBILE: stack the Google option as a full-width LABELED row under the field (no bare "G") */
  @media(max-width:640px){
    /* bigger, more legible offer text on mobile */
    .mftb-inline .mftb-offer{font-size:16.5px !important;line-height:1.34}
    .mftb-inline .mftb-offer em{font-size:14px !important}
    .mftb-fields{flex-wrap:wrap !important;justify-content:center;row-gap:8px}
    .mftb-fields .mftb-email{flex:1 1 150px;width:auto !important;min-width:0}
    .mftb-fields .mftb-btn{flex:0 0 auto}
    .mftb-fields .mfb-mark{margin-left:-28px;margin-right:10px}
    .mftb-fields .mfb-or{display:none}
    .mftb-fields .mfb-gbtn{flex:1 1 100%;width:100%;padding:11px 14px;font-size:13.5px;font-weight:600}
    .mftb-fields .mfb-gbtn .mfb-glabel{display:inline !important}
  }


/* --- mf-sheet-20260724.css --- */
/* ALL SIZES: collapse the inline fields once the sheet is ready; bar becomes a click target */
  html.mf-sheet-ready .mf-deal-bar .mftb-fields{display:none !important}
  html.mf-sheet-ready .mf-deal-bar{cursor:pointer}
  .mfsh,.mfsh *{box-sizing:border-box}
  /* #mtbx never had a border-box reset, so its 640px width sat inside the 2px
     border and its 44% rail sat inside 26px of padding. Matching the old modal's
     dimensions means matching that box model on these two elements. */
  /* Doubled class names on purpose. The theme ships `body.mf-v3 *` and
     `body.mf-v2 *` with box-sizing:border-box at specificity (0,1,1), which
     beats a plain `.mfsh-left` (0,1,0) — so the override silently lost on the
     live site and the image rail rendered 280px instead of 308px. Repeating the
     class lifts this to (0,2,0) without !important. Caught in a real browser on
     08-02; a standalone preview cannot see the theme's stylesheet. */
  .mfsh.mfsh,.mfsh-left.mfsh-left{box-sizing:content-box}
  .mfsh-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(20,16,8,.55);backdrop-filter:blur(2px);
    opacity:0;pointer-events:none;transition:opacity .28s}
  .mfsh-ov.on{opacity:1;pointer-events:auto}
  /* ---------------------------------------------------------------------
     2026-08-01: dimensions copied from the July 20 modal (#mtbx) in
     mf-topbar-optin-v2 — min(640px,94vw) shell, 20px radius, 2px #d96b3f
     border, 44% image rail, 38/30/26 body padding, 52px headline, 1/1.06
     photo. The meal photo is back; this sheet shipped 07-24 without one,
     which is what made it feel flatter than the modal it replaced.
     If #mtbx changes, change these too or the two surfaces drift apart.
     --------------------------------------------------------------------- */
  .mfsh{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);z-index:2147483001;
    width:min(640px,94vw);background:#fff;border:2px solid #d96b3f;border-radius:20px;
    box-shadow:0 24px 64px rgba(60,30,5,.28);opacity:0;
    /* overflow MUST stay visible: the badge is translated 50% above the top
       edge, so any clipping on this element cuts it in half. Scrolling lives
       on .mfsh-flex instead. */
    overflow:visible;
    transition:transform .25s,opacity .25s;text-align:left;color:#111;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
  .mfsh.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
  .mfsh-grab{display:none}
  .mfsh-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:#d96b3f;color:#fff;
    font-weight:800;font-size:12.5px;letter-spacing:.08em;padding:8px 20px;border-radius:999px;z-index:2;
    box-shadow:0 4px 12px rgba(217,107,63,.35);white-space:nowrap}
  .mfsh-x{position:absolute;top:10px;right:12px;border:0;background:#f6efe4;width:44px;height:44px;border-radius:50%;
    font-size:20px;line-height:1;color:#7a6f5c;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}
  .mfsh-flex{display:flex;align-items:stretch;border-radius:18px;overflow:auto;max-height:92vh}
  .mfsh-left{flex:0 0 44%;background:#faf3e7;display:flex;flex-direction:column;justify-content:center;
    padding:26px 0 26px 26px}
  /* The two image families have different native shapes and must not share one
     frame ratio: the chef cards are 1200x1200 COMPOSITIONS with a title and a
     nutrition panel baked in, the meal photos are 600x450. Cropping a chef card
     to a landscape frame cuts its title off (seen on mobile 08-01). The frame
     therefore takes the group's own ratio and object-fit:cover never actually
     crops anything. */
  .mfsh-frame{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1/1.06;background:#fff;
    box-shadow:0 8px 22px rgba(60,30,5,.14)}
  .mfsh-frame.mfsh-f-sq{aspect-ratio:1/1}
  .mfsh-pic{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
  .mfsh-pic.mfsh-contain{object-fit:contain;padding:16px}
  .mfsh-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(17,12,6,.78));
    color:#fff;font-size:12px;font-weight:700;padding:26px 12px 10px;line-height:1.4;text-align:center}
  .mfsh-body{flex:1;padding:38px 30px 26px;display:flex;flex-direction:column;justify-content:center}
  .mfsh-kick{color:#d96b3f;font-weight:800;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px}
  .mfsh h3{margin:0;font-family:inherit;font-size:52px;line-height:.95;color:#111;font-weight:900;letter-spacing:-.02em}
  .mfsh-sub{margin:8px 0 0;font-size:18px;font-weight:700;color:#111}
  .mfsh-plus{margin:2px 0 16px;font-size:14.5px;color:#6b6355}
  .mfsh-email{width:100%;padding:15px 16px;font-size:16.5px;border:2px solid #e5dccb;border-radius:12px;
    outline:none;background:#fff;font-family:inherit}
  .mfsh-email::placeholder{color:#b9ad99;font-weight:500}
  .mfsh-email:focus{border-color:#d96b3f;box-shadow:0 0 0 4px rgba(217,107,63,.12)}
  .mfsh-email.mfsh-ok{border-color:#2e9e57;box-shadow:0 0 0 4px rgba(46,158,87,.12);background:#f2fbf5}
  .mfsh-email.mfsh-bad{border-color:#d64545;box-shadow:0 0 0 4px rgba(214,69,69,.12);background:#ffe4ec}
  /* Two states, same as the old modal: inert until the email parses, then
     live. Previously the button looked identical either way, so tapping it
     with a half-typed address did nothing visible and read as broken. */
  .mfsh-goBtn{width:100%;margin-top:12px;padding:16px;font-size:19px;font-weight:800;border:0;border-radius:12px;
    background:#d96b3f;color:#fff;cursor:pointer;font-family:inherit;box-shadow:0 8px 20px rgba(217,107,63,.35);
    transition:background .35s,color .35s,box-shadow .35s}
  .mfsh-goBtn:disabled{background:#f1e7d8;color:#b3a288;cursor:not-allowed;box-shadow:none;animation:none}
  .mfsh-goBtn.mfsh-ready{animation:mfshPulse 1.4s ease-in-out infinite}
  @keyframes mfshPulse{
    0%{box-shadow:0 8px 20px rgba(217,107,63,.35),0 0 0 0 rgba(217,107,63,.5);transform:translateY(0)}
    50%{box-shadow:0 8px 20px rgba(217,107,63,.35),0 0 0 10px rgba(217,107,63,0);transform:translateY(-2px)}
    100%{box-shadow:0 8px 20px rgba(217,107,63,.35),0 0 0 0 rgba(217,107,63,0);transform:translateY(0)}}
  /* The only addition to the old dimensions: Google as a secondary control
     under the orange CTA, never above the email field. */
  .mfsh-sep{display:flex;align-items:center;gap:12px;color:#a99c86;font-size:12px;font-weight:700;margin:12px 0}
  .mfsh-sep::before,.mfsh-sep::after{content:"";flex:1;height:1px;background:#efe6d8}
  .mfsh-g{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;
    border:2px solid #e5dccb;border-radius:12px;padding:14px;font-size:15.5px;font-weight:700;color:#1f2430;
    cursor:pointer;font-family:inherit}
  .mfsh-g+.mfsh-g{margin-top:10px}
  .mfsh-g svg{width:20px;height:20px;flex:0 0 auto}
  .mfsh-fine{margin:12px 0 0;font-size:12.5px;color:#7a6f5c;text-align:center;font-weight:600}
  /* Instruction moved OUT of the button (2026-08-02). In the button it sat at
     2.03:1 on the disabled fill and the label changed under people as they
     typed. As helper text it is 5.93:1 and the button label never moves. */
  .mfsh-hint{margin:8px 0 0;font-size:13px;font-weight:600;color:#6b6355;min-height:18px}
  .mfsh-hint.mfsh-warn{color:#a8321f}
  /* A real <form> element, purely so Chrome treats the field as a contact form
     and offers the saved address. A standalone input only ever gets
     same-site history autofill; inside a form with type=email + name=email +
     autocomplete=email, Chrome offers the profile. Layout is unchanged: the
     wrapper is just another flex column. */
  .mfsh-form{display:flex;flex-direction:column}
  .mfsh-chips{display:none;gap:8px;flex-wrap:wrap;margin:8px 0 0}
  .mfsh-chips.on{display:flex}
  .mfsh-chip{border:1.5px solid #e5dccb;background:#fff;border-radius:999px;padding:8px 13px;font-size:13.5px;
    font-weight:700;color:#111;cursor:pointer}
  /* mf-done-claim-20260724 (kept): code on screen + claim button in the done
     state, so this stops dead ending at "check your inbox". Recoloured to the
     modal palette only — behaviour untouched. */
  .mfsh-code{margin:14px 0 10px;padding:14px;border-radius:12px;text-align:center;background:#fff;
    border:2px dashed #d96b3f;font-size:23px;font-weight:800;letter-spacing:1.5px;color:#111;cursor:pointer}
  .mfsh-code small{display:block;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    color:#a99c86;margin-bottom:5px}
  .mfsh-claim{display:block;width:100%;border:0;border-radius:12px;padding:16px;font-size:16px;font-weight:800;
    color:#fff;text-align:center;text-decoration:none;background:#d96b3f;
    box-shadow:0 8px 20px rgba(217,107,63,.35)}
  .mfsh-inbox2{display:block;margin-top:12px;text-align:center;font-size:13px;color:#6b6355;text-decoration:underline}
  .mfsh-inbox{display:block;margin-top:12px;padding:14px;font-size:16px;font-weight:800;border-radius:12px;
    text-align:center;background:#f2fbf5;border:2px solid #2e9e57;color:#166b33;text-decoration:none}
  .mfsh-done{text-align:center;padding:18px 4px 6px}
  .mfsh-done .mfsh-emoji{font-size:40px}
  .mfsh-done p{font-size:22px;font-weight:900;color:#111;margin:8px 0 4px}
  .mfsh-done small{display:block;font-size:13px;color:#6b6355}
  /* mf-sms-preview-20260728 (kept): gated phone/SMS option, behind ?mfsms=1.
     Recoloured to the modal palette only. */
  .mfsh-phbtn{margin-top:12px}
  .mfsh-phpanel{margin-top:12px}
  .mfsh-phone{width:100%;padding:15px 16px;font-size:16.5px;border:2px solid #e5dccb;border-radius:12px;
    outline:none;background:#fff;margin-bottom:10px;font-family:inherit}
  .mfsh-phone:focus{border-color:#d96b3f;box-shadow:0 0 0 4px rgba(217,107,63,.12)}
  .mfsh-phone.mfsh-bad{border-color:#d64545;background:#ffe4ec;box-shadow:0 0 0 4px rgba(214,69,69,.12)}
  .mfsh-phone.mfsh-ok{border-color:#2e9e57;background:#f2fbf5;box-shadow:0 0 0 4px rgba(46,158,87,.12)}
  .mfsh-consent{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#a99c86;line-height:1.45;
    margin:0 0 10px;text-align:left}
  .mfsh-consent input{margin-top:3px;flex:0 0 auto;width:16px;height:16px}
  .mfsh-consent a{color:#8a6b52}
  /* 2026-08-02: parity with the coupon2-review LP phone field. */
  .mfsh-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .mfsh-phform{display:flex;flex-direction:column}
  .mfsh-phhint{display:block;font-size:11.5px;color:#6f6a5e;margin:-4px 2px 10px;transition:color .18s}
  .mfsh-phhint.warn{color:#b06a3a}
  .mfsh-phhint.ready{color:#2e9e57;font-weight:700}
  .mfsh-consent.cue{border-radius:10px;box-shadow:0 0 0 4px rgba(217,107,63,.14)}
  .mfsh-consent.err{border-radius:10px;box-shadow:0 0 0 4px rgba(209,67,91,.14)}
  .mfsh-consenterr{display:none;color:#d1435b;font-size:12px;font-weight:700;margin:-4px 2px 10px}
  .mfsh-consenterr.on{display:block}
  .mfsh-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
  /* PHONE: the old modal hid its image column below 600px. We keep the photo —
     its absence is what started this — and stack it instead, holding the old
     modal's phone type sizes (h3 40px, 42/22/22 body padding). */
  @media(max-width:640px){
    .mfsh{left:0;right:0;top:auto;bottom:0;width:auto;max-width:560px;margin:0 auto;opacity:1;
      border-radius:22px 22px 0 0;border-bottom:0;max-height:94vh;overflow:auto;transform:translateY(105%);
      transition:transform .34s cubic-bezier(.2,.85,.25,1)}
    .mfsh.on{transform:none}
    .mfsh-grab{display:block;width:44px;height:5px;border-radius:3px;background:#e5dccb;margin:8px auto 4px}
    .mfsh-badge{position:static;transform:none;display:inline-block;margin:2px 0 0 22px;box-shadow:none}
    .mfsh-flex{display:block;border-radius:0;max-height:none;overflow:visible}
    .mfsh-left{padding:12px 22px 0}
    .mfsh-frame.mfsh-f-wide{aspect-ratio:4/3}
    /* square card at full phone width is too tall to keep the email field near
       the fold, so bound the width instead of slicing the picture */
    /* width:100% + align-self are required: .mfsh-left is a flex column, and an
       auto margin on a flex item cancels the default stretch, collapsing the
       frame to 0x0 (hit exactly that on 08-02). */
    .mfsh-frame.mfsh-f-sq{aspect-ratio:1/1;width:100%;max-width:300px;align-self:center}
    .mfsh-body{padding:16px 22px calc(22px + env(safe-area-inset-bottom))}
    .mfsh h3{font-size:40px}
  }
  /* short phones: shrink the picture, still never crop it */
  @media(max-width:640px) and (max-height:680px){
    /* two-class selectors, or the .mfsh-f-sq max-width above out-specifies this */
    .mfsh-frame.mfsh-f-sq,.mfsh-frame.mfsh-f-wide{width:100%;max-width:210px;align-self:center}
  }

/* 2026-09-14: let the success column shrink within the desktop flex row. */
.mfsh .mfsh-body{min-width:0}
.mfsh .mfsh-claim{white-space:normal;font-size:14px}


/* --- mf-mobile-fixes-v6-mf-mobile-fixes.css --- */
/* ---------------------------------------------------------------
   1. Short screens: cap the two centred modals and let them scroll.
   --------------------------------------------------------------- */
@media (max-height: 760px) {
  #mtbx-body, #mfnx-body {
    max-height: calc(100vh - 78px) !important;
    max-height: calc(100dvh - 78px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    /* centred flex content that overflows cannot be scrolled back above its
       start, so the top of the form becomes unreachable */
    justify-content: flex-start !important;
  }
}

/* 1b. Very short screens: give back the ~60px the decorative rows spend. */
@media (max-height: 660px) and (max-width: 820px) {
  #mtbx-steps, #mfnx-steps { display: none !important; }
  #mtbx h3, #mfnx h3 { font-size: 30px !important; }
  #mtbx-kick, #mfnx-kick { margin: 0 0 4px !important; font-size: 12px !important; }
  #mtbx-sub, #mfnx-sub { font-size: 16px !important; }
  #mtbx-plus, #mfnx-plus { margin: 2px 0 10px !important; font-size: 13px !important; }
  #mtbx-body, #mfnx-body { padding-top: 22px !important; padding-bottom: 16px !important; }
  #mtbx-fine, #mfnx-fine { margin-top: 8px !important; }
}

/* ---------------------------------------------------------------
   2. Touch targets. 44px is the Apple HIG floor.
   --------------------------------------------------------------- */
@media (max-width: 860px) {
  .mftb-claim { padding: 11px 20px !important; font-size: 13.5px !important; min-height: 44px !important; }
  .mfb-gbtn { min-height: 44px !important; }
  #mtbx-x, #mfnx-x {
    width: 44px !important; height: 44px !important; font-size: 20px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
}

/* ---------------------------------------------------------------
   3. iOS auto-zoom: every field must be >= 16px.
   --------------------------------------------------------------- */
.mf-footopt-email { font-size: 16px !important; }

/* ---------------------------------------------------------------
   4. NEW in v3 — clear the iOS keyboard accessory bar.
   When a field is focused, Safari scrolls it into view with no regard for the
   native up/down/Done strip it draws above the keyboard. scroll-margin-bottom
   reserves space below the field during that scroll, so the CTA underneath
   ends up above the strip instead of behind it. ~150px = CTA (63) + hint (20)
   + gap (12) + the strip (~44) + slack.
   --------------------------------------------------------------- */
.mfsh-email, .mfsh-phone,
#mtbx-in, #mfnx-in, #mfm-em, .mf-footopt-email, .mftb-email {
  scroll-margin-bottom: 150px;
}

/* The scroll above needs somewhere to go: without trailing space inside the
   scroll container the sheet is already at its end and cannot move further. */
@media (max-width: 640px) {
  .mfsh-body { padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important; }
}

/* ---------------------------------------------------------------
   5. The consent / privacy link is 12px tall. Vertical padding on an inline
   element grows the hit area without changing the line box.
   --------------------------------------------------------------- */
.mf-consent-line a, .mfsh-consent a,
#mtbx-fine a, #mfnx-fine a { padding: 10px 2px; }

/* ---------------------------------------------------------------
   6. Respect prefers-reduced-motion. Both CTAs pulse forever.
   --------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .mfsh-goBtn.mfsh-ready, .mftb-claim,
  #mtbx-btn, #mfnx-btn { animation: none !important; }
}

