/**
 * Inner pages: About Us, How to Heat, and the shared legal-page template.
 * Isolated from app.css deliberately — see themes/hif/CLAUDE.md for why.
 */

/* Shared section rhythm ------------------------------------------------ */
.hif-eyebrow {
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	margin: 0 0 var(--wp--preset--spacing--20);
}

.hif-script-accent {
	font-family: var(--wp--preset--font-family--script);
	color: var(--wp--preset--color--primary);
	font-size: 1.1em;
}

.hif-section-title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.15;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.hif-section-title--center {
	text-align: center;
}

/* About Us ------------------------------------------------------------------
   One-off page (patterns/about-us.php), built from the Figma. Bands: pink hero →
   cream story → saffron offer → pink/forest mission → cream people, then the shared
   Instagram + Kitchen Club bands. Every element is a native core block, so photos,
   icons and copy are editable in the page editor; folk-art strips close the bands. */
.hif-page--ab :is(h1, h2, h3, p, figure) { margin: 0; }
.hif-ab-wrap {
	max-width: 1300px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--40);
	box-sizing: border-box;
}
.hif-about-edge {
	height: var(--wp--custom--border--height, 25px);
	background: url("../images/patterns/border.png") repeat-x center / auto var(--wp--custom--border--height, 25px);
}

/* Shared type */
.hif-ab-h2 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(2rem, 3.4vw, var(--wp--preset--font-size--xx-large));
	line-height: 1.15;
	color: var(--wp--preset--color--forest);
	text-wrap: balance;
}
.hif-ab-script {
	font-family: var(--wp--preset--font-family--script);
	font-style: normal;
	font-weight: 400;
	color: var(--wp--preset--color--primary);
	font-size: 1.15em;
}
.hif-ab-text { font-size: 1rem; line-height: 1.7; color: var(--wp--preset--color--contrast); }
.hif-ab-eyebrow { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--base); text-align: center; }

/* Round icon badge: a core/image holding a white-stroke SVG on a coloured disc. */
.hif-ab-icon {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	flex: none;
}
.hif-ab-icon img { width: 1.6rem; height: 1.6rem; display: block; }

/* 1. Hero (pink) -------------------------------------------------------------- */
.hif-ab-hero {
	background-color: var(--wp--preset--color--primary);
	background-image: url("../images/patterns/pink-pattern.png");
	background-size: 50px;
	color: var(--wp--preset--color--base);
}
.hif-ab-hero .hif-ab-wrap { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }
.hif-ab-hero__title {
	font-family: var(--wp--preset--font-family--script);
	font-weight: 400;
	font-size: clamp(3rem, 6vw, 4.5rem);
	line-height: 1.1;
	color: var(--wp--preset--color--cream);
	margin-top: 0.35rem !important;
}
.hif-ab-hero__lede { text-align: center; font-size: 1.0625rem; margin-top: 0.75rem !important; }
.hif-ab-gold { font-style: normal; font-weight: 600; color: var(--wp--preset--color--accent); }
.hif-ab-hero__photo {
	max-width: 1040px;
	margin: var(--wp--preset--spacing--50) auto 0 !important;
	padding: 0.55rem;
	border-radius: 28px;
	background: color-mix(in srgb, var(--wp--preset--color--base) 38%, transparent);
	box-shadow: 0 18px 40px color-mix(in srgb, var(--wp--preset--color--contrast) 28%, transparent);
}
.hif-ab-hero__photo img { display: block; width: 100%; height: auto; border-radius: 22px; }

/* 2. Story (cream) ------------------------------------------------------------- */
.hif-ab-story { background-color: var(--wp--preset--color--cream); background-image: url("../images/patterns/cream-pattern.png"); background-size: 50px; }
.hif-ab-story .hif-ab-wrap { padding-block: var(--wp--preset--spacing--70); }
.hif-ab-story__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: var(--wp--preset--spacing--70);
	align-items: center;
}
.hif-ab-story__copy { display: grid; gap: 1rem; }
.hif-ab-story__copy .hif-ab-h2 { margin-bottom: 0.5rem !important; }
.hif-ab-quote { background: var(--wp--preset--color--forest); border-radius: 12px; overflow: hidden; color: var(--wp--preset--color--base); }
.hif-ab-quote__text {
	position: relative;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	line-height: 1.35;
	padding: 2.25rem 2rem 2.25rem 4rem;
}
.hif-ab-quote__text::before {
	content: "\201C";
	position: absolute;
	left: 1.5rem;
	top: 1.4rem;
	font-size: 3.2rem;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}
.hif-ab-quote__foot {
	background: var(--wp--preset--color--primary) url("../images/patterns/border.png") repeat-x center top / auto 14px;
	padding: 2rem 2rem 1.25rem;
	display: grid;
	justify-items: end;
}
.hif-ab-quote__sign { font-family: var(--wp--preset--font-family--script); font-size: 1.75rem; line-height: 1.1; }
.hif-ab-quote__role { font-size: var(--wp--preset--font-size--small); opacity: 0.9; }

/* 3. What we offer (saffron) --------------------------------------------------- */
.hif-ab-offer { background-color: var(--wp--preset--color--accent); background-image: url("../images/patterns/yellow-pattern.png"); background-size: 50px; }
.hif-ab-offer .hif-ab-wrap { padding-block: var(--wp--preset--spacing--70); }
.hif-ab-sub {
	text-align: center;
	max-width: 42em;
	margin: 0.75rem auto 0 !important;
	line-height: 1.6;
	color: var(--wp--preset--color--forest);
}
.hif-ab-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: var(--wp--preset--spacing--50); }
.hif-ab-card {
	display: grid;
	align-content: start;
	gap: 0.6rem;
	padding: 2rem 1.75rem;
	border-radius: 12px;
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 8px 22px color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
}
.hif-ab-card .hif-ab-icon { margin-bottom: 0.5rem; }
.hif-ab-card__title { font-size: 1.15rem; font-weight: 700; line-height: 1.25; }
.hif-ab-card__text { font-size: 0.975rem; line-height: 1.6; opacity: 0.85; }
.hif-ab-card--feature { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--base); }
.hif-ab-card--feature .hif-ab-icon { background: var(--wp--preset--color--base); }
.hif-ab-card--feature .hif-ab-icon img { filter: invert(1); }
.hif-ab-actions { justify-content: center; margin-top: var(--wp--preset--spacing--50); }
.hif-ab-cta .wp-block-button__link::after { content: "\2192"; margin-left: 0.5em; }

/* 4. Mission (pink | forest) ---------------------------------------------------- */
.hif-ab-mission {
	background-color: var(--wp--preset--color--primary);
	background-image: linear-gradient(90deg, transparent 50%, var(--wp--preset--color--forest) 50%), url("../images/patterns/pink-pattern.png");
	background-size: auto, 50px;
	color: var(--wp--preset--color--base);
}
.hif-ab-mission .hif-ab-wrap { padding-inline: 0; }
.hif-ab-mission__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hif-ab-mission__media { position: relative; min-height: 34rem; }
.hif-ab-mission__img { position: absolute; margin: 0; overflow: hidden; }
.hif-ab-mission__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hif-ab-mission__img--a { left: 1.5rem; top: 50%; width: 62%; aspect-ratio: 1; transform: translateY(-50%); border-radius: 50%; }
.hif-ab-mission__img--b { left: 40%; top: 50%; width: 50%; aspect-ratio: 4 / 5; transform: translateY(-50%); border-radius: 18px; box-shadow: 0 18px 40px color-mix(in srgb, var(--wp--preset--color--contrast) 35%, transparent); z-index: 1; }
.hif-ab-mission__copy {
	display: grid;
	align-content: center;
	gap: 1.25rem;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) clamp(5rem, 11vw, 10rem);
}
.hif-ab-mission .hif-ab-h2 { color: var(--wp--preset--color--base); }
.hif-ab-mission .hif-ab-text { color: var(--wp--preset--color--base); opacity: 0.88; font-size: 0.9375rem; }
.hif-ab-feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0.75rem; }
.hif-ab-feat { display: grid; align-content: start; gap: 0.5rem; padding-right: 1.25rem; }
.hif-ab-feat + .hif-ab-feat { padding-right: 0; padding-left: 1.5rem; border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 30%, transparent); }
.hif-ab-feat .hif-ab-icon { width: 2.75rem; height: 2.75rem; background: color-mix(in srgb, var(--wp--preset--color--primary) 75%, var(--wp--preset--color--base)); }
.hif-ab-feat .hif-ab-icon img { width: 1.35rem; height: 1.35rem; }
.hif-ab-feat__title { font-size: 1rem; font-weight: 700; }
.hif-ab-feat__text { font-size: 0.8125rem; line-height: 1.55; opacity: 0.85; }

/* 5. People (cream) --------------------------------------------------------------- */
.hif-ab-people { background-color: var(--wp--preset--color--cream); background-image: url("../images/patterns/cream-pattern.png"); background-size: 50px; }
.hif-ab-people .hif-ab-wrap { padding-block: var(--wp--preset--spacing--70); }
.hif-ab-people .hif-ab-script { color: var(--wp--preset--color--primary); }
.hif-ab-founder {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: var(--wp--preset--spacing--50);
	align-items: center;
	margin-top: var(--wp--preset--spacing--50);
	padding: clamp(1.5rem, 3.5vw, 3rem);
	border-radius: 20px;
	background-color: var(--wp--preset--color--primary);
	background-image: url("../images/patterns/pink-pattern.png");
	background-size: 50px;
	color: var(--wp--preset--color--base);
}
.hif-ab-founder__copy { display: grid; gap: 0.9rem; }
.hif-ab-founder__quote {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.2;
	margin-bottom: 0.4rem !important;
	text-wrap: balance;
}
.hif-ab-founder__text { font-size: 0.875rem; line-height: 1.65; opacity: 0.92; }
.hif-ab-founder__name { font-weight: 700; margin-top: 0.4rem !important; }
.hif-ab-founder__role { font-size: var(--wp--preset--font-size--small); opacity: 0.9; margin-top: -0.6rem !important; }
.hif-ab-founder__photo { margin: 0; }
.hif-ab-founder__photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; }
.hif-ab-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: var(--wp--preset--spacing--50); }
.hif-ab-member { display: grid; align-content: start; gap: 0.2rem; }
.hif-ab-member__photo { margin: 0 0 0.6rem !important; }
.hif-ab-member__photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.hif-ab-member__name { font-size: 1rem; font-weight: 700; color: var(--wp--preset--color--forest); }
.hif-ab-member__role { font-size: 0.8125rem; color: var(--wp--preset--color--contrast-muted); }

/* About Us: tablet / mobile --------------------------------------------------------- */
@media (max-width: 960px) {
	.hif-ab-story__grid, .hif-ab-founder { grid-template-columns: 1fr; }
	.hif-ab-story__grid { gap: var(--wp--preset--spacing--50); }
	.hif-ab-cards { grid-template-columns: 1fr; }
	.hif-ab-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	/* Mission stacks: pink media on top, forest copy below. */
	.hif-ab-mission { background-image: none; background-color: var(--wp--preset--color--forest); }
	.hif-ab-mission__grid { grid-template-columns: 1fr; }
	.hif-ab-mission__media {
		min-height: 26rem;
		background: var(--wp--preset--color--primary) url("../images/patterns/pink-pattern.png");
		background-size: 50px;
	}
	.hif-ab-mission__img--a { width: 56%; left: 1rem; }
	.hif-ab-mission__img--b { left: 38%; width: 50%; }
	.hif-ab-mission__copy { padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
}
@media (max-width: 560px) {
	.hif-ab-feats { grid-template-columns: 1fr; gap: 1.25rem; }
	.hif-ab-feat + .hif-ab-feat { padding-left: 0; border-left: 0; }
	.hif-ab-mission__media { min-height: 22rem; }
}

/* How to Heat ------------------------------------------------------------------
   One-off page (patterns/how-to-heat.php): saffron hero + "in a hurry" card,
   four numbered guides, forest storage band, allergen note, pink CTA. */
.hif-heat-hero__inner,
.hif-heat-guides__grid,
.hif-heat-storage__inner,
.hif-heat-allergen__text,
.hif-heat-cta__inner {
	max-width: 1300px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--40);
	box-sizing: border-box;
}

.hif-heat-hero {
	background-color: var(--wp--preset--color--accent);
	background-image: url("../images/patterns/yellow-pattern.png");
	background-size: 50px;
}
.hif-heat-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: var(--wp--preset--spacing--60);
	align-items: center;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.hif-heat-hero__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.08;
	color: var(--wp--preset--color--forest);
	margin: 0 0 var(--wp--preset--spacing--40);
	text-wrap: balance;
}
.hif-heat-hero__lede {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	max-width: 32em;
	margin: 0;
}

/* "In a hurry?" card — the page's one memorable object. */
.hif-heat-glance {
	background: var(--wp--preset--color--base);
	border: 3px solid var(--wp--preset--color--forest);
	border-radius: 14px;
	box-shadow: 10px 10px 0 var(--wp--preset--color--primary);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}
.hif-heat-glance__title {
	font-family: var(--wp--preset--font-family--script);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1;
	color: var(--wp--preset--color--primary);
	margin: 0 0 var(--wp--preset--spacing--20);
}
.hif-heat-glance__list { margin: 0; }
.hif-heat-glance__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--wp--preset--spacing--30);
	padding: 0.85rem 0;
	border-top: 1px dashed var(--wp--preset--color--border);
}
.hif-heat-glance__row:first-child { border-top: 0; }
.hif-heat-glance dt { color: var(--wp--preset--color--contrast-muted); font-size: 1.0625rem; }
.hif-heat-glance dd {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--forest);
	text-align: right;
}

/* Guides (cream) ----------------------------------------------------------------- */
.hif-heat-guides { background: var(--wp--preset--color--cream); }
.hif-heat-guides__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
	padding-block: var(--wp--preset--spacing--70);
}
.hif-heat-card {
	background: var(--wp--preset--color--base);
	border: 2px solid var(--wp--preset--color--border);
	border-radius: 14px;
	padding: var(--wp--preset--spacing--50);
}
.hif-heat-card__head {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--30);
	align-items: center;
	margin-bottom: var(--wp--preset--spacing--40);
}
.hif-heat-card__icon {
	grid-row: span 2;
	width: 3.25rem;
	height: 3.25rem;
	display: grid;
	place-items: center;
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--accent);
	border-radius: 50%;
}
.hif-heat-card__icon .hif-icon { width: 24px; height: 24px; }
.hif-heat-card__head h2 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.2;
	color: var(--wp--preset--color--forest);
	margin: 0;
}
.hif-heat-card__tag {
	justify-self: start;
	margin-top: 0.3rem;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	padding: 0.15rem 0.7rem;
	border-radius: 999px;
}
.hif-heat-card__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: hif-heat-step;
}
.hif-heat-card__steps li {
	counter-increment: hif-heat-step;
	position: relative;
	margin: 0;
	padding: 0 0 var(--wp--preset--spacing--30) 2.75rem;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast);
}
.hif-heat-card__steps li:last-child { padding-bottom: 0; }
.hif-heat-card__steps li::before {
	content: counter(hif-heat-step);
	position: absolute;
	left: 0;
	top: 0.05rem;
	width: 1.9rem;
	height: 1.9rem;
	display: grid;
	place-items: center;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.95rem;
}
.hif-heat-card__note {
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0.75rem 1rem;
	background: #FFF3CC;
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 0 6px 6px 0;
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* Storage (forest) ---------------------------------------------------------------- */
.hif-heat-storage {
	background-color: var(--wp--preset--color--forest);
	background-image: url("../images/patterns/green-pattern.png");
	background-size: 50px;
	color: var(--wp--preset--color--cream);
}
.hif-heat-storage__inner { padding-block: var(--wp--preset--spacing--70); }
.hif-heat-storage__intro {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--50);
}
.hif-heat-storage__icon {
	width: 3.25rem;
	height: 3.25rem;
	flex: none;
	display: grid;
	place-items: center;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--forest);
	border-radius: 50%;
}
.hif-heat-storage__icon .hif-icon { width: 26px; height: 26px; }
.hif-heat-storage__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.15;
	color: var(--wp--preset--color--accent);
	margin: 0;
}
.hif-heat-storage__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
}
.hif-heat-storage__item {
	margin: 0;
	padding-top: var(--wp--preset--spacing--30);
	border-top: 3px solid var(--wp--preset--color--accent);
}
.hif-heat-storage__item h3 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0 0 0.25rem;
}
.hif-heat-storage__where { font-weight: 700; color: var(--wp--preset--color--accent); margin: 0 0 0.35rem; }
.hif-heat-storage__item p { margin: 0; line-height: 1.55; }
.hif-heat-storage__item p:last-child { font-size: 1rem; opacity: 0.92; }

/* Allergen notice ------------------------------------------------------------------ */
.hif-heat-allergen { background: var(--wp--preset--color--base); }
.hif-heat-allergen__text {
	margin-block: 0;
	padding-block: var(--wp--preset--spacing--40);
	text-align: center;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast-muted);
}

/* CTA (saffron — the footer below is pink, so this band must not be) --------------- */
.hif-heat-cta {
	background-color: var(--wp--preset--color--accent);
	background-image: url("../images/patterns/yellow-pattern.png");
	background-size: 50px;
	color: var(--wp--preset--color--contrast);
}
.hif-heat-cta__inner {
	text-align: center;
	padding-block: var(--wp--preset--spacing--60);
}
.hif-heat-cta__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.15;
	color: var(--wp--preset--color--forest);
	margin: 0 0 var(--wp--preset--spacing--20);
}
.hif-heat-cta__body { margin: 0 0 var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--large); }
.hif-heat-cta__btn {
	display: inline-flex;
	align-items: center;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none;
	padding: 0.85rem 1.75rem;
	border-radius: 6px;
	transition: background-color 0.2s ease;
}
.hif-heat-cta__btn:hover,
.hif-heat-cta__btn:focus-visible {
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
}

@media (max-width: 960px) {
	.hif-heat-hero__inner { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--50); }
	.hif-heat-glance { box-shadow: 6px 6px 0 var(--wp--preset--color--primary); margin-right: 6px; }
	.hif-heat-guides__grid { grid-template-columns: 1fr; }
	.hif-heat-storage__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--wp--preset--spacing--50); }
}
@media (max-width: 520px) {
	.hif-heat-glance { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
	.hif-heat-glance__row { flex-direction: column; gap: 0.1rem; }
	.hif-heat-glance dd { text-align: left; }
	.hif-heat-card { padding: var(--wp--preset--spacing--40); }
	.hif-heat-storage__grid { grid-template-columns: 1fr; }
}

/* Legal pages: title + TOC + article ------------------------------------------ */
.hif-legal__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.15;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 var(--wp--preset--spacing--20) !important;
}

.hif-legal .hif-legal__updated {
	color: var(--wp--preset--color--contrast-muted);
	font-size: 0.9rem;
	font-weight: 400;
	font-family: var(--wp--preset--font-family--body);
	border-top: none;
	padding-top: 0;
	margin: 0 0 var(--wp--preset--spacing--40) !important;
}

.hif-legal__toc {
	background: var(--wp--preset--color--cream);
	border-radius: var(--wp--custom--radius--card);
	padding: 1.25rem 1.5rem;
	margin: 0 0 var(--wp--preset--spacing--40);
}

.hif-legal__toc-label {
	margin: 0 0 0.6rem;
	font-weight: 700;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--contrast);
}

.hif-legal__toc-list {
	margin: 0;
	padding-left: 1.1rem;
	columns: 2;
	column-gap: 2rem;
	font-size: 0.92rem;
	line-height: 1.9;
}

.hif-legal__toc-list a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.hif-legal__toc-list a:hover {
	color: var(--wp--preset--color--primary);
}

.hif-legal .hif-legal__h2 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--contrast);
	margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--20);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--border);
}

.hif-legal .hif-legal__h2:first-of-type {
	margin-top: 0;
}

.hif-legal .wp-block-post-content h3 {
	font-weight: 700;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast);
	margin: 1rem 0 0.5rem;
}

.hif-legal .wp-block-post-content ul,
.hif-legal .wp-block-post-content ol {
	padding-left: 1.2rem;
}

@media (max-width: 782px) {
	.hif-legal__toc-list {
		columns: 1;
	}
}

/* Contact Us: hero -------------------------------------------------------- */
/* The page is native blocks in core/post-content, so zero the editorial margins first (zero-
   specificity :where, so every class rule below still wins) — same job as .hif-page--ab. */
.hif-page--contact :where(h1, h2, p, figure) { margin: 0; }
.hif-contact-info__icon img { display: block; width: 20px; height: 20px; }
.hif-contact-info__text { flex: 1 1 auto; min-width: 0; }
.hif-contact-info__value a { color: inherit; text-decoration: none; }
.hif-contact-info__value a:hover,
.hif-contact-info__value a:focus-visible { color: var(--wp--preset--color--primary); }
.hif-contact-info__map { margin-top: var(--wp--preset--spacing--30); }

.hif-contact-hero {
	max-width: 760px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40);
	text-align: center;
}

.hif-contact-hero__eyebrow {
	text-align: center;
}

.hif-contact-hero__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.15;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.hif-contact-hero__lede {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	color: var(--wp--preset--color--contrast-muted);
	margin: 0;
}

/* Contact Us: info card + form grid --------------------------------------- */
.hif-contact-main {
	padding-bottom: var(--wp--preset--spacing--60);
}

.hif-contact-grid {
	max-width: 1300px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40);
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: var(--wp--preset--spacing--40);
	align-items: start;
}

.hif-contact-info,
.hif-contact-form-card {
	background: var(--wp--preset--color--base);
	border-radius: var(--wp--custom--radius--product);
	box-shadow: var(--wp--preset--shadow--card);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.hif-contact-info__title,
.hif-contact-form-card__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--contrast);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.hif-contact-info__row {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 0.85rem 0;
	border-top: 1px solid var(--wp--preset--color--border);
	text-decoration: none;
	color: inherit;
}

.hif-contact-info__title + .hif-contact-info__row {
	border-top: 0;
}

.hif-contact-info__row--static {
	cursor: default;
}

a.hif-contact-info__row:hover .hif-contact-info__text {
	color: var(--wp--preset--color--primary);
}

.hif-contact-info__icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.hif-contact-info__text {
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}

.hif-contact-info__label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--contrast-muted);
	margin-bottom: 0.15rem;
}

.hif-contact-info__map {
	margin-top: var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--product-media);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
}

.hif-contact-info__map iframe {
	display: block;
	width: 100%;
	height: 220px;
	border: 0;
}

/* Contact Us: form ---------------------------------------------------------- */
.hif-contact-form { margin: 0; }

.hif-contact-form__hp {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	opacity: 0;
}

.hif-contact-field { margin: 0 0 1.1rem; }

.hif-contact-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.hif-contact-field__label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	margin-bottom: 0.4rem;
	color: var(--wp--preset--color--contrast);
}

.hif-contact-field__label .required,
.hif-contact-field .required { color: var(--wp--preset--color--primary); }

.hif-contact-field input[type="text"],
.hif-contact-field input[type="email"],
.hif-contact-field input[type="tel"],
.hif-contact-field textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--control);
	padding: 0.7rem 0.85rem;
	font: inherit;
	font-size: 0.95rem;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

.hif-contact-field textarea { resize: vertical; min-height: 120px; }

.hif-contact-field input:focus,
.hif-contact-field textarea:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
	border-color: transparent;
}

.hif-contact-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.hif-contact-chip input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	opacity: 0;
}

.hif-contact-chip span {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.95rem;
	border-radius: var(--wp--custom--radius--pill);
	border: 1.5px solid var(--wp--preset--color--border);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast-muted);
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.hif-contact-chip input:checked + span {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.hif-contact-chip input:focus-visible + span {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.hif-contact-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border: 0;
	font-size: 1rem;
	padding: 0.85rem 2rem;
	border-radius: 6px;
	transition: background 0.15s ease;
	font-family: var(--wp--preset--font-family--body);
}

.hif-contact-submit:hover { background: var(--wp--preset--color--primary-dark); }
.hif-contact-submit:disabled { opacity: 0.7; cursor: default; }

.hif-contact-form__status {
	margin: 0.9rem 0 0;
	font-size: 0.88rem;
	min-height: 1.3em;
}

.hif-contact-form__status.is-success { color: var(--wp--preset--color--success); font-weight: 600; }
.hif-contact-form__status.is-error { color: var(--wp--preset--color--primary); font-weight: 600; }

@media (max-width: 782px) {
	.hif-contact-grid { grid-template-columns: 1fr; }
	.hif-contact-field-row { grid-template-columns: 1fr; gap: 0; }
}

/* Heating & Storage Guide ------------------------------------------------------
   One-off page (patterns/heating-storage.php). Bands: cream hero → saffron
   "before you heat" → cream meal-type cards → pink guides → cream storage →
   pink golden rules → saffron FAQ → cream CTA. Folk-art strips close the
   guides, storage and rules bands. Tints are derived from the palette tokens. */
.hif-page--hs {
	--hs-radius: 22px;
	--hs-radius-sm: 14px;
	--hs-panel: color-mix(in srgb, var(--wp--preset--color--border) 45%, var(--wp--preset--color--base));
	--hs-mint: color-mix(in srgb, var(--wp--preset--color--forest) 14%, var(--wp--preset--color--base));
	--hs-rose: color-mix(in srgb, var(--wp--preset--color--primary) 12%, var(--wp--preset--color--base));
	--hs-sand: color-mix(in srgb, var(--wp--preset--color--accent) 30%, var(--wp--preset--color--base));
	--hs-shadow: 0 10px 30px color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
}
.hif-hs-wrap {
	max-width: 1300px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--40);
	box-sizing: border-box;
}
.hif-hs-hero, .hif-hs-types, .hif-hs-store { background-color: var(--wp--preset--color--cream); background-image: url("../images/patterns/cream-pattern.png"); background-size: 50px; }
.hif-hs-before, .hif-hs-faq { background-color: var(--wp--preset--color--accent); background-image: url("../images/patterns/yellow-pattern.png"); background-size: 50px; }
.hif-hs-guides, .hif-hs-rules { background-color: var(--wp--preset--color--primary); background-image: url("../images/patterns/pink-pattern.png"); background-size: 50px; }
.hif-hs-cta { background: var(--wp--preset--color--cream); }
.hif-hs-guides .hif-about-edge, .hif-hs-store .hif-about-edge, .hif-hs-rules .hif-about-edge { margin-bottom: 0; }
.hif-page--hs :is(h1, h2, h3, h4, h5, p, ul, ol, li, figure) { margin-block: 0; }
.hif-page--hs :is(ul, ol) { padding: 0; list-style: none; }
.hif-page--hs :target { scroll-margin-top: 6rem; }
.hif-page--hs .hif-icon { width: 1.25rem; height: 1.25rem; }
.hif-page--hs svg { flex: none; }

/* Shared type */
.hif-hs-eyebrow {
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-bottom: 0.4rem !important;
}
.hif-hs-eyebrow--forest { color: var(--wp--preset--color--forest); }
.hif-hs-eyebrow--light { color: var(--wp--preset--color--base); }
.hif-hs-h2 {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(2rem, 3.4vw, var(--wp--preset--font-size--xx-large));
	line-height: 1.12;
	color: var(--wp--preset--color--contrast);
	text-wrap: balance;
}
.hif-hs-h2--gold { color: var(--wp--preset--color--accent); }
.hif-hs-sub { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--wp--preset--color--contrast-muted); max-width: 46em; margin-top: 0.6rem !important; }
.hif-hs-sub--light { color: var(--wp--preset--color--base); }

/* Icon tile */
.hif-hs-tile {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 12px;
	background: var(--hs-sand);
	color: var(--wp--preset--color--contrast);
}
.hif-hs-tile--mint { background: var(--hs-mint); color: var(--wp--preset--color--forest); }
.hif-hs-tile--rose { background: var(--hs-rose); color: var(--wp--preset--color--primary); }
.hif-hs-tile--gold { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.hif-hs-tile :is(svg, .hif-icon) { width: 1.4rem; height: 1.4rem; }

/* Hero ------------------------------------------------------------------------ */
.hif-hs-hero .hif-hs-wrap { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.hif-hs-crumbs ol { display: flex; flex-wrap: wrap; gap: 0.25rem 0.6rem; font-weight: 600; font-size: 1rem; }
.hif-hs-crumbs li + li::before { content: "›"; margin-right: 0.6rem; color: var(--wp--preset--color--contrast-muted); }
.hif-hs-crumbs a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.hif-hs-crumbs a:hover, .hif-hs-crumbs a:focus-visible { color: var(--wp--preset--color--primary); }
.hif-hs-crumbs [aria-current] { color: var(--wp--preset--color--primary); }
.hif-hs-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: var(--wp--preset--spacing--50);
	align-items: center;
	margin-top: var(--wp--preset--spacing--40);
}
.hif-hs-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--hs-rose);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	margin-bottom: var(--wp--preset--spacing--30) !important;
}
.hif-hs-hero__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(2.25rem, 4.4vw, var(--wp--preset--font-size--huge));
	line-height: 1.08;
	color: var(--wp--preset--color--forest);
	text-wrap: balance;
	margin-bottom: var(--wp--preset--spacing--30) !important;
}
.hif-hs-hero__lede { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--wp--preset--color--contrast-muted); max-width: 36em; }
.hif-hs-chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--40) !important; }
.hif-hs-chip {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	background: var(--wp--preset--color--base);
	border-radius: var(--hs-radius-sm);
	padding: 0.6rem 0.8rem;
	box-shadow: 0 2px 10px color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}
.hif-hs-chip__text { display: grid; line-height: 1.25; }
.hif-hs-chip__label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--contrast-muted); }
.hif-hs-chip__value { font-weight: 600; font-size: 1.0625rem; color: var(--wp--preset--color--contrast); }
.hif-hs-hero__figure {
	position: relative;
	margin: 0;
	min-height: 26rem;
	border-radius: var(--hs-radius);
	overflow: hidden;
	box-shadow: var(--hs-shadow);
	background: var(--wp--preset--color--forest-dark);
	color: var(--wp--preset--color--base);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.hif-hs-hero__figure > .hif-hs-photo { position: absolute; inset: 0; }
.hif-hs-hero__figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent) 5%, transparent 65%); }
.hif-hs-hero__cap { position: relative; z-index: 1; display: grid; gap: 0.5rem; padding: var(--wp--preset--spacing--40); justify-items: start; }
.hif-hs-hero__cap strong { font-size: var(--wp--preset--font-size--large); line-height: 1.35; font-weight: 500; }
.hif-hs-hero__cap > span:last-child { font-size: 0.9375rem; opacity: 0.9; }
.hif-hs-hero__seal {
	display: inline-flex; align-items: center; gap: 0.4rem;
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast);
	 font-size: 0.9375rem; padding: 0.25rem 0.7rem; border-radius: 6px;
}
.hif-hs-hero__seal :is(svg, .hif-icon) { width: 1rem; height: 1rem; }
.hif-hs-note {
	display: flex; gap: 0.75rem; align-items: flex-start;
	margin-top: var(--wp--preset--spacing--50) !important;
	padding: 1rem 1.25rem;
	background: var(--hs-panel);
	border-radius: var(--hs-radius-sm);
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-muted);
}
.hif-hs-note .hif-icon { margin-top: 0.15rem; color: var(--wp--preset--color--contrast-muted); }
.hif-hs-note strong { color: var(--wp--preset--color--contrast); }

/* Photos are core/image blocks (editable in the block editor). An empty slot shows the
   gradient placeholder; once an image is chosen it covers it. */
.hif-page--hs .hif-hs-photo { margin: 0; background: linear-gradient(135deg, var(--hs-mint), var(--hs-sand)); }
.hif-page--hs .hif-hs-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hif-page--hs .hif-hs-photo img:not([src]) { display: none; }
.hif-hs-hero__figure > .hif-hs-photo { background: linear-gradient(135deg, var(--wp--preset--color--forest), var(--wp--preset--color--forest-dark)); }

/* Before you heat ------------------------------------------------------------- */
.hif-hs-before .hif-hs-wrap { padding-block: var(--wp--preset--spacing--60); }
.hif-hs-before__card {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50);
	align-items: start;
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--base);
	border-radius: var(--hs-radius);
	padding: var(--wp--preset--spacing--50);
	box-shadow: var(--hs-shadow);
}
.hif-hs-before__title {
	display: flex; align-items: center; gap: 0.9rem;
	font-family: var(--wp--preset--font-family--display); font-weight: 400;
	font-size: clamp(1.75rem, 3vw, var(--wp--preset--font-size--xx-large));
	margin-bottom: var(--wp--preset--spacing--30) !important;
}
.hif-hs-before__lede { font-size: var(--wp--preset--font-size--large); line-height: 1.6; opacity: 0.92; }
.hif-hs-before__rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--20); margin-top: var(--wp--preset--spacing--40) !important; }
.hif-hs-before__rules li {
	display: flex; gap: 0.6rem; align-items: flex-start;
	background: color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent);
	border-radius: var(--hs-radius-sm);
	padding: 0.9rem 1rem;
	line-height: 1.5;
}
.hif-hs-before__rules .hif-icon { color: var(--wp--preset--color--accent); margin-top: 0.1rem; }
.hif-hs-allergen { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); border-radius: var(--hs-radius-sm); padding: var(--wp--preset--spacing--40); }
.hif-hs-allergen__title { display: flex; align-items: center; gap: 0.6rem; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: var(--wp--preset--font-size--x-large); margin-bottom: var(--wp--preset--spacing--20) !important; }
.hif-hs-allergen__title .hif-icon { color: var(--wp--preset--color--primary); }
.hif-hs-allergen p { line-height: 1.55; color: var(--wp--preset--color--contrast-muted); }
.hif-hs-allergen__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: var(--wp--preset--spacing--30) 0 !important; }
.hif-hs-allergen__tags li { background: var(--hs-panel); border-radius: 6px; padding: 0.3rem 0.7rem; font-weight: 600; font-size: 0.9375rem; color: var(--wp--preset--color--contrast); }
.hif-hs-allergen__foot { font-style: italic; font-size: 0.9375rem; }

/* Meal-type jump cards -------------------------------------------------------- */
.hif-hs-types .hif-hs-wrap { padding-block: var(--wp--preset--spacing--60); }
.hif-hs-types__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--50) !important; }
.hif-hs-type {
	display: flex; flex-direction: column; gap: 0.6rem; height: 100%; box-sizing: border-box;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	border-radius: var(--hs-radius);
	box-shadow: 0 6px 20px color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hif-hs-type--forest { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--base); }
.hif-hs-type--primary { background: var(--wp--preset--color--primary-dark); color: var(--wp--preset--color--base); }
.hif-hs-type:hover, .hif-hs-type:focus-visible { transform: translateY(-4px); box-shadow: var(--hs-shadow); }
.hif-hs-type__top { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; }
.hif-hs-type__tag { font-weight: 700; font-size: 0.875rem; padding: 0.25rem 0.8rem; border-radius: 999px; background: var(--hs-panel); color: var(--wp--preset--color--contrast-muted); }
.hif-hs-type--forest .hif-hs-type__tag { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.hif-hs-type--primary .hif-hs-type__tag { background: color-mix(in srgb, var(--wp--preset--color--base) 25%, var(--wp--preset--color--primary)); color: var(--wp--preset--color--base); }
.hif-hs-type__title { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); line-height: 1.15; margin-top: 0.4rem; color: var(--wp--preset--color--forest); }
.hif-hs-type--forest .hif-hs-type__title, .hif-hs-type--primary .hif-hs-type__title { color: var(--wp--preset--color--base); }
.hif-hs-type__blurb { line-height: 1.55; color: var(--wp--preset--color--contrast-muted); flex: 1; }
.hif-hs-type--forest .hif-hs-type__blurb, .hif-hs-type--primary .hif-hs-type__blurb { color: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent); }
.hif-hs-type__how { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; border-top: 1px solid var(--wp--preset--color--border); padding-top: 0.85rem; margin-top: 0.4rem; font-weight: 700; font-size: 0.9375rem; }
.hif-hs-type--forest .hif-hs-type__how, .hif-hs-type--primary .hif-hs-type__how { border-top-color: color-mix(in srgb, var(--wp--preset--color--base) 25%, transparent); }
.hif-hs-type--forest .hif-hs-type__how { color: var(--wp--preset--color--accent); }

/* Detailed guides ------------------------------------------------------------- */
.hif-hs-guides .hif-hs-wrap { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); display: grid; gap: var(--wp--preset--spacing--40); }
.hif-hs-guides__head { margin-bottom: var(--wp--preset--spacing--20); }
.hif-hs-guide { background: var(--wp--preset--color--base); border-radius: var(--hs-radius); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50) var(--wp--preset--spacing--50); box-shadow: var(--hs-shadow); }
.hif-hs-guide__head { display: flex; align-items: center; gap: 1rem; padding-bottom: var(--wp--preset--spacing--30); border-bottom: 1px solid var(--wp--preset--color--border); }
.hif-hs-guide__num {
	display: grid; place-items: center; flex: none;
	width: 3rem; height: 3rem; border-radius: 12px;
	font-weight: 700; font-size: 1.25rem; color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--forest);
}
.hif-hs-guide__num--primary { background: var(--wp--preset--color--primary); }
.hif-hs-guide__num--accent { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.hif-hs-guide__heading { flex: 1; min-width: 0; }
.hif-hs-guide__heading h3 { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.5rem, 2.6vw, var(--wp--preset--font-size--xx-large)); line-height: 1.15; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; }
.hif-hs-guide__heading p { margin-top: 0.25rem !important; color: var(--wp--preset--color--contrast-muted); line-height: 1.45; }
.hif-hs-pill { font-family: var(--wp--preset--font-family--body); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.25rem 0.65rem; border-radius: 6px; background: var(--hs-mint); color: var(--wp--preset--color--forest); }
.hif-hs-pill--rose { background: var(--hs-rose); color: var(--wp--preset--color--primary-dark); }
.hif-hs-chipbar { display: inline-flex; align-items: center; gap: 0.45rem; flex: none; font-weight: 600; font-size: 0.9375rem; padding: 0.4rem 0.9rem; border-radius: 999px; background: var(--hs-mint); color: var(--wp--preset--color--forest); }
.hif-hs-chipbar--primary { background: var(--hs-rose); color: var(--wp--preset--color--primary); }
.hif-hs-chipbar--gold { background: var(--hs-sand); color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, var(--wp--preset--color--accent)); }
.hif-hs-chipbar :is(svg, .hif-icon) { width: 1.1rem; height: 1.1rem; }
.hif-hs-guide__body { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--30); align-items: start; }
.hif-hs-label { font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--contrast-muted); margin-bottom: 0.4rem !important; }
.hif-hs-guide__best { line-height: 1.55; margin-bottom: var(--wp--preset--spacing--30) !important; }
.hif-hs-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--wp--preset--spacing--20); }
.hif-hs-method { background: var(--hs-panel); border-radius: var(--hs-radius-sm); padding: 1rem 1.15rem 1.2rem; }
.hif-hs-methods--3 .hif-hs-method { background: color-mix(in srgb, var(--wp--preset--color--accent) 12%, var(--wp--preset--color--base)); }
.hif-hs-methods--3 .hif-hs-method h5 { color: var(--wp--preset--color--forest); }
.hif-hs-method h5 { display: flex; align-items: center; gap: 0.5rem; font-size: 1.125rem; font-weight: 700; margin-bottom: 0.45rem !important; }
.hif-hs-method h5 :is(svg, .hif-icon) { color: var(--wp--preset--color--primary); }
.hif-hs-method p { line-height: 1.55; color: var(--wp--preset--color--contrast-muted); }
.hif-hs-method strong { color: var(--wp--preset--color--forest); }
.hif-hs-callout { display: flex; gap: 0.6rem; align-items: flex-start; margin-top: var(--wp--preset--spacing--20) !important; padding: 0.85rem 1.1rem; border-radius: var(--hs-radius-sm); line-height: 1.5; background: var(--hs-panel); }
.hif-hs-callout :is(svg, .hif-icon) { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; }
.hif-hs-callout--rose { background: var(--hs-rose); }
.hif-hs-callout--rose .hif-icon, .hif-hs-callout--rose strong { color: var(--wp--preset--color--primary); }
.hif-hs-callout--mint { background: var(--hs-mint); }
.hif-hs-callout--mint .hif-icon, .hif-hs-callout--mint strong { color: var(--wp--preset--color--forest); }
.hif-hs-callout--amber { background: color-mix(in srgb, var(--wp--preset--color--accent) 18%, var(--wp--preset--color--base)); }
.hif-hs-callout--red { background: color-mix(in srgb, var(--wp--preset--color--primary) 16%, var(--wp--preset--color--base)); }
.hif-hs-callout--red .hif-icon, .hif-hs-callout--red strong { color: var(--wp--preset--color--primary-dark); }
.hif-hs-guide__aside { background: var(--hs-panel); border-radius: var(--hs-radius-sm); overflow: hidden; }
.hif-hs-guide__media { aspect-ratio: 16 / 10; }
/* WordPress renders an empty Image block as nothing, so the placeholder is drawn by the aside. */
.hif-hs-guide__aside::before { content: ""; display: block; aspect-ratio: 16 / 10; background: linear-gradient(135deg, var(--hs-mint), var(--hs-sand)); }
.hif-hs-guide__aside:has(> .hif-hs-photo)::before { display: none; }
.hif-hs-guide__tip { padding: 1rem 1.15rem 1.25rem; }
.hif-hs-guide__tip h5 { font-size: 1.0625rem; font-weight: 700; margin-bottom: 0.3rem !important; }
.hif-hs-guide__tip p { line-height: 1.55; color: var(--wp--preset--color--contrast-muted); }

/* Storage & leftovers --------------------------------------------------------- */
.hif-hs-store .hif-hs-wrap { padding-block: var(--wp--preset--spacing--60); }
.hif-hs-store__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--50); align-items: stretch; }
.hif-hs-store__card { border-radius: var(--hs-radius); padding: var(--wp--preset--spacing--40); box-shadow: 0 6px 20px color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent); }
.hif-hs-store__card--steps { background: var(--wp--preset--color--base); }
.hif-hs-store__card--reheat { background: var(--hs-panel); }
.hif-hs-store__head { display: flex; align-items: center; gap: 0.9rem; padding-bottom: var(--wp--preset--spacing--30); border-bottom: 1px solid var(--wp--preset--color--border); }
.hif-hs-store__head h3 { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: var(--wp--preset--font-size--x-large); line-height: 1.15; }
.hif-hs-store__head p { color: var(--wp--preset--color--contrast-muted); }
.hif-hs-store__steps { display: grid; gap: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--30) !important; counter-reset: hs-step; }
.hif-hs-store__steps li { display: grid; grid-template-columns: 2.25rem 1fr; column-gap: 0.9rem; counter-increment: hs-step; }
.hif-hs-store__steps li::before { content: counter(hs-step); grid-row: span 2; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--hs-panel); font-weight: 700; }
.hif-hs-store__steps h4 { font-size: 1.125rem; font-weight: 700; }
.hif-hs-store__steps p { line-height: 1.5; color: var(--wp--preset--color--contrast-muted); }
.hif-hs-store__card .hif-hs-callout--neutral { margin-top: var(--wp--preset--spacing--30) !important; }
.hif-hs-store__minis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--20); margin-top: var(--wp--preset--spacing--30); }
.hif-hs-mini { background: var(--wp--preset--color--base); border-radius: var(--hs-radius-sm); padding: 1rem 1.1rem; }
.hif-hs-mini h4 { font-size: 1.0625rem; font-weight: 700; color: color-mix(in srgb, var(--wp--preset--color--contrast) 60%, var(--wp--preset--color--accent)); margin-bottom: 0.3rem !important; }
.hif-hs-mini p { line-height: 1.5; color: var(--wp--preset--color--contrast-muted); font-size: 0.9375rem; }
.hif-hs-store__card--reheat .hif-hs-callout { margin-top: var(--wp--preset--spacing--20) !important; }
.hif-hs-store__ask { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.4rem 1rem; margin-top: var(--wp--preset--spacing--20) !important; padding: 0.85rem 1.1rem; border-radius: var(--hs-radius-sm); background: var(--hs-sand); font-weight: 700; }
.hif-hs-store__ask a { color: var(--wp--preset--color--contrast); text-decoration: underline; text-underline-offset: 3px; }
.hif-hs-store__ask a:hover, .hif-hs-store__ask a:focus-visible { color: var(--wp--preset--color--primary); }

/* Golden rules ---------------------------------------------------------------- */
.hif-hs-rules .hif-hs-wrap { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }
.hif-hs-rules__head { text-align: center; }
.hif-hs-rules__head .hif-hs-sub { margin-inline: auto; }
.hif-hs-rules__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--50) !important; }
.hif-hs-rule { display: flex; flex-direction: column; gap: 0.7rem; background: var(--wp--preset--color--base); border-radius: var(--hs-radius); border-top: 6px solid var(--wp--preset--color--accent); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }
.hif-hs-rule:nth-child(even) { border-top-color: var(--wp--preset--color--forest); }
.hif-hs-rule h3 { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: var(--wp--preset--font-size--large); line-height: 1.2; }
.hif-hs-rule p { line-height: 1.55; color: var(--wp--preset--color--contrast-muted); }
.hif-hs-rule--wide { grid-column: span 2; flex-direction: row; align-items: flex-start; gap: 1rem; }
.hif-hs-rule__kicker { font-weight: 700; color: color-mix(in srgb, var(--wp--preset--color--contrast) 60%, var(--wp--preset--color--accent)); margin-bottom: 0.4rem !important; }

/* FAQ ------------------------------------------------------------------------- */
.hif-hs-faq .hif-hs-wrap { padding-block: var(--wp--preset--spacing--60); }
.hif-hs-faq__head { text-align: center; }
.hif-hs-faq__head .hif-hs-sub { margin-inline: auto; color: var(--wp--preset--color--contrast); }
.hif-hs-faq__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--30); align-items: start; margin-top: var(--wp--preset--spacing--50); }
.hif-hs-faq__col { display: grid; gap: var(--wp--preset--spacing--20); }
.hif-hs-q { background: var(--wp--preset--color--base); border-radius: var(--hs-radius-sm); }
.hif-hs-q summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; cursor: pointer; list-style: none; padding: 0.95rem 1.15rem; font-weight: 700; font-size: 1.0625rem; }
.hif-hs-q summary::-webkit-details-marker { display: none; }
.hif-hs-q summary::after { content: ""; flex: none; width: 0.55rem; height: 0.55rem; border-right: 2px solid var(--wp--preset--color--primary); border-bottom: 2px solid var(--wp--preset--color--primary); transform: rotate(45deg); transition: transform 0.2s ease; }
.hif-hs-q[open] summary::after { transform: rotate(-135deg); }
.hif-hs-q summary:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 2px; border-radius: var(--hs-radius-sm); }
.hif-hs-q p { padding: 0.9rem 1.15rem 1.15rem; margin-inline: 0; border-top: 1px solid var(--wp--preset--color--border); line-height: 1.6; color: var(--wp--preset--color--contrast-muted); }

/* CTA ------------------------------------------------------------------------- */
.hif-hs-cta .hif-hs-wrap { padding-block: var(--wp--preset--spacing--60); }
.hif-hs-cta__card {
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 1.2fr) auto; gap: var(--wp--preset--spacing--50); align-items: center;
	background: var(--wp--preset--color--primary-dark); color: var(--wp--preset--color--base);
	border-radius: var(--hs-radius); padding: var(--wp--preset--spacing--50);
	box-shadow: var(--hs-shadow);
}
.hif-hs-cta__card::before { content: ""; position: absolute; inset: -30% auto auto 45%; width: 28rem; height: 28rem; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--wp--preset--color--secondary) 45%, transparent), transparent); pointer-events: none; }
.hif-hs-cta__copy { position: relative; max-width: 38em; }
.hif-hs-cta__badge { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.9375rem; padding: 0.4rem 0.9rem; border-radius: 999px; background: color-mix(in srgb, var(--wp--preset--color--base) 16%, transparent); margin-bottom: var(--wp--preset--spacing--30) !important; }
.hif-hs-cta__title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(2rem, 4vw, var(--wp--preset--font-size--huge)); line-height: 1.08; text-wrap: balance; margin-bottom: var(--wp--preset--spacing--30) !important; }
.hif-hs-cta__copy > p:last-child { font-size: var(--wp--preset--font-size--large); line-height: 1.6; opacity: 0.92; }
.hif-hs-cta__actions { position: relative; display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); }
.hif-hs-btn { display: inline-flex; align-items: center; gap: 0.6rem; font-weight: 600; font-size: 1.0625rem; text-decoration: none; padding: 0.9rem 1.6rem; border-radius: 6px; transition: background-color 0.2s ease, transform 0.2s ease; }
.hif-hs-btn--gold { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); box-shadow: 0 4px 0 color-mix(in srgb, var(--wp--preset--color--accent) 55%, var(--wp--preset--color--contrast)); }
.hif-hs-btn--white { background: var(--wp--preset--color--base); color: var(--wp--preset--color--primary); }
.hif-hs-btn:hover, .hif-hs-btn:focus-visible { transform: translateY(-2px); }
.hif-hs-btn--gold:hover, .hif-hs-btn--gold:focus-visible { background: color-mix(in srgb, var(--wp--preset--color--accent) 88%, var(--wp--preset--color--contrast)); color: var(--wp--preset--color--contrast); }
.hif-hs-btn--white:hover, .hif-hs-btn--white:focus-visible { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--primary-dark); }

@media (max-width: 1024px) {
	.hif-hs-types__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hif-hs-rules__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hif-hs-rule--wide { grid-column: span 2; }
	.hif-hs-before__card, .hif-hs-store__grid, .hif-hs-cta__card { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
	.hif-hs-hero__grid, .hif-hs-guide__body, .hif-hs-faq__cols { grid-template-columns: 1fr; }
	.hif-hs-hero__figure { min-height: 22rem; order: -1; }
	.hif-hs-guide__head { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
	.hif-hs-chipbar { grid-column: 1 / -1; justify-self: start; }
	.hif-hs-guide__aside { display: grid; }
}
@media (max-width: 600px) {
	.hif-hs-types__grid, .hif-hs-rules__grid, .hif-hs-before__rules, .hif-hs-store__minis { grid-template-columns: 1fr; }
	.hif-hs-rule--wide { grid-column: auto; flex-direction: column; }
	.hif-hs-before__card, .hif-hs-cta__card, .hif-hs-guide { padding: var(--wp--preset--spacing--30); }
	.hif-hs-guide__head { gap: 0.75rem; }
	.hif-hs-btn { width: 100%; justify-content: center; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
	.hif-hs-type, .hif-hs-btn, .hif-hs-q summary::after { transition: none; }
	.hif-hs-type:hover, .hif-hs-type:focus-visible, .hif-hs-btn:hover, .hif-hs-btn:focus-visible { transform: none; }
}

/* Common Allergens ------------------------------------------------------------
   One-off page (patterns/allergens.php): cream hero → saffron band of ten allergen
   cards (folk-art strip closes it) → cream band with a pink-dark "questions?" card.
   All native blocks; tints are derived from palette tokens. */
.hif-page--al :where(h1, h2, p, figure) { margin: 0; }
.hif-al-wrap {
	max-width: 1300px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--40);
	box-sizing: border-box;
}

.hif-al-hero { background-color: var(--wp--preset--color--cream); background-image: url("../images/patterns/cream-pattern.png"); background-size: 50px; }
.hif-al-hero__inner {
	max-width: 760px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
	text-align: center;
	box-sizing: border-box;
}
.hif-al-hero__eyebrow { text-align: center; }
.hif-al-hero__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: clamp(2.25rem, 5vw, var(--wp--preset--font-size--huge));
	line-height: 1.15;
	color: var(--wp--preset--color--contrast);
	margin-bottom: var(--wp--preset--spacing--30) !important;
	text-wrap: balance;
}
.hif-al-hero__lede { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--wp--preset--color--contrast-muted); }

.hif-al-list { background-color: var(--wp--preset--color--accent); background-image: url("../images/patterns/yellow-pattern.png"); background-size: 50px; }
.hif-al-list .hif-al-wrap { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }
.hif-al-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }

.hif-al-card {
	display: grid;
	align-content: start;
	gap: 0.9rem;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border-radius: 16px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 8px 22px color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
}
.hif-al-card__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.25rem; }
.hif-al-card__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}
.hif-al-card:nth-child(even) .hif-al-card__icon { background: var(--wp--preset--color--forest); }
.hif-al-card__icon img { display: block; width: 1.65rem; height: 1.65rem; }
.hif-al-card__title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 1.5rem; line-height: 1.2; color: var(--wp--preset--color--forest); }
.hif-al-card__sub { font-size: 0.875rem; color: var(--wp--preset--color--contrast-muted); margin-top: 0.1rem !important; }

.hif-al-row { display: grid; gap: 0.25rem; padding: 0.8rem 1rem; border-radius: 10px; border-left: 4px solid var(--al-tone); background: color-mix(in srgb, var(--al-tone) 10%, var(--wp--preset--color--base)); }
.hif-al-row--found { --al-tone: var(--wp--preset--color--forest); }
.hif-al-row--hidden { --al-tone: var(--wp--preset--color--primary); }
.hif-al-row--note { --al-tone: var(--wp--preset--color--secondary); }
.hif-al-row__label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--al-tone); }
.hif-al-row__text { font-size: 0.975rem; line-height: 1.6; color: var(--wp--preset--color--contrast); }

.hif-al-cta { background: var(--wp--preset--color--cream); }
.hif-al-cta .hif-al-wrap { padding-block: var(--wp--preset--spacing--60); }
.hif-al-cta__card {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) auto;
	gap: var(--wp--preset--spacing--50);
	align-items: center;
	padding: var(--wp--preset--spacing--50);
	border-radius: 22px;
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
	box-shadow: 0 10px 30px color-mix(in srgb, var(--wp--preset--color--contrast) 16%, transparent);
}
.hif-al-cta__title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.75rem, 3.4vw, var(--wp--preset--font-size--xx-large)); line-height: 1.15; text-wrap: balance; margin-bottom: 0.6rem !important; }
.hif-al-cta__text { font-size: var(--wp--preset--font-size--large); line-height: 1.55; opacity: 0.92; }
.hif-al-cta__actions { gap: var(--wp--preset--spacing--20); }
.hif-al-btn--gold .wp-block-button__link { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.hif-al-btn--white .wp-block-button__link { background: var(--wp--preset--color--base); color: var(--wp--preset--color--primary); }
.hif-al-btn .wp-block-button__link { transition: transform 0.2s ease, background-color 0.2s ease; }
.hif-al-btn .wp-block-button__link:hover,
.hif-al-btn .wp-block-button__link:focus-visible { transform: translateY(-2px); }
.hif-al-btn--gold .wp-block-button__link:hover { background: color-mix(in srgb, var(--wp--preset--color--accent) 88%, var(--wp--preset--color--contrast)); color: var(--wp--preset--color--contrast); }
.hif-al-btn--white .wp-block-button__link:hover { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--primary-dark); }

@media (max-width: 900px) {
	.hif-al-grid { grid-template-columns: 1fr; }
	.hif-al-cta__card { grid-template-columns: 1fr; }
}
