/*
 * DillFork theme styles.
 * Tokens (colors, type, spacing) come from theme.json as --wp--preset--* variables.
 */

:root {
	--df-ink: var(--wp--preset--color--ink);
	--df-soft: var(--wp--preset--color--ink-soft);
	--df-paper: var(--wp--preset--color--paper);
	--df-deep: var(--wp--preset--color--paper-deep);
	--df-cream: var(--wp--preset--color--cream);
	--df-dill: var(--wp--preset--color--dill);
	--df-paprika: var(--wp--preset--color--paprika);
	--df-rule: var(--wp--preset--color--rule);
	--df-display: var(--wp--preset--font-family--display);
	--df-radius: 3px;
	--df-mark: url("../images/mark.svg");
}

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

html {
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
}

body {
	-webkit-font-smoothing: antialiased;
	font-optical-sizing: auto;
}

::selection {
	background: var(--wp--preset--color--butter);
	color: var(--df-ink);
}

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--df-paprika);
	outline-offset: 3px;
	border-radius: 2px;
}

img {
	height: auto;
	max-width: 100%;
}

h1 em,
h2 em,
h3 em,
.wp-block-heading em {
	font-style: italic;
	font-weight: 400;
	color: var(--df-dill);
}

.has-cream-color em,
.df-collections h2 em {
	color: var(--wp--preset--color--butter);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	background: var(--df-cream);
	color: var(--df-ink);
	z-index: 100000;
}

/* ---------- Block styles ---------- */

.is-style-kicker,
h2.is-style-kicker,
h3.is-style-kicker {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: var(--wp--custom--kicker-tracking);
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--df-paprika);
}

.is-style-dek {
	font-family: var(--df-display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 350;
	line-height: 1.45;
	color: var(--df-soft);
	max-width: 38em;
}

.is-style-ruled {
	list-style: none;
	padding-left: 0 !important;
}

.is-style-ruled > li {
	border-top: var(--wp--custom--rule);
	padding: 0.75em 0;
}

.is-style-ruled > li:last-child {
	border-bottom: var(--wp--custom--rule);
}

.is-style-mat img {
	background: var(--df-cream);
	border: 1px solid var(--df-rule);
	padding: clamp(0.5rem, 1.5vw, 1rem);
}

.is-style-rule-top {
	border-top: 1px solid var(--df-ink);
	padding-top: var(--wp--preset--spacing--30);
}

.wp-block-button.is-style-arrow .wp-block-button__link {
	background: transparent;
	color: var(--df-dill);
	padding-left: 0;
	padding-right: 0;
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

.wp-block-button.is-style-arrow .wp-block-button__link::after,
.df-more-link a::after {
	content: " \2192";
}

.wp-block-button.is-style-arrow .wp-block-button__link:hover {
	color: var(--df-paprika);
}

.df-block-note {
	border: 1px dashed var(--df-soft);
	border-radius: var(--df-radius);
	color: var(--df-soft);
	font-size: var(--wp--preset--font-size--sm);
	padding: 1rem 1.25rem;
}

/* ---------- Wordmark ---------- */

.df-wordmark a,
.df-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}

.df-wordmark a::before {
	content: "";
	flex: none;
	width: 0.95em;
	height: 0.95em;
	background-color: currentColor;
	-webkit-mask: var(--df-mark) center / contain no-repeat;
	mask: var(--df-mark) center / contain no-repeat;
	color: var(--df-dill);
	transform: translateY(-0.04em);
}

.df-wordmark--large {
	font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem) !important;
}

.df-footer .df-wordmark a,
.df-footer .df-wordmark a:hover {
	color: var(--df-cream);
}

.df-footer .df-wordmark a::before {
	color: var(--wp--preset--color--butter);
}

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

.df-header {
	border-bottom: var(--wp--custom--rule);
	position: relative;
	z-index: 20;
}

.df-header__bar {
	gap: var(--wp--preset--spacing--40);
	min-height: 3rem;
}

.df-primary-nav .wp-block-navigation-item__content {
	padding: 0.35em 0;
}

.df-primary-nav .current-menu-item > a,
.df-primary-nav [aria-current="page"] {
	text-decoration: underline;
	text-decoration-color: var(--df-paprika);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.45em;
}

.df-header__search .wp-block-search__button {
	background: transparent;
	color: var(--df-ink);
	padding: 0.4rem;
	margin-left: 0;
	border-radius: var(--df-radius);
}

.df-header__search .wp-block-search__button:hover {
	color: var(--df-paprika);
	background: transparent;
}

.df-header__search .wp-block-search__input {
	border: 1px solid var(--df-rule);
	background: var(--df-cream);
	border-radius: var(--df-radius);
}

.df-header__search.wp-block-search__searchfield-hidden .wp-block-search__input {
	border-width: 0;
}

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--df-paper) !important;
	color: var(--df-ink) !important;
	padding: var(--wp--preset--spacing--40);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--preset--spacing--50);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-family: var(--df-display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 400;
	letter-spacing: -0.01em;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	padding: 0.35rem;
}

/* ---------- Sections ---------- */

.df-main {
	overflow-x: clip;
}

.df-section__head {
	border-bottom: 1px solid var(--df-ink);
	margin-bottom: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--30);
	gap: var(--wp--preset--spacing--30);
}

.df-section__title {
	margin: 0;
}

.df-collections .df-section__head {
	border-color: rgba(216, 223, 198, 0.4);
}

.df-more-link {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 650;
	margin: 0;
}

.df-section__note {
	color: var(--df-soft);
	margin: 0;
}

/* ---------- Hero ---------- */

.df-hero__title {
	font-size: clamp(3rem, 1.6rem + 5.4vw, 6.5rem) !important;
	font-weight: 350;
	letter-spacing: -0.03em;
	line-height: 0.95;
	margin-top: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--40);
	max-width: 9em;
}

.df-hero__intro > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.df-hero__search {
	max-width: 32rem;
}

.df-hero__search .wp-block-search__inside-wrapper {
	border: 1px solid var(--df-ink);
	border-radius: var(--df-radius);
	background: var(--df-cream);
	padding: 0.3rem;
}

.df-hero__search .wp-block-search__input {
	border: 0;
	background: transparent;
	font-size: var(--wp--preset--font-size--md);
	padding: 0.6rem 0.75rem;
}

.df-hero__search .wp-block-search__button {
	margin-left: 0.3rem;
	border-radius: 2px;
}

.df-hero__card {
	position: relative;
}

.df-hero__caption {
	background: var(--df-cream);
	border: var(--wp--custom--rule);
	border-radius: var(--df-radius);
	padding: var(--wp--preset--spacing--40);
	margin-top: calc(-1 * var(--wp--preset--spacing--60));
	margin-left: calc(-1 * var(--wp--preset--spacing--50));
	margin-right: var(--wp--preset--spacing--50);
	position: relative;
	box-shadow: 0 1px 0 var(--df-rule);
}

.df-hero__caption > * {
	margin: 0;
}

.df-hero__caption > * + * {
	margin-top: 0.5rem;
}

.df-hero__caption .wp-block-post-excerpt__excerpt {
	margin: 0;
}

/* ---------- Term navigation (chips) ---------- */

.df-term-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.df-term-nav a {
	display: inline-block;
	border: 1px solid var(--df-rule);
	border-radius: var(--df-radius);
	background: var(--df-cream);
	color: var(--df-ink);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	padding: 0.4em 0.85em;
	text-decoration: none;
}

.df-term-nav a:hover {
	border-color: var(--df-dill);
	color: var(--df-dill);
}

.df-term-nav a[aria-current="page"] {
	background: var(--df-dill);
	border-color: var(--df-dill);
	color: var(--df-cream);
}

/* ---------- Cards and grids ---------- */

.df-grid {
	row-gap: var(--wp--preset--spacing--50) !important;
}

.df-card {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.df-card > * {
	margin: 0 !important;
}

.df-card-image {
	overflow: hidden;
	border-radius: var(--df-radius);
	background: var(--df-deep);
	margin-bottom: 0.4rem !important;
}

.df-card-image img {
	transition: transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.df-card:hover .df-card-image img,
.df-hero__card:hover .df-card-image img {
	transform: scale(1.03);
}

.df-placeholder {
	display: block;
	width: 100%;
	background-color: var(--df-deep);
	background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(184, 170, 144, 0.18) 14px 15px);
}

.df-placeholder a,
.df-placeholder__mark {
	display: block;
	height: 100%;
	width: 100%;
}

.df-placeholder__mark {
	background: url("../images/placeholder.svg") center / 22% no-repeat;
}

.df-card__kicker {
	line-height: 1.3;
}

.df-card__title {
	line-height: 1.18 !important;
	text-wrap: balance;
}

.df-card__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.df-card__excerpt p,
.df-card__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.df-card__date {
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ---------- Collections band ---------- */

.df-collections__intro {
	margin: 0;
	max-width: 26em;
}

.df-collections__grid {
	row-gap: 0 !important;
}

.df-collection {
	border-top: 1px solid rgba(216, 223, 198, 0.4);
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--40);
}

.df-collection > * {
	margin: 0;
}

.df-collection__number {
	color: var(--wp--preset--color--butter);
	font-family: var(--df-display);
	font-size: var(--wp--preset--font-size--sm);
	font-variant-numeric: lining-nums;
}

.df-collection__title {
	font-size: clamp(2rem, 1.4rem + 1.8vw, 2.75rem) !important;
	font-style: italic;
	font-weight: 350 !important;
	margin: 0.5rem 0 0.75rem !important;
}

.df-collection__title a {
	text-decoration: none;
}

.df-collection__title a::after {
	content: " \2192";
	font-style: normal;
	font-size: 0.6em;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.df-collection__title a:hover,
.df-collection__title a:focus-visible {
	color: var(--wp--preset--color--butter) !important;
}

.df-collection__title a:hover::after,
.df-collection__title a:focus-visible::after {
	opacity: 1;
}

/* ---------- Ranked list ---------- */

.df-ranked {
	counter-reset: df-rank;
}

.df-ranked > li {
	counter-increment: df-rank;
	border-top: 1px solid var(--df-ink);
	padding-top: var(--wp--preset--spacing--30);
}

.df-ranked__item {
	display: grid;
	grid-template-columns: 4.5rem 1fr;
	column-gap: 1rem;
	align-items: start;
}

.df-ranked__item::before {
	content: counter(df-rank, decimal-leading-zero);
	grid-row: span 2;
	color: var(--df-paprika);
	font-family: var(--df-display);
	font-size: 2.75rem;
	font-weight: 300;
	line-height: 0.9;
}

.df-ranked__item .df-card-image {
	display: none;
}

.df-ranked__item > * {
	margin: 0 !important;
}

.df-ranked__count {
	color: var(--df-soft);
	margin-top: 0.4rem !important;
}

/* ---------- Index (cookbook style) ---------- */

.df-index-list,
ul.df-index-list {
	list-style: none;
	margin: 0;
	padding: 0 !important;
}

.df-index-list li,
.df-index-tags a {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	border-bottom: 1px dotted var(--df-rule);
	padding: 0.55rem 0;
}

.df-index-list li > a {
	color: var(--df-ink);
	font-family: var(--df-display);
	font-size: 1.15rem;
	text-decoration: none;
	flex: 1;
}

.df-index-list li > a:hover,
.df-index-tags a:hover {
	color: var(--df-paprika);
}

.df-index-list .children {
	display: none;
}

.df-count {
	color: var(--df-soft);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--xs);
	font-variant-numeric: tabular-nums;
}

.wp-block-tag-cloud.df-index-tags {
	display: block;
}

.df-index-tags a {
	color: var(--df-ink);
	font-family: var(--df-display);
	font-size: 1.15rem !important;
	text-decoration: none;
	justify-content: space-between;
	margin: 0 !important;
}

/* ---------- Journal ---------- */

.df-card--lead .df-card__title {
	font-weight: 400;
}

.df-headlines > li {
	border-top: 1px solid var(--df-ink);
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--40);
}

.df-headline > * {
	margin: 0 0 0.4rem !important;
}

.df-headline .wp-block-post-excerpt__excerpt {
	color: var(--df-soft);
	margin: 0;
}

/* ---------- Newsletter ---------- */

.df-signup__inner {
	border-top: 1px solid var(--df-ink);
	border-bottom: 1px solid var(--df-ink);
	padding: var(--wp--preset--spacing--50) 0;
}

.df-newsletter__form label {
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 650;
	margin-bottom: 0.4rem;
}

.df-newsletter__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.df-newsletter__row input[type="email"] {
	flex: 1 1 14rem;
	min-width: 0;
	border: 1px solid var(--df-ink);
	border-radius: var(--df-radius);
	background: var(--df-cream);
	color: var(--df-ink);
	font: inherit;
	padding: 0.75rem 0.9rem;
}

.df-newsletter__note {
	color: var(--df-soft);
	font-size: var(--wp--preset--font-size--xs);
	margin-top: 0.6rem;
}

/* ---------- Archive and page heads ---------- */

.df-archive-head {
	border-bottom: var(--wp--custom--rule);
	margin-bottom: var(--wp--preset--spacing--50);
}

.df-archive-head > * + * {
	margin-top: var(--wp--preset--spacing--30);
}

.df-archive-head .wp-block-query-title,
.df-archive-title {
	margin-top: var(--wp--preset--spacing--30);
	font-weight: 350;
	letter-spacing: -0.025em;
}

.df-archive-head__desc p {
	margin: 0;
}

/* ---------- Breadcrumbs ---------- */

.df-breadcrumbs {
	color: var(--df-soft);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.02em;
}

.df-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.df-breadcrumbs li:not(:last-child)::after {
	content: "/";
	color: var(--df-rule);
	margin: 0 0.55em;
}

.df-breadcrumbs a {
	color: var(--df-soft);
	text-decoration: none;
}

.df-breadcrumbs a:hover {
	color: var(--df-paprika);
	text-decoration: underline;
}

.df-breadcrumbs [aria-current="page"] {
	display: inline-block;
	max-width: 32ch;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: bottom;
	white-space: nowrap;
}

/* ---------- Single post ---------- */

.df-post-head > * {
	margin-top: 0;
	margin-bottom: 0;
}

.df-post-head > * + * {
	margin-top: var(--wp--preset--spacing--30);
}

.df-post-title {
	font-size: clamp(2.5rem, 1.5rem + 4vw, 5rem) !important;
	font-weight: 350;
	letter-spacing: -0.03em;
	line-height: 1;
	text-wrap: balance;
}

.df-dek p {
	margin: 0;
}

.df-byline {
	color: var(--df-soft);
	font-size: var(--wp--preset--font-size--xs);
	padding-top: var(--wp--preset--spacing--20);
}

.df-byline > * + *::before {
	content: "\00b7";
	margin-right: 0.5rem;
	color: var(--df-rule);
}

.df-byline a {
	color: var(--df-ink);
	text-decoration: none;
}

.df-byline__label {
	margin-right: 0.15em;
}

.df-single__image img {
	width: 100%;
}

/* Recipe snapshot strip */

.df-snapshot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	border-top: 1px solid var(--df-ink);
	border-bottom: 1px solid var(--df-ink);
	padding: var(--wp--preset--spacing--30) 0;
}

.df-snapshot__facts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	margin: 0;
}

.df-snapshot__facts dt {
	color: var(--df-paprika);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: var(--wp--custom--kicker-tracking);
	text-transform: uppercase;
}

.df-snapshot__facts dd {
	font-family: var(--df-display);
	font-size: var(--wp--preset--font-size--lg);
	margin: 0;
}

.df-snapshot__rating {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--sm);
	margin: 0;
}

.df-stars {
	--df-star-fill: calc(var(--df-rating, 0) / 5 * 100%);
	display: inline-block;
	width: 5.5em;
	height: 1.1em;
	background: linear-gradient(90deg, var(--wp--preset--color--mustard) var(--df-star-fill), var(--df-rule) var(--df-star-fill));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.4 5.9.8-4.3 4.1 1 5.8L10 14.8l-5.2 2.8 1-5.8L1.5 7.7l5.9-.8z'/%3E%3C/svg%3E") left / 1.1em 1.1em repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.4 5.9.8-4.3 4.1 1 5.8L10 14.8l-5.2 2.8 1-5.8L1.5 7.7l5.9-.8z'/%3E%3C/svg%3E") left / 1.1em 1.1em repeat-x;
}

.df-snapshot__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

.df-snapshot__actions a {
	border-radius: var(--df-radius);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 650;
	padding: 0.65em 1.1em;
	text-decoration: none;
}

.df-snapshot__jump {
	background: var(--df-dill);
	color: var(--df-cream) !important;
}

.df-snapshot__jump::after {
	content: " \2193";
}

.df-snapshot__jump:hover {
	background: var(--wp--preset--color--forest);
}

.df-snapshot__print {
	border: 1px solid var(--df-ink);
	color: var(--df-ink) !important;
}

/* Long-form content */

.df-prose {
	margin-top: var(--wp--preset--spacing--50) !important;
}

.df-prose > p,
.df-prose > ul,
.df-prose > ol {
	font-size: 1.125rem;
	line-height: 1.7;
}

.df-prose > h2 {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 450;
	margin-top: var(--wp--preset--spacing--50);
}

.df-prose > h3 {
	font-size: var(--wp--preset--font-size--lg);
	margin-top: var(--wp--preset--spacing--40);
}

.df-prose .wp-block-image figcaption {
	text-align: left;
}

.df-post-foot {
	border-top: var(--wp--custom--rule);
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: var(--wp--preset--spacing--40);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.df-post-foot > * {
	margin: 0 !important;
}

.df-tags {
	grid-column: 1 / -1;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 500 !important;
	font-size: var(--wp--preset--font-size--sm) !important;
}

.df-tags .wp-block-post-terms__prefix {
	color: var(--df-soft);
}

.df-post-foot .post-navigation-link-next {
	text-align: right;
}

.df-post-foot .wp-block-post-navigation-link {
	font-size: var(--wp--preset--font-size--sm);
}

.df-post-foot .post-navigation-link__label {
	display: block;
	color: var(--df-soft);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.df-post-foot .wp-block-post-navigation-link a {
	font-family: var(--df-display);
	font-size: var(--wp--preset--font-size--md);
	text-decoration: none;
}

/* ---------- WP Recipe Maker card ---------- */

.wprm-recipe-container {
	margin-top: var(--wp--preset--spacing--60) !important;
	margin-bottom: var(--wp--preset--spacing--60) !important;
	scroll-margin-top: 1.5rem;
}

.df-prose .wprm-recipe {
	background: var(--df-cream);
	border: 1px solid var(--df-rule);
	border-top: 4px solid var(--df-dill);
	border-radius: var(--df-radius);
	color: var(--df-ink);
	font-family: var(--wp--preset--font-family--body);
	padding: clamp(1.25rem, 3vw, 2.5rem);
}

.df-prose .wprm-recipe .wprm-recipe-name,
.df-prose .wprm-recipe h2,
.df-prose .wprm-recipe h3 {
	font-family: var(--df-display);
	color: var(--df-ink);
	letter-spacing: -0.01em;
}

.df-prose .wprm-recipe .wprm-recipe-header {
	font-family: var(--df-display);
	font-weight: 500;
}

.df-prose .wprm-recipe-ingredients,
.df-prose .wprm-recipe-instructions {
	font-size: 1.0625rem;
	line-height: 1.6;
}

.df-prose .wprm-recipe-ingredient {
	border-bottom: 1px dotted var(--df-rule);
	padding: 0.35em 0;
}

.df-prose .wprm-recipe-ingredient-amount,
.df-prose .wprm-recipe-ingredient-unit {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.df-prose .wprm-recipe-ingredient-notes {
	color: var(--df-soft);
}

.df-prose .wprm-recipe-instruction {
	margin-bottom: 0.9em;
}

.df-prose .wprm-recipe a.wprm-recipe-link,
.df-prose .wprm-recipe .wprm-recipe-print {
	border-radius: var(--df-radius);
}

/* Theme servings scaler */

.df-scale {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin: 0.75rem 0 1rem;
}

.df-scale__label {
	color: var(--df-paprika);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: var(--wp--custom--kicker-tracking);
	margin-right: 0.35rem;
	text-transform: uppercase;
}

.df-scale button {
	background: transparent;
	border: 1px solid var(--df-rule);
	border-radius: var(--df-radius);
	color: var(--df-ink);
	cursor: pointer;
	font: inherit;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 650;
	min-width: 2.75rem;
	min-height: 2.25rem;
	padding: 0.25rem 0.6rem;
}

.df-scale button:hover {
	border-color: var(--df-dill);
}

.df-scale button[aria-pressed="true"] {
	background: var(--df-dill);
	border-color: var(--df-dill);
	color: var(--df-cream);
}

/* ---------- Comments ---------- */

.df-comment {
	border-top: var(--wp--custom--rule);
	padding: var(--wp--preset--spacing--30) 0;
}

.df-comments .wp-block-comment-template {
	padding-left: 0;
}

.df-comments .wp-block-comment-template ol {
	padding-left: clamp(1rem, 4vw, 2.5rem);
}

.df-comments input[type="text"],
.df-comments input[type="email"],
.df-comments input[type="url"],
.df-comments textarea {
	border: 1px solid var(--df-soft);
	border-radius: var(--df-radius);
	background: var(--df-cream);
	color: var(--df-ink);
	font: inherit;
	padding: 0.65rem 0.8rem;
	width: 100%;
}

.df-comments label {
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 650;
	margin-bottom: 0.3rem;
}

.df-comments .comment-form-cookies-consent {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
}

.df-comments .comment-form-cookies-consent label {
	font-weight: 400;
}

/* ---------- Pagination ---------- */

.df-pagination {
	border-top: 1px solid var(--df-ink);
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: var(--wp--preset--spacing--30);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--sm);
}

.df-pagination a,
.df-pagination .page-numbers {
	text-decoration: none;
	padding: 0.35em 0.6em;
	border-radius: var(--df-radius);
}

.df-pagination .page-numbers.current {
	background: var(--df-ink);
	color: var(--df-paper);
}

/* ---------- Search / 404 ---------- */

.df-notfound > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.df-noresults {
	padding: var(--wp--preset--spacing--40) 0;
}

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

.df-footer {
	font-size: var(--wp--preset--font-size--sm);
}

.df-footer__tagline {
	color: var(--wp--preset--color--sage);
	font-family: var(--df-display);
	font-size: var(--wp--preset--font-size--lg);
	font-style: italic;
	max-width: 20em;
}

.df-footer-nav .wp-block-navigation-item__content {
	padding: 0.25em 0;
}

.df-footer-nav a:hover {
	color: var(--wp--preset--color--butter) !important;
}

.df-footer-nav .wp-block-navigation__container {
	gap: 0.15rem;
}

.df-footer__base {
	border-top: 1px solid rgba(216, 223, 198, 0.25);
}

.df-footer__base p {
	margin: 0;
}

/* ---------- Responsive ---------- */

@media (max-width: 599px) {
	.df-grid .df-card__title {
		font-size: 1.0625rem !important;
	}

	.df-grid .df-card__excerpt {
		display: none;
	}
}

@media (max-width: 781px) {
	.df-footer .df-footer__columns {
		flex-wrap: wrap !important;
		row-gap: var(--wp--preset--spacing--40);
	}

	.df-footer .df-footer__columns > .wp-block-column:not(:first-child) {
		flex: 1 1 0 !important;
		min-width: 6.5rem;
	}

	.df-hero__caption {
		margin: calc(-1 * var(--wp--preset--spacing--50)) var(--wp--preset--spacing--30) 0;
	}

	.df-hero__title {
		max-width: none;
	}

	.df-post-foot {
		grid-template-columns: 1fr;
	}

	.df-post-foot .post-navigation-link-next {
		text-align: left;
	}

	.df-snapshot {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.df-card:hover .df-card-image img,
	.df-hero__card:hover .df-card-image img {
		transform: none;
	}
}
