/*
Theme Name: The Flour Nook Custom
Theme URI: https://theflournook.com
Description: Custom Genesis child theme for The Flour Nook.
Author: The Flour Nook
Template: genesis
Version: 1.4.8
Text Domain: theflournook-custom
*/

/*
 * Fonts are self-hosted in assets/fonts/ via inc/fonts.php.
 */

/* ==========================================================================
   Typography Tokens
   ========================================================================== */

:root {
	/* Font families */
	--font-heading: 'Blood Orange', Georgia, 'Times New Roman', serif;
	--font-body: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-ui: 'Brandon Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;

	/* Body scale */
	--font-size-body: 1.0625rem;   /* 17px */
	--line-height-body: 1.65;
	--font-weight-body: 400;

	/* Heading scale */
	--font-size-h1: clamp(2.25rem, 1.8rem + 1.5vw, 3rem);
	--font-size-h2: clamp(1.875rem, 1.55rem + 1.1vw, 2.375rem);
	--font-size-h3: clamp(1.5rem, 1.3rem + 0.7vw, 1.875rem);
	--font-size-h4: 1.375rem;
	--font-size-h5: 1.125rem;
	--font-size-h6: 1rem;

	--line-height-h1: 1.15;
	--line-height-h2: 1.2;
	--line-height-h3: 1.25;
	--line-height-h4: 1.3;
	--line-height-h5: 1.35;
	--line-height-h6: 1.4;

	--font-weight-heading: 700;

	/* UI scale (navigation & buttons) */
	--font-size-nav: 0.9375rem;    /* 15px */
	--font-size-button: 0.875rem;  /* 14px */
	--line-height-ui: 1.2;
	--font-weight-nav: 400;
	--font-weight-button: 500;
	--letter-spacing-nav: 0.02em;
	--letter-spacing-button: 0.06em;

	/* Color tokens */
	--color-text-default: #2d2d2d;
	--color-text-default-hover: #e8513b;
	--color-surface-page: #ffffff;
	--color-surface-brand-subtle: #fff6f2;
	--color-icon-primary: #e8513b;
	--color-icon-primary-hover: #992d1d;
	--color-icon-default: #2d2d2d;
	--color-icon-default-hover: #e8513b;
	--color-text-primary: #e8513b;
	--color-surface-secondary: #fba32f;
	--color-surface-secondary-hover: #f9bf72;
	--color-surface-secondary-muted: #f9bf72;
	--color-surface-secondary-subtle: #fff7e4;
	--color-category-placeholder: #d9a5a5;
	--color-caret-accent: #fba32f;
	--color-disabled: #cacaca;
	--color-surface-brand: #e8513b;
	--color-surface-brand-hover: #f06452;
	--color-surface-brand-muted: #e9918c;
	--color-border-brand: #e8513b;
	--color-border-brand-subtle: #e9918c;
	--color-border-secondary: #fba32f;
	--color-text-on-surface: #ffffff;
	--color-icon-on-surface: #ffffff;
	--color-icon-secondary: #fba32f;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.text-default {
	color: var(--color-text-default);
}

.text-brand {
	color: var(--color-text-primary);
}

.icon-default {
	color: var(--color-icon-default);
}

.icon-primary {
	color: var(--color-icon-primary);
}

.link-small {
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.body-large {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 400;
	line-height: 32px;
	letter-spacing: 0;
}

.body-small {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0;
}

.text-fineprint {
	margin: 0;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: var(--font-weight-body);
	font-style: normal;
	line-height: 20px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-text-default);
	opacity: 0.5;
}

/* ==========================================================================
   Base — Body & Paragraphs (Outfit)
   ========================================================================== */

body {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

p,
.entry-content p,
.entry-content li,
.entry-content blockquote,
.site-description,
.widget p {
	font-family: var(--font-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
}

.entry-content {
	font-family: var(--font-body);
	line-height: var(--line-height-body);
}

/* ==========================================================================
   Headings (Blood Orange)
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.widget-title,
.archive-title,
.author-box-title {
	font-family: var(--font-heading);
	font-weight: var(--font-weight-heading);
	font-style: normal;
	letter-spacing: -0.01em;
	text-transform: lowercase;
}

h1,
.entry-title,
.entry-content h1 {
	font-size: var(--font-size-h1);
	line-height: var(--line-height-h1);
}

h2,
.entry-content h2 {
	font-size: var(--font-size-h2);
	line-height: var(--line-height-h2);
}

h3,
.entry-content h3 {
	font-size: var(--font-size-h3);
	line-height: var(--line-height-h3);
}

h4,
.entry-content h4 {
	font-size: var(--font-size-h4);
	line-height: var(--line-height-h4);
}

h5,
.entry-content h5 {
	font-size: var(--font-size-h5);
	line-height: var(--line-height-h5);
}

h6,
.entry-content h6 {
	font-size: var(--font-size-h6);
	line-height: var(--line-height-h6);
}

/* ==========================================================================
   Navigation (Brandon Grotesque)
   ========================================================================== */

.genesis-nav-menu,
.genesis-nav-menu a,
.nav-primary,
.nav-secondary,
.menu-item a {
	font-family: var(--font-ui);
	font-size: var(--font-size-nav);
	font-weight: var(--font-weight-nav);
	line-height: var(--line-height-ui);
	letter-spacing: var(--letter-spacing-nav);
}

.genesis-nav-menu .sub-menu a {
	font-size: 0.875rem;
	font-weight: 400;
}

/* ==========================================================================
   Buttons (Brandon Grotesque)
   ========================================================================== */

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.wp-block-button__link,
.entry-content .button,
.entry-content a.button {
	font-family: var(--font-ui);
	font-size: var(--font-size-button);
	font-weight: var(--font-weight-button);
	line-height: var(--line-height-ui);
	letter-spacing: var(--letter-spacing-button);
	text-transform: uppercase;
}

.button-text {
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* ==========================================================================
   Site Header
   ========================================================================== */

.tfn-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	background-color: var(--color-surface-brand-subtle);
}

body {
	padding-top: 0 !important;
	margin-top: 0;
}

.site-container {
	padding-top: 100px;
	margin-top: 0;
}

.site-inner,
.content-sidebar-wrap,
main.content {
	margin-top: 0;
	padding-top: 0;
}

.site-header:not(.tfn-header),
.site-container > .site-header {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

.site-footer {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

.site-footer .wrap,
.site-footer p {
	margin: 0 !important;
	padding: 0 !important;
}

.tfn-footer {
	margin-top: 0;
}

body.is-mobile-nav-open {
	overflow: hidden;
}

.admin-bar .tfn-header {
	top: 32px;
}

.tfn-header__bar {
	position: relative;
	background-color: var(--color-surface-brand-subtle);
	width: 100%;
}

.tfn-header__container {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	box-sizing: border-box;
	max-width: 1096px;
	height: 100px;
	min-height: 100px;
	max-height: 100px;
	margin: 0 auto;
	padding: 0 16px;
	transition:
		height 0.35s ease,
		min-height 0.35s ease,
		max-height 0.35s ease,
		padding 0.35s ease;
}

.tfn-header.is-scrolled .tfn-header__container {
	height: 64px;
	min-height: 64px;
	max-height: 64px;
	padding: 0 16px;
}

.tfn-header__brand {
	justify-self: start;
}

.tfn-header__logo-link {
	display: inline-flex;
	color: var(--color-icon-primary);
	text-decoration: none;
}

.tfn-header__logo {
	display: block;
	line-height: 0;
}

.tfn-header__logo:not(.tfn-header__logo--panel) {
	position: relative;
	width: 72px;
	height: 72px;
	transition: width 0.35s ease, height 0.35s ease;
}

.tfn-header.is-scrolled .tfn-header__logo:not(.tfn-header__logo--panel) {
	width: 40px;
	height: 40px;
}

.tfn-header__logo-mark {
	display: block;
	line-height: 0;
}

.tfn-header__logo:not(.tfn-header__logo--panel) .tfn-header__logo-mark {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.tfn-header__logo-mark--compact {
	opacity: 0;
	visibility: hidden;
}

.tfn-header.is-scrolled .tfn-header__logo:not(.tfn-header__logo--panel) .tfn-header__logo-mark--default {
	opacity: 0;
	visibility: hidden;
}

.tfn-header.is-scrolled .tfn-header__logo:not(.tfn-header__logo--panel) .tfn-header__logo-mark--compact {
	opacity: 1;
	visibility: visible;
}

.tfn-header__logo-mark--default svg {
	display: block;
	width: 72px;
	height: 72px;
	transition: width 0.35s ease, height 0.35s ease, opacity 0.35s ease;
}

.tfn-header__logo-mark--compact svg {
	display: block;
	width: 40px;
	height: 40px;
	transition: width 0.35s ease, height 0.35s ease, opacity 0.35s ease;
}

.tfn-header__nav {
	justify-self: center;
}

.tfn-header__menu {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tfn-header__menu-item {
	position: relative;
	margin: 0;
}

.tfn-header__nav-link.nav-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-text-default);
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	transition: color 0.2s ease;
}

.tfn-header__nav-link.nav-link:hover,
.tfn-header__nav-link.nav-link:focus,
.tfn-header__menu-item--has-mega.is-open > .tfn-header__nav-link.nav-link,
.tfn-header.is-mega-open .tfn-header__recipes-toggle {
	color: var(--color-text-default-hover);
}

.tfn-header__chevron {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	transition: transform 0.2s ease;
}

.tfn-header__menu-item--has-mega.is-open .tfn-header__chevron,
.tfn-header.is-mega-open .tfn-header__recipes-toggle .tfn-header__chevron {
	transform: rotate(180deg);
}

.tfn-header__menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	color: var(--color-icon-primary);
	background: transparent;
	border: 0;
	cursor: pointer;
}

.tfn-header__menu-toggle-icon {
	display: block;
	width: 20px;
	height: 20px;
}

.tfn-header__panel {
	display: none;
}

.tfn-header__menu-item--search,
.tfn-header__mobile-trending,
.tfn-header__mobile-social {
	display: none;
}

.tfn-header__panel-search .tfn-header__search-icon {
	width: 20px;
	height: 20px;
}

.tfn-header__menu-close-icon {
	display: block;
	width: 20px;
	height: 20px;
}

@media (min-width: 833px) {
	.tfn-header__bar {
		width: 100%;
	}

	.tfn-header__container {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		gap: 24px;
		box-sizing: border-box;
		max-width: 1096px;
		height: 100px;
		min-height: 100px;
		max-height: 100px;
		margin: 0 auto;
		padding: 0 16px;
		transition:
			height 0.35s ease,
			min-height 0.35s ease,
			max-height 0.35s ease,
			padding 0.35s ease;
	}

	.tfn-header.is-scrolled .tfn-header__container {
		height: 64px;
		min-height: 64px;
		max-height: 64px;
		padding: 0 16px;
	}

	.tfn-header__brand {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.tfn-header__panel {
		display: block;
		grid-column: 2;
		grid-row: 1;
		position: static;
		transform: none;
		width: auto;
		padding: 0;
		background: transparent;
		pointer-events: none;
	}

	.tfn-header__utilities {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.tfn-header__nav {
		pointer-events: auto;
	}

	.tfn-header__menu-item--has-mega {
		position: static;
	}

	.tfn-header__panel-top,
	.tfn-header__menu-close,
	.tfn-header__menu-item--search,
	.tfn-header__mobile-trending,
	.tfn-header__mobile-social {
		display: none;
	}
}

.tfn-header__mega-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 999;
	display: flex;
	flex-direction: column;
	background-color: var(--color-surface-brand-subtle);
	border-top: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.tfn-header__mega-menu[hidden] {
	display: block;
}

.tfn-header.is-mega-open .tfn-header__mega-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

@media (min-width: 833px) {
	.tfn-header__mega-menu {
		position: fixed;
		top: var(--tfn-header-bottom, var(--tfn-header-height, 100px));
		left: 0;
		right: 0;
		width: 100%;
		margin-left: 0;
		transform: none;
		border-top: 2px solid var(--color-surface-secondary);
	}
}

.tfn-header__mega-menu-container {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
	gap: 48px;
	align-items: start;
	max-width: 1096px;
	margin: 0 auto;
	padding: 24px 16px 40px;
}

.tfn-header__mega-menu-categories-title {
	display: none;
	margin: 0 0 16px;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 28px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-transform: lowercase;
}

.tfn-header__mega-menu-scallop {
	display: none;
	flex-shrink: 0;
	width: 100%;
	height: 12px;
	background-image: url('assets/svg/mega-menu-scallop.svg');
	background-repeat: repeat-x;
	background-size: 489px 12px;
	background-position: left bottom;
}

@media (min-width: 833px) {
	.tfn-header__mega-menu-categories-title {
		display: block;
	}

	.tfn-header__mega-menu-scallop {
		display: block;
	}
}

.tfn-header__mega-menu-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tfn-header__mega-menu-grid--mobile {
	display: none;
}

@media (min-width: 833px) and (max-width: 1068px) {
	.tfn-header__mega-menu-container {
		width: fit-content;
		max-width: calc(100% - 32px);
		margin-inline: auto;
		grid-template-columns: auto auto;
		justify-content: center;
	}

	.tfn-header__mega-menu-grid--desktop {
		display: none;
	}

	.tfn-header__mega-menu-grid--mobile {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px 32px;
	}

	.tfn-header__mega-menu-grid--mobile .tfn-header__mega-menu-grid-cell--empty {
		display: none;
	}
}

.tfn-header__mega-menu-grid-cell--empty {
	pointer-events: none;
}

.tfn-header__mega-menu-link.nav-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.tfn-header__mega-menu-link.nav-link:hover,
.tfn-header__mega-menu-link.nav-link:focus {
	color: var(--color-text-default-hover);
}

.tfn-header__mega-menu-trending-title {
	margin: 0 0 16px;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 28px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-transform: lowercase;
}

.tfn-header__mega-menu-trending-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 16px;
}

.tfn-header__mega-menu .trending-recipes__thumb {
	width: 140px;
	height: 140px;
}

.tfn-header__mega-menu .trending-recipes__image {
	width: 140px;
	height: 140px;
	object-fit: cover;
}

.tfn-header__mega-menu .trending-recipes__meta {
	margin-top: 12px;
}

.tfn-header__mega-menu .trending-recipes__category {
	display: none;
}

.tfn-header__mega-menu .trending-recipes__post-title {
	font-size: 20px;
	line-height: 22px;
}

.tfn-header__utilities {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	justify-self: end;
}

.tfn-header__social {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tfn-header__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	color: var(--color-icon-default);
	text-decoration: none;
	transition: color 0.2s ease;
}

.tfn-header__social-link:hover,
.tfn-header__social-link:focus {
	color: var(--color-icon-default-hover);
}

.tfn-header__social-icon {
	display: block;
	height: 16px;
	width: auto;
}

.tfn-header__search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	color: var(--color-icon-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.tfn-header__search:hover,
.tfn-header__search:focus {
	color: var(--color-icon-primary-hover);
}

.tfn-header__search-icon {
	display: block;
	width: 16px;
	height: 16px;
}

.tfn-slickstream-search-launcher {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-title,
.title-area,
.site-header:not(.tfn-header) {
	display: none !important;
}

@media (max-width: 782px) {
	.admin-bar .tfn-header {
		top: 46px;
	}

	.admin-bar .tfn-header.is-mobile-nav-open .tfn-header__panel {
		top: 46px;
	}
}

@media (max-width: 832px) {
	.tfn-header__container {
		grid-template-columns: auto 1fr auto;
		align-items: center;
		gap: 16px;
		box-sizing: border-box;
		max-width: none;
		height: 100px;
		min-height: 100px;
		max-height: 100px;
		padding: 0 20px;
	}

	.tfn-header.is-scrolled .tfn-header__container {
		height: 64px;
		min-height: 64px;
		max-height: 64px;
		padding: 0 20px;
	}

	.tfn-header__brand {
		grid-column: 2;
		grid-row: 1;
		justify-self: center;
		min-width: 0;
		max-width: 100%;
	}

	.tfn-header__logo-link {
		max-width: 100%;
	}

	.tfn-header.is-scrolled .tfn-header__logo:not(.tfn-header__logo--panel) {
		width: 40px;
		height: 40px;
	}

	.tfn-header.is-scrolled .tfn-header__logo:not(.tfn-header__logo--panel) .tfn-header__logo-mark {
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.tfn-header__logo-mark--compact svg {
		width: 40px;
		height: 40px;
	}

	.tfn-header__menu-toggle {
		display: inline-flex;
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.tfn-header__utilities {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		gap: 0;
	}

	.tfn-header__utilities .tfn-header__social {
		display: none;
	}

	.tfn-header__search {
		width: 20px;
		height: 20px;
	}

	.tfn-header__search-icon {
		width: 20px;
		height: 20px;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__panel {
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-height: 100vh;
		min-height: 100dvh;
		z-index: 1002;
		padding: 20px 20px calc(30px + 12px);
		overflow-x: hidden;
		overflow-y: auto;
		background-color: var(--color-surface-brand-subtle);
		-webkit-overflow-scrolling: touch;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__menu-toggle,
	.tfn-header.is-mobile-nav-open .tfn-header__brand,
	.tfn-header.is-mobile-nav-open .tfn-header__utilities {
		visibility: hidden;
		pointer-events: none;
	}

	.admin-bar .tfn-header.is-mobile-nav-open .tfn-header__panel {
		top: 32px;
		min-height: calc(100vh - 32px);
		min-height: calc(100dvh - 32px);
	}

	.tfn-header.is-mobile-nav-open .tfn-header__panel-top {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		flex-shrink: 0;
		width: 100%;
		margin-bottom: 32px;
	}

	.tfn-header__panel-brand {
		justify-self: start;
	}

	.tfn-header__panel-brand .tfn-header__logo-mark--default svg {
		width: 72px;
		height: 72px;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__menu-close {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		padding: 0;
		color: var(--color-icon-primary);
		background: transparent;
		border: 0;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		overflow: visible;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__menu-close-icon {
		display: block;
		width: 20px;
		height: 20px;
		flex-shrink: 0;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__menu-item--search {
		display: list-item;
	}

	.tfn-header__nav {
		position: static;
		display: block;
		flex-shrink: 0;
		padding: 0;
		background: transparent;
		border: 0;
	}

	.tfn-header__menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.tfn-header__menu-item--has-mega {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
	}

	.tfn-header__recipes-toggle {
		display: inline-flex;
		width: 100%;
		justify-content: space-between;
		align-items: center;
		-webkit-appearance: none;
		appearance: none;
		overflow: visible;
	}

	.tfn-header__recipes-toggle .tfn-header__chevron {
		display: block !important;
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		opacity: 1;
		visibility: visible;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__nav-link.nav-link {
		font-size: 13px;
		letter-spacing: 2px;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__nav-link.nav-link:focus:not(.tfn-header__panel-search) {
		color: var(--color-text-default);
	}

	.tfn-header.is-mobile-nav-open .tfn-header__nav-link.nav-link:hover,
	.tfn-header.is-mobile-nav-open .tfn-header__menu-item--has-mega.is-open > .tfn-header__nav-link.nav-link,
	.tfn-header.is-mobile-nav-open.is-mega-open .tfn-header__recipes-toggle {
		color: var(--color-text-default-hover);
	}

	.tfn-header.is-mobile-nav-open .tfn-header__panel-search,
	.tfn-header.is-mobile-nav-open .tfn-header__panel-search:hover,
	.tfn-header.is-mobile-nav-open .tfn-header__panel-search:focus {
		color: var(--color-text-primary);
	}

	.tfn-header.is-mobile-nav-open .tfn-header__panel-search .tfn-header__search-icon {
		color: var(--color-icon-primary);
	}

	.tfn-header__panel-search {
		gap: 10px;
	}

	.tfn-header__menu-item--has-mega .tfn-header__mega-menu {
		position: static;
		width: 100%;
		margin-top: 16px;
		padding-left: 24px;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		border-top: 0;
		background: transparent;
	}

	.tfn-header__menu-item--has-mega .tfn-header__mega-menu[hidden] {
		display: none;
	}

	.tfn-header__menu-item--has-mega.is-open .tfn-header__mega-menu {
		display: block;
	}

	.tfn-header__menu-item--has-mega .tfn-header__mega-menu-container {
		display: block;
		padding: 0;
		gap: 0;
	}

	.tfn-header__menu-item--has-mega .tfn-header__mega-menu-grid--desktop {
		display: none;
	}

	.tfn-header__menu-item--has-mega .tfn-header__mega-menu-grid--mobile {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.tfn-header__menu-item--has-mega .tfn-header__mega-menu-grid--mobile .tfn-header__mega-menu-grid-cell--empty {
		display: block;
		min-height: 26px;
		visibility: hidden;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__mobile-trending {
		display: block;
		flex: 1;
		margin-top: 32px;
	}

	.tfn-header__mobile-trending-title {
		margin: 0 0 24px;
		font-family: var(--font-heading);
		font-size: 24px;
		font-weight: var(--font-weight-heading);
		line-height: 28px;
		color: var(--color-text-default);
		letter-spacing: 0;
		text-transform: lowercase;
	}

	.tfn-header__mobile-trending-list {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.tfn-header__mobile-trending-list .trending-recipes__card {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 16px;
	}

	.tfn-header__mobile-trending-list .trending-recipes__thumb-link {
		flex-shrink: 0;
		align-self: center;
	}

	.tfn-header__mobile-trending-list .trending-recipes__thumb {
		width: 80px;
		height: 80px;
	}

	.tfn-header__mobile-trending-list .trending-recipes__image {
		width: 80px;
		height: 80px;
		object-fit: cover;
	}

	.tfn-header__mobile-trending-list .trending-recipes__meta {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		align-self: center;
		margin-top: 0;
		min-width: 0;
		text-align: left;
	}

	.tfn-header__mobile-trending-list .trending-recipes__category {
		display: none;
	}

	.tfn-header__mobile-trending-list .trending-recipes__post-title {
		margin: 0;
		font-size: 20px;
		line-height: 22px;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__mobile-social {
		display: flex;
		justify-content: center;
		flex-shrink: 0;
		margin-top: auto;
		padding-top: 32px;
		padding-bottom: 12px;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__mobile-social .tfn-header__social {
		display: flex;
	}

	.tfn-header__panel-scallop {
		display: none;
	}

	.tfn-header.is-mobile-nav-open .tfn-header__panel-scallop {
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1003;
		width: 100%;
		height: 12px;
		background-image: url('assets/svg/mega-menu-scallop.svg');
		background-repeat: repeat-x;
		background-size: 489px 12px;
		background-position: left bottom;
		pointer-events: none;
	}

	.tfn-header__mega-menu-trending {
		display: none;
	}
}

@media (max-width: 599px) {
	.tfn-header__logo-mark--default svg {
		width: 72px;
		height: 72px;
	}
}

/* ==========================================================================
   Homepage — Summertime Favourites
   ========================================================================== */

.summer-favourites {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.summer-favourites__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.summer-favourites__header {
	text-align: center;
}

.summer-favourites__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-align: center;
}

.summer-favourites__title-inner {
	display: inline-flex;
	align-items: flex-start;
	gap: 4px;
	max-width: 100%;
}

.summer-favourites__title-icon {
	position: relative;
	top: -1px;
	flex-shrink: 0;
	width: 42px;
	height: 38px;
	color: var(--color-surface-secondary);
	pointer-events: none;
	transform: rotate(14deg);
	transform-origin: 50% 85%;
}

.recipe-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 32px;
}

.recipe-card {
	display: flex;
	flex-direction: column;
}

.recipe-card__thumb-link {
	display: block;
	text-decoration: none;
}

.recipe-card__thumb {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background-color: #f2f2f2;
}

.recipe-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.recipe-card__image--placeholder {
	background-color: #e8e8e8;
}

.recipe-card:hover .recipe-card__image,
.recipe-card:focus-within .recipe-card__image {
	transform: scale(1.04);
	opacity: 0.92;
}

.recipe-card__meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	text-align: center;
}

.recipe-card__category.link-small {
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.recipe-card__post-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 24px;
	letter-spacing: 0.5px;
}

.recipe-card__post-title a {
	text-decoration: none;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.recipe-card__category.link-small:hover,
.recipe-card__category.link-small:focus,
.recipe-card__post-title a:hover,
.recipe-card__post-title a:focus {
	color: var(--color-text-default-hover);
}

.summer-favourites__more {
	margin: 32px 0 0 0;
	text-align: center;
}

.summer-favourites__more-link.nav-link {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.summer-favourites__more-link.nav-link:hover,
.summer-favourites__more-link.nav-link:focus {
	color: var(--color-text-default-hover);
}

@media (max-width: 832px) {
	.recipe-card__meta {
		gap: 6px;
		margin-top: 12px;
	}
}

@media (max-width: 700px) {
	.recipe-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.recipe-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.summer-favourites__title {
		font-size: 30px;
		line-height: 34px;
	}

	.summer-favourites__title-icon {
		top: 0;
		width: 36px;
		height: 32px;
	}
}

/* ==========================================================================
   Homepage — I'm Looking For (Search & Categories)
   ========================================================================== */

.looking-for {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-secondary-subtle);
}

.looking-for__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.looking-for__search-form {
	width: 100%;
}

.looking-for__search-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.looking-for__search-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35em;
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	color: var(--color-text-default);
	text-transform: lowercase;
}

.looking-for__search-prefix {
	flex-shrink: 0;
}

.looking-for__search-field {
	display: inline-flex;
	align-items: center;
	flex: 1 1 12rem;
	min-width: 8rem;
	gap: 8px;
}

.looking-for__search-input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	font-family: var(--font-heading);
	font-size: inherit;
	font-weight: var(--font-weight-heading);
	line-height: inherit;
	color: var(--color-text-primary);
	caret-color: var(--color-caret-accent);
	background: transparent;
	border: 0;
	outline: none;
	appearance: none;
}

.looking-for__search-input::-webkit-search-cancel-button,
.looking-for__search-input::-webkit-search-decoration,
.looking-for__search-input::-webkit-search-results-button {
	display: none;
	appearance: none;
}

.looking-for__search-clear {
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	color: var(--color-icon-default);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color 0.2s ease;
}

.looking-for__search-clear:not([hidden]) {
	display: inline-flex;
}

.looking-for__search-clear[hidden] {
	display: none;
}

.looking-for__search-clear:hover,
.looking-for__search-clear:focus {
	color: var(--color-icon-default-hover);
}

.looking-for__search-clear-icon {
	display: block;
	width: 24px;
	height: 24px;
}

.looking-for__search-input::placeholder {
	color: var(--color-text-default);
	opacity: 0.25;
}

.looking-for__search-input:focus {
	outline: none;
}

.looking-for__search-button {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: var(--color-icon-default);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color 0.2s ease;
}

.looking-for__search-button:hover,
.looking-for__search-button:focus {
	color: var(--color-icon-default-hover);
}

.looking-for__search-icon {
	display: block;
	width: 36px;
	height: 36px;
}

.looking-for__search-form--wave .looking-for__search-title {
	align-items: baseline;
}

.looking-for__search-form--wave .looking-for__search-field {
	flex: 0 0 auto;
	align-items: center;
	min-width: 0;
}

.looking-for__search-form--wave .looking-for__search-input-wrap {
	display: inline-flex;
	flex-direction: column;
	width: 220px;
	max-width: 220px;
}

.looking-for__search-form--wave .looking-for__search-input {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 100%;
	max-width: 220px;
	min-width: 0;
	height: 1em;
	line-height: 1;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	scrollbar-width: none;
}

.looking-for__search-form--wave .looking-for__search-input::-webkit-scrollbar {
	display: none;
}

.looking-for__search-form--wave .looking-for__search-wave {
	display: block;
	flex-shrink: 0;
	width: 220px;
	height: 8px;
	margin-top: -8px;
	color: var(--color-surface-secondary);
	line-height: 0;
	pointer-events: none;
}

.looking-for__search-form--wave .looking-for__search-wave svg {
	display: block;
	width: 220px;
	height: 8px;
}

.looking-for__visual-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 16px;
}

.looking-for__visual-card {
	display: flex;
	flex-direction: column;
}

.looking-for__visual-link {
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-decoration: none;
	color: var(--color-text-default);
}

.looking-for__visual-thumb {
	height: 280px;
	overflow: hidden;
	background-color: var(--color-category-placeholder);
}

.looking-for__visual-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.looking-for__visual-image--placeholder {
	background-color: var(--color-category-placeholder);
}

.looking-for__visual-card:hover .looking-for__visual-image,
.looking-for__visual-card:focus-within .looking-for__visual-image {
	transform: scale(1.04);
	opacity: 0.92;
}

.looking-for__visual-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 24px;
	letter-spacing: 0.5px;
	text-align: center;
	text-transform: lowercase;
	transition: color 0.2s ease;
}

.looking-for__visual-link:hover .looking-for__visual-title,
.looking-for__visual-link:focus .looking-for__visual-title {
	color: var(--color-text-default-hover);
}

.looking-for__button-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.looking-for__category-button {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 8px;
	text-decoration: none;
	background-color: var(--color-surface-secondary);
	transition: background-color 0.2s ease;
}

.looking-for__category-button:hover,
.looking-for__category-button:focus {
	background-color: var(--color-surface-secondary-hover);
}

.looking-for__category-button-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 24px;
	letter-spacing: 0.5px;
	text-align: center;
	text-transform: lowercase;
	color: var(--color-text-default);
}

@media (max-width: 832px) {
	.looking-for__visual-grid,
	.looking-for__button-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.looking-for__visual-thumb {
		height: auto;
		aspect-ratio: 3 / 4;
	}

	.looking-for__visual-link {
		gap: 12px;
	}
}

@media (max-width: 700px) {
	.looking-for__visual-grid,
	.looking-for__button-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.looking-for__search-title {
		font-size: 28px;
		line-height: 34px;
	}

	.looking-for__search-row {
		align-items: flex-start;
	}

	.looking-for__visual-grid,
	.looking-for__button-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.looking-for__button-grid {
		gap: 12px;
	}
}

/* ==========================================================================
   Homepage — Trending Recipes
   ========================================================================== */

.trending-recipes {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.trending-recipes__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.trending-recipes__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-align: center;
}

.trending-recipes__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 32px;
}

.trending-recipes__card {
	display: flex;
	flex-direction: column;
}

.trending-recipes__thumb-link {
	display: block;
	text-decoration: none;
}

.trending-recipes__thumb {
	position: relative;
	overflow: hidden;
	height: 224px;
	background-color: #f2f2f2;
}

.trending-recipes__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.trending-recipes__image--placeholder {
	background-color: #e8e8e8;
}

.trending-recipes__card:hover .trending-recipes__image,
.trending-recipes__card:focus-within .trending-recipes__image {
	transform: scale(1.04);
	opacity: 0.92;
}

.trending-recipes__meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	text-align: center;
}

.trending-recipes__category.link-small {
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.trending-recipes__post-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 24px;
	letter-spacing: 0.5px;
}

.trending-recipes__post-title a {
	text-decoration: none;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.trending-recipes__category.link-small:hover,
.trending-recipes__category.link-small:focus,
.trending-recipes__post-title a:hover,
.trending-recipes__post-title a:focus {
	color: var(--color-text-default-hover);
}

.trending-recipes__more {
	margin: 32px 0 0 0;
	text-align: center;
}

.trending-recipes__more-link.nav-link {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.trending-recipes__more-link.nav-link:hover,
.trending-recipes__more-link.nav-link:focus {
	color: var(--color-text-default-hover);
}

@media (max-width: 832px) {
	.trending-recipes__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.trending-recipes__meta {
		gap: 6px;
		margin-top: 12px;
	}
}

@media (max-width: 700px) {
	.trending-recipes__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.trending-recipes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trending-recipes__title {
		font-size: 30px;
		line-height: 34px;
	}
}

/* ==========================================================================
   Newsletter Subscription
   ========================================================================== */

.newsletter-block {
	display: flex;
	flex-direction: column;
	--newsletter-scallop-fill: var(--color-surface-brand-muted);
}

.newsletter-scallop {
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: 12px;
	background-color: var(--newsletter-scallop-outer);
}

.newsletter-scallop::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--newsletter-scallop-fill);
	-webkit-mask-image: url('assets/svg/mega-menu-scallop.svg');
	mask-image: url('assets/svg/mega-menu-scallop.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 489px 12px;
	mask-size: 489px 12px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	transform: scaleY(-1);
	transform-origin: center;
}

.newsletter-scallop--top {
	--newsletter-scallop-outer: var(--newsletter-scallop-top-outer);
}

.newsletter-scallop--top::after {
	transform: none;
}

.newsletter-scallop--bottom {
	--newsletter-scallop-outer: var(--newsletter-scallop-bottom-outer);
}

.newsletter-block--homepage {
	--newsletter-scallop-top-outer: var(--color-surface-page);
	--newsletter-scallop-bottom-outer: var(--color-surface-page);
}

.newsletter-block--category {
	--newsletter-scallop-fill: var(--color-surface-secondary-muted);
	--newsletter-scallop-top-outer: var(--color-surface-page);
	--newsletter-scallop-bottom-outer: var(--color-surface-brand-subtle);
}

.newsletter-block--sidebar {
	--newsletter-scallop-fill: var(--color-surface-secondary-muted);
	--newsletter-scallop-top-outer: var(--color-surface-page);
	--newsletter-scallop-bottom-outer: var(--color-surface-page);
}

.newsletter--sidebar .newsletter__container {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: none;
	margin: 0;
	padding: 0;
}

.newsletter--sidebar .newsletter__image {
	width: 100%;
	height: 320px;
	min-height: 320px;
}

.newsletter--sidebar .newsletter__content {
	align-items: stretch;
}

.newsletter--sidebar .newsletter__heading {
	font-size: 24px;
	line-height: 28px;
}

.newsletter--sidebar .newsletter__description {
	font-size: 15px;
	line-height: 22px;
}

.newsletter--sidebar .newsletter__form-wrap {
	margin-top: 16px;
}

.newsletter--sidebar .newsletter__kit-form button[data-element="submit"],
.newsletter--sidebar .newsletter__kit-form .formkit-submit {
	font-size: 20px;
	line-height: 22px;
	padding: 12px 8px;
}

.newsletter {
	padding: 64px 0;
	border-top: 2px solid var(--color-border-brand);
	border-bottom: 2px solid var(--color-border-brand);
	background-color: var(--color-surface-brand-subtle);
}

.newsletter--category {
	background-color: var(--color-surface-secondary-subtle);
	border-top-color: var(--color-border-secondary);
	border-bottom-color: var(--color-border-secondary);
}

.newsletter.newsletter--sidebar {
	padding: 20px;
	border-top-color: var(--color-border-secondary);
	border-bottom-color: var(--color-border-secondary);
	background-color: var(--color-surface-secondary-subtle);
}

body.category .site-inner > .wrap,
body.category .content-sidebar-wrap,
body.category main.content {
	margin-bottom: 0;
	padding-bottom: 0;
}

.newsletter {
	margin-bottom: 0;
}

.newsletter__container {
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 64px;
	row-gap: 64px;
	align-items: center;
	box-sizing: border-box;
}

.newsletter__image {
	width: 100%;
	height: 296px;
	min-height: 296px;
	overflow: hidden;
	background-color: var(--color-category-placeholder);
}

.newsletter__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.newsletter__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
}

.newsletter__heading {
	color: var(--color-text-default);
	margin: 0;
}

.newsletter__description {
	margin: 8px 0 0 0;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	color: var(--color-text-default);
	letter-spacing: 0;
}

.newsletter__form-wrap {
	width: 100%;
	margin-top: 24px;
}

.newsletter__kit-form {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.newsletter__kit-form,
.newsletter__kit-form * {
	box-sizing: border-box;
}

/* Hide ConvertKit default chrome we re-create in our layout. */
.newsletter__kit-form .formkit-background,
.newsletter__kit-form .formkit-header,
.newsletter__kit-form .formkit-disclaimer,
.newsletter__kit-form .formkit-powered-by-convertkit-container,
.newsletter__kit-form .formkit-alert-success {
	display: none !important;
}

.newsletter__kit-form .formkit-alert-error {
	display: none;
	margin: 0 0 16px;
	padding: 12px 16px;
	list-style: none;
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 20px;
	color: var(--color-text-default);
	background: var(--color-surface-page);
	border: 1px solid var(--color-surface-secondary);
}

.newsletter__kit-form .formkit-alert-error.is-visible,
.newsletter__kit-form .formkit-alert-error:not(:empty) {
	display: block;
}

.newsletter__kit-form .formkit-column {
	padding: 0 !important;
}

.newsletter__kit-form .formkit-fields {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
}

.newsletter__kit-form .formkit-field {
	margin: 0;
}

.newsletter__kit-form .formkit-field + .formkit-field {
	margin-top: 16px;
}

.newsletter__kit-form .formkit-input {
	width: 100%;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 20px;
	padding: 8px 12px;
	background: var(--color-surface-page);
	color: var(--color-text-default);
	border: 1px solid var(--color-surface-secondary);
	border-radius: 0;
	margin: 0;
	transition: border-width 0.2s ease, border-color 0.2s ease;
}

.newsletter__kit-form .formkit-input::placeholder {
	color: rgba(45, 45, 45, 0.25);
}

.newsletter__kit-form .formkit-input:hover,
.newsletter__kit-form .formkit-input:focus {
	border-width: 2px;
	border-color: var(--color-surface-secondary);
	outline: none;
}

.newsletter__kit-form button[data-element="submit"],
.newsletter__kit-form .formkit-submit {
	width: 100%;
	border: 0;
	border-radius: 0;
	background-color: var(--color-surface-secondary);
	color: var(--color-text-default);
	padding: 16px 8px;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 24px;
	text-transform: lowercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease;
	margin-top: 24px;
}

.newsletter__kit-form .formkit-spinner {
	display: none !important;
}

.newsletter__kit-form button[data-element="submit"]:disabled,
.newsletter__kit-form .formkit-submit:disabled {
	opacity: 0.25;
	cursor: not-allowed;
}

.newsletter__kit-form.is-ready button[data-element="submit"],
.newsletter__kit-form.is-ready .formkit-submit {
	opacity: 1;
}

.newsletter__kit-form.is-ready button[data-element="submit"]:hover,
.newsletter__kit-form.is-ready button[data-element="submit"]:focus-visible {
	background-color: var(--color-surface-secondary-hover);
}

/* Success state (replaces fields + subscribe button). */
.newsletter__success[hidden] {
	display: none;
}

.newsletter__success {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.newsletter__success-title {
	margin: 0;
	text-transform: none;
	color: var(--color-text-default);
}

.newsletter__success-text {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0;
	color: var(--color-text-default);
}

.newsletter__kit-form.is-success .formkit-fields {
	display: none;
}

@media (max-width: 1023px) {
	.newsletter__container {
		grid-template-columns: 1fr;
	}

	.newsletter__image {
		height: 296px;
		min-height: 296px;
	}
}

/* ==========================================================================
   Newsletter Modal
   ========================================================================== */

html {
	scrollbar-gutter: stable;
}

body.has-newsletter-modal-open,
html.has-newsletter-modal-open,
body.has-contact-modal-open,
html.has-contact-modal-open {
	overflow: hidden;
}

body.has-newsletter-modal-open,
body.has-contact-modal-open {
	padding-right: var(--tfn-scrollbar-compensation, 0);
}

body.has-newsletter-modal-open .tfn-header,
body.has-contact-modal-open .tfn-header {
	right: var(--tfn-scrollbar-compensation, 0);
	width: auto;
}

.newsletter-modal {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.newsletter-modal[hidden] {
	display: none;
}

.newsletter-modal__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(45, 45, 45, 0.45);
}

.newsletter-modal__dialog {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	max-height: calc(100vh - 40px);
	overflow: auto;
	background-color: var(--color-surface-secondary-subtle);
}

.newsletter-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 4px;
	border: 1px solid var(--color-border-secondary);
	border-radius: 99px;
	background-color: var(--color-surface-secondary-subtle);
	color: var(--color-icon-default);
	cursor: pointer;
	transition: box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.newsletter-modal__close:hover,
.newsletter-modal__close:focus-visible {
	border-color: var(--color-border-secondary);
	box-shadow: inset 0 0 0 1px var(--color-border-secondary);
	color: var(--color-icon-default-hover);
	outline: none;
}

.newsletter-modal__close-icon {
	display: block;
	flex-shrink: 0;
}

.newsletter.newsletter--modal {
	margin: 0;
	padding: 20px;
	border: 0;
	background-color: transparent;
}

.newsletter--modal .newsletter__container {
	max-width: none;
	margin: 0;
	padding: 0;
	grid-template-columns: 1fr 1fr;
	column-gap: 24px;
	row-gap: 24px;
	align-items: stretch;
}

.newsletter--modal .newsletter__image {
	min-height: 0;
	height: 100%;
	align-self: stretch;
}

.newsletter--modal .newsletter__image img {
	height: 100%;
}

.newsletter--modal .newsletter__content {
	padding-top: 36px;
	min-height: 0;
}

.newsletter--modal .newsletter__heading {
	font-size: clamp(1.75rem, 1.5rem + 0.8vw, 2.25rem);
	line-height: 1.15;
}

.newsletter--modal .newsletter__description {
	font-size: 16px;
	line-height: 24px;
}

.newsletter--modal .newsletter__form-wrap {
	margin-top: 24px;
}

@media (max-width: 767px) {
	.newsletter--modal .newsletter__container {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 0;
	}

	.newsletter--modal .newsletter__image {
		min-height: 240px;
		height: 240px;
		align-self: auto;
	}

	.newsletter--modal .newsletter__image img {
		height: 100%;
	}

	.newsletter--modal .newsletter__content {
		padding-top: 16px;
	}

	.newsletter-modal__close {
		top: 12px;
		right: 12px;
	}

	.newsletter.newsletter--modal {
		padding: 16px;
	}
}

/* ==========================================================================
   Contact Modal
   ========================================================================== */

.contact-modal {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.contact-modal[hidden] {
	display: none;
}

.contact-modal__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(45, 45, 45, 0.45);
}

.contact-modal__dialog {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	max-height: calc(100vh - 40px);
	overflow: visible;
	border: 2px solid var(--color-border-brand);
	background-color: var(--color-surface-page);
}

.contact-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 4px;
	border: 1px solid var(--color-border-secondary);
	border-radius: 99px;
	background-color: var(--color-surface-page);
	color: var(--color-icon-default);
	cursor: pointer;
	transition: box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.contact-modal__close:hover,
.contact-modal__close:focus-visible {
	border-color: var(--color-border-secondary);
	box-shadow: inset 0 0 0 1px var(--color-border-secondary);
	color: var(--color-icon-default-hover);
	outline: none;
}

.contact-modal__close-icon {
	display: block;
	flex-shrink: 0;
}

.contact-modal__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 24px;
	align-items: stretch;
	max-height: calc(100vh - 40px);
	padding: 20px;
	overflow: auto;
}

.contact-modal__media {
	min-width: 0;
}

.contact-modal__figure {
	position: relative;
	margin: 0;
	height: 100%;
	min-height: 0;
}

.contact-modal__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
}

.contact-modal__image--placeholder {
	aspect-ratio: 436 / 520;
	min-height: 100%;
	background-color: var(--color-category-placeholder);
}

.contact-modal__sticker {
	position: absolute;
	z-index: 2;
	display: block;
	pointer-events: none;
}

.contact-modal__sticker-svg {
	display: block;
	width: 100%;
	height: 100%;
}

.contact-modal__sticker--donut {
	top: -16px;
	left: -24px;
	width: 87px;
	height: 87px;
}

.contact-modal__sticker--egg {
	right: -20px;
	bottom: -12px;
	width: 75px;
	height: 71px;
}

.contact-modal__content {
	display: flex;
	min-width: 0;
}

.contact-modal__work {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding-top: 36px;
	text-align: left;
}

.contact-modal__work .about-work__email-line {
	justify-content: flex-start;
}

.contact-modal__work .about-work__title {
	font-size: clamp(1.75rem, 1.5rem + 0.8vw, 3rem);
	line-height: 1.1;
}

@media (max-width: 767px) {
	.contact-modal__inner {
		grid-template-columns: 1fr;
		row-gap: 12px;
		padding: 16px;
		align-content: start;
	}

	.contact-modal__work {
		padding-top: 0;
	}

	.contact-modal__media {
		display: none;
	}

	.contact-modal__work .about-work__title {
		font-size: 28px;
		line-height: 32px;
	}

	.contact-modal__close {
		top: 12px;
		right: 12px;
	}
}

/* ==========================================================================
   Homepage — Fresh Out of the Oven
   ========================================================================== */

.fresh-out {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.fresh-out__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.fresh-out__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-align: center;
}

.fresh-out__filters-wrap {
	width: 100%;
}

.fresh-out__filters {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
}

.fresh-out__filter {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 10px 8px;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
	border: 1px solid var(--color-surface-secondary);
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.fresh-out__filter.is-selected,
.fresh-out__filter.is-active {
	background-color: var(--color-surface-secondary);
	border-color: var(--color-surface-secondary);
}

.fresh-out__filter:not(.is-selected):not(.is-active):hover,
.fresh-out__filter:not(.is-selected):not(.is-active):focus-visible {
	background-color: var(--color-surface-secondary-hover);
	outline: none;
}

.fresh-out__filter-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: var(--font-weight-heading);
	line-height: 20px;
	letter-spacing: 0.5px;
	text-align: center;
	text-transform: lowercase;
	color: var(--color-text-default);
}

.fresh-out__filter:hover .fresh-out__filter-title,
.fresh-out__filter:focus-visible .fresh-out__filter-title {
	color: var(--color-text-default);
}

.fresh-out__panel {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.fresh-out.is-loading .fresh-out__panel {
	opacity: 0.55;
	transition: opacity 0.2s ease;
}

.fresh-out__more {
	margin: 0;
	text-align: center;
}

.fresh-out__more-link.nav-link {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.fresh-out__more-link.nav-link:hover,
.fresh-out__more-link.nav-link:focus {
	color: var(--color-text-default-hover);
}

@media (max-width: 832px) {
	.fresh-out__filters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}
}

@media (max-width: 599px) {
	.fresh-out__title {
		font-size: 30px;
		line-height: 34px;
	}
}

/* ==========================================================================
   Site Footer
   ========================================================================== */

.tfn-footer__top {
	padding: 64px 0;
	background-color: var(--color-surface-brand-subtle);
}

.tfn-footer__container {
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
	display: flex;
	align-items: flex-start;
	gap: 64px;
}

.tfn-footer__brand {
	flex: 0 0 auto;
	display: flex;
	align-items: stretch;
}

.tfn-footer__logo-link {
	display: inline-flex;
	color: var(--color-text-primary);
	height: 168px;
}

.tfn-footer__logo-link svg {
	display: block;
	height: 168px;
	width: auto;
}

.tfn-footer__right {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.tfn-footer__category-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: 8px;
	row-gap: 12px;
	width: 100%;
	min-width: 0;
}

.tfn-footer__category-grid .fresh-out__filter {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	padding: 8px;
}

.tfn-footer__scallop {
	flex-shrink: 0;
	width: 100%;
	height: 12px;
	background-color: var(--color-surface-brand-subtle);
	background-image: url('assets/svg/mega-menu-scallop.svg');
	background-repeat: repeat-x;
	background-size: 489px 12px;
	background-position: left bottom;
}

.tfn-footer__bottom {
	padding: 24px 0;
	background-color: #E8513B;
}

.tfn-footer__bottom-inner {
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}


.tfn-footer__bottom-left {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
}

.tfn-footer__copyright {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	color: #ffffff;
	white-space: nowrap;
	text-align: right;
}

.tfn-footer__nav-list {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: flex-start;
}

.tfn-footer__nav-link {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	color: #ffffff;
	transition: color 0.2s ease;
}

.tfn-footer__nav-link:hover,
.tfn-footer__nav-link:focus {
	color: rgba(255, 255, 255, 0.85);
	outline: none;
}

.tfn-footer__backtotop {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 99px;
	border: 1px solid var(--color-text-on-surface);
	background: transparent;
	color: var(--color-text-on-surface);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	transition: background-color 0.2s ease;
}

.tfn-backtotop__icon {
	display: block;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.tfn-footer .tfn-footer__backtotop:not(.tfn-backtotop--sticky):hover,
.tfn-footer .tfn-footer__backtotop:not(.tfn-backtotop--sticky):focus-visible {
	background-color: rgba(255, 255, 255, 0.15);
	outline: none;
}

.tfn-backtotop--sticky {
	position: fixed;
	z-index: 1001;
	box-sizing: border-box;
	width: auto;
	height: 40px;
	padding: 8px 8px 8px 20px;
	gap: 4px;
	border: none;
	border-radius: 99px;
	background-color: var(--color-surface-brand);
	color: var(--color-text-on-surface);
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: 24px;
	letter-spacing: normal;
	text-transform: lowercase;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.25s ease,
		visibility 0.25s ease,
		background-color 0.25s ease,
		border-color 0.25s ease,
		padding 0.25s ease;
}

.tfn-backtotop__label {
	white-space: nowrap;
	opacity: 1;
	transition: opacity 0.25s ease;
}

.tfn-backtotop--sticky:hover,
.tfn-backtotop--sticky:focus-visible {
	background-color: var(--color-surface-brand-hover);
	outline: none;
}

.tfn-backtotop--sticky.is-compact {
	width: 40px;
	padding: 0;
	gap: 0;
	border: 1px solid var(--color-text-on-surface);
	background-color: transparent;
}

.tfn-backtotop--sticky.is-compact .tfn-backtotop__label {
	display: none;
}

.tfn-backtotop--sticky.is-compact:hover,
.tfn-backtotop--sticky.is-compact:focus-visible {
	background-color: rgba(255, 255, 255, 0.15);
}

.tfn-backtotop--sticky.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

body.is-mobile-nav-open .tfn-backtotop--sticky {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

@media (max-width: 832px) {
	.tfn-footer__top {
		padding: 48px 20px;
	}

	.tfn-footer__container {
		flex-direction: column;
		align-items: center;
		gap: 32px;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	.tfn-footer__brand {
		justify-content: center;
	}

	.tfn-footer__logo-link {
		height: 120px;
	}

	.tfn-footer__logo-link svg {
		height: 120px;
	}

	.tfn-footer__right {
		align-items: center;
		width: 100%;
	}

	.tfn-footer__right .looking-for__search-form {
		width: 100%;
	}

	.tfn-footer__right .looking-for__search-row {
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 12px 16px;
	}

	.tfn-footer__right .looking-for__search-title {
		display: contents;
	}

	.tfn-footer__right .looking-for__search-prefix {
		flex: 0 0 100%;
		text-align: center;
	}

	.tfn-footer__right .looking-for__search-field {
		flex: 0 0 auto;
		justify-content: center;
		min-width: 0;
	}

	.tfn-footer__right .looking-for__search-input-wrap {
		align-items: center;
		width: min(220px, 100%);
		max-width: 220px;
	}

	.tfn-footer__right .looking-for__search-input {
		text-align: center;
	}

	.tfn-footer__right .looking-for__search-clear {
		display: none !important;
	}

	.looking-for .looking-for__search-form--wave .looking-for__search-input-wrap {
		width: min(220px, 100%);
		max-width: 220px;
	}

	.looking-for__search-form--wave .looking-for__search-input,
	.looking-for__search-form--wave .looking-for__search-wave,
	.looking-for__search-form--wave .looking-for__search-wave svg,
	.tfn-footer__right .looking-for__search-input,
	.tfn-footer__right .looking-for__search-wave,
	.tfn-footer__right .looking-for__search-wave svg {
		width: 100%;
		max-width: 220px;
	}

	.tfn-footer__category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 12px;
		row-gap: 12px;
		width: 100%;
	}

	.tfn-footer__category-grid .fresh-out__filter:nth-child(n + 7) {
		display: none;
	}

	.tfn-footer__bottom {
		padding: 24px 20px;
	}

	.tfn-footer__bottom-inner {
		padding: 0;
		gap: 16px;
	}

	.tfn-footer__nav {
		display: none;
	}

	.tfn-footer__bottom-left {
		flex: 1 1 auto;
		justify-content: flex-start;
		min-width: 0;
	}

	.tfn-footer__copyright {
		font-size: 14px;
		line-height: 18px;
		text-align: left;
		white-space: normal;
	}
}

@media (min-width: 833px) and (max-width: 1023px) {
	.tfn-footer__container {
		flex-direction: column;
		gap: 32px;
	}

	.tfn-footer__category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tfn-footer__bottom-left {
		flex-direction: column;
		gap: 16px;
		align-items: flex-start;
	}

	.tfn-footer__copyright {
		white-space: normal;
	}
}

/* ==========================================================================
   Category Archive — Hero
   ========================================================================== */

.category-hero {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-secondary-subtle);
}

.category-hero-scallop {
	--tfn-scallop-fill: var(--color-surface-secondary-subtle);
	--tfn-scallop-outer: var(--color-surface-page);
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: 12px;
	background-color: var(--tfn-scallop-outer);
}

.category-hero-scallop::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--tfn-scallop-fill);
	-webkit-mask-image: url('assets/svg/mega-menu-scallop.svg');
	mask-image: url('assets/svg/mega-menu-scallop.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 489px 12px;
	mask-size: 489px 12px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	transform: scaleY(-1);
	transform-origin: center;
}

.category-hero__container {
	display: flex;
	align-items: center;
	gap: 64px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.category-hero__container--intro-only .category-hero__intro {
	max-width: none;
}

.category-hero__intro {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 16px;
	max-width: 664px;
	min-width: 0;
}

.category-hero__all-recipes.link-small {
	align-self: flex-start;
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.category-hero__all-recipes.link-small:hover,
.category-hero__all-recipes.link-small:focus {
	color: var(--color-text-default-hover);
}

.category-hero__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: var(--font-weight-heading);
	line-height: 52px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-transform: lowercase;
}

.category-hero__description {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
}

.category-hero__description > :first-child {
	margin-top: 0;
}

.category-hero__description > :last-child {
	margin-bottom: 0;
}

.category-hero__featured {
	flex: 1 1 auto;
	min-width: 0;
}

.category-hero__featured-card {
	display: flex;
	align-items: center;
	gap: 24px;
}

.category-hero__featured-thumb-link {
	flex-shrink: 0;
	text-decoration: none;
}

.category-hero__featured-thumb {
	overflow: hidden;
	width: 144px;
	height: 160px;
	background-color: var(--color-category-placeholder);
}

.category-hero__featured-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.category-hero__featured-image--placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--color-category-placeholder);
}

.category-hero__featured-card:hover .category-hero__featured-image,
.category-hero__featured-card:focus-within .category-hero__featured-image {
	transform: scale(1.04);
	opacity: 0.92;
}

.category-hero__featured-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.category-hero__featured-badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-transform: lowercase;
}

.category-hero__sparkle {
	flex-shrink: 0;
	width: 14px;
	height: 16px;
}

.category-hero__featured-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 28px;
	letter-spacing: 0;
	text-transform: lowercase;
}

.category-hero__featured-title a {
	text-decoration: none;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.category-hero__featured-title a:hover,
.category-hero__featured-title a:focus {
	color: var(--color-text-default-hover);
}

@media (max-width: 1023px) {
	.category-hero__container {
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
	}

	.category-hero__intro {
		max-width: none;
	}

	.category-hero__featured-card {
		align-items: flex-start;
	}
}

@media (max-width: 832px) {
	.category-hero__featured-card {
		flex-direction: column;
		align-items: center;
		gap: 16px;
		text-align: center;
	}

	.category-hero__featured-content {
		display: contents;
	}

	.category-hero__featured-badge {
		order: 1;
		align-self: center;
	}

	.category-hero__featured-thumb-link {
		order: 2;
		align-self: center;
	}

	.category-hero__featured-title {
		order: 3;
		align-self: center;
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 599px) {
	.category-hero__title {
		font-size: 36px;
		line-height: 40px;
	}
}

/* ==========================================================================
   Category Archive — Popular Recipes
   ========================================================================== */

.category-popular {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.category-popular__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.category-popular__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-align: center;
	text-transform: lowercase;
}

@media (max-width: 599px) {
	.category-popular__title {
		font-size: 30px;
		line-height: 34px;
	}
}

/* ==========================================================================
   Category Archive — Latest Recipes
   ========================================================================== */

.category-latest {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.category-latest__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.category-latest__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-align: center;
	text-transform: lowercase;
}

.category-latest__pagination {
	display: flex;
	justify-content: center;
}

.category-pagination {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	padding: 10px 8px;
	background-color: var(--color-surface-brand-subtle);
	border-radius: 99px;
}

.category-pagination__chevron,
.category-pagination__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	padding: 0;
	color: var(--color-text-default);
	text-decoration: none;
	border: 0;
	border-radius: 99px;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.category-pagination__chevron {
	padding: 4px;
}

.category-pagination__chevron:hover,
.category-pagination__chevron:focus,
.category-pagination__page:hover,
.category-pagination__page:focus {
	color: var(--color-text-on-surface);
	background-color: var(--color-surface-brand-hover);
}

.category-pagination__chevron--disabled,
.category-pagination__chevron--disabled:hover,
.category-pagination__chevron--disabled:focus {
	color: var(--color-disabled);
	background-color: transparent;
}

.category-pagination__chevron-icon {
	display: block;
	width: 24px;
	height: 24px;
}

.category-pagination__page--current,
.category-pagination__page--current:hover,
.category-pagination__page--current:focus {
	color: var(--color-text-on-surface);
	background-color: var(--color-surface-brand);
}

.category-pagination__number {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
}

.category-pagination__ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	color: var(--color-text-default);
}

@media (max-width: 599px) {
	.category-latest__title {
		font-size: 30px;
		line-height: 34px;
	}

	.category-pagination {
		gap: 12px;
		padding: 10px 6px;
	}
}

/* ==========================================================================
   Category Archive — Empty State
   ========================================================================== */

.category-hero--empty {
	padding-bottom: 48px;
}

.category-hero__container--empty {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.category-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 32px;
	min-height: 480px;
	text-align: center;
}

.category-empty-state__icon {
	display: block;
	width: 110px;
	height: auto;
	color: var(--color-icon-secondary);
}

.category-empty-state__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	max-width: 560px;
}

.category-empty-state__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-heading);
	line-height: var(--line-height-h4);
	color: var(--color-text-default);
	text-transform: lowercase;
}

.category-empty-state__message {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	color: var(--color-text-default);
}

/* ==========================================================================
   Category Archive — Empty Fallback Feed
   ========================================================================== */

.category-fallback {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.category-fallback__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.category-fallback__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	color: var(--color-text-default);
	letter-spacing: 0;
	text-align: center;
	text-transform: lowercase;
}

@media (max-width: 599px) {
	.category-empty-state {
		min-height: 360px;
	}

	.category-fallback__title {
		font-size: 30px;
		line-height: 34px;
	}
}

/* ==========================================================================
   Mobile — Card & button headings (h2)
   ========================================================================== */

@media (max-width: 832px) {
	.summer-favourites__container,
	.looking-for__container,
	.trending-recipes__container,
	.fresh-out__container,
	.category-popular__container,
	.category-latest__container,
	.category-fallback__container {
		gap: 24px;
	}

	.recipe-card__post-title,
	.trending-recipes__post-title,
	.looking-for__visual-title,
	.looking-for__category-button-title,
	.category-hero__featured-title {
		font-size: 20px;
		line-height: 20px;
	}
}

/* ==========================================================================
   Recipes Archive — Hero & Filters
   ========================================================================== */

.recipes-index-hero-block {
	display: flex;
	flex-direction: column;
}

.recipes-index-hero-sentinel {
	width: 100%;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

.recipes-index-hero-placeholder {
	width: 100%;
}

.recipes-index-hero {
	padding: 48px 0;
	margin: 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-secondary-subtle);
}

.recipes-index-hero-block.is-stuck .recipes-index-hero {
	position: fixed;
	top: var(--tfn-header-bottom, var(--tfn-header-height, 100px));
	left: 0;
	right: 0;
	z-index: 998;
	padding: 12px 0;
}

.recipes-index-hero__container {
	display: flex;
	flex-direction: column;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.recipes-index-hero__title {
	margin: 0 0 16px;
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: var(--font-weight-heading);
	line-height: 52px;
	letter-spacing: 0;
	text-transform: lowercase;
}

.recipes-index-hero__search {
	margin: 0 0 16px;
	width: 100%;
}

.recipes-index-hero__search .looking-for__search-title {
	font-size: 36px;
	line-height: 40px;
}

.recipes-index-hero__search .looking-for__search-row--inline-field {
	justify-content: flex-start;
}

.recipes-index-hero__search .looking-for__search-field {
	flex: 0 1 auto;
	align-items: center;
}

.recipes-index-hero__search .looking-for__search-button--24 {
	width: 24px;
	height: 24px;
}

.recipes-index-hero__search .looking-for__search-button--24 .looking-for__search-icon {
	width: 24px;
	height: 24px;
}

.recipes-index-hero__controls {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.recipes-index-hero__filter-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 8px;
	width: 100%;
}

.recipes-index-hero__toolbar {
	display: flex;
	align-items: flex-start;
	width: 100%;
}

.recipes-index-hero__search-slot {
	display: none;
	flex-shrink: 0;
	align-items: center;
	margin-left: 0;
}

.recipes-index-hero-block.is-stuck .recipes-index-hero__title,
.recipes-index-hero-block.is-stuck .recipes-index-hero__search {
	display: none;
}

.recipes-index-hero-block.is-stuck .recipes-index-hero__controls {
	gap: 0;
}

.recipes-index-hero-block.is-stuck .recipes-index-hero__toolbar {
	align-items: center;
}

.recipes-index-hero-block.is-stuck .recipes-index-hero__search-slot {
	display: inline-flex;
	margin-left: 12px;
}

.recipes-index-hero-block.is-stuck .recipes-index-hero__search-slot .looking-for__search-button,
.recipes-index-hero-block.is-stuck .recipes-index-hero__search-slot .looking-for__search-icon {
	width: 24px;
	height: 24px;
}

.recipes-index-hero-block.is-stuck .recipes-index-hero__dropdowns {
	flex: 0 1 auto;
}

.recipes-index-hero-block.is-stuck .select-dropdown__label,
.recipes-index-hero-block.is-stuck .select-dropdown__value,
.recipes-index-hero-block.is-stuck .select-dropdown__option-label {
	font-size: 14px;
	line-height: 18px;
}

.recipes-index-hero__filter-label {
	margin: 0;
	text-decoration: none;
}

.recipes-index-hero__clear-filters {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-decoration: none;
}

.recipes-index-hero__clear-filters:hover,
.recipes-index-hero__clear-filters:focus-visible {
	color: var(--color-text-default-hover);
	outline: none;
}

.recipes-index-hero.is-loading {
	opacity: 0.72;
}

.recipes-index-hero__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 12px;
	row-gap: 12px;
	width: 100%;
}

.recipes-index-hero__filter {
	flex: 0 0 calc((100% - (7 * 12px)) / 8);
	max-width: calc((100% - (7 * 12px)) / 8);
	box-sizing: border-box;
	padding: 8px;
	background-color: transparent;
}

.recipes-index-hero-scallop {
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: 12px;
	background-color: var(--color-surface-page);
}

.recipes-index-hero-scallop::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--color-surface-secondary-subtle);
	-webkit-mask-image: url('assets/svg/mega-menu-scallop.svg');
	mask-image: url('assets/svg/mega-menu-scallop.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 489px 12px;
	mask-size: 489px 12px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	transform: scaleY(-1);
	transform-origin: center;
}

.recipes-index-results {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.recipes-index-results__container {
	display: flex;
	flex-direction: column;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.recipes-index-results__content {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.recipes-index-results__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 480px;
	text-align: center;
}

.recipes-index-results__empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 64px;
}

.recipes-index-results__empty-icon svg {
	display: block;
	width: auto;
	height: 64px;
}

.recipes-index-results__empty-title {
	margin: 32px 0 0;
	font-family: var(--font-heading);
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-heading);
	line-height: var(--line-height-h4);
	letter-spacing: -0.01em;
	text-transform: lowercase;
}

.recipes-index-results__empty-text {
	margin: 8px 0 0;
	max-width: 32rem;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
}

.recipes-index-results__clear-filters {
	margin: 32px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-decoration: none;
}

.recipes-index-results__clear-filters:hover,
.recipes-index-results__clear-filters:focus-visible {
	color: var(--color-text-default-hover);
	outline: none;
}

.recipes-index-results__pagination {
	display: flex;
	justify-content: center;
}

@media (max-width: 832px) {
	.recipes-index-hero {
		padding: 48px 0 24px;
	}

	.recipes-index-hero__title {
		font-size: 36px;
		line-height: 40px;
	}

	.recipes-index-hero__search {
		display: none;
	}

	.recipes-index-hero__toolbar {
		width: 100%;
	}

	.recipes-index-hero__dropdowns {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		width: 100%;
	}

	.recipes-index-hero__dropdowns .select-dropdown {
		display: flex;
		flex: 1 1 calc(50% - 6px);
		width: auto;
		min-width: 0;
		max-width: none;
	}

	.recipes-index-hero__dropdowns .select-dropdown__control,
	.recipes-index-hero__dropdowns .select-dropdown__panel {
		width: 100%;
		min-width: 0;
		max-width: none;
		box-sizing: border-box;
	}

	.recipes-index-hero-block.is-stuck .recipes-index-hero {
		position: static;
		top: auto;
		left: auto;
		right: auto;
		padding: 48px 0 24px;
	}

	.recipes-index-hero-block.is-stuck .recipes-index-hero__title {
		display: block;
	}

	.recipes-index-hero-block.is-stuck .recipes-index-hero__search-slot {
		display: none;
	}

	.recipes-index-hero-block.is-stuck .recipes-index-hero__dropdowns {
		flex: none;
	}

	.recipes-index-hero-placeholder {
		display: none !important;
		height: 0 !important;
	}
}

@media (max-width: 599px) {
	.recipes-index-hero__filter {
		flex: 0 0 calc((100% - 12px) / 2);
		max-width: calc((100% - 12px) / 2);
	}
}

/* ==========================================================================
   Single Post
   ========================================================================== */

body.single .site-inner > .wrap,
body.single .content-sidebar-wrap,
body.single main.content {
	width: 100%;
	max-width: none;
	margin-bottom: 0;
	padding-bottom: 0;
	float: none;
}

.single-post-hero-block {
	--newsletter-scallop-fill: var(--color-surface-brand-subtle);
	--newsletter-scallop-bottom-outer: var(--color-surface-page);
}

.single-post-hero {
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-brand-subtle);
}

.single-post-hero__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.single-post-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 64px;
	align-items: center;
}

.single-post-hero__content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.single-post-hero__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.single-post-hero__title {
	margin: 0;
}

.single-post-hero__description {
	box-sizing: border-box;
	height: 160px;
	margin: 0;
	overflow: hidden;
}

.single-post-hero__description.body-large,
.single-post-hero__time-value.body-large {
	font-size: 18px;
	line-height: 28px;
}

.single-post-hero__description p {
	margin: 0;
}

.single-post-hero__description > * + * {
	margin-top: 12px;
}

.single-post-hero__times-meta {
	display: flex;
	flex-direction: column;
}

.single-post-hero__wave {
	width: 100%;
	height: 8px;
	overflow: hidden;
	color: var(--color-surface-secondary);
	line-height: 0;
}

.single-post-hero__wave-art {
	display: block;
}

.single-post-hero__wave-art--wide {
	display: none;
}

.single-post-hero__wave-art svg {
	display: block;
	height: 8px;
	max-width: none;
}

.single-post-hero__wave-art--default svg {
	width: 612px;
}

.single-post-hero__wave-art--wide svg {
	width: 1004px;
}

.single-post-hero__times {
	display: grid;
	gap: 0;
	margin-top: 16px;
	text-align: center;
}

.single-post-hero__times--cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.single-post-hero__times--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.single-post-hero__times + .single-post-hero__wave {
	margin-top: 16px;
}

.single-post-hero__time-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
}

.single-post-hero__time-label {
	margin: 0 0 8px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0;
	text-align: center;
	text-transform: lowercase;
}

.single-post-hero__time-value {
	margin: 0;
	text-align: center;
}

.single-post-hero__affiliate-notice,
.single-post__affiliate-notice {
	margin: 0;
}

.single-post-hero__media {
	flex-shrink: 0;
	width: 440px;
	justify-self: end;
}

.single-post-hero__image-wrap {
	width: 440px;
	height: 440px;
	overflow: hidden;
	background-color: #f2f2f2;
}

.single-post-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-post-hero__image--placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--color-category-placeholder);
}

.single-post__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1096px;
	margin: 40px auto 0;
	padding: 0 16px;
}

.single-post__grid {
	display: grid;
	grid-template-columns: minmax(578px, 680px) 352px;
	gap: 64px;
	justify-content: space-between;
	align-items: start;
	width: 100%;
}

.single-post__main {
	box-sizing: border-box;
	width: 100%;
	max-width: 680px;
	min-width: 578px;
	min-height: 0;
}

.single-post__article {
	margin: 0;
}

.single-post__breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-post__breadcrumb-item,
.single-post__breadcrumb-separator {
	display: flex;
	align-items: center;
	margin: 0;
}

.single-post__breadcrumb-link {
	text-decoration: none;
}

.single-post__breadcrumb-link:hover,
.single-post__breadcrumb-link:focus-visible {
	color: var(--color-text-default-hover);
}

.single .slick-film-strip,
.slick-inline-search-panel {
	display: none !important;
}

.single-post__title {
	margin: 0;
}

.single-post__jump-to-recipe {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	padding: 8px 12px;
	border: 1px solid var(--color-surface-brand);
	background-color: var(--color-surface-brand);
	color: var(--color-text-on-surface);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.single-post__jump-to-recipe:hover,
.single-post__jump-to-recipe:focus-visible {
	background-color: var(--color-surface-brand-hover);
	border-color: var(--color-surface-brand-hover);
	color: var(--color-text-on-surface);
}

.single-post__jump-to-recipe-icon {
	display: block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: var(--color-icon-on-surface);
}


.single-post__content {
	min-width: 0;
	margin-top: 36px;
}

.single-post__content :is(p, li, .wp-block-paragraph) {
	font-size: 16px;
	line-height: 28px;
}

.single-post__content > * {
	margin-top: 0;
	margin-bottom: 0;
}

.single-post__content > * + * {
	margin-top: 36px;
}

.single-post__content > * + .wp-block-paragraph {
	margin-top: 8px;
}

.single-post__content .single-post-content-section > * {
	margin-top: 0;
	margin-bottom: 0;
}

.single-post__content .single-post-content-section > * + * {
	margin-top: 36px;
}

.single-post__content .single-post-content-section > * + .wp-block-paragraph,
.single-post__content .single-post-content-section > * + p {
	margin-top: 8px;
}

.single-post__content .wp-block-group > *,
.single-post__content .wp-block-group .wp-block-group__inner-container > * {
	margin-top: 0;
	margin-bottom: 0;
}

.single-post__content .wp-block-group > * + *,
.single-post__content .wp-block-group .wp-block-group__inner-container > * + * {
	margin-top: 16px;
}

.single-post__content .wp-block-group > * + .wp-block-paragraph,
.single-post__content .wp-block-group .wp-block-group__inner-container > * + .wp-block-paragraph {
	margin-top: 8px;
}

.single-post__content h2,
.single-post__content h2.wp-block-heading {
	font-size: 32px;
	line-height: 38px;
}

.single-post__content :is(h5, h5.wp-block-heading) {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: var(--font-weight-body);
	font-style: inherit;
	line-height: 20px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-text-default);
	opacity: 0.5;
}

.single-post__content .wp-block-image {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.single-post__content .wp-block-image img {
	margin-left: auto;
	margin-right: auto;
}

.single-post__content :where(p, li, blockquote, figcaption) a {
	color: var(--color-text-primary);
	text-decoration: none;
}

.single-post__content :where(p, li, blockquote, figcaption) a:hover,
.single-post__content :where(p, li, blockquote, figcaption) a:focus-visible {
	text-decoration: underline;
}

.single-post .tasty-recipes-quick-links,
.single-post .tasty-recipes-jump-link,
.single-post .tasty-recipes-print-link,
.single-post .tasty-recipes-print-button.tasty-recipes-print-above-card {
	display: none !important;
}

/* ==========================================================================
   Single Post — Related Recipes & Still Hungry
   ========================================================================== */

.single-post-related-recipes {
	width: 100%;
	max-width: 680px;
	margin-bottom: 32px;
}

.single-post-still-hungry {
	width: 100%;
	max-width: none;
	margin-top: 48px;
	margin-bottom: 48px;
}

.single-post-related-recipes__title,
.single-post-still-hungry__title {
	margin: 0 0 16px;
	font-family: var(--font-heading);
	font-size: 32px;
	font-weight: var(--font-weight-heading);
	line-height: 38px;
	letter-spacing: -0.01em;
	text-transform: lowercase;
}

.single-post-related-recipes__list {
	margin: 0;
	padding: 0 0 0 1.25em;
	list-style: disc;
	text-align: left;
}

.single-post-related-recipes__item {
	margin: 0;
}

.single-post-related-recipes__item + .single-post-related-recipes__item {
	margin-top: 8px;
}

.single-post-related-recipes__link {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0;
	color: var(--color-text-primary);
	text-decoration: none;
}

.single-post-related-recipes__link:hover,
.single-post-related-recipes__link:focus-visible {
	text-decoration: underline;
}

.single-post-still-hungry__grid.recipe-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 0;
}

.single-post-still-hungry .recipe-card__meta {
	margin-top: 12px;
	gap: 6px;
}

.single-post-still-hungry .recipe-card__post-title {
	font-size: 18px;
	line-height: 22px;
	letter-spacing: 0;
}

.single-post-still-hungry .recipe-card__post-title a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

@media (max-width: 500px) {
	.single-post-still-hungry__grid.recipe-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 24px;
	}
}

/* ==========================================================================
   Single Post — Recipe CTA
   ========================================================================== */

.single-post-recipe-cta {
	box-sizing: border-box;
	width: 100%;
	max-width: 680px;
	margin-top: 32px;
	padding: 20px;
	background-color: var(--color-surface-brand-subtle);
}

.single-post-recipe-cta__inner {
	display: flex;
	align-items: center;
	gap: 24px;
}

.single-post-recipe-cta__polaroid {
	box-sizing: border-box;
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
	width: 168px;
	height: 192px;
	padding: 8px;
	background-color: var(--color-surface-page);
}

.single-post-recipe-cta__polaroid-image {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.single-post-recipe-cta__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-post-recipe-cta__image--placeholder {
	background-color: var(--color-category-placeholder);
}

.single-post-recipe-cta__polaroid-icons {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-top: 8px;
	color: var(--color-icon-default);
}

.single-post-recipe-cta__polaroid-icon:not( .single-post-recipe-cta__heart-filled ) {
	display: block;
	height: 14px;
	width: auto;
	color: var(--color-icon-default);
}

.single-post-recipe-cta__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.single-post__content .single-post-recipe-cta__title,
.entry-content .single-post-recipe-cta__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 28px;
	letter-spacing: 0;
	text-transform: lowercase;
}

.single-post-recipe-cta__description {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: var(--font-weight-body);
	line-height: 24px;
}

.single-post-recipe-cta__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.single-post__content .single-post-recipe-cta__hashtag,
.entry-content .single-post-recipe-cta__hashtag {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: var(--font-weight-heading);
	line-height: 20px;
	letter-spacing: 0;
	text-transform: lowercase;
}

.single-post-recipe-cta__heart {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	width: 14px;
	height: 13px;
}

.single-post-recipe-cta__heart-outline,
.single-post-recipe-cta__heart-filled {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 14px;
	height: 13px;
}

.single-post-recipe-cta__heart-outline {
	color: var(--color-icon-default);
}

.single-post-recipe-cta__heart-filled {
	color: var(--color-icon-primary);
	opacity: 0;
	transform: scale( 0.85 );
}

.single-post-recipe-cta.is-heart-animated .single-post-recipe-cta__heart-outline {
	animation: single-post-recipe-cta-heart-outline 0.65s ease-in-out forwards;
}

.single-post-recipe-cta.is-heart-animated .single-post-recipe-cta__heart-filled {
	animation: single-post-recipe-cta-heart-filled 0.45s ease-out 0.35s forwards;
}

@keyframes single-post-recipe-cta-heart-outline {
	0% {
		opacity: 1;
		transform: scale( 1 );
	}

	45% {
		opacity: 1;
		transform: scale( 1.22 );
	}

	100% {
		opacity: 0;
		transform: scale( 1 );
	}
}

@keyframes single-post-recipe-cta-heart-filled {
	0% {
		opacity: 0;
		transform: scale( 0.85 );
	}

	100% {
		opacity: 1;
		transform: scale( 1 );
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.single-post-recipe-cta.is-heart-animated .single-post-recipe-cta__heart-outline {
		animation: none;
		opacity: 0;
	}

	.single-post-recipe-cta.is-heart-animated .single-post-recipe-cta__heart-filled {
		animation: none;
		opacity: 1;
		transform: none;
	}
}

.single-post-recipe-cta__social {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-post-recipe-cta__social-item {
	margin: 0;
	padding: 0;
}

.single-post-recipe-cta__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--color-icon-default);
	text-decoration: none;
	transition: color 0.2s ease;
}

.single-post-recipe-cta__social-link:hover,
.single-post-recipe-cta__social-link:focus-visible {
	color: var(--color-icon-default-hover);
	text-decoration: none;
}

.single-post-recipe-cta__social-link .tfn-header__social-icon {
	display: block;
	height: 14px;
	width: auto;
}

.single-post__content .single-post-recipe-cta a.single-post-recipe-cta__social-link {
	color: var(--color-icon-default);
	text-decoration: none;
}

.single-post__content .single-post-recipe-cta a.single-post-recipe-cta__social-link:hover,
.single-post__content .single-post-recipe-cta a.single-post-recipe-cta__social-link:focus-visible {
	color: var(--color-icon-default-hover);
	text-decoration: none;
}

.single-post-recipe-cta__social-link .tfn-header__social-icon--instagram {
	height: 16px;
}

.single-post-recipe-cta__social-link .tfn-header__social-icon--pinterest {
	height: 16px;
}

@media (max-width: 700px) {
	.single-post-recipe-cta__inner {
		flex-direction: column;
		align-items: center;
	}

	.single-post-recipe-cta__content {
		width: 100%;
		align-items: center;
		text-align: center;
	}

	.single-post-recipe-cta__footer {
		align-self: stretch;
		width: 100%;
		justify-content: space-between;
	}
}

.single-post__sidebar {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 352px;
	min-width: 352px;
}

.single-post__sidebar-inner {
	min-width: 0;
}

.single-post-favourites,
.single-post-trending {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.single-post-favourites__title,
.single-post-trending__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: var(--font-weight-heading);
	line-height: 28px;
	letter-spacing: 0;
}

.single-post-favourites__grid,
.single-post-trending__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 16px;
}

.single-post-favourites__card,
.single-post-trending__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	text-align: center;
}

.single-post-favourites__thumb-link,
.single-post-trending__thumb-link {
	display: block;
	width: 100%;
	text-decoration: none;
}

.single-post-favourites__thumb,
.single-post-trending__thumb {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	width: 100%;
	background-color: #f2f2f2;
}

.single-post-favourites__image,
.single-post-trending__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.single-post-favourites__image--placeholder,
.single-post-trending__image--placeholder {
	background-color: #e8e8e8;
}

.single-post-favourites__card:hover .single-post-favourites__image,
.single-post-favourites__card:focus-within .single-post-favourites__image,
.single-post-trending__card:hover .single-post-trending__image,
.single-post-trending__card:focus-within .single-post-trending__image {
	transform: scale(1.04);
	opacity: 0.92;
}

.single-post-favourites__post-title,
.single-post-trending__post-title {
	margin: 8px 0 0;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: var(--font-weight-heading);
	line-height: 20px;
	letter-spacing: 0;
}

.single-post-favourites__post-title a,
.single-post-trending__post-title a {
	text-decoration: none;
	color: var(--color-text-default);
	transition: color 0.2s ease;
}

.single-post-favourites__post-title a:hover,
.single-post-favourites__post-title a:focus-visible,
.single-post-trending__post-title a:hover,
.single-post-trending__post-title a:focus-visible {
	color: var(--color-text-default-hover);
}

.single-post__sidebar .newsletter-block--sidebar,
.single-post-trending {
	margin-top: 36px;
}

.single-post-newsletter-slot--pre-still-hungry {
	display: none;
}

/*
 * Stack when the viewport can no longer fit 578px main + 64px gap + 352px sidebar
 * inside the 1096px container (with 16px side padding).
 */
@media (max-width: 1025px) {
	.single-post-hero__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.single-post-hero__description {
		height: auto;
		overflow: visible;
	}

	.single-post-hero__wave-art--default {
		display: none;
	}

	.single-post-hero__wave-art--wide {
		display: block;
	}

	.single-post-hero__media {
		display: none;
	}

	.single-post__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.single-post__main {
		max-width: none;
		min-width: 0;
		width: 100%;
	}

	.single-post__content {
		max-width: 680px;
		margin-left: auto;
		margin-right: auto;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display {
		box-sizing: border-box;
		width: 100vw;
		max-width: 100vw;
		margin-top: 36px;
		margin-bottom: 48px;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.single-post__sidebar {
		width: 100%;
		min-width: 0;
	}

	.single-post-trending {
		display: none;
	}

	.single-post-newsletter-slot--sidebar {
		display: none;
	}

	.single-post__sidebar .single-post-favourites-slot {
		display: none;
	}

	.single-post-newsletter-slot--pre-still-hungry {
		display: block;
	}

	.single-post-recipe-cta {
		box-sizing: border-box;
		width: calc(100vw - 40px);
		max-width: none;
		margin-left: calc(50% - 50vw + 20px);
		margin-right: calc(50% - 50vw + 20px);
	}

	.single-post-related-recipes {
		max-width: none;
		width: 100%;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter-block--sidebar {
		--newsletter-scallop-fill: var(--color-surface-brand-muted);
		--newsletter-scallop-top-outer: var(--color-surface-page);
		--newsletter-scallop-bottom-outer: var(--color-surface-page);
		box-sizing: border-box;
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter-block--sidebar .newsletter-scallop {
		width: 100%;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter.newsletter--sidebar {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 64px 0;
		border-top: 2px solid var(--color-border-brand);
		border-bottom: 2px solid var(--color-border-brand);
		background-color: var(--color-surface-brand-subtle);
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 64px;
		row-gap: 64px;
		align-items: center;
		max-width: 1096px;
		margin: 0 auto;
		padding: 0 16px;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__image {
		order: 2;
		width: 100%;
		height: 296px;
		min-height: 296px;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__content {
		order: 1;
		align-items: flex-start;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__heading {
		font-size: 36px;
		line-height: 40px;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__description {
		font-size: 16px;
		line-height: 24px;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__form-wrap {
		margin-top: 24px;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__kit-form button[data-element="submit"],
	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__kit-form .formkit-submit {
		font-size: 24px;
		line-height: 26px;
		padding: 16px 8px;
	}
}

@media (max-width: 639px) {
	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__container {
		grid-template-columns: 1fr;
		row-gap: 32px;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__image {
		order: 1;
	}

	.single-post-newsletter-slot--pre-still-hungry .newsletter--sidebar .newsletter__content {
		order: 2;
	}
}

@media (max-width: 832px) {
	.single-post-hero__container,
	.single-post__container,
	.single-post-comments__panel-container {
		padding: 0 20px;
	}

	.single-post__container {
		margin-top: 24px;
	}
}

@media (max-width: 639px) {
	.single-post__sidebar .single-post-favourites__grid,
	.single-post__sidebar .single-post-trending__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 500px) {
	.single-post-favourites__grid,
	.single-post-trending__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 16px;
	}
}

@media (min-width: 1026px) {
	.single-post__sidebar .single-post-favourites__grid,
	.single-post__sidebar .single-post-trending__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Single Post — Comments & Reviews
   ========================================================================== */

.single-post-comments {
	display: grid;
	grid-template-columns: minmax(578px, 680px) 352px;
	gap: 12px 64px;
	justify-content: space-between;
	align-items: start;
	width: 100%;
	margin: 0;
}

.single-post-comments__list,
.single-post-comments .commentlist,
.single-post-comments__closed,
.single-post-comments__pagination,
.single-post-comments__list-controls,
.single-post-comments__threads {
	grid-column: 1;
	width: 100%;
	max-width: none;
	min-width: 0;
}

.single-post-comments__list-controls {
	margin-top: 20px;
}

.single-post-comments__panel-content .single-post-comments__threads {
	margin-top: 20px;
}

.single-post-comments__toggle {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid var(--color-border-brand);
	border-radius: 0;
	background-color: var(--color-surface-page);
	color: var(--color-text-default);
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0;
	text-transform: lowercase;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.single-post-comments__toggle:hover,
.single-post-comments__toggle:focus-visible {
	color: var(--color-text-primary);
	border-color: var(--color-border-brand);
	background-color: var(--color-surface-page);
	outline: none;
}

.single-post-comments__list,
.single-post-comments .commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-post-comments__list > .single-post-comment-wrap,
.single-post-comments .commentlist > .single-post-comment-wrap {
	margin: 0;
}

.single-post-comments__list > .single-post-comment-wrap + .single-post-comment-wrap,
.single-post-comments .commentlist > .single-post-comment-wrap + .single-post-comment-wrap {
	margin-top: 24px;
}

.single-post-comment {
	display: block;
}

.single-post-comment__thread {
	margin-left: calc(20px * var(--comment-depth, 1));
	border-left: 1px solid var(--color-border-brand);
	padding-left: 20px;
}

.single-post-comment__inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.single-post-comment__rating {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.single-post-comment__star {
	display: block;
	flex-shrink: 0;
	width: 17px;
	height: 17px;
	background-color: var(--color-icon-default);
	-webkit-mask-image: url('assets/svg/star-rating-outline.svg');
	mask-image: url('assets/svg/star-rating-outline.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.single-post-comment__star.is-filled {
	background-color: var(--color-surface-brand);
	-webkit-mask-image: url('assets/svg/star-rating-filled.svg');
	mask-image: url('assets/svg/star-rating-filled.svg');
}

.single-post-comment__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 24px;
}

.single-post-comment__meta {
	display: inline;
	margin: 0;
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: lowercase;
}

.single-post-comment__author {
	font: inherit;
}

.single-post-comment__verb {
	font: inherit;
}

.single-post-comment__date {
	flex-shrink: 0;
	margin: 0;
	text-transform: lowercase;
}

.single-post-comment__text,
.single-post-comment__text p {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	color: var(--color-text-default);
}

.single-post-comment__text > * + * {
	margin-top: 12px;
}

.single-post-comment__moderation {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 20px;
}

.single-post-comment__footer {
	display: flex;
	justify-content: flex-start;
}

.single-post-comment__reply-toggle.nav-link {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-text-default);
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	transition: color 0.2s ease;
}

.single-post-comment__reply-toggle.nav-link:hover,
.single-post-comment__reply-toggle.nav-link:focus-visible {
	color: var(--color-text-default-hover);
	outline: none;
}

.single-post-comment__reply-form {
	margin-top: 12px;
}

.single-post-comment__reply-form .single-post-comments__form,
.single-post-comment__reply-form .comment-form {
	gap: 20px;
	margin: 0;
}

.single-post-comment__reply-form .single-post-comments__fields-stack {
	gap: 20px;
}

.single-post-comment__reply-form .text-area__control,
.single-post-comment__reply-form .text-field__control,
.single-post-comment__reply-form .single-post-comments__input,
.single-post-comment__reply-form .single-post-comments__textarea {
	border-color: var(--color-border-brand-subtle);
}

.single-post-comment__reply-form .single-post-comments__textarea,
.single-post-comment__reply-form textarea {
	min-height: 80px;
	height: 80px;
}

.single-post-comments .children {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.single-post-comments .children > .single-post-comment-wrap + .single-post-comment-wrap {
	margin-top: 24px;
}

.single-post-comments .comment-reply-title small {
	display: none !important;
}

.single-post-comments__pagination {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
}

.single-post-comments__closed,
.single-post-comments__logged-in {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
}

.single-post-comments__panel {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin: 48px calc(50% - 50vw);
}

.single-post-comments__scallop {
	--tfn-scallop-fill: var(--color-surface-secondary-subtle);
	--tfn-scallop-outer: var(--color-surface-page);
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: 12px;
	background-color: var(--tfn-scallop-outer);
}

.single-post-comments__scallop::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--tfn-scallop-fill);
	-webkit-mask-image: url('assets/svg/mega-menu-scallop.svg');
	mask-image: url('assets/svg/mega-menu-scallop.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 489px 12px;
	mask-size: 489px 12px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	transform: scaleY(-1);
	transform-origin: center;
}

.single-post-comments__scallop--top::after {
	transform: none;
}

.single-post-comments__panel-inner {
	padding: 48px 0;
	background-color: var(--color-surface-secondary-subtle);
}

.single-post-comments__panel-container {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(578px, 680px) 352px;
	gap: 64px;
	justify-content: space-between;
	align-items: start;
	width: 100%;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.single-post-comments__panel-content {
	grid-column: 1;
	width: 100%;
	max-width: none;
	min-width: 0;
}

.single-post-comments .comment-respond {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.single-post-comments__form-header {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.single-post-comments h1.comment-reply-title,
.single-post-comments__form-title,
.single-post-comments .comment-reply-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	line-height: 40px;
	letter-spacing: 0;
}

.single-post-comments .comment-reply-title small {
	display: none;
}

.single-post-comments .comment-reply-title small:has( #cancel-comment-reply-link:not( [style*='display:none'] ) ) {
	display: inline;
}

.single-post-comments__required-note {
	margin: 0;
}

.single-post-comments__logged-in {
	margin: 0;
}

.single-post-comments #cancel-comment-reply-link {
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-text-default);
}

.single-post-comments #cancel-comment-reply-link:hover,
.single-post-comments #cancel-comment-reply-link:focus-visible {
	color: var(--color-text-default-hover);
	text-decoration: underline;
}

.single-post-comments__form,
.single-post-comments #commentform {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin: 32px 0 0;
}

.single-post-comments__fields-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
}

.single-post-comments__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
}

.single-post-comments__field-label {
	margin: 0;
}

.single-post-comments__required {
	color: var(--color-text-default);
}

.single-post-comments__meta-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.single-post-comments .text-area__control,
.single-post-comments .text-field__control,
.single-post-comments__input,
.single-post-comments__textarea,
.single-post-comments #commentform input[type="text"],
.single-post-comments #commentform input[type="email"],
.single-post-comments #commentform textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid var(--color-border-secondary);
	border-radius: 0;
	background-color: var(--color-surface-secondary-subtle);
	color: var(--color-text-default);
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 20px;
	transition: border-width 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.single-post-comments .text-area__control:hover,
.single-post-comments .text-field__control:hover,
.single-post-comments__input:hover,
.single-post-comments__textarea:hover,
.single-post-comments #commentform input[type="text"]:hover,
.single-post-comments #commentform input[type="email"]:hover,
.single-post-comments #commentform textarea:hover {
	border-width: 2px;
	padding: 7px 11px;
	border-color: var(--color-border-secondary);
}

.single-post-comments .text-area__control:focus,
.single-post-comments .text-field__control:focus,
.single-post-comments__input:focus,
.single-post-comments__textarea:focus,
.single-post-comments #commentform input[type="text"]:focus,
.single-post-comments #commentform input[type="email"]:focus,
.single-post-comments #commentform textarea:focus,
.single-post-comments .text-area__control:active,
.single-post-comments .text-field__control:active,
.single-post-comments__input:active,
.single-post-comments__textarea:active,
.single-post-comments #commentform input[type="text"]:active,
.single-post-comments #commentform input[type="email"]:active,
.single-post-comments #commentform textarea:active {
	border-width: 1px;
	padding: 8px 12px;
	border-color: var(--color-border-secondary);
	background-color: var(--color-surface-page);
	outline: none;
}

.single-post-comments .text-area__control:hover:focus,
.single-post-comments .text-field__control:hover:focus,
.single-post-comments__input:hover:focus,
.single-post-comments__textarea:hover:focus,
.single-post-comments #commentform input[type="text"]:hover:focus,
.single-post-comments #commentform input[type="email"]:hover:focus,
.single-post-comments #commentform textarea:hover:focus {
	border-width: 1px;
	padding: 8px 12px;
	background-color: var(--color-surface-page);
}

.single-post-comments__textarea,
.single-post-comments #commentform textarea {
	min-height: 140px;
	resize: vertical;
}

.single-post-comments .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
}

.single-post-comments .comment-form-cookies-consent input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-post-comments .comment-form-cookies-consent label {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding-left: 28px;
	min-height: 20px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-text-default);
	cursor: pointer;
}

.single-post-comments .comment-form-cookies-consent label::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border: 1px solid var(--color-border-secondary);
	border-radius: 0;
	background-color: var(--color-surface-page);
	transition: border-width 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.single-post-comments .comment-form-cookies-consent input[type="checkbox"]:not(:checked) + label:hover::before,
.single-post-comments .comment-form-cookies-consent input[type="checkbox"]:not(:checked) + label:focus-within::before {
	border-width: 2px;
}

.single-post-comments .comment-form-cookies-consent input[type="checkbox"]:checked + label::before {
	border: 1px solid var(--color-surface-brand);
	background-color: var(--color-surface-brand);
}

.single-post-comments .comment-form-cookies-consent input[type="checkbox"]:checked + label::after {
	content: '';
	position: absolute;
	top: 5px;
	left: 5px;
	width: 10px;
	height: 10px;
	border: 0;
	background: url('assets/svg/checkbox-check.svg') center / contain no-repeat;
	transform: none;
}

.single-post-comments__submit-wrap,
.single-post-comments #commentform .form-submit {
	margin: 0;
	text-align: left;
}

.single-post-comments__submit-button,
.single-post-comments #submit {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	width: auto;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid var(--color-surface-brand);
	border-radius: 0;
	background-color: var(--color-surface-brand);
	color: var(--color-text-on-surface);
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.single-post-comments__submit-button:hover,
.single-post-comments__submit-button:focus-visible,
.single-post-comments #submit:hover,
.single-post-comments #submit:focus-visible {
	background-color: var(--color-surface-brand-hover);
	border-color: var(--color-surface-brand-hover);
	color: var(--color-text-on-surface);
}

.single-post-comments__submit-button:disabled,
.single-post-comments #submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.single-post-comments .comment-form-wprm-rating,
.single-post-comments .tasty-recipes-ratings,
.single-post-comments #tasty-recipes-comment-rating {
	margin: 0;
}

.single-post-comments #commentform .tasty-recipes-comment-form {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.single-post-comments #commentform .tasty-recipes-comment-form::before {
	content: 'Rating';
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0;
	color: var(--color-text-default);
}

.single-post-comments #commentform .tasty-recipes-comment-form legend {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons {
	--tr-star-size: 17px;
	--tr-star-margin: 0;
	display: inline-grid !important;
	grid-auto-flow: column;
	column-gap: 4px !important;
	gap: 4px !important;
	align-items: center;
	margin: 0;
	padding: 0;
	direction: rtl;
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons input.tasty-recipes-rating {
	display: none;
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons span.tasty-recipes-rating {
	display: inline-flex;
	flex-shrink: 0;
	width: 17px;
	height: 17px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	cursor: pointer;
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons .tasty-recipes-screen-reader {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons span.tasty-recipes-rating i.checked {
	display: block;
	width: 17px;
	height: 17px;
	margin: 0;
	padding: 0;
	background-color: var(--color-icon-default);
	-webkit-mask-image: url('assets/svg/star-rating-outline.svg');
	mask-image: url('assets/svg/star-rating-outline.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons span.tasty-recipes-rating.is-hover i.checked,
.single-post-comments #commentform .tasty-recipes-ratings-buttons span.tasty-recipes-rating.is-selected i.checked {
	-webkit-mask-image: url('assets/svg/star-rating-filled.svg');
	mask-image: url('assets/svg/star-rating-filled.svg');
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons span.tasty-recipes-rating.is-hover i.checked {
	background-color: var(--color-surface-brand-muted);
}

.single-post-comments #commentform .tasty-recipes-ratings-buttons span.tasty-recipes-rating.is-selected i.checked {
	background-color: var(--color-surface-brand);
}

.single-post-comments .tasty-recipes-rating-outline,
.single-post-comments .tasty-recipes-rating-solid,
.single-post-comments .tasty-recipes-ratings-buttons svg {
	display: none !important;
}

@media (max-width: 1025px) {
	.single-post-comments {
		grid-template-columns: 1fr;
		gap: 12px;
		justify-content: stretch;
	}

	.single-post-comments__panel-container {
		grid-template-columns: 1fr;
		gap: 0;
		justify-content: stretch;
		max-width: none;
		width: 100%;
		padding: 0 20px;
	}

	.single-post-comments__panel-content {
		max-width: none;
		width: 100%;
	}
}

@media (max-width: 599px) {
	.single-post-comments__meta-row {
		grid-template-columns: 1fr;
	}

	.single-post-comment__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
}

/* ==========================================================================
   Select Dropdown
   ========================================================================== */

.select-dropdown {
	position: relative;
	display: inline-flex;
	width: fit-content;
	min-width: 160px;
	max-width: 240px;
}

.select-dropdown__control {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
	box-sizing: border-box;
	width: 100%;
	min-width: 160px;
	max-width: 240px;
	padding: 8px 8px 8px 12px;
	border: 1px solid var(--color-border-secondary);
	background-color: var(--color-surface-secondary-subtle);
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.select-dropdown__control:hover {
	box-shadow: inset 0 0 0 1px var(--color-border-secondary);
}

.select-dropdown.is-open .select-dropdown__control {
	border-width: 1px;
	background-color: var(--color-surface-page);
	box-shadow: none;
}

.select-dropdown__trigger {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1 1 auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-text-default);
	cursor: pointer;
	text-align: left;
	overflow: hidden;
}

.select-dropdown__trigger:focus-visible,
.select-dropdown__toggle:focus-visible {
	outline: none;
}

.select-dropdown__control:focus-within {
	border-width: 1px;
	background-color: var(--color-surface-page);
	box-shadow: none;
}

.select-dropdown__content {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1 1 auto;
	overflow: hidden;
}

.select-dropdown__label {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: var(--font-weight-heading);
	line-height: 20px;
	letter-spacing: 0.5px;
	text-transform: lowercase;
	white-space: nowrap;
	flex-shrink: 0;
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

.select-dropdown.has-selection .select-dropdown__label,
.select-dropdown.is-open .select-dropdown__label {
	opacity: 1;
}

.select-dropdown__value {
	display: none;
	margin-left: 4px;
	overflow: hidden;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: var(--font-weight-heading);
	line-height: 20px;
	letter-spacing: 0.5px;
	text-overflow: ellipsis;
	text-transform: lowercase;
	white-space: nowrap;
	min-width: 0;
}

.select-dropdown.has-selection .select-dropdown__value {
	display: block;
}

.select-dropdown__clear {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.select-dropdown.has-selection .select-dropdown__clear {
	display: inline-flex;
}

.select-dropdown__clear:hover,
.select-dropdown__clear:focus-visible {
	color: var(--color-icon-primary-hover);
	outline: none;
}

.select-dropdown__clear-icon {
	display: block;
	width: 16px;
	height: 16px;
}

.select-dropdown__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.select-dropdown__chevron-icon {
	display: block;
	width: 20px;
	height: 20px;
	transition: transform 0.2s ease;
}

.select-dropdown.is-open .select-dropdown__chevron-icon {
	transform: rotate(180deg);
}

.select-dropdown__panel {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	z-index: 20;
	width: 100%;
	min-width: 160px;
	max-width: 240px;
	max-height: 400px;
	overflow-x: hidden;
	overflow-y: auto;
	border: 1px solid var(--color-border-secondary);
	background-color: var(--color-surface-page);
	box-shadow: 0 8px 24px rgba(45, 45, 45, 0.08);
}

.select-dropdown__list {
	margin: 0;
	padding: 4px 0;
	list-style: none;
}

.select-dropdown__option-item {
	overflow: hidden;
}

.select-dropdown__option {
	display: flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	padding: 8px 12px;
	cursor: pointer;
}

.select-dropdown__option-item:hover,
.select-dropdown__option-item:focus-within,
.select-dropdown__option-item:has(.select-dropdown__checkbox:checked) {
	background-color: var(--color-surface-secondary-subtle);
}

.select-dropdown__checkbox {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.select-dropdown__checkbox-box {
	position: relative;
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	border: 1px solid var(--color-border-secondary);
	border-radius: 0;
	background-color: var(--color-surface-page);
}

.select-dropdown__checkbox:checked + .select-dropdown__checkbox-box {
	border-color: var(--color-border-secondary);
	background-color: var(--color-surface-secondary);
}

.select-dropdown__checkbox:checked + .select-dropdown__checkbox-box::after {
	content: '';
	position: absolute;
	top: 1px;
	left: 3px;
	width: 4px;
	height: 7px;
	border-right: 1.5px solid var(--color-icon-on-surface);
	border-bottom: 1.5px solid var(--color-icon-on-surface);
	transform: rotate(45deg);
}

.select-dropdown__option-label {
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: var(--font-weight-heading);
	line-height: 20px;
	letter-spacing: 0.5px;
	text-transform: lowercase;
	color: var(--color-text-default);
}

.select-dropdown__checkbox:checked ~ .select-dropdown__option-label {
	color: var(--color-text-primary);
}

.recipes-index-hero__dropdowns {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 12px;
	width: 100%;
}

/* ==========================================================================
   Single Post — WP Tasty Recipes Card Overrides
   Presentation-only CSS. HTML, microdata, JSON-LD, and scripts are untouched.
   ========================================================================== */

.single-post__content .tasty-recipes.tasty-recipes-display {
	--tfn-recipe-scallop-fill: var(--color-surface-brand-muted);
	--tr-star-color: var(--color-icon-default);
	--tr-star-size: 16px;
	--tr-star-margin: 0;
	position: relative;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) 160px;
	column-gap: 24px;
	align-items: start;
	width: 100%;
	max-width: 100%;
	margin: 36px 0 48px;
	padding: 24px;
	border: 0;
	border-bottom: 2px solid var(--color-border-brand);
	border-radius: 0;
	background-color: var(--color-surface-brand-subtle) !important;
	box-shadow: none;
	color: var(--color-text-default);
	overflow: visible;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) {
	grid-template-columns: repeat(3, minmax(0, 1fr)) 160px;
}

.single-post__content .tasty-recipes.tasty-recipes-display::before,
.single-post__content .tasty-recipes.tasty-recipes-display::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 12px;
	pointer-events: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display::before {
	top: -12px;
	z-index: 1;
	background-color: var(--tfn-recipe-scallop-fill);
	-webkit-mask-image: url('assets/svg/mega-menu-scallop.svg');
	mask-image: url('assets/svg/mega-menu-scallop.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 489px 12px;
	mask-size: 489px 12px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	transform: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display::after {
	bottom: -12px;
	z-index: 1;
	background-color: var(--tfn-recipe-scallop-fill);
	-webkit-mask-image: url('assets/svg/mega-menu-scallop.svg');
	mask-image: url('assets/svg/mega-menu-scallop.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 489px 12px;
	mask-size: 489px 12px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	transform: scaleY(-1);
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-image-shim {
	display: none;
	height: 0;
	clear: none;
}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-entry-content h3,
	.tasty-recipes-ingredients h3,
	.tasty-recipes-instructions h3,
	.tasty-recipes-equipment h3,
	.tasty-recipes-notes h3,
	.tasty-recipes-nutrition h3,
	.tasty-recipes-keywords h3,
	.tasty-recipes-ingredients-header h3,
	.tasty-recipes-instructions-header h3,
	.tasty-recipes-ingredients-clipboard-container h3
) {
	margin: 0 0 16px;
	font-family: var(--font-heading);
	font-size: 32px;
	font-weight: var(--font-weight-heading);
	font-style: normal;
	line-height: 38px;
	letter-spacing: -0.01em;
	text-transform: lowercase !important;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-title {
	margin: 0 0 8px;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: var(--font-weight-heading);
	font-style: normal;
	line-height: 40px;
	letter-spacing: 0;
	text-align: left;
	text-transform: lowercase !important;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-description,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-description-body,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-description-body p {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-ingredients,
	.tasty-recipes-instructions,
	.tasty-recipes-equipment,
	.tasty-recipes-other-details,
	.tasty-recipes-keywords,
	.tasty-recipes-nutrition,
	.tasty-recipes-details,
	.tasty-recipes-rating
) {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-ingredients,
	.tasty-recipes-instructions,
	.tasty-recipes-notes,
	.tasty-recipes-notes-body
) {
	font-size: 16px;
	line-height: 24px;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-description-body p,
	.tasty-recipes-ingredients p,
	.tasty-recipes-instructions p,
	.tasty-recipes-notes-body p,
	.tasty-recipes-details li
) {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content :is(
	.tasty-recipes-ingredients li,
	.tasty-recipes-ingredients [data-tr-ingredient-checkbox],
	.tasty-recipes-notes,
	.tasty-recipes-notes-body,
	.tasty-recipes-notes p,
	.tasty-recipes-notes li,
	.tasty-recipes-notes ol > li,
	.tasty-recipes-notes ul li
) {
	font-family: var(--font-body) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	letter-spacing: 0 !important;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-instructions :is(li, ol > li) {
	font-family: var(--font-body) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	letter-spacing: 0 !important;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-label,
.single-post__content .tasty-recipes.tasty-recipes-display .rating-label {
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	font-style: normal;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-ingredients > div > p,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-instructions > div:not(.tasty-recipes-instructions-header) > p {
	margin: 24px 0 8px;
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--color-text-default);
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-ingredients > div > p:first-child,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-instructions > div:not(.tasty-recipes-instructions-header) > p:first-child {
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   Card header (top hero)
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display > .tasty-recipes-entry-header {
	display: contents;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-image {
	grid-column: 5;
	grid-row: 1 / 4;
	float: none !important;
	clear: none !important;
	align-self: end;
	justify-self: stretch;
	width: 160px;
	max-width: 160px;
	height: 160px;
	margin: 0;
	overflow: hidden;
	text-align: right;
	transform: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header .tasty-recipes-image {
	grid-column: 4;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-image img {
	display: block;
	width: 160px;
	height: 160px;
	border: 0 !important;
	border-radius: 0;
	object-fit: cover;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-title {
	grid-column: 1 / 5;
	grid-row: 1;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-title {
	grid-column: 1 / 4;
}

.single-post__content .tasty-recipes.tasty-recipes-display.tasty-recipes-has-image .tasty-recipes-entry-header .tasty-recipes-title {
	margin-top: 0 !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header hr {
	display: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details {
	display: contents;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details ul {
	display: contents;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.author {
	grid-column: 1 / 3;
	grid-row: 2;
	justify-self: start;
	align-self: center;
	margin: 0;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.author .tasty-recipes-label {
	display: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.author::before {
	content: 'Recipe by ';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.author .tasty-recipes-author-name::after {
	content: ' :)';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.author a {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
	cursor: default;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li:not(.author):not(.total-time):not(.yield) {
	display: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating {
	grid-column: 3 / 5;
	grid-row: 2;
	justify-self: end;
	align-self: center;
	min-width: 0;
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 16px;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating p {
	display: contents;
	margin: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating .rating-label {
	order: 1;
	display: inline-flex;
	align-items: center;
	align-self: center;
	flex-shrink: 0;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating:not(:has(.rating-label .average)) {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating .rating-label:has(.average) {
	font-size: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating .rating-label .average,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating .rating-label .count {
	font-size: 14px;
	line-height: 16px;
	color: var(--color-text-default);
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating .rating-label .average::after {
	content: ' (';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating .rating-label .count::after {
	content: ')';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons {
	order: 2;
	display: inline-grid !important;
	grid-auto-flow: column;
	grid-template-columns: repeat(5, 16px);
	column-gap: 4px !important;
	gap: 4px !important;
	align-items: center;
	align-self: center;
	flex-shrink: 0;
	width: auto;
	margin: 0;
	padding: 0;
	direction: rtl;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons span.tasty-recipes-rating {
	grid-column: auto;
	grid-row: auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	visibility: visible !important;
	opacity: 1 !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons span.tasty-recipes-rating i.checked {
	display: block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	font-style: normal;
	background-color: var(--color-icon-default);
	-webkit-mask-image: url('assets/svg/star-rating-outline.svg');
	mask-image: url('assets/svg/star-rating-outline.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons span.tasty-recipes-rating i.checked:has(
	.tasty-recipes-rating-solid[data-tr-clip]:not([data-tr-clip="0"]),
	.tasty-recipes-rating-outline[data-tr-clip]:not([data-tr-clip="0"])
) {
	background-color: var(--color-surface-brand);
	-webkit-mask-image: url('assets/svg/star-rating-filled.svg');
	mask-image: url('assets/svg/star-rating-filled.svg');
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons .tasty-recipes-screen-reader {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons .tasty-recipes-rating-solid,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons .tasty-recipes-rating-outline {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-ratings-buttons svg {
	display: none !important;
}

/* --------------------------------------------------------------------------
   Card body layout
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content {
	display: contents;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content > *:not(.tasty-recipes-buttons) {
	grid-column: 1 / -1;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content hr {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-ingredients {
	display: flex;
	flex-direction: column;
	margin-top: 24px;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-instructions {
	margin-top: 24px;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content :is(
	.tasty-recipes-description,
	.tasty-recipes-ingredients,
	.tasty-recipes-instructions,
	.tasty-recipes-equipment,
	.tasty-recipes-notes,
	.tasty-recipes-other-details,
	.tasty-recipes-keywords,
	.tasty-recipes-nutrition
) {
	padding: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-description h3 {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-description {
	grid-column: 1 / -1;
	grid-row: 6;
	margin-top: 16px;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-description::before {
	display: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content::before {
	display: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content::after {
	content: '';
	grid-column: 1 / -1;
	grid-row: 5;
	width: 100%;
	height: 8px;
	background-color: var(--color-surface-secondary);
	-webkit-mask-image: url('assets/svg/hero-wave.svg');
	mask-image: url('assets/svg/hero-wave.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 612px 8px;
	mask-size: 612px 8px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	pointer-events: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-ingredients-header,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-instructions-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 16px;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-ingredients-clipboard-container h3,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-instructions-header h3 {
	margin-bottom: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-units-scale-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-convert-container,
	.tasty-recipes-scale-container
) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-convert-label,
	.tasty-recipes-scale-label
) {
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--color-text-default);
}

/* --------------------------------------------------------------------------
   Action buttons (Print / Pin)
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	grid-column: 1 / 5;
	grid-row: 3;
	align-self: end;
	position: relative;
	margin: 0;
	padding: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons::after {
	content: '';
	display: block;
	position: absolute;
	top: calc(100% + 16px);
	left: 0;
	width: calc(100% + 160px + 24px);
	height: 8px;
	background-color: var(--color-surface-secondary);
	-webkit-mask-image: url('assets/svg/hero-wave.svg');
	mask-image: url('assets/svg/hero-wave.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 612px 8px;
	mask-size: 612px 8px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	pointer-events: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-content .tasty-recipes-buttons {
	grid-column: 1 / 4;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header div.tasty-recipes-rating {
	grid-column: 2 / 4;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-button-wrap {
	float: none;
	display: block;
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	padding: 0 !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-button-wrap:has(.share-pin) {
	order: 1;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-button-wrap:has(.tasty-recipes-print-button) {
	order: 2;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons :is(
	a.button,
	.button.tasty-recipes-print-button,
	.share-pin.button
) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid var(--color-border-secondary) !important;
	border-radius: 0;
	background-color: var(--color-surface-page) !important;
	color: var(--color-text-default) !important;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: var(--font-weight-heading);
	line-height: 20px;
	letter-spacing: 0.5px;
	text-transform: lowercase;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons :is(
	a.button,
	.button.tasty-recipes-print-button,
	.share-pin.button
):hover,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons :is(
	a.button,
	.button.tasty-recipes-print-button,
	.share-pin.button
):focus-visible {
	border-color: var(--color-border-secondary) !important;
	background-color: var(--color-surface-secondary-hover) !important;
	color: var(--color-text-default) !important;
	outline: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons :is(
	.svg-print,
	.svg-pinterest,
	.svg-heart-regular,
	.svg-heart-solid
) {
	display: none;
}

/* --------------------------------------------------------------------------
   Recipe stats (prep / chill / cook / total / yield)
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details {
	display: contents;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details ul {
	display: contents;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-entry-header .tasty-recipes-details li.total-time,
	.tasty-recipes-entry-header .tasty-recipes-details li.yield,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time
) {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	grid-row: 4;
	z-index: 1;
	min-width: 0;
	margin: 24px 0 0;
	padding: 16px 0;
	text-align: center;
	list-style: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time {
	grid-column: 1;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time {
	grid-column: 2;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time {
	grid-column: 3;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.total-time {
	grid-column: 4;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.yield {
	grid-column: 5;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time {
	grid-column: 2;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header .tasty-recipes-details li.total-time {
	grid-column: 3;
}

.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header .tasty-recipes-details li.yield {
	grid-column: 4;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details li:is(.category, .method) {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-entry-header .tasty-recipes-details li.total-time,
	.tasty-recipes-entry-header .tasty-recipes-details li.yield,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time
) .detail-icon {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-entry-header .tasty-recipes-details li.total-time,
	.tasty-recipes-entry-header .tasty-recipes-details li.yield,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time
) .tasty-recipes-label {
	display: block;
	margin: 0 0 8px;
	font-size: 0;
	font-style: normal;
	font-weight: 700;
	line-height: 0;
	letter-spacing: 0;
	text-transform: lowercase;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time .tasty-recipes-label::before {
	content: 'prep';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time .tasty-recipes-label::before {
	content: 'chill';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time .tasty-recipes-label::before {
	content: 'cook';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.total-time .tasty-recipes-label::before {
	content: 'total';
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.yield .tasty-recipes-label::before {
	content: 'yield';
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-entry-header .tasty-recipes-details li.total-time,
	.tasty-recipes-entry-header .tasty-recipes-details li.yield,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time,
	.tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time
) .tasty-recipes-label::before {
	display: block;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	text-transform: lowercase;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display :is(
	.tasty-recipes-prep-time,
	.tasty-recipes-additional-time,
	.tasty-recipes-cook-time,
	.tasty-recipes-total-time
) {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.yield .tasty-recipes-yield {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0;
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.yield .tasty-recipes-yield [data-amount] {
	font: inherit;
	color: inherit;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.yield .tasty-recipes-yield-scale {
	display: none !important;
}

/* --------------------------------------------------------------------------
   Unit / scale controls
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-convert-container {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-container {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px;
	border: 2px solid var(--color-border-brand-subtle);
	border-radius: 99px;
	background-color: var(--color-surface-brand-subtle);
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-label {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	width: 32px;
	height: 32px;
	margin: 0 !important;
	padding: 0;
	border: 0;
	border-radius: 99px;
	background-color: transparent;
	color: var(--color-text-default);
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-button:hover,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-button:focus-visible {
	background-color: transparent;
	outline: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-button-active {
	background-color: var(--color-surface-brand-muted);
	color: var(--color-text-default);
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-button-active:hover,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-scale-button-active:focus-visible {
	background-color: var(--color-surface-brand-muted);
	color: var(--color-text-default);
}

/* --------------------------------------------------------------------------
   Ingredients & instructions lists
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content :is(
	.tasty-recipes-ingredients ul,
	.tasty-recipes-instructions ul,
	.tasty-recipes-ingredients ol,
	.tasty-recipes-instructions ol
) {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content :is(
	.tasty-recipes-ingredients ul li,
	.tasty-recipes-instructions ul li
) {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content :is(
	.tasty-recipes-ingredients ol > li,
	.tasty-recipes-instructions ol > li
) {
	position: relative;
	margin: 0;
	padding: 0 0 0 32px;
	list-style: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content :is(
	.tasty-recipes-ingredients ul li::before,
	.tasty-recipes-instructions ul li::before
) {
	display: none;
	content: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-ingredients ol > li::before {
	content: counter(li);
	counter-increment: li;
	position: absolute;
	top: 2px;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border: 1px solid var(--color-border-secondary);
	border-radius: 0;
	background-color: var(--color-surface-page);
	color: var(--color-text-default);
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	transform: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-instructions ol > li::before {
	content: counter(li);
	counter-increment: li;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border: 0;
	border-radius: 99px;
	background-color: var(--color-surface-secondary);
	color: var(--color-text-on-surface);
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	transform: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content :is(
	.tasty-recipes-ingredients li li,
	.tasty-recipes-instructions li li
) {
	margin-top: 12px;
}

/* --------------------------------------------------------------------------
   Ingredient checkboxes
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] {
	display: block;
	margin-left: 0 !important;
	padding-left: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container {
	display: inline-flex;
	vertical-align: top;
	margin-right: 12px;
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"] + label {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	cursor: pointer;
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"] + label::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin-right: 0;
	border: 1px solid var(--color-border-secondary);
	border-radius: 0;
	background-color: var(--color-surface-page);
	transition: border-width 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"]:not(:checked) + label:hover::before,
.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"]:not(:checked) + label:focus-within::before,
.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox]:not([data-tr-ingredient-checkbox="checked"]):hover .tr-ingredient-checkbox-container input[type="checkbox"]:not(:checked) + label::before {
	border-width: 2px;
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"]:checked + label::before {
	border: 1px solid var(--color-surface-brand);
	background-color: var(--color-surface-brand);
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"]:checked + label::after {
	content: '';
	position: absolute;
	top: 5px;
	left: 5px;
	width: 10px;
	height: 10px;
	border: 0;
	background: url('assets/svg/checkbox-check.svg') center / contain no-repeat;
	transform: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type="checkbox"]:focus + label::before {
	box-shadow: none;
	outline: none;
	border-color: var(--color-border-secondary);
}

.single-post__content .tasty-recipes.tasty-recipes-display [data-tr-ingredient-checkbox][data-tr-ingredient-checkbox="checked"] {
	opacity: 0.55;
}

/* --------------------------------------------------------------------------
   Cook mode
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode {
	display: block !important;
	order: -1;
	margin: 0 0 16px;
	padding: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-ingredients-header {
	order: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-ingredients > div:not(.tasty-recipes-ingredients-header):not(.tasty-recipes-cook-mode) {
	order: 1;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode__container {
	display: flex;
	align-items: center;
	gap: 12px;
	line-height: 1;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode__container > label:last-child {
	display: flex !important;
	flex: 1;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	cursor: pointer;
	opacity: 0.75;
	transition: opacity 0.2s ease;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode:has(input:checked) .tasty-recipes-cook-mode__container > label:last-child {
	opacity: 1;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode__switch {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	width: 40px;
	height: 20px;
	margin: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode__switch input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode .tasty-recipes-cook-mode__switch-slider {
	position: absolute;
	inset: 0;
	box-sizing: border-box;
	border: 0;
	border-radius: 99px;
	background-color: var(--color-surface-brand-muted) !important;
	opacity: 1 !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode .tasty-recipes-cook-mode__switch-slider::before {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 16px;
	height: 16px;
	border: 0;
	border-radius: 99px;
	background-color: var(--color-surface-page);
	transition: transform 0.2s ease;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode .tasty-recipes-cook-mode__switch input:checked + .tasty-recipes-cook-mode__switch-slider {
	background-color: var(--color-surface-brand) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode .tasty-recipes-cook-mode__switch input:checked + .tasty-recipes-cook-mode__switch-slider::before {
	transform: translateX(20px);
	background-color: var(--color-surface-page);
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode__label,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode__helper {
	display: inline !important;
	font-family: var(--font-body);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-text-default);
}

/* --------------------------------------------------------------------------
   Notes, meta blocks, footer
   -------------------------------------------------------------------------- */

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes-body,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes :is(ul, ol, p, li) {
	background: transparent !important;
	background-color: transparent !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes {
	margin-top: 24px;
	padding: 0;
	border: 0;
	background-color: transparent !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes-body {
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes :is(ul, ol) {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent;
	clip-path: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes :is(ul li, ol > li) {
	position: relative;
	margin: 0;
	padding: 0 0 0 36px;
	list-style: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes p::before {
	display: none !important;
	content: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes ul li::before,
.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes ol > li::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: var(--color-icon-primary) !important;
	-webkit-mask: url('assets/svg/notes-info.svg') center / contain no-repeat !important;
	mask: url('assets/svg/notes-info.svg') center / contain no-repeat !important;
	transform: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes :is(p) {
	margin: 0;
	padding: 0;
	background: transparent;
	clip-path: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-keywords {
	margin-top: 24px;
	padding: 20px;
	border: 1px solid var(--color-border-secondary);
	background-color: var(--color-surface-page) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-footer {
	display: none !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-footer::after {
	display: none;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-entry-footer h3 {
	color: var(--color-text-default) !important;
}

.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-footer :is(img, svg) {
	color: var(--color-icon-default);
}

@media (max-width: 599px) {
	.single-post__content .tasty-recipes.tasty-recipes-display,
	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 16px;
		row-gap: 12px;
		padding: 20px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-image {
		grid-column: 1 / -1;
		grid-row: 1;
		justify-self: center;
		align-self: start;
		width: 160px;
		max-width: 160px;
		height: 160px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header .tasty-recipes-image {
		grid-column: 1 / -1;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-image img {
		width: 160px;
		height: 160px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-title {
		grid-column: 1 / -1;
		grid-row: 2;
		font-size: 28px;
		line-height: 32px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-title {
		grid-column: 1 / -1;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header .tasty-recipes-details li.author {
		grid-column: 1;
		grid-row: 3;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) .tasty-recipes-entry-header .tasty-recipes-details li.author {
		grid-column: 1 / 4;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-header div.tasty-recipes-rating {
		grid-column: 2;
		grid-row: 3;
		justify-self: end;
		margin-top: 0;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) .tasty-recipes-entry-header div.tasty-recipes-rating {
		grid-column: 4 / -1;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header div.tasty-recipes-rating {
		grid-column: 2;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content > *:not(.tasty-recipes-buttons) {
		grid-column: 1 / -1;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons {
		grid-column: 1 / -1;
		grid-row: 4;
		flex-direction: row;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-content .tasty-recipes-buttons {
		grid-column: 1 / -1;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-buttons::after {
		width: 100%;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-button-wrap {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display :is(
		.tasty-recipes-entry-header .tasty-recipes-details li.total-time,
		.tasty-recipes-entry-header .tasty-recipes-details li.yield,
		.tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time,
		.tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time,
		.tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time
	) {
		margin-top: 24px;
		padding: 12px 0;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display :is(
		.tasty-recipes-entry-header .tasty-recipes-details li.total-time,
		.tasty-recipes-entry-header .tasty-recipes-details li.yield
	) {
		margin-top: 8px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time {
		grid-column: 1;
		grid-row: 5;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time {
		grid-column: 2;
		grid-row: 5;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header .tasty-recipes-details li.total-time {
		grid-column: 1;
		grid-row: 6;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:not(:has(.additional-time)) .tasty-recipes-entry-header .tasty-recipes-details li.yield {
		grid-column: 2;
		grid-row: 6;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) .tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time {
		grid-column: 1 / 3;
		grid-row: 5;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) .tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time {
		grid-column: 3 / 5;
		grid-row: 5;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) .tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time {
		grid-column: 5 / 7;
		grid-row: 5;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) .tasty-recipes-entry-header .tasty-recipes-details li.total-time {
		grid-column: 2 / 4;
		grid-row: 6;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display:has(.additional-time) .tasty-recipes-entry-header .tasty-recipes-details li.yield {
		grid-column: 4 / 6;
		grid-row: 6;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content::after {
		grid-row: 7;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display :is(
		.tasty-recipes-entry-header .tasty-recipes-details li.total-time,
		.tasty-recipes-entry-header .tasty-recipes-details li.yield,
		.tasty-recipes-entry-content .tasty-recipes-other-details li.prep-time,
		.tasty-recipes-entry-content .tasty-recipes-other-details li.additional-time,
		.tasty-recipes-entry-content .tasty-recipes-other-details li.cook-time
	) .tasty-recipes-label::before {
		font-size: 12px;
		line-height: 16px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display :is(
		.tasty-recipes-prep-time,
		.tasty-recipes-additional-time,
		.tasty-recipes-cook-time,
		.tasty-recipes-total-time,
		.tasty-recipes-entry-header .tasty-recipes-details li.yield .tasty-recipes-yield
	) {
		font-size: 16px;
		line-height: 24px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-description {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-cook-mode__container > label:last-child {
		gap: 2px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes :is(ul li, ol > li) {
		padding-left: 28px;
	}

	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes ul li::before,
	.single-post__content .tasty-recipes.tasty-recipes-display .tasty-recipes-entry-content .tasty-recipes-notes ol > li::before {
		width: 20px !important;
		height: 20px !important;
	}
}

/* ==========================================================================
   About Page — Hero Split
   ========================================================================== */

.about-page {
	color: var(--color-text-default);
}

.about-hero {
	background-color: var(--color-surface-secondary-subtle);
}

.about-hero__block {
	display: flex;
	flex-direction: column;
}

.about-hero__scallop {
	--about-hero-scallop-fill: var(--color-surface-secondary-muted);
	--about-hero-scallop-outer: var(--color-surface-secondary-subtle);
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: 12px;
	background-color: var(--about-hero-scallop-outer);
}

.about-hero__scallop::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--about-hero-scallop-fill);
	-webkit-mask-image: url('assets/svg/mega-menu-scallop.svg');
	mask-image: url('assets/svg/mega-menu-scallop.svg');
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 489px 12px;
	mask-size: 489px 12px;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
	transform: scaleY(-1);
	transform-origin: center;
}

.about-hero__scallop--top::after {
	transform: none;
}

.about-hero__panel {
	box-sizing: border-box;
	border-top: 2px solid var(--color-border-brand);
	border-bottom: 2px solid var(--color-border-brand);
	background-color: var(--color-surface-page);
}

.about-hero__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1096px;
	margin: 0 auto;
	padding: 48px 16px;
}

.about-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 436px;
	column-gap: 60px;
	align-items: start;
	justify-content: space-between;
}

.about-hero__story {
	box-sizing: border-box;
	width: 100%;
	max-width: 600px;
	min-width: 0;
}

.about-hero__media {
	box-sizing: border-box;
	width: 436px;
	max-width: 436px;
	min-width: 0;
}

.about-hero__figure {
	position: relative;
	margin: 0;
}

.about-hero__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 436 / 520;
	object-fit: cover;
}

.about-hero__image--placeholder {
	aspect-ratio: 436 / 520;
	background-color: var(--color-category-placeholder);
}

.about-hero__sticker {
	position: absolute;
	z-index: 1;
	display: block;
	pointer-events: none;
}

.about-hero__sticker-svg {
	display: block;
	width: 100%;
	height: 100%;
}

.about-hero__sticker--egg {
	top: -12px;
	right: -20px;
	width: 75px;
	height: 71px;
}

.about-hero__sticker--donut {
	bottom: -16px;
	left: -24px;
	width: 87px;
	height: 87px;
}

.about-hero__title {
	margin: 0 0 16px;
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: var(--font-weight-heading);
	line-height: 52px;
	letter-spacing: 0;
	text-transform: lowercase;
}

.about-hero__body {
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: var(--font-weight-body);
	line-height: 1.5rem;
}

.about-hero__body > * {
	margin-top: 0;
	margin-bottom: 0;
}

.about-hero__body > * + * {
	margin-top: 16px;
}

.about-hero__body > * + .wp-block-paragraph {
	margin-top: 8px;
}

.about-hero__body .wp-block-image,
.about-hero__body figure,
.about-hero__body img {
	display: none !important;
}

@media (max-width: 832px) {
	.about-hero__container {
		padding: 40px 20px;
	}
}

/*
 * Stack when the asymmetric hero can no longer fit 600px story + 60px gap + 436px media
 * inside the 1096px container (with side padding).
 */
@media (max-width: 1025px) {
	.about-hero__grid {
		grid-template-columns: 1fr;
		row-gap: 32px;
	}

	.about-hero__media {
		order: -1;
		width: 100%;
		max-width: 436px;
		margin-inline: auto;
	}

	.about-hero__image,
	.about-hero__image--placeholder {
		height: 480px;
		aspect-ratio: auto;
	}

	.about-hero__story {
		max-width: none;
	}
}

@media (max-width: 599px) {
	.about-hero__container {
		padding: 32px 20px;
	}

	.about-hero__media {
		max-width: min(100%, calc(400px * 436 / 520));
	}

	.about-hero__image,
	.about-hero__image--placeholder {
		width: 100%;
		height: 400px;
		aspect-ratio: 436 / 520;
	}

	.about-hero__title {
		font-size: 36px;
		line-height: 40px;
	}

	.about-hero__sticker--egg {
		top: -8px;
		right: -8px;
		width: 64px;
		height: 60px;
	}

	.about-hero__sticker--donut {
		bottom: -8px;
		left: -8px;
		width: 72px;
		height: 72px;
	}
}

.about-work {
	box-sizing: border-box;
	margin: 48px 0;
	padding: 0 16px;
	background-color: var(--color-surface-page);
}

.about-work__card {
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 24px;
	border: 2px solid var(--color-border-brand);
	background-color: var(--color-surface-page);
	text-align: center;
}

.about-work__title {
	margin: 0 0 16px;
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: var(--font-weight-heading);
	line-height: 52px;
	letter-spacing: 0;
	text-transform: lowercase;
	color: var(--color-text-default);
}

.about-work__lead {
	margin: 0 0 16px;
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5rem;
	color: var(--color-text-default);
}

.about-work__body {
	margin: 0 0 16px;
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: var(--font-weight-body);
	line-height: 1.5rem;
	color: var(--color-text-default);
}

.about-work__body p {
	margin: 0;
}

.about-work__body p + p {
	margin-top: 16px;
}

.about-work__contact {
	margin: 0;
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: var(--font-weight-body);
	line-height: 1.5rem;
	color: var(--color-text-default);
}

.about-work__contact-intro {
	font-weight: 700;
}

.about-work__email-line {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 4px;
}

.about-work__email {
	font-weight: 700;
	text-decoration: none;
}

.about-work__email:hover,
.about-work__email:focus-visible {
	text-decoration: underline;
}

.about-work__copy-control {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

.about-work__copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.about-work__copy-icon {
	display: block;
	width: 16px;
	height: 16px;
}

.about-work__copy-icon--check {
	display: none;
	width: 16px;
	height: 16px;
}

.about-work__copy.is-copied .about-work__copy-icon--copy {
	display: none;
}

.about-work__copy.is-copied .about-work__copy-icon--check {
	display: block;
}

.about-work__copy:hover,
.about-work__copy:focus-visible {
	color: var(--color-icon-primary-hover);
}

.about-work__copy-feedback {
	position: absolute;
	left: calc(100% + 6px);
	top: 50%;
	display: none;
	white-space: nowrap;
	pointer-events: none;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	color: var(--color-text-primary);
	transform: translateY(-50%);
}

.about-work__copy-feedback.is-visible {
	display: block;
	animation: about-work-copy-feedback 0.3s ease forwards;
}

@keyframes about-work-copy-feedback {
	from {
		opacity: 0;
		transform: translateY(calc(-50% + 4px));
	}

	to {
		opacity: 1;
		transform: translateY(-50%);
	}
}

@media (max-width: 599px) {
	.about-work__title {
		font-size: 36px;
		line-height: 40px;
	}
}

.about-more {
	box-sizing: border-box;
	padding: 48px 16px;
	background-color: var(--color-surface-brand-subtle);
}

.about-more__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1096px;
	margin: 0 auto;
}

.about-more__title {
	margin: 0 0 32px;
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: var(--font-weight-heading);
	line-height: 52px;
	letter-spacing: 0;
	text-transform: lowercase;
	color: var(--color-text-default);
}

.about-more__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 48px;
	row-gap: 32px;
	align-items: start;
}

.about-more__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0;
}

.about-more__item {
	margin: 0;
}

.about-more__label {
	margin: 0 0 4px;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	color: var(--color-text-default);
}

.about-more__value {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: 700;
	line-height: var(--line-height-body);
	color: var(--color-text-default);
}

@media (max-width: 832px) {
	.about-more {
		padding: 48px 20px;
	}
}

@media (max-width: 599px) {
	.about-more__title {
		font-size: 36px;
		line-height: 40px;
	}

	.about-more__grid {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
	}
}

.about-favourites {
	box-sizing: border-box;
	padding: 48px 0;
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.about-favourites__container {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 1096px;
	margin: 0 auto;
	padding: 0 16px;
}

.about-favourites__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: var(--font-weight-heading);
	line-height: 52px;
	letter-spacing: 0;
	text-align: center;
	text-transform: lowercase;
	color: var(--color-text-default);
}

.about-favourites .recipe-card__image--placeholder {
	background-color: var(--color-category-placeholder);
}

.about-favourites__post-title span {
	color: var(--color-text-default);
}

@media (max-width: 832px) {
	.about-favourites__container {
		padding: 0 20px;
	}
}

@media (max-width: 599px) {
	.about-favourites__title {
		font-size: 36px;
		line-height: 40px;
	}
}

/* ==========================================================================
   Privacy Policy Page
   ========================================================================== */

.privacy-policy {
	color: var(--color-text-default);
	background-color: var(--color-surface-page);
}

.privacy-policy__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	padding: 64px 16px;
}

.privacy-policy__header {
	margin-bottom: 32px;
}

.privacy-policy__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--font-size-h1);
	font-weight: var(--font-weight-heading);
	line-height: var(--line-height-h1);
	letter-spacing: -0.01em;
	text-transform: lowercase;
	color: var(--color-text-default);
}

.privacy-policy__content {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	color: var(--color-text-default);
}

.privacy-policy__content > * {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

.privacy-policy__content > *:last-child {
	margin-bottom: 0;
}

.privacy-policy__content h2,
.privacy-policy__content h3,
.privacy-policy__content h4,
.privacy-policy__content h5,
.privacy-policy__content h6 {
	font-family: var(--font-heading);
	font-weight: var(--font-weight-heading);
	text-transform: lowercase;
	color: var(--color-text-default);
}

.privacy-policy__content h2 {
	font-size: var(--font-size-h2);
	line-height: var(--line-height-h2);
}

.privacy-policy__content h3 {
	font-size: var(--font-size-h3);
	line-height: var(--line-height-h3);
}

.privacy-policy__content p {
	margin-bottom: 1.5rem;
}

.privacy-policy__content ul,
.privacy-policy__content ol {
	margin: 0 0 1.5rem;
	padding-left: 1.25rem;
}

.privacy-policy__content li {
	margin-bottom: 1.5rem;
}

.privacy-policy__content li:last-child {
	margin-bottom: 0;
}

.privacy-policy__content ul ul,
.privacy-policy__content ul ol,
.privacy-policy__content ol ul,
.privacy-policy__content ol ol {
	margin-top: 1.5rem;
	margin-bottom: 0;
}

.privacy-policy__content a {
	color: var(--color-text-primary);
	text-decoration: underline;
	text-underline-offset: 0.12em;
	transition: color 0.2s ease;
}

.privacy-policy__content a:hover,
.privacy-policy__content a:focus-visible {
	color: var(--color-text-default-hover);
}

@media (max-width: 832px) {
	.privacy-policy__container {
		padding: 48px 20px;
	}
}
