/* ============================================================
   American Meathead v2.0.0 — bespoke styles
   Companion to theme.json. Handles section padding, card visuals,
   form chrome, badges, hovers — things tokens can't express.
   Reference vibe: Hey Grill Hey hero + Smoked BBQ Source gear blocks.
   ============================================================ */

:root {
	--am-content-max: 1240px;
	--am-rule: 1px solid var(--wp--preset--color--bone-gray);
}

/* ---------- Resets / base nudges ---------- */

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

body {
	background: var(--wp--preset--color--bg);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

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

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

/* WCAG 2.1 AA — visible focus state for skip-to-content link */
a.skip-link:focus,
a.skip-link:focus-visible {
	position: fixed !important;
	top: 1rem; left: 1rem;
	clip: auto !important; clip-path: none !important;
	width: auto !important; height: auto !important;
	margin: 0 !important; padding: 0.875rem 1.25rem !important;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	text-decoration: none;
	border-radius: 2px;
	z-index: 9999;
	outline: 3px solid var(--wp--preset--color--mustard);
	outline-offset: 2px;
}

/* Universal eyebrow style (used as block class + .am-eyebrow utility) */
.am-eyebrow,
.is-style-am-eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	margin: 0;
}

/* Section spacing helpers */
.am-section { position: relative; }
.am-section-header { width: 100%; }
.am-section-title { margin: 0; }
.am-section-link {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 700;
}
.am-section-link a {
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 180ms ease;
}
.am-section-link a:hover { border-bottom-color: var(--wp--preset--color--brick); }

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

.am-site-header {
	position: sticky; top: 0; z-index: 50;
	background-color: rgba(251, 250, 247, 0.97) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	min-height: 64px;
}

.am-brand-lockup a { text-decoration: none; color: inherit; }

.am-mascot-icon img {
	width: 36px; height: 36px;
	max-width: 36px; max-height: 36px;
	object-fit: contain;
}

.am-wordmark a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.125rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.005em;
}

/* Plain HTML nav — wp:navigation block has rendering bugs with overlayMenu */
.am-primary-nav { display: flex; }
.am-primary-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
.am-primary-nav li { margin: 0; }
.am-primary-nav a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding-block: 0.25rem;
	border-bottom: 2px solid transparent;
	transition: color 180ms ease, border-color 180ms ease;
}
.am-primary-nav a:hover {
	color: var(--wp--preset--color--brick);
	border-bottom-color: var(--wp--preset--color--brick);
}

.am-newsletter-btn { margin: 0; }
.am-newsletter-btn a {
	display: inline-block;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.875rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 0.625rem 1rem;
	text-decoration: none;
	border: 0;
	border-radius: 2px;
	transition: background-color 180ms ease;
}
.am-newsletter-btn a:hover { background: var(--wp--preset--color--text); }

.am-header-utility .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--bone-gray);
	background: var(--wp--preset--color--bg);
}
.am-header-utility .wp-block-search__input {
	background: transparent;
	font-size: 14px;
	color: var(--wp--preset--color--text);
	padding: 0.5rem 0.75rem;
}
.am-header-utility .wp-block-search__button {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	border: 0;
	padding: 0.5rem 0.75rem;
}

/* ---------- Hero — Two-Lane ---------- */

.am-hero-two-lane .am-hero-eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	margin: 0 0 1rem 0;
}

.am-hero-headline {
	font-family: var(--wp--preset--font-family--bricolage) !important;
	font-weight: 700;
	line-height: 1.08 !important;
	letter-spacing: -0.015em !important;
	color: var(--wp--preset--color--text);
	margin: 0;
	max-width: 14ch;
	hyphens: manual;
}

.am-hero-subhead {
	margin: 1.25rem 0 1.75rem 0;
	color: var(--wp--preset--color--text);
	line-height: 1.55;
	max-width: 40ch;
}

/* Hero newsletter inline form */
.am-hero-newsletter {
	display: flex; gap: 0;
	max-width: 460px;
	border: 1px solid var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg);
}
.am-hero-newsletter input[type="email"] {
	flex: 1; min-width: 0;
	border: 0; outline: 0;
	padding: 0.9rem 1rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	color: var(--wp--preset--color--text);
	background: transparent;
}
.am-hero-newsletter input[type="email"]::placeholder { color: var(--wp--preset--color--stone); }
.am-hero-newsletter button {
	border: 0; cursor: pointer;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0 1.5rem;
	white-space: nowrap;
	transition: background-color 180ms ease;
}
.am-hero-newsletter button:hover { background: var(--wp--preset--color--text); }

.am-hero-trust {
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
	column-gap: 1.5rem;
	row-gap: 0.5rem;
}
.am-hero-trust .am-trust-stat {
	margin: 0;
	display: inline-flex; align-items: baseline; gap: 0.4rem;
}
.am-hero-trust .am-trust-stat + .am-trust-stat {
	padding-left: 1.5rem;
	border-left: 1px solid var(--wp--preset--color--bone-gray);
}
.am-hero-trust .am-trust-stat strong {
	color: var(--wp--preset--color--text);
	font-weight: 800;
}

.am-hero-photo img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

/* ---------- Featured Recipes — 3-up cards (photo-first) ---------- */

.am-recipe-card { transition: transform 200ms ease; }
.am-recipe-card:hover { transform: translateY(-2px); }
.am-recipe-card__img img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
}
.am-recipe-card__title {
	margin: 0.35rem 0 0 0;
	text-wrap: balance;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.am-recipe-card__title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 180ms ease;
}
.am-recipe-card__title a:hover { border-bottom-color: var(--wp--preset--color--brick); }

/* ---------- Best Picks Callout (affiliate workhorse) ---------- */

.am-best-picks__title {
	color: var(--wp--preset--color--text);
	margin: 0;
}

.am-best-picks__row .wp-block-column { min-width: 0; }

.am-pick-card { text-align: left; }
.am-pick-card__img img {
	width: 100%; aspect-ratio: 1; object-fit: cover; display: block;
	border: 1px solid var(--wp--preset--color--bone-gray);
}
.am-pick-card__rank {
	margin: 0.5rem 0 0.125rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
}
.am-pick-card__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
}
.am-pick-card__price {
	margin: 0.25rem 0 0;
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--wp--preset--color--stone);
}

.am-cta-mustard .wp-block-button__link,
.wp-block-button.am-cta-mustard .wp-block-button__link {
	background: var(--wp--preset--color--mustard) !important;
	color: var(--wp--preset--color--text) !important;
	border-radius: 2px !important;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	padding: 1rem 1.75rem !important;
	transition: background-color 180ms ease;
}
.am-cta-mustard .wp-block-button__link:hover {
	background: var(--wp--preset--color--text) !important;
	color: var(--wp--preset--color--bg) !important;
}

/* ---------- Latest Gear Reviews — Pick Trio (Our Pick / Runner-Up / Budget) ---------- */

.am-gear-card {
	background: var(--wp--preset--color--bg);
	transition: transform 200ms ease, box-shadow 200ms ease;
	height: 100%;
}
.am-gear-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 0 0 var(--wp--preset--color--brick);
}
.am-gear-card__media { position: relative; }
.am-gear-card__img img {
	width: 100%; aspect-ratio: 16 / 10; object-fit: cover;
}

.am-rank-badge {
	position: absolute;
	top: 0.75rem; left: 0.75rem;
	display: inline-block;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.375rem 0.625rem;
	border-radius: 2px;
	z-index: 2;
}
.am-rank-badge--text { background: var(--wp--preset--color--text); }
.am-rank-badge--pickle { background: var(--wp--preset--color--pickle); }
.am-rank-badge--mustard { background: var(--wp--preset--color--mustard); color: var(--wp--preset--color--text); }

.am-gear-card__title { margin: 0.25rem 0 0; }
.am-gear-card__title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 180ms ease;
}
.am-gear-card__title a:hover { border-bottom-color: var(--wp--preset--color--brick); }

.am-gear-card__verdict { margin: 0; color: var(--wp--preset--color--text); }

.am-price-chip,
.is-style-am-price-chip {
	display: inline-block;
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--bone-gray);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 800;
	padding: 0.25rem 0.625rem;
	border-radius: 2px;
	margin: 0;
}

.am-gear-card__cta {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 700;
}
.am-gear-card__cta a {
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 180ms ease;
}
.am-gear-card__cta a:hover { border-bottom-color: var(--wp--preset--color--brick); }

/* ---------- BBQ Techniques — 4-up ---------- */

.am-technique-card {
	transition: transform 180ms ease, border-color 180ms ease;
	height: 100%;
}
.am-technique-card:hover {
	border-color: var(--wp--preset--color--brick) !important;
	transform: translateY(-2px);
}
.am-technique-card__icon { font-size: 1.875rem; line-height: 1; margin: 0 0 0.5rem; }
.am-technique-card__title { margin: 0; font-size: 1.25rem !important; }
.am-technique-card__title a {
	color: var(--wp--preset--color--text); text-decoration: none;
}
.am-technique-card__title a:hover { color: var(--wp--preset--color--brick); }
.am-technique-card__sub {
	margin: 0;
	color: var(--wp--preset--color--stone);
	font-size: 0.9375rem;
}

/* ---------- Every Table Fed (dietary cards) ---------- */

.am-diet-card__media { position: relative; }
.am-diet-card__img img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
}

.am-diet-badge {
	position: absolute;
	top: 0.75rem; left: 0.75rem;
	display: inline-block;
	background: var(--wp--preset--color--pickle);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.375rem 0.625rem;
	border-radius: 2px;
	z-index: 2;
}
.am-diet-badge--keto   { background: var(--wp--preset--color--pickle); }
.am-diet-badge--gf     { background: var(--wp--preset--color--mustard); color: var(--wp--preset--color--text); }
.am-diet-badge--lowna  { background: var(--wp--preset--color--brick); }

.am-diet-card__title { margin: 0.25rem 0 0; }
.am-diet-card__title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 180ms ease;
}
.am-diet-card__title a:hover { border-bottom-color: var(--wp--preset--color--brick); }

.am-diet-card__meta {
	margin: 0;
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
}

/* ---------- Founder block ---------- */

.am-founder__portrait img {
	width: 100%; aspect-ratio: 4 / 5; object-fit: cover;
	border: 1px solid var(--wp--preset--color--bone-gray);
}
.am-founder__title { margin: 0; color: var(--wp--preset--color--text); }
.am-founder__cta { margin: 0; }
.am-founder__cta a {
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	font-weight: 800;
	font-size: 1.0625rem;
	border-bottom: 2px solid var(--wp--preset--color--brick);
	transition: color 180ms ease;
}
.am-founder__cta a:hover { color: var(--wp--preset--color--text); border-bottom-color: var(--wp--preset--color--text); }

/* ---------- Newsletter CTA band ---------- */

.am-newsletter-cta { color: var(--wp--preset--color--bg); }
.am-newsletter-cta * { color: inherit; }
.am-newsletter-cta .am-eyebrow { color: var(--wp--preset--color--mustard) !important; }
.am-newsletter-cta__title { color: var(--wp--preset--color--bg) !important; }

.am-newsletter-cta__form {
	display: flex; gap: 0;
	max-width: 480px; margin: 0 auto;
	border: 2px solid var(--wp--preset--color--bg);
	background: var(--wp--preset--color--bg);
}
.am-newsletter-cta__form input[type="email"] {
	flex: 1; min-width: 0;
	border: 0; outline: 0;
	padding: 1rem 1.25rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	color: var(--wp--preset--color--text);
	background: transparent;
}
.am-newsletter-cta__form input[type="email"]::placeholder { color: var(--wp--preset--color--stone); }
.am-newsletter-cta__form button {
	border: 0; cursor: pointer;
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0 1.5rem;
	white-space: nowrap;
	transition: background-color 180ms ease;
}
.am-newsletter-cta__form button:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }

/* ============================================================
   SONIC BOOM v2.1.0 layer
   ============================================================ */

/* ---------- Hero secondary CTA (outlined button next to form) ---------- */
.am-hero-cta-row {
	margin: 0.875rem 0 0;
	display: flex;
	align-items: center;
}
/* v2.6.0 — promoted from text-link to real button so the secondary CTA
   carries the same visual weight as the newsletter button. Brick border +
   brick text reads as the "outlined" companion to the filled primary. */
.am-hero-cta-secondary {
	display: inline-flex;
	align-items: center;
	background: transparent;
	color: var(--wp--preset--color--brick);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.875rem 1.5rem;
	border: 2px solid var(--wp--preset--color--brick);
	border-radius: 2px;
	white-space: nowrap;
	transition: background-color 180ms ease, color 180ms ease, transform 120ms ease;
}
.am-hero-cta-secondary:hover {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	transform: translateY(-1px);
}

/* ---------- Section 2: Problem awareness ---------- */
.am-problem__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem 2rem;
}
.am-problem__item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	padding: 1.25rem 1.5rem;
}
.am-problem__icon {
	flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 1.125rem;
	line-height: 1;
}
.am-problem__body { flex: 1; min-width: 0; }
.am-problem__title {
	margin: 0 0 0.375rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.25;
	color: var(--wp--preset--color--text);
}
.am-problem__detail {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--wp--preset--color--stone);
}
.am-problem__closer { color: var(--wp--preset--color--text); }
.am-problem__closer strong {
	font-weight: 800;
	font-family: var(--wp--preset--font-family--bricolage);
}
.am-problem__closer a {
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	font-weight: 700;
	border-bottom: 2px solid var(--wp--preset--color--brick);
}

@media (max-width: 781px) {
	.am-problem__grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* ---------- Section 3: Proof bar (dark band) ---------- */
.am-proof-bar { color: var(--wp--preset--color--bg); }
.am-proof-bar__row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	align-items: stretch;
}
.am-proof-bar__cell {
	display: flex; flex-direction: column;
	gap: 0.25rem;
	border-left: 1px solid rgba(255,255,255,0.12);
	padding-left: 1.25rem;
}
.am-proof-bar__cell:first-child { border-left: 0; padding-left: 0; }
.am-proof-bar__num {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1;
	color: var(--wp--preset--color--mustard);
	letter-spacing: -0.01em;
}
.am-proof-bar__label {
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--wp--preset--color--bone-gray);
}

@media (max-width: 980px) {
	.am-proof-bar__row { grid-template-columns: repeat(2, 1fr); gap: 1rem 1.5rem; }
	.am-proof-bar__cell { border-left: 0; padding-left: 0; }
	.am-proof-bar__cell:nth-child(2) { border-left: 1px solid rgba(255,255,255,0.12); padding-left: 1.25rem; }
	.am-proof-bar__cell:nth-child(4) { border-left: 1px solid rgba(255,255,255,0.12); padding-left: 1.25rem; }
}

/* ---------- Section 4: The American Meathead Method ---------- */
.am-method__steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}
.am-method__step {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 1.5rem;
	align-items: start;
	padding: 1.5rem 0;
	border-top: 1px solid var(--wp--preset--color--bone-gray);
}
.am-method__step:first-child { border-top: 0; padding-top: 0; }
.am-method__num {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 4.5rem;
	line-height: 1;
	color: var(--wp--preset--color--mustard);
	letter-spacing: -0.04em;
}
.am-method__body { padding-top: 0.625rem; }
.am-method__title {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.625rem;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
}
.am-method__detail {
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--wp--preset--color--text);
	max-width: 60ch;
}

@media (max-width: 781px) {
	.am-method__step { grid-template-columns: 64px 1fr; gap: 1rem; }
	.am-method__num { font-size: 2.5rem; }
	.am-method__title { font-size: 1.375rem; }
}

/* ---------- Newsletter multi-CTA enhancements ---------- */
.am-newsletter-cta__alt {
	text-align: center;
	margin-top: 1.25rem;
	font-size: 0.875rem;
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.am-newsletter-cta__alt-link {
	color: var(--wp--preset--color--mustard) !important;
	text-decoration: none;
	font-weight: 700;
	border-bottom: 1px solid transparent;
	transition: border-color 180ms ease;
}
.am-newsletter-cta__alt-link:hover { border-bottom-color: var(--wp--preset--color--mustard); }
.am-newsletter-cta__alt-sep { color: var(--wp--preset--color--bone-gray); opacity: 0.5; }

@media (max-width: 600px) {
	.am-newsletter-cta__alt { flex-direction: column; gap: 0.375rem; }
	.am-newsletter-cta__alt-sep { display: none; }
}

/* ---------- Sticky mobile CTA bar ---------- */
.am-sticky-cta {
	display: none;
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 100;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	text-decoration: none;
	/* Padding-bottom honors iPhone home-indicator safe area; falls back to
	   0.875rem on devices without an inset. */
	padding: 0.875rem 1.25rem calc(0.875rem + env(safe-area-inset-bottom, 0px));
	box-shadow: 0 -4px 16px rgba(0,0,0,0.18);
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.02em;
	text-transform: none;
	transition: background-color 180ms ease;
}
.am-sticky-cta:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }
.am-sticky-cta__icon { font-size: 1.125rem; line-height: 1; }
.am-sticky-cta__arrow {
	font-weight: 800;
	transition: transform 180ms ease;
}
.am-sticky-cta:hover .am-sticky-cta__arrow { transform: translateX(4px); }

@media (max-width: 781px) {
	.am-sticky-cta { display: flex; }
	/* Bar intrinsic height ≈ 51px (0.875rem * 2 padding + ~22px line).
	   Adding 13px buffer + safe-area-inset-bottom keeps the last FAQ
	   accordion toggle and footer fully tappable above the bar on
	   notch + home-indicator iPhones. */
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
}

/* ============================================================
   STAGE 4 — Gear Review Template (v2.2.0)
   ============================================================ */

/* ---------- Breadcrumbs ---------- */
.am-breadcrumbs {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--stone);
}
.am-breadcrumbs ol {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: 0.4rem;
}
.am-breadcrumbs li::after { content: "›"; margin-left: 0.4rem; color: var(--wp--preset--color--bone-gray); }
.am-breadcrumbs li:last-child::after { content: ""; }
.am-breadcrumbs a {
	color: var(--wp--preset--color--stone);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 180ms ease;
}
.am-breadcrumbs a:hover { border-bottom-color: var(--wp--preset--color--brick); color: var(--wp--preset--color--brick); }

/* ============================================================
   v2.2.4 — Full-width sections + zero inter-section gap
   ============================================================ */

/* Kill the block-gap between top-level page sections everywhere.
   Sections handle their own internal padding-top/bottom, so they
   already breathe — we don't want WP injecting margin between siblings. */
.wp-site-blocks { gap: 0 !important; }
.wp-site-blocks > * + *,
.wp-block-template-part,
main.wp-block-group > * + *,
main.wp-block-group .wp-block-post-content > * + * {
	margin-block-start: 0 !important;
}
.wp-block-template-part { margin: 0 !important; }

/* Templates declare blockGap: 0 in attributes, but WP still emits a few
   default rules — this is the belt-and-suspenders kill. */
body main.wp-block-group,
body main.wp-block-group .wp-block-post-content,
.wp-site-blocks > main {
	--wp--style--block-gap: 0;
	row-gap: 0 !important;
}

/* Make text-heavy review sections readable at full-width.
   The section itself spans 100% (background color edge-to-edge),
   but the body text is centered with a max-width for legibility. */
.am-review-bluf > .wp-block-paragraph,
.am-review-bluf > .wp-block-heading,
.am-review-bluf > .am-eyebrow,
.am-review-faq > .wp-block-paragraph,
.am-review-faq > .wp-block-heading,
.am-review-faq > .am-eyebrow,
.am-review-faq > .am-faq-list {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

/* Specs section: keep specs table comfortably centered (table itself is dense). */
.am-review-specs > .wp-block-heading,
.am-review-specs > .am-specs-table {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

/* Final verdict close band: inner already wraps content, but ensure it centers. */
.am-review-close__inner {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

/* Section header in wider sections — left-align in a max-width column to
   match the inner grids that now span wider widths. */
.am-review-cooks > .am-section-header,
.am-review-related > .wp-block-heading {
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
}

/* ============================================================
   REVIEW HERO — Horizontal full-width (v2.2.2+)
   Photo left 58%, info col right 42%. Everything above the fold
   at 1440×900. Drops the verdict-box-on-right inset pattern.
   ============================================================ */

.am-review-hero--horizontal {
	background: var(--wp--preset--color--bg);
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
}

.am-review-hero__grid {
	display: grid;
	grid-template-columns: 58fr 42fr;
	gap: 0;
	align-items: stretch;
	min-height: clamp(560px, 78vh, 820px);
}

.am-review-hero__photo-col {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--cream);
}
.am-review-hero__photo {
	margin: 0;
	width: 100%; height: 100%;
	position: relative;
}
.am-review-hero__photo img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
/* OUR PICK 2026 wax-stamp on the hero photo (overrides earlier rule) */
.am-review-hero--horizontal .am-review-hero__photo::after {
	content: "OUR PICK\A 2026";
	white-space: pre;
	position: absolute;
	top: 1.5rem; right: 1.5rem;
	display: inline-flex;
	align-items: center; justify-content: center;
	text-align: center;
	width: 112px; height: 112px;
	border-radius: 50%;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 1.05;
	transform: rotate(-8deg);
	border: 3px double var(--wp--preset--color--bg);
	box-shadow: 0 3px 0 var(--wp--preset--color--text);
	z-index: 2;
	pointer-events: none;
}

.am-review-hero__info-col {
	padding: clamp(1.5rem, 3vw, 2.75rem) clamp(1.5rem, 3vw, 3rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	background: var(--wp--preset--color--bg);
}

.am-breadcrumbs--hero {
	font-size: 0.75rem;
	margin: 0 0 0.875rem;
}

.am-review-hero__eyebrow {
	margin: 0 0 0.5rem;
}

.am-review-hero__title {
	margin: 0 0 0.875rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: clamp(1.625rem, 2.4vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--text);
}

.am-review-hero__meta {
	display: flex; flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
	margin: 0 0 0.5rem;
}
.am-review-hero--horizontal .am-review-hero__stars {
	display: inline-flex; align-items: baseline; gap: 0.3rem;
	color: var(--wp--preset--color--mustard);
	font-weight: 800;
}
.am-review-hero--horizontal .am-stars-num {
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
}
.am-review-hero__sep { color: var(--wp--preset--color--bone-gray); }
.am-review-hero__byline a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--brick);
}

.am-review-hero__trust {
	margin: 0 0 1.125rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pickle);
}

.am-review-hero__verdict-pill {
	display: inline-block;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.4rem 0.75rem;
	border-radius: 2px;
	margin: 0 0 0.75rem;
	align-self: flex-start;
}

.am-review-hero__lede {
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
}

.am-review-hero__proscons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 1.25rem;
	margin: 0 0 1.125rem;
}
.am-review-hero__pros, .am-review-hero__cons {
	list-style: none; padding: 0; margin: 0;
	font-size: 0.875rem;
	line-height: 1.4;
}
.am-review-hero__pros li {
	padding: 0.2rem 0 0.2rem 1.25rem;
	position: relative;
	color: var(--wp--preset--color--text);
}
.am-review-hero__pros li::before {
	content: "✓"; position: absolute; left: 0;
	color: var(--wp--preset--color--pickle); font-weight: 800;
}
.am-review-hero__cons li {
	padding: 0.2rem 0 0.2rem 1.25rem;
	position: relative;
	color: var(--wp--preset--color--stone);
}
.am-review-hero__cons li::before {
	content: "✗"; position: absolute; left: 0;
	color: var(--wp--preset--color--brick); font-weight: 800;
}

.am-review-hero__cta-row {
	display: flex; flex-wrap: wrap; align-items: center;
	gap: 0.625rem;
}
.am-review-hero__buy-primary {
	flex: 1 1 220px;
	display: inline-flex; align-items: center; justify-content: space-between;
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.875rem 1.125rem;
	border: 0; border-radius: 2px;
	transition: background-color 180ms ease;
}
.am-review-hero__buy-primary:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }
.am-review-hero__buy-price {
	font-weight: 800;
	padding-left: 0.625rem;
	border-left: 1px solid rgba(27,27,27,0.25);
}
.am-review-hero__buy-secondary {
	background: transparent;
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 0.875rem;
	text-decoration: none;
	padding: 0.75rem 1rem;
	border: 1px solid var(--wp--preset--color--text);
	border-radius: 2px;
	transition: background-color 180ms ease;
}
.am-review-hero__buy-secondary:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }
.am-review-hero__buy-link {
	color: var(--wp--preset--color--brick);
	font-weight: 700;
	font-size: 0.875rem;
	text-decoration: none;
	padding: 0.5rem 0.25rem;
	border-bottom: 1px solid transparent;
}
.am-review-hero__buy-link:hover { border-bottom-color: var(--wp--preset--color--brick); }

/* Tablet — stack info under photo for breathing room */
@media (max-width: 1023px) {
	.am-review-hero__grid {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	.am-review-hero__photo img { aspect-ratio: 16 / 9; height: auto; }
	.am-review-hero--horizontal .am-review-hero__photo::after {
		width: 88px; height: 88px; font-size: 0.8125rem; top: 1rem; right: 1rem;
	}
	.am-review-hero__info-col { padding: 1.75rem 1.25rem; }
}

@media (max-width: 600px) {
	.am-review-hero__proscons { grid-template-columns: 1fr; gap: 0.25rem; }
	.am-review-hero__cta-row { flex-direction: column; align-items: stretch; }
	.am-review-hero__buy-primary { justify-content: center; gap: 0.625rem; }
	.am-review-hero__buy-secondary { text-align: center; }
	.am-review-hero__buy-link { text-align: center; padding: 0.875rem 0; }
}

/* ---------- Legacy review-hero meta (kept for backwards compat with non-horizontal patterns) ---------- */
.am-review-hero:not(.am-review-hero--horizontal) .am-review-hero__title { line-height: 1.1 !important; max-width: 22ch; }
.am-review-hero:not(.am-review-hero--horizontal) .am-review-hero__meta {
	display: flex; flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--stone);
	font-family: var(--wp--preset--font-family--inter);
}
.am-review-hero__stars {
	display: inline-flex; align-items: baseline; gap: 0.375rem;
	color: var(--wp--preset--color--mustard);
	font-weight: 800;
}
.am-stars { font-family: var(--wp--preset--font-family--bricolage); letter-spacing: 0.05em; }
.am-stars-num { color: var(--wp--preset--color--text); font-family: var(--wp--preset--font-family--inter); }
.am-review-hero__byline a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--brick);
}
.am-review-hero__sep { color: var(--wp--preset--color--bone-gray); opacity: 0.6; }
.am-review-hero__trust {
	font-weight: 700;
	color: var(--wp--preset--color--pickle);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.am-review-hero__photo img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
	border: 1px solid var(--wp--preset--color--bone-gray);
}

/* ---------- Verdict box (right rail above fold) ---------- */
.am-verdict-box {
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--bone-gray);
	padding: 1.5rem;
	position: relative;
}
.am-verdict-box__pill {
	display: inline-block;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.375rem 0.625rem;
	border-radius: 2px;
	margin-bottom: 0.875rem;
}
.am-verdict-box__title {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--wp--preset--color--text);
}
.am-verdict-box__lede {
	margin: 0 0 1rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--wp--preset--color--text);
}
.am-verdict-box__pros, .am-verdict-box__cons {
	list-style: none;
	padding: 0;
	margin: 0 0 0.875rem;
	font-size: 0.875rem;
}
.am-verdict-box__pros li {
	padding: 0.25rem 0 0.25rem 1.375rem;
	position: relative;
	color: var(--wp--preset--color--text);
}
.am-verdict-box__pros li::before {
	content: "✓"; position: absolute; left: 0;
	color: var(--wp--preset--color--pickle); font-weight: 800;
}
.am-verdict-box__cons li {
	padding: 0.25rem 0 0.25rem 1.375rem;
	position: relative;
	color: var(--wp--preset--color--stone);
}
.am-verdict-box__cons li::before {
	content: "✗"; position: absolute; left: 0;
	color: var(--wp--preset--color--brick); font-weight: 800;
}
.am-verdict-box__cta { display: flex; flex-direction: column; gap: 0.625rem; margin-top: 1rem; }
.am-verdict-box__buy-primary {
	display: flex; align-items: center; justify-content: space-between;
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.875rem 1.125rem;
	border: 0; border-radius: 2px;
	transition: background-color 180ms ease;
}
.am-verdict-box__buy-primary:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }
.am-verdict-box__buy-price { font-weight: 800; }
.am-verdict-box__buy-secondary {
	text-align: center;
	background: transparent;
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	text-decoration: none;
	padding: 0.75rem 1.125rem;
	border: 1px solid var(--wp--preset--color--text);
	border-radius: 2px;
	transition: background-color 180ms ease;
}
.am-verdict-box__buy-secondary:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }
.am-verdict-box__buy-link {
	text-align: center;
	color: var(--wp--preset--color--brick);
	font-weight: 700;
	font-size: 0.875rem;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}
.am-verdict-box__buy-link:hover { border-bottom-color: var(--wp--preset--color--brick); }

/* ---------- Specs table ---------- */
.am-specs-table { margin: 0; }
.am-specs-table__row {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 1rem;
	padding: 0.625rem 0;
	border-bottom: 1px dashed var(--wp--preset--color--bone-gray);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
}
.am-specs-table__row dt {
	color: var(--wp--preset--color--stone);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.75rem;
}
.am-specs-table__row dd {
	margin: 0;
	color: var(--wp--preset--color--text);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

/* ---------- Segment cards (for/skip) ---------- */
.am-segment-card {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	padding: 1.5rem;
	height: 100%;
}
.am-segment-card h3 {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.25rem;
}
.am-segment-card--for h3 { color: var(--wp--preset--color--pickle); }
.am-segment-card--skip h3 { color: var(--wp--preset--color--brick); }
.am-segment-card ul {
	list-style: none; padding: 0; margin: 0;
	font-size: 0.9375rem;
	line-height: 1.55;
}
.am-segment-card li {
	padding: 0.375rem 0 0.375rem 0;
	color: var(--wp--preset--color--text);
}
.am-segment-card a {
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

/* ---------- Cook grid (4-up) ---------- */
.am-cook-grid { gap: var(--wp--preset--spacing--30); }
.am-cook-card {
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--bone-gray);
	height: 100%;
}
.am-cook-card img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
}
.am-cook-card__body { padding: 0.875rem 1rem 1.125rem; }
.am-cook-card__count {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mustard);
}
.am-cook-card__name {
	margin: 0.125rem 0 0.375rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--wp--preset--color--text);
}
.am-cook-card__verdict {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--wp--preset--color--text);
}

/* ---------- Comparison cards ---------- */
.am-compare-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
.am-compare-card {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	padding: 1.5rem 1.25rem;
	display: flex; flex-direction: column;
	gap: 0.5rem;
}
.am-compare-card.is-highlighted {
	border-color: var(--wp--preset--color--brick);
	border-width: 2px;
	background: var(--wp--preset--color--cream);
	position: relative;
}
.am-compare-card__pill {
	display: inline-block;
	background: var(--wp--preset--color--bone-gray);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.25rem 0.5rem;
	border-radius: 2px;
	align-self: flex-start;
}
.am-compare-card__pill--brick {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
}
.am-compare-card__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
}
.am-compare-card__price {
	margin: 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--wp--preset--color--brick);
}
.am-compare-card__bullets {
	list-style: none; padding: 0; margin: 0.5rem 0 1rem;
	font-size: 0.875rem;
}
.am-compare-card__bullets li {
	padding: 0.25rem 0 0.25rem 1.125rem;
	position: relative;
	color: var(--wp--preset--color--text);
}
.am-compare-card__bullets li::before { content: "•"; position: absolute; left: 0; color: var(--wp--preset--color--brick); font-weight: 800; }
.am-compare-card__cta {
	margin-top: auto;
	color: var(--wp--preset--color--brick);
	font-weight: 700;
	font-size: 0.875rem;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	align-self: flex-start;
}
.am-compare-card__cta--current {
	color: var(--wp--preset--color--stone);
	border-bottom: 0;
	font-style: italic;
	font-weight: 600;
}

@media (max-width: 781px) {
	.am-compare-row { grid-template-columns: 1fr; gap: 1rem; }
}

/* ---------- Buy table (multi-vendor) ---------- */
.am-buy-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	background: var(--wp--preset--color--bg);
}
.am-buy-table th, .am-buy-table td {
	padding: 0.875rem 1rem;
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
	text-align: left;
	vertical-align: middle;
}
.am-buy-table thead th {
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	background: var(--wp--preset--color--cream);
}
.am-buy-table tbody th {
	font-weight: 700;
	color: var(--wp--preset--color--text);
}
.am-buy-table__price {
	font-weight: 800;
	color: var(--wp--preset--color--text);
	font-variant-numeric: tabular-nums;
}
.am-buy-table__note { color: var(--wp--preset--color--stone); font-size: 0.875rem; }
.am-buy-table__row.is-best { background: rgba(232, 163, 58, 0.08); }
.am-buy-table__badge {
	display: inline-block;
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.125rem 0.375rem;
	border-radius: 2px;
	margin-left: 0.5rem;
}
.am-buy-table__action { text-align: right !important; }
.am-buy-table__btn {
	display: inline-block;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-weight: 800;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.5rem 0.875rem;
	border-radius: 2px;
	text-decoration: none;
	transition: background-color 180ms ease;
}
.am-buy-table__btn:hover { background: var(--wp--preset--color--text); }
.am-buy-table__disclosure {
	margin: 1.25rem 0 0;
	padding: 1rem;
	background: var(--wp--preset--color--cream);
	border-left: 3px solid var(--wp--preset--color--brick);
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
}
.am-buy-table__disclosure strong {
	color: var(--wp--preset--color--brick);
	font-weight: 800;
}

@media (max-width: 600px) {
	.am-buy-table thead { display: none; }
	.am-buy-table tr { display: block; padding: 0.75rem 0; border-bottom: 2px solid var(--wp--preset--color--bone-gray); }
	.am-buy-table th, .am-buy-table td { display: block; padding: 0.25rem 0; border: 0; }
	.am-buy-table__action { text-align: left !important; padding-top: 0.5rem !important; }
}

/* ---------- FAQ accordion ---------- */
.am-faq-list { display: flex; flex-direction: column; gap: 0; }
.am-faq-item {
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
}
.am-faq-item__q {
	cursor: pointer;
	padding: 1.125rem 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.0625rem;
	color: var(--wp--preset--color--text);
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem;
	list-style: none;
}
.am-faq-item__q::-webkit-details-marker { display: none; }
.am-faq-item__q::after {
	content: "+";
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.5rem;
	color: var(--wp--preset--color--brick);
	flex-shrink: 0;
	transition: transform 180ms ease;
}
.am-faq-item[open] .am-faq-item__q::after { transform: rotate(45deg); }
.am-faq-item__a {
	padding: 0 0 1.125rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--text);
}
.am-faq-item__a p { margin: 0; }

/* ---------- Final verdict close band ---------- */
.am-review-close { color: var(--wp--preset--color--bg); }
.am-review-close * { color: inherit; }
.am-review-close__inner { text-align: center; }
.am-review-close__rating {
	display: inline-flex; align-items: baseline; gap: 0.625rem;
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--mustard);
}
.am-review-close__rating .am-stars { font-size: 1.5rem; }
.am-review-close__num { color: var(--wp--preset--color--bg); font-weight: 800; font-size: 1rem; }
.am-review-close__pill {
	display: inline-block;
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mustard);
}
.am-review-close__title {
	margin: 0 0 0.875rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.15;
	color: var(--wp--preset--color--bg);
	max-width: 24ch;
	margin-left: auto;
	margin-right: auto;
}
.am-review-close__lede {
	margin: 0 0 1.75rem;
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--wp--preset--color--bg);
	max-width: 50ch;
	margin-left: auto;
	margin-right: auto;
}
.am-review-close__cta {
	display: inline-flex; align-items: center; gap: 0.75rem;
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 1rem 1.75rem;
	border: 0; border-radius: 2px;
	text-decoration: none;
	transition: background-color 180ms ease;
}
.am-review-close__cta:hover { background: var(--wp--preset--color--bg); color: var(--wp--preset--color--text); }
.am-review-close__cta-price {
	padding-left: 0.75rem;
	border-left: 1px solid currentColor;
	opacity: 0.9;
}

/* ---------- Related reviews ---------- */
.am-related-row { gap: var(--wp--preset--spacing--40); }
.am-related-card {
	display: block;
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	text-decoration: none;
	color: inherit;
	transition: transform 200ms ease, box-shadow 200ms ease;
	height: 100%;
}
.am-related-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 0 0 var(--wp--preset--color--brick);
}
.am-related-card img {
	width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block;
}
.am-related-card__body { padding: 1rem 1.125rem 1.25rem; }
.am-related-card__category {
	display: block;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
}
.am-related-card__name {
	margin: 0.25rem 0 0.375rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
}
.am-related-card__verdict {
	margin: 0 0 0.625rem;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--wp--preset--color--text);
}
.am-related-card__cta {
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--wp--preset--color--brick);
}

/* ============================================================
   STAGE 4 POLISH — Sonic Boom retrofit (v2.2.1)
   Sticky buy box, OUR PICK stamp, mid-scroll deal band, TOC hide
   ============================================================ */

/* ---------- TOC hide on gear-review pages ---------- */
/* Easy Table of Contents plugin auto-injects a TOC box. We hide it inside
   the post content area on single-gear-review template pages. The plugin
   still loads (keeps option open for technique-guide pages), just not
   rendered here. */
.am-review-hero ~ #ez-toc-container,
.wp-block-post-content #ez-toc-container,
.entry-content > #ez-toc-container,
div#ez-toc-container { display: none !important; }

/* ---------- Verdict box elevation (4px brick top accent + sticky desktop) ---------- */
.am-verdict-box {
	border-top: 4px solid var(--wp--preset--color--brick);
	box-shadow: 0 1px 0 rgba(0,0,0,0.04);
	transition: box-shadow 200ms ease;
}
.am-verdict-box:hover {
	box-shadow: 0 6px 24px rgba(27,27,27,0.08);
}
/* Desktop sticky right-rail behavior (legacy verdict-box, not used in horizontal hero) */
@media (min-width: 1024px) {
	.am-review-hero:not(.am-review-hero--horizontal) .wp-block-column:last-child .am-verdict-box {
		position: sticky;
		top: 84px;
		align-self: flex-start;
		max-height: calc(100vh - 100px);
		overflow-y: auto;
	}
}

/* ---------- OUR PICK 2026 wax-stamp overlay on hero photo ---------- */
.am-review-hero__photo {
	position: relative;
}
.am-review-hero__photo::after {
	content: "OUR PICK\A 2026";
	white-space: pre;
	position: absolute;
	top: 1rem; right: 1rem;
	display: inline-flex;
	align-items: center; justify-content: center;
	text-align: center;
	width: 96px; height: 96px;
	border-radius: 50%;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	line-height: 1.05;
	transform: rotate(-8deg);
	border: 3px double var(--wp--preset--color--bg);
	box-shadow: 0 2px 0 var(--wp--preset--color--text);
	z-index: 2;
	pointer-events: none;
}

@media (max-width: 600px) {
	.am-review-hero__photo::after { width: 72px; height: 72px; font-size: 0.6875rem; top: 0.5rem; right: 0.5rem; }
}

/* ---------- Mid-scroll deal band (mustard CRO callout) ---------- */
.am-review-deal__inner {
	display: flex; align-items: center;
	gap: 1.25rem;
	max-width: 1000px; margin: 0 auto;
}
.am-review-deal__icon {
	font-size: 2.25rem;
	line-height: 1;
	flex-shrink: 0;
}
.am-review-deal__body {
	flex: 1; min-width: 0;
}
.am-review-deal__eyebrow {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	opacity: 0.7;
}
.am-review-deal__line {
	margin: 0.125rem 0 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.25;
	color: var(--wp--preset--color--text);
}
.am-review-deal__line strong {
	font-weight: 700;
	color: var(--wp--preset--color--brick);
}
.am-review-deal__cta {
	flex-shrink: 0;
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.875rem 1.25rem;
	border-radius: 2px;
	text-decoration: none;
	transition: background-color 180ms ease;
}
.am-review-deal__cta:hover {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
}

@media (max-width: 781px) {
	.am-review-deal__inner { flex-wrap: wrap; gap: 0.875rem; }
	.am-review-deal__cta { width: 100%; text-align: center; }
}

/* ---------- Comparison card top-tab "OUR PICK 2026" claim ---------- */
.am-compare-card.is-highlighted {
	position: relative;
	padding-top: 2rem;
}
.am-compare-card.is-highlighted::before {
	content: "▸ OUR PICK 2026";
	position: absolute;
	top: -2px; left: -2px; right: -2px;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.4rem 0.625rem;
	text-align: center;
}
/* Hide the duplicate inline pill on highlighted card (the top tab replaces it) */
.am-compare-card.is-highlighted .am-compare-card__pill--brick { display: none; }

/* ---------- Cook grid badge hover pulse ---------- */
@media (prefers-reduced-motion: no-preference) {
	.am-cook-card:hover .am-cook-card__count {
		animation: am-pulse 700ms ease-in-out;
	}
}
@keyframes am-pulse {
	0%, 100% { transform: scale(1); }
	50%      { transform: scale(1.08); color: var(--wp--preset--color--brick); }
}

/* ---------- Star rating pop on view ---------- */
@media (prefers-reduced-motion: no-preference) {
	.am-stars {
		animation: am-pop 600ms cubic-bezier(0.16, 1, 0.3, 1) both;
		animation-timeline: view();
		animation-range: entry 0% cover 25%;
		display: inline-block;
	}
}

/* ---------- Responsive nudges for review template ---------- */
@media (max-width: 781px) {
	.am-review-hero__title { max-width: 100%; }
	.am-review-hero .wp-block-columns { flex-wrap: wrap; }
	.am-review-hero .wp-block-column { flex-basis: 100% !important; }
	.am-cook-grid .wp-block-column { flex-basis: calc(50% - 0.5rem) !important; }
	.am-review-close__title { font-size: 1.5rem; }
}

@media (max-width: 600px) {
	.am-cook-grid .wp-block-column { flex-basis: 100% !important; }
}

/* ============================================================
   STAGE 4.5 — Recipe template (v2.3.0)
   ============================================================ */

.am-recipe-hero--horizontal {
	background: var(--wp--preset--color--bg);
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
}
.am-recipe-hero__grid {
	display: grid;
	grid-template-columns: 58fr 42fr;
	gap: 0;
	align-items: stretch;
	min-height: clamp(560px, 78vh, 820px);
}
.am-recipe-hero__photo-col {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--cream);
}
.am-recipe-hero__photo { margin: 0; width: 100%; height: 100%; position: relative; }
.am-recipe-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.am-recipe-hero__info-col {
	padding: clamp(1.5rem, 3vw, 2.75rem) clamp(1.5rem, 3vw, 3rem);
	display: flex; flex-direction: column; justify-content: center;
	background: var(--wp--preset--color--bg);
}
.am-recipe-hero__eyebrow { margin: 0 0 0.5rem; }
.am-recipe-hero__title {
	margin: 0 0 0.875rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: clamp(1.625rem, 2.4vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--text);
}
.am-recipe-hero__meta {
	display: flex; flex-wrap: wrap; gap: 0.5rem;
	align-items: center;
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
	margin: 0 0 1rem;
}
.am-recipe-hero__stars {
	display: inline-flex; align-items: baseline; gap: 0.3rem;
	color: var(--wp--preset--color--mustard);
	font-weight: 800;
}
.am-recipe-hero__stars .am-stars-num { color: var(--wp--preset--color--text); }
.am-recipe-hero__stars .am-stars-count {
	color: var(--wp--preset--color--stone);
	font-weight: 400;
	font-size: 0.8125rem;
	margin-left: 0.25rem;
}
.am-recipe-hero__sep { color: var(--wp--preset--color--bone-gray); }
.am-recipe-hero__byline a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--brick);
}

/* Stat row: Prep / Cook / Serves / Calories */
.am-recipe-hero__stats {
	list-style: none; padding: 0; margin: 0 0 1rem;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.875rem 1.25rem;
	border-top: 1px solid var(--wp--preset--color--bone-gray);
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
	padding: 0.875rem 0;
}
.am-recipe-hero__stats li {
	display: flex; flex-direction: column; gap: 0.1rem;
}
.am-stat__label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
}
.am-stat__value {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--wp--preset--color--text);
	letter-spacing: -0.01em;
}

.am-recipe-hero__badges {
	display: flex; gap: 0.4rem;
	margin: 0 0 0.875rem;
}
.am-recipe-hero__badges .am-diet-badge {
	position: static;
	transform: none;
	border-radius: 999px;
}

.am-recipe-hero__lede {
	margin: 0 0 1.25rem;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--wp--preset--color--text);
}

.am-recipe-hero__actions {
	display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.am-recipe-hero__btn {
	display: inline-flex; align-items: center;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.875rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.75rem 1.125rem;
	border-radius: 2px;
	cursor: pointer;
	border: 0;
	transition: background-color 180ms ease, color 180ms ease;
}
.am-recipe-hero__btn--primary {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
}
.am-recipe-hero__btn--primary:hover { background: var(--wp--preset--color--text); }
.am-recipe-hero__btn--secondary {
	background: transparent;
	color: var(--wp--preset--color--text);
	border: 1.5px solid var(--wp--preset--color--text);
}
.am-recipe-hero__btn--secondary:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }
.am-recipe-hero__btn--ghost {
	background: transparent;
	color: var(--wp--preset--color--brick);
	padding: 0.75rem 0.625rem;
}
.am-recipe-hero__btn--ghost:hover { color: var(--wp--preset--color--text); }

/* Recipe card (WPRM-compatible placeholder) */
.am-recipe-card {
	background: var(--wp--preset--color--bg);
	border: 2px solid var(--wp--preset--color--brick);
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem;
}
.am-recipe-card__header { border-bottom: 2px solid var(--wp--preset--color--brick); padding-bottom: 1.25rem; margin-bottom: 1.5rem; }
.am-recipe-card__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.875rem;
	margin: 0.4rem 0 0.625rem;
	color: var(--wp--preset--color--text);
}
.am-recipe-card__intro { margin: 0 0 1rem; color: var(--wp--preset--color--stone); font-size: 0.9375rem; }
.am-recipe-card__meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.625rem 1.5rem;
	margin: 0;
}
.am-recipe-card__meta div { display: flex; flex-direction: column; gap: 0.1rem; }
.am-recipe-card__meta dt {
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
}
.am-recipe-card__meta dd {
	margin: 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1rem;
	color: var(--wp--preset--color--text);
}
.am-recipe-card__grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 2.5rem; margin-bottom: 1.5rem; }
.am-recipe-card__ingredients h3,
.am-recipe-card__instructions h3,
.am-recipe-card__notes h3 {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.25rem;
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--text);
}
.am-recipe-card__ingredients ul { list-style: none; padding: 0; margin: 0; }
.am-recipe-card__ingredients li {
	padding: 0.5rem 0;
	border-bottom: 1px dashed var(--wp--preset--color--bone-gray);
	font-size: 0.9375rem;
	line-height: 1.45;
}
.am-recipe-card__instructions ol { padding-left: 1.5rem; margin: 0; }
.am-recipe-card__instructions li {
	padding: 0.5rem 0 0.875rem;
	font-size: 1rem;
	line-height: 1.55;
}
.am-recipe-card__instructions li strong { color: var(--wp--preset--color--brick); }
.am-recipe-card__notes {
	background: var(--wp--preset--color--cream);
	border-left: 4px solid var(--wp--preset--color--mustard);
	padding: 1rem 1.25rem;
	margin-bottom: 1.25rem;
}
.am-recipe-card__notes ul { padding-left: 1.25rem; margin: 0; }
.am-recipe-card__notes li { padding: 0.25rem 0; font-size: 0.9375rem; line-height: 1.5; }
.am-recipe-card__footer { font-size: 0.8125rem; color: var(--wp--preset--color--stone); border-top: 1px solid var(--wp--preset--color--bone-gray); padding-top: 1rem; }
.am-recipe-card__nutrition, .am-recipe-card__methodology { margin: 0.25rem 0; }
.am-recipe-card__nutrition strong, .am-recipe-card__methodology strong {
	color: var(--wp--preset--color--text);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.6875rem;
	margin-right: 0.4rem;
}

/* Responsive recipe */
@media (max-width: 1023px) {
	.am-recipe-hero__grid { grid-template-columns: 1fr; min-height: auto; }
	.am-recipe-hero__photo img { aspect-ratio: 16 / 9; height: auto; }
	.am-recipe-hero__info-col { padding: 1.75rem 1.25rem; }
	.am-recipe-hero__stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.am-recipe-card__grid { grid-template-columns: 1fr; gap: 1.5rem; }
	.am-recipe-card { padding: 1.25rem; }
	.am-recipe-hero__actions { flex-direction: column; }
	.am-recipe-hero__btn { width: 100%; justify-content: center; }
}

/* ============================================================
   STAGE 4.6 — Category Archive (v2.3.0)
   ============================================================ */

.am-archive-hero { max-width: 100%; }
.am-archive-hero__title { color: var(--wp--preset--color--text); margin: 0 0 var(--wp--preset--spacing--30); }
.am-archive-hero__desc { max-width: 760px; }

.am-archive-grid__items {
	gap: var(--wp--preset--spacing--40) !important;
}
.am-archive-card {
	transition: transform 200ms ease, box-shadow 200ms ease;
	height: 100%;
}
.am-archive-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 0 0 var(--wp--preset--color--brick);
}
.am-archive-card .wp-block-post-featured-image img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.am-archive-card__title { margin: 0.25rem 0 0.375rem !important; }
.am-archive-card__title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 180ms ease;
}
.am-archive-card__title a:hover { border-bottom-color: var(--wp--preset--color--brick); }
.am-archive-card__excerpt { margin: 0; color: var(--wp--preset--color--text); }
.am-archive-card__meta {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	color: var(--wp--preset--color--stone);
}
.am-archive-card__category {
	color: var(--wp--preset--color--brick) !important;
}

/* Pagination */
.am-pagination {
	font-family: var(--wp--preset--font-family--inter);
}
.am-pagination .page-numbers,
.am-pagination .wp-block-query-pagination-numbers a,
.am-pagination .wp-block-query-pagination-numbers span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 0.75rem;
	font-weight: 700;
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--bone-gray);
	transition: background-color 180ms ease, color 180ms ease;
}
.am-pagination .current,
.am-pagination .wp-block-query-pagination-numbers .current {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--brick);
}
.am-pagination .page-numbers:hover { background: var(--wp--preset--color--text); color: var(--wp--preset--color--bg); }

/* ============================================================
   STAGE 4.7 — Author Page (v2.3.0)
   ============================================================ */

.am-author-hero { border-bottom: 1px solid var(--wp--preset--color--bone-gray); }
.am-author-hero__portrait img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
	border: 4px solid var(--wp--preset--color--brick);
	max-width: 280px;
	margin: 0 auto;
	display: block;
}
.am-author-hero__name { margin: 0; color: var(--wp--preset--color--text); }
.am-author-hero__bio { max-width: 60ch; }
.am-author-hero__stats {
	list-style: none; padding: 0; margin: var(--wp--preset--spacing--40) 0 0;
	display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem;
}
.am-author-hero__stats li {
	display: flex; flex-direction: column; gap: 0.1rem;
}
.am-author-hero__stats .am-stat__value {
	font-size: 2rem;
	color: var(--wp--preset--color--brick);
}
.am-author-hero__stats .am-stat__label {
	font-size: 0.75rem;
}

@media (max-width: 781px) {
	.am-author-hero .wp-block-columns { flex-wrap: wrap; }
	.am-author-hero .wp-block-column { flex-basis: 100% !important; }
	.am-author-hero__portrait img { max-width: 200px; }
	.am-author-hero__stats { gap: 1rem 2rem; }
}

/* ============================================================
   STAGE 4.8 — Archive + Author polish (v2.4.0)
   ============================================================ */

/* ----- Featured image fallback (when post has no thumbnail) ----- */
.am-card-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(135deg, var(--wp--preset--color--text) 0%, var(--wp--preset--color--iron) 100%);
	color: var(--wp--preset--color--mustard);
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(2.5rem, 6vw, 3.5rem);
	letter-spacing: -0.04em;
	line-height: 1;
	position: relative;
	overflow: hidden;
}
.am-card-fallback::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		repeating-linear-gradient(
			45deg,
			transparent 0px,
			transparent 12px,
			rgba(255, 255, 255, 0.025) 12px,
			rgba(255, 255, 255, 0.025) 13px
		);
}
.am-card-fallback__mark {
	position: relative;
	z-index: 1;
	border-bottom: 3px solid var(--wp--preset--color--brick);
	padding: 0 0.25rem 0.05rem;
}

/* ----- Archive: post count + filter chips ----- */
.am-archive-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-bottom: var(--wp--preset--spacing--40);
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
}
.am-archive-count {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
	margin: 0;
}
.am-archive-count strong {
	color: var(--wp--preset--color--text);
	font-weight: 800;
}
.am-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
.am-filter-chips__label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--stone);
	padding: 0.5rem 0;
	margin: 0 0.25rem 0 0;
}
.am-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.75rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 999px;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.am-filter-chip:hover {
	border-color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--cream);
}
.am-filter-chip.is-active {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--text);
}

/* ----- Archive: featured first-card layout (FLAT mode, :first-child) -----
   The flat-mode post-template grid renders ALL cards with the same markup.
   The first card spans the full row and switches to a horizontal image|body
   layout via CSS. "★ Editor's Pick" badge is injected via ::before pseudo-
   element on the card body.

   Scoped under .am-archive-grid so this treatment does NOT bleed into hub
   mode sections (.am-hub-section .am-archive-grid__items), where every card
   is the same size. */
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child {
	grid-column: 1 / -1 !important;
}
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 0;
}
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__media {
	height: 100%;
}
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__media .wp-block-post-featured-image,
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__media figure {
	height: 100%;
}
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__media img,
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__media .am-card-fallback {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	min-height: 320px;
}
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__body {
	padding: clamp(1.5rem, 3vw, 2.5rem) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.6rem;
}
/* "★ Editor's Pick" flag — only on the first card in flat mode */
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__body::before {
	content: "★ Editor's Pick";
	display: inline-flex;
	align-items: center;
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.375rem 0.625rem;
	border-radius: 2px;
	width: max-content;
	margin: 0 0 0.25rem;
}
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__title {
	font-size: clamp(1.5rem, 3vw, 2.125rem) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
}
.am-archive-grid .am-archive-grid__items .wp-block-post:first-child .am-archive-card__excerpt {
	font-size: 1rem !important;
	color: var(--wp--preset--color--text);
	margin: 0.25rem 0 0.5rem !important;
}

/* ----- Hub-mode sections (v2.5.0) -----
   On parent category pages, one section is emitted per immediate child.
   Each section has a header (title + "See all N →" link) and a 6-card grid
   using the same .am-archive-card design as flat mode. */
.am-hub-section {
	background: var(--wp--preset--color--bg);
}
.am-hub-section:nth-of-type(even) {
	background: var(--wp--preset--color--cream);
}
.am-hub-section--latest {
	background: var(--wp--preset--color--cream) !important;
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
}
.am-hub-section__header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	margin: 0 auto var(--wp--preset--spacing--40);
	max-width: 1440px;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--wp--preset--color--text);
}
.am-hub-section__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-hub-section--latest .am-hub-section__title {
	color: var(--wp--preset--color--brick);
}
.am-hub-section__see-all {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 180ms ease;
}
.am-hub-section__see-all::after {
	content: " →";
}
.am-hub-section__see-all:hover {
	border-bottom-color: var(--wp--preset--color--brick);
}
/* The wp:query block inside hub sections renders its own .wp-block-query
   wrapper; the grid spacing is fine, but constrain max width to match the
   header. */
.am-hub-section .wp-block-query {
	max-width: 1440px;
	margin: 0 auto;
}
/* Cards inside hub sections look identical to flat mode but never get the
   :first-child featured treatment (scoped out above). */
.am-hub-section .am-archive-grid__items {
	gap: var(--wp--preset--spacing--40) !important;
}

@media (max-width: 781px) {
	.am-hub-section__header {
		flex-direction: column;
		align-items: flex-start;
	}
	.am-hub-section__title {
		font-size: 1.5rem;
	}
}

/* ----- Archive: Sonic Boom card polish ----- */
.am-archive-card {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	display: flex;
	flex-direction: column;
}
.am-archive-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 0 0 var(--wp--preset--color--brick);
	border-color: var(--wp--preset--color--text);
}
.am-archive-card__media {
	position: relative;
	overflow: hidden;
}
.am-archive-card__media img {
	transition: transform 320ms ease;
}
.am-archive-card:hover .am-archive-card__media img {
	transform: scale(1.04);
}
/* Mustard category-pill — absolute over the image */
.am-archive-card__pill {
	position: absolute;
	top: 0.625rem;
	left: 0.625rem;
	display: inline-block;
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.35rem 0.6rem;
	border-radius: 2px;
	text-decoration: none;
	z-index: 2;
}
.am-archive-card__pill:hover {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
}
.am-archive-card__byline {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	color: var(--wp--preset--color--stone);
	margin: 0.5rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
}
.am-archive-card__byline a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}
.am-archive-card__byline a:hover {
	border-bottom-color: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--brick);
}
.am-archive-card__byline .sep {
	color: var(--wp--preset--color--bone-gray);
}

/* ----- Archive: brand pagination ----- */
.am-pagination {
	font-family: var(--wp--preset--font-family--inter);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
}
.am-pagination .page-numbers,
.am-pagination .wp-block-query-pagination-numbers a,
.am-pagination .wp-block-query-pagination-numbers span,
.am-pagination .wp-block-query-pagination-previous,
.am-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: 0 1rem;
	font-size: 0.9375rem;
	font-weight: 800;
	color: var(--wp--preset--color--text);
	text-decoration: none;
	background: var(--wp--preset--color--bg);
	border: 2px solid var(--wp--preset--color--text);
	transition: background-color 180ms ease, color 180ms ease, transform 120ms ease;
}
.am-pagination .current,
.am-pagination .wp-block-query-pagination-numbers .current {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--brick);
}
.am-pagination .page-numbers:hover,
.am-pagination .wp-block-query-pagination-previous:hover,
.am-pagination .wp-block-query-pagination-next:hover {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	transform: translateY(-1px);
}

/* ----- Author: social + trust row ----- */
.am-author-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.25rem 0 0;
	list-style: none;
	padding: 0;
}
.am-author-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 2px solid var(--wp--preset--color--text);
	color: var(--wp--preset--color--text);
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}
.am-author-social a:hover {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
}
.am-author-social svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}
.am-author-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
}
.am-author-trust a {
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	font-weight: 700;
	border-bottom: 1px solid transparent;
	transition: border-color 180ms ease;
}
.am-author-trust a:hover {
	border-bottom-color: var(--wp--preset--color--brick);
}
.am-author-trust a::before {
	content: "→ ";
	color: var(--wp--preset--color--stone);
	font-weight: 800;
	margin-right: 0.15rem;
}

/* ----- Author: byline-framed grid eyebrow ----- */
.am-archive-card__author-eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	margin: 0 0 0.25rem;
}
.am-archive-card__author-eyebrow strong {
	color: var(--wp--preset--color--brick);
	font-weight: 800;
}

/* ----- Responsive ----- */
@media (max-width: 781px) {
	.am-archive-controls {
		flex-direction: column;
		align-items: flex-start;
	}
	.am-archive-grid__items .wp-block-post:first-child .am-archive-card {
		grid-template-columns: 1fr;
	}
	.am-archive-grid__items .wp-block-post:first-child .am-archive-card__media img,
	.am-archive-grid__items .wp-block-post:first-child .am-archive-card__media .am-card-fallback {
		min-height: 220px;
		aspect-ratio: 16 / 10;
	}
	.am-pagination .page-numbers,
	.am-pagination .wp-block-query-pagination-numbers a,
	.am-pagination .wp-block-query-pagination-numbers span,
	.am-pagination .wp-block-query-pagination-previous,
	.am-pagination .wp-block-query-pagination-next {
		min-width: 44px;
		height: 44px;
		padding: 0 0.75rem;
		font-size: 0.875rem;
	}
}

/* ============================================================
   STAGE 5 — Dietary recipe variants (v2.7.0)
   ============================================================ */

/* ----- Recipe featured image hero (single-recipe + single-recipe-variant) ----- */
.am-recipe-featured {
	margin: 0 !important;
	max-height: clamp(280px, 48vh, 560px);
	overflow: hidden;
	background: var(--wp--preset--color--text);
}
.am-recipe-featured img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.am-recipe-featured.wp-block-post-featured-image {
	aspect-ratio: 21 / 9;
}
@media (max-width: 781px) {
	.am-recipe-featured.wp-block-post-featured-image {
		aspect-ratio: 16 / 10;
	}
	.am-recipe-featured {
		max-height: 40vh;
	}
}

/* ----- Variant hero — top of every variant page (replaces v2.7.0 banner) ----- */
.am-variant-hero {
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
	background: var(--wp--preset--color--cream);
}
.am-variant-hero--gluten-free { background: color-mix(in oklab, var(--wp--preset--color--mustard) 12%, var(--wp--preset--color--cream)); }
.am-variant-hero--keto        { background: color-mix(in oklab, var(--wp--preset--color--brick)   10%, var(--wp--preset--color--cream)); }
.am-variant-hero--low-sodium  { background: color-mix(in oklab, var(--wp--preset--color--pickle)  12%, var(--wp--preset--color--cream)); }
.am-variant-hero--veg         { background: color-mix(in oklab, var(--wp--preset--color--pickle)  18%, var(--wp--preset--color--cream)); }

/* Desktop: true edge-to-edge side-by-side. Tablet + mobile fall back to a
   stacked single-column layout in the media queries below. Section padding
   is zero so the photo touches the viewport's left edge.

   When no featured image exists (.am-variant-hero--no-image), the grid
   collapses to single column and the info col regains a max-width so the
   text doesn't span the whole viewport awkwardly. */
.am-variant-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: stretch;
}
.am-variant-hero--has-image .am-variant-hero__grid {
	grid-template-columns: 58fr 42fr;
	min-height: clamp(440px, 60vh, 620px);
}
.am-variant-hero--no-image .am-variant-hero__info-col {
	max-width: 900px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
}
.am-variant-hero__photo-col {
	margin: 0;
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--text);
}
.am-variant-hero__image,
.am-variant-hero__photo-col img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.am-variant-hero__info-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.875rem;
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 2.75rem) clamp(1.5rem, 3vw, 3rem);
}
.am-variant-hero .am-breadcrumbs--hero {
	margin: 0;
	font-size: 0.8125rem;
}
.am-variant-hero__chip {
	display: inline-flex;
	align-items: center;
	width: max-content;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.4rem 0.7rem;
	border-radius: 2px;
	color: var(--wp--preset--color--text);
	margin-top: 0.5rem;
}
.am-variant-hero__chip--mustard { background: var(--wp--preset--color--mustard); }
.am-variant-hero__chip--brick   { background: var(--wp--preset--color--brick); color: var(--wp--preset--color--bg); }
.am-variant-hero__chip--pickle  { background: var(--wp--preset--color--pickle); color: var(--wp--preset--color--bg); }

.am-variant-hero__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.875rem, 4.5vw, 3rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-variant-hero__byline {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
}
.am-variant-hero__byline a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	font-weight: 700;
	border-bottom: 1px solid transparent;
	transition: border-color 180ms ease;
}
.am-variant-hero__byline a:hover {
	border-bottom-color: var(--wp--preset--color--brick);
}
.am-variant-hero__byline .sep {
	color: var(--wp--preset--color--bone-gray);
	margin: 0 0.4rem;
}
.am-variant-hero__excerpt {
	margin: 0.25rem 0 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
	font-weight: 500;
	line-height: 1.4;
	color: var(--wp--preset--color--text);
}
.am-variant-hero__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--bone-gray);
}
.am-variant-hero__original {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	text-decoration: none;
	color: var(--wp--preset--color--text);
	padding: 0.625rem 1rem;
	border: 2px solid var(--wp--preset--color--text);
	border-radius: 2px;
	background: var(--wp--preset--color--bg);
	transition: background-color 180ms ease, color 180ms ease, transform 120ms ease;
}
.am-variant-hero__original:hover {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	transform: translateY(-1px);
}
.am-variant-hero__original-eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.7;
}
.am-variant-hero__original-title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.am-variant-hero__tagline {
	margin: 0;
	flex: 1 1 280px;
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 0.9375rem;
	font-style: italic;
	font-weight: 500;
	line-height: 1.4;
	color: var(--wp--preset--color--text);
	opacity: 0.8;
	text-align: right;
}

@media (max-width: 900px) {
	/* Stack on tablet + mobile. The desktop edge-to-edge full-bleed gives
	   way to a stacked layout with internal padding restored on the info
	   col, and a fixed photo aspect ratio so it doesn't dominate. */
	.am-variant-hero--has-image .am-variant-hero__grid {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.am-variant-hero__image,
	.am-variant-hero__photo-col img {
		aspect-ratio: 16 / 10;
		max-height: 40vh;
	}
	.am-variant-hero--has-image .am-variant-hero__info-col {
		padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	}
}
@media (max-width: 781px) {
	.am-variant-hero__footer {
		flex-direction: column;
		align-items: flex-start;
	}
	.am-variant-hero__original {
		width: 100%;
	}
	.am-variant-hero__tagline {
		text-align: left;
	}
}

/* ----- Variant body — readability shell for the post content ----- */
/* Shared readability shell used by both variant + article body templates.
   v2.8.0 — extended to .am-article-body so the editorial article template
   inherits the same Inter/Bricolage typography stack as the variant body. */
.am-variant-body,
.am-article-body,
.am-recipe-body {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--wp--preset--color--text);
}
.am-variant-body > * + *,
.am-article-body > * + *,
.am-recipe-body > * + * {
	margin-top: 1.25rem;
}
.am-variant-body h2,
.am-article-body h2,
.am-recipe-body h2 {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--text);
	margin: 2.5rem 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--wp--preset--color--brick);
}
.am-variant-body h3,
.am-article-body h3,
.am-recipe-body h3 {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.25rem;
	font-weight: 700;
	margin: 2rem 0 0.5rem;
	color: var(--wp--preset--color--text);
}
.am-variant-body p,
.am-article-body p,
.am-recipe-body p {
	margin: 0 0 1rem;
}
.am-variant-body ul,
.am-variant-body ol,
.am-article-body ul,
.am-article-body ol,
.am-recipe-body ul,
.am-recipe-body ol {
	margin: 0 0 1rem 1.5rem;
	padding-left: 0.5rem;
}
.am-variant-body li + li,
.am-article-body li + li,
.am-recipe-body li + li {
	margin-top: 0.5rem;
}
.am-variant-body strong,
.am-article-body strong,
.am-recipe-body strong { font-weight: 700; }
.am-variant-body a,
.am-article-body a,
.am-recipe-body a {
	color: var(--wp--preset--color--brick);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* ============================================================
   Recipe body editorial polish (v2.13.2)
   Canonical single-recipe body only. Reading column is set a
   touch wider than the recipe card (single-recipe.html:
   contentSize 780px) so the WPRM card reads as a distinct,
   inset module. Plus a drop cap, a branded header underline
   accent, and an H3 tick to warm up the prose column.
   Header/drop-cap rules are scoped to `.entry-content > *` so
   the WPRM card's own internal headings stay untouched.
   ============================================================ */

/* Recipe card: narrower than the prose, centered, as a module. */
.am-recipe-body .wprm-recipe-container {
	max-width: 660px !important;
	margin: 2.5rem auto !important;
}

/* Drop cap on the opening paragraph. */
.am-recipe-body .entry-content > p:first-of-type::first-letter {
	float: left;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 3.75rem;
	line-height: 0.78;
	color: var(--wp--preset--color--brick);
	margin: 0.35rem 0.6rem 0 0;
	text-transform: uppercase;
}

/* Branded header underline: the existing brick border-bottom plus a
   short mustard accent segment at the start of the rule. */
.am-recipe-body .entry-content > h2 {
	position: relative;
}
.am-recipe-body .entry-content > h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px; /* overlaps the brick border-bottom from the h2 rule above */
	width: 64px;
	height: 4px;
	background: var(--wp--preset--color--mustard);
}

/* Sub-section H3s get a brick tick so they don't feel bare. */
.am-recipe-body .entry-content > h3 {
	padding-left: 0.85rem;
	border-left: 3px solid var(--wp--preset--color--brick);
}

/* ----- Variant companions — sibling cross-link strip ----- */
.am-variant-companions {
	border-top: 1px solid var(--wp--preset--color--bone-gray);
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
}
.am-variant-companions__header {
	max-width: 1240px;
	margin: 0 auto var(--wp--preset--spacing--40);
}
.am-variant-companions__eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	margin: 0 0 0.25rem;
}
.am-variant-companions__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.5rem, 3vw, 2.125rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-variant-companions__grid {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}
.am-variant-companions__card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	text-decoration: none;
	color: var(--wp--preset--color--text);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
	height: 100%;
	overflow: hidden;
}
.am-variant-companions__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 0 0 var(--wp--preset--color--brick);
	border-color: var(--wp--preset--color--text);
}

/* Card media — featured image at top, chip overlay top-left */
.am-variant-companions__media {
	margin: 0;
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wp--preset--color--text);
	display: flex;
	align-items: center;
	justify-content: center;
}
.am-variant-companions__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 320ms ease;
}
.am-variant-companions__card:hover .am-variant-companions__media img {
	transform: scale(1.04);
}
/* Fallback when post has no featured image — branded "AM" mark on diet-color */
.am-variant-companions__media-mark {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(2rem, 4vw, 2.75rem);
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--mustard);
	border-bottom: 3px solid var(--wp--preset--color--brick);
	padding: 0 0.25rem 0.05rem;
}
.am-variant-companions__media--brick   { background: color-mix(in oklab, var(--wp--preset--color--brick)   25%, var(--wp--preset--color--text)); }
.am-variant-companions__media--mustard { background: color-mix(in oklab, var(--wp--preset--color--mustard) 20%, var(--wp--preset--color--text)); }
.am-variant-companions__media--pickle  { background: color-mix(in oklab, var(--wp--preset--color--pickle)  25%, var(--wp--preset--color--text)); }

/* Chip overlay on the image */
.am-variant-companions__chip {
	position: absolute;
	top: 0.625rem;
	left: 0.625rem;
	display: inline-flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.35rem 0.6rem;
	border-radius: 2px;
	z-index: 2;
}
.am-variant-companions__chip--text    { background: var(--wp--preset--color--text);    color: var(--wp--preset--color--bg); }
.am-variant-companions__chip--brick   { background: var(--wp--preset--color--brick);   color: var(--wp--preset--color--bg); }
.am-variant-companions__chip--mustard { background: var(--wp--preset--color--mustard); color: var(--wp--preset--color--text); }
.am-variant-companions__chip--pickle  { background: var(--wp--preset--color--pickle);  color: var(--wp--preset--color--bg); }
.am-variant-companions__chip--stone   { background: var(--wp--preset--color--stone);   color: var(--wp--preset--color--bg); }

/* Card body — title + arrow row below the image */
.am-variant-companions__body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.875rem;
	padding: 1rem 1.125rem 1.125rem;
	flex: 1 1 auto;
}
.am-variant-companions__name {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	margin: 0;
	flex: 1 1 auto;
}
.am-variant-companions__arrow {
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--wp--preset--color--brick);
	transition: transform 180ms ease;
	line-height: 1;
}
.am-variant-companions__card:hover .am-variant-companions__arrow {
	transform: translateX(4px);
}

@media (max-width: 781px) {
	.am-variant-banner__inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.am-variant-banner__parent {
		width: 100%;
	}
}

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

.am-site-footer a {
	color: var(--wp--preset--color--bone-gray);
	text-decoration: none;
}
.am-site-footer a:hover {
	color: var(--wp--preset--color--bg);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--wp--preset--color--mustard);
}
.am-footer-list { list-style: none; padding: 0; margin: 0; }
.am-footer-list li { padding: 0.25rem 0; font-size: 0.9375rem; }

.am-footer-wordmark a {
	color: var(--wp--preset--color--bg) !important;
}

.am-footer-mascot img {
	width: 40px; height: 40px;
	max-width: 40px; max-height: 40px;
	filter: invert(1) brightness(1.4);
}

.am-affiliate-disclosure { max-width: 720px; }
.am-affiliate-disclosure strong {
	color: var(--wp--preset--color--mustard);
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.75rem;
	margin-right: 0.5rem;
}

/* ---------- Block style variants ---------- */

.is-style-am-rule-brick {
	border: 0 !important;
	background-color: var(--wp--preset--color--brick) !important;
	height: 2px !important;
	max-width: 60px !important;
	margin-left: 0 !important;
}

.is-style-am-pick-rank {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: 0.6875rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--wp--preset--color--brick) !important;
}

.is-style-am-dietary-badge {
	display: inline-block;
	background: var(--wp--preset--color--pickle);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.25rem 0.625rem;
	border-radius: 2px;
}

.is-style-am-card-photo-first { padding: 0 !important; }

/* ---------- Forms / focus visibility ---------- */

input, textarea, select, button {
	font-family: var(--wp--preset--font-family--inter);
}
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
button:focus-visible,
a:focus-visible {
	outline: 2px solid var(--wp--preset--color--brick);
	outline-offset: 3px;
}

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

/* Mobile nav — keep visible but stack horizontally smaller */
@media (max-width: 781px) {
	.am-site-header { flex-wrap: wrap !important; gap: 0.75rem !important; }
	.am-primary-nav { order: 3; flex-basis: 100%; justify-content: flex-start; }
	.am-primary-nav ul { gap: 1rem; font-size: 0.8125rem; }
	.am-primary-nav a { font-size: 0.8125rem; }
}

@media (max-width: 781px) {
	.am-hero-two-lane .wp-block-columns { flex-wrap: wrap; }
	.am-hero-text, .am-hero-photo-col { flex-basis: 100% !important; width: 100%; }
	.am-hero-headline { font-size: clamp(2rem, 8vw, 2.75rem) !important; max-width: 100%; }
	.am-hero-trust .am-trust-stat + .am-trust-stat {
		padding-left: 0; border-left: 0; margin-top: 0.25rem;
	}
	.am-hero-trust { flex-direction: column; align-items: flex-start; }
	.am-section-header { flex-direction: column; align-items: flex-start !important; }
	.am-best-picks__row { gap: 1rem !important; }
	.am-newsletter-cta__form { flex-direction: column; border: 0; }
	.am-newsletter-cta__form input[type="email"] {
		border: 2px solid var(--wp--preset--color--bg);
	}
	.am-newsletter-cta__form button { width: 100%; justify-content: center; }
	.am-hero-newsletter { flex-direction: column; border: 0; }
	.am-hero-newsletter input[type="email"] {
		border: 1px solid var(--wp--preset--color--text);
	}
	.am-hero-newsletter button { width: 100%; padding: 0.875rem; margin-top: 0.5rem; }
}

@media (max-width: 600px) {
	.am-best-picks__row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
	.am-best-picks__row .wp-block-column { flex-basis: 100%; }
}

@media print {
	.am-site-header, .am-site-footer, .am-newsletter-cta { display: none !important; }
}

/* ============================================================
   v2.8.0 — single-article template (article-hero + article-related)
   ============================================================ */

.am-article-hero {
	background: var(--wp--preset--color--cream);
}
.am-article-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 3vw, 2.5rem);
}
.am-article-hero--has-image .am-article-hero__grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
}
.am-article-hero__info-col {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.am-article-hero .am-breadcrumbs--hero {
	margin: 0;
}
.am-article-hero__eyebrow {
	margin: 0;
	color: var(--wp--preset--color--brick);
}
.am-article-hero__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.875rem, 4.5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--wp--preset--color--text);
	margin: 0;
	text-wrap: balance;
}
.am-article-hero__byline {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--stone);
	margin: 0;
}
.am-article-hero__byline a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--brick);
}
.am-article-hero__byline .sep {
	margin: 0 0.5rem;
	color: var(--wp--preset--color--bone-gray);
}
.am-article-hero__lede {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
	color: var(--wp--preset--color--text);
	opacity: 0.85;
	margin: 0.5rem 0 0;
	text-wrap: pretty;
}
.am-article-hero__photo-col {
	margin: 0;
}
.am-article-hero__image,
.am-article-hero__photo-col img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 2px;
}
.am-article-hero--no-image .am-article-hero__title {
	max-width: 880px;
}

@media (max-width: 900px) {
	.am-article-hero--has-image .am-article-hero__grid {
		grid-template-columns: 1fr;
	}
	.am-article-hero__image,
	.am-article-hero__photo-col img {
		aspect-ratio: 16 / 10;
		max-height: 40vh;
	}
}

/* ----- Article related (3-up grid) ----- */
.am-article-related {
	border-top: 1px solid var(--wp--preset--color--bone-gray);
}
.am-article-related__head {
	max-width: 1240px;
	margin: 0 auto 1.5rem;
}
.am-article-related__head .am-eyebrow {
	margin: 0 0 0.25rem;
	color: var(--wp--preset--color--stone);
}
.am-article-related__head .am-section-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.5rem, 3vw, 2.125rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--text);
}
.am-article-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
}
.am-article-related__card {
	display: block;
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	color: var(--wp--preset--color--text);
	text-decoration: none;
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.am-article-related__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 0 -2px var(--wp--preset--color--brick);
	border-color: var(--wp--preset--color--brick);
}
.am-article-related__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.am-article-related__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}
.am-article-related__card:hover .am-article-related__media img {
	transform: scale(1.04);
}
.am-article-related__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem 1.125rem 1.25rem;
}
.am-article-related__meta {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
}
.am-article-related__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
	color: var(--wp--preset--color--text);
	text-wrap: balance;
}
.am-article-related__cta {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
}

@media (max-width: 900px) {
	.am-article-related__grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   v2.8.1 — Sonic Boom v3 layer
   ============================================================ */

/* ---------- Scroll progress indicator ---------- */
.am-scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: transparent;
	z-index: 9999;
	pointer-events: none;
}
.am-scroll-progress__bar {
	display: block;
	height: 100%;
	width: 0;
	background: var(--wp--preset--color--brick);
	transition: width 80ms linear;
	box-shadow: 0 0 6px rgba(184, 51, 43, 0.4);
}

/* ---------- Article hero CTA actions (P0 #2) ---------- */
.am-article-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem 1rem;
	align-items: center;
	margin-top: 0.5rem;
}
.am-article-hero__newsletter {
	flex: 1 1 320px;
	min-width: 0;
}
.am-article-hero__browse {
	flex: 0 0 auto;
}
@media (max-width: 600px) {
	.am-article-hero__actions { flex-direction: column; align-items: stretch; }
	.am-article-hero__browse { text-align: center; }
}

/* ---------- Recipe fallback hero (P0 #1) ---------- */
.am-recipe-fallback-hero {
	background: var(--wp--preset--color--cream);
}
.am-recipe-fallback-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 3vw, 2.5rem);
}
.am-recipe-fallback-hero--has-image .am-recipe-fallback-hero__grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
}
.am-recipe-fallback-hero__info-col {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.am-recipe-fallback-hero__eyebrow {
	margin: 0;
	color: var(--wp--preset--color--brick);
}
.am-recipe-fallback-hero__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.875rem, 4.5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--wp--preset--color--text);
	margin: 0;
	text-wrap: balance;
}
.am-recipe-fallback-hero__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--text);
}
.am-recipe-fallback-hero__rating .am-stars {
	color: var(--wp--preset--color--mustard);
	letter-spacing: 0.05em;
}
.am-recipe-fallback-hero__rating-num { font-weight: 800; }
.am-recipe-fallback-hero__rating-count { color: var(--wp--preset--color--stone); }
.am-recipe-fallback-hero__byline {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--stone);
	margin: 0;
}
.am-recipe-fallback-hero__byline a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--brick);
}
.am-recipe-fallback-hero__byline .sep {
	margin: 0 0.5rem;
	color: var(--wp--preset--color--bone-gray);
}
.am-recipe-fallback-hero__lede {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
	color: var(--wp--preset--color--text);
	opacity: 0.85;
	margin: 0.5rem 0 0;
	text-wrap: pretty;
}
.am-recipe-fallback-hero__actions {
	display: flex;
	gap: 0.75rem;
	margin-top: 0.75rem;
	flex-wrap: wrap;
}
.am-recipe-fallback-hero__btn {
	display: inline-flex;
	align-items: center;
	padding: 0.75rem 1.25rem;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease, transform 120ms ease;
}
.am-recipe-fallback-hero__btn--primary {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
}
.am-recipe-fallback-hero__btn--primary:hover { background: var(--wp--preset--color--text); transform: translateY(-1px); }
.am-recipe-fallback-hero__btn--secondary {
	background: transparent;
	color: var(--wp--preset--color--brick);
	border-color: var(--wp--preset--color--brick);
}
.am-recipe-fallback-hero__btn--secondary:hover {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
}
.am-recipe-fallback-hero__image,
.am-recipe-fallback-hero__photo-col img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 2px;
}
@media (max-width: 900px) {
	.am-recipe-fallback-hero--has-image .am-recipe-fallback-hero__grid { grid-template-columns: 1fr; }
	.am-recipe-fallback-hero__image,
	.am-recipe-fallback-hero__photo-col img { aspect-ratio: 16 / 10; max-height: 40vh; }
}

/* ---------- Article body shell + share rail layout (v2.8.3) ---------- */
/* Old absolute-positioned rail proved fragile inside Gutenberg's auto-layout
   container. Switched to a flex shell so the rail sits in flow next to the
   body on desktop (sticky as the reader scrolls) and collapses to a strip
   above the body on tablet + mobile. */
.am-article-body-shell { position: relative; }

.am-article-body-flex {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	max-width: 832px;
	margin: 0 auto;
}
.am-article-body-flex .am-article-body {
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}

/* Desktop (≥1100px): rail to the LEFT of body, sticky on scroll. */
@media (min-width: 1100px) {
	.am-article-body-flex {
		flex-direction: row;
		align-items: flex-start;
		gap: 2rem;
	}
	.am-article-body-flex .am-share-rail {
		flex: 0 0 56px;
		position: sticky;
		top: 100px;
		align-self: flex-start;
	}
	.am-article-body-flex .am-article-body {
		flex: 1 1 auto;
		min-width: 0;
		margin: 0;
	}
}

/* ---------- Share rail itself ---------- */
.am-share-rail {
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-left: 4px solid var(--wp--preset--color--brick);
	padding: 0.75rem 0.625rem 0.625rem;
}
.am-share-rail__label {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	text-align: center;
}
.am-share-rail__list {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Square icon-led button. Hover gets brand-tinted (each platform colour). */
.am-share-rail__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: 100%;
	min-height: 44px;
	padding: 0.5rem;
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 120ms ease;
}
.am-share-rail__btn svg { display: block; }
.am-share-rail__btn-label { display: none; }
.am-share-rail__btn:hover {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--text);
	transform: translateY(-1px);
}
.am-share-rail__btn--pin:hover { background: #e60023; border-color: #e60023; color: #fff; }
.am-share-rail__btn--fb:hover  { background: #1877f2; border-color: #1877f2; color: #fff; }
.am-share-rail__btn--x:hover   { background: #000;    border-color: #000;    color: #fff; }
.am-share-rail__btn--copy      { font-family: inherit; }

.am-share-rail__copy-done { display: none; }
.am-share-rail--copied .am-share-rail__btn--copy {
	background: var(--wp--preset--color--mustard);
	border-color: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
}
.am-share-rail--copied .am-share-rail__copy-label { display: none; }
.am-share-rail--copied .am-share-rail__copy-done  { display: inline; }

/* Tablet + mobile: collapse rail to a horizontal strip above the body. */
@media (max-width: 1099px) {
	.am-share-rail {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		padding: 0.625rem 0.875rem;
	}
	.am-share-rail__label {
		margin: 0;
		text-align: left;
		flex: 0 0 auto;
		white-space: nowrap;
	}
	.am-share-rail__list {
		flex-direction: row;
		gap: 0.5rem;
		flex: 1 1 auto;
		flex-wrap: wrap;
	}
	.am-share-rail__btn {
		flex: 1 1 auto;
		min-width: 0;
		gap: 0.4rem;
		padding: 0.5rem 0.75rem;
		min-height: 40px;
	}
	.am-share-rail__btn-label { display: inline; }
}
@media (max-width: 480px) {
	.am-share-rail { flex-direction: column; align-items: stretch; gap: 0.5rem; }
	.am-share-rail__label { text-align: center; }
	.am-share-rail__btn-label { display: none; }
	.am-share-rail__btn { min-height: 44px; }
}

/* ---------- Author bio card (E-E-A-T) ---------- */
.am-author-bio { border-top: 1px solid var(--wp--preset--color--bone-gray); }
.am-author-bio__card {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: start;
	max-width: 880px;
	margin: 0 auto;
	background: var(--wp--preset--color--cream);
	padding: clamp(1.25rem, 2.5vw, 2rem);
	border: 1px solid var(--wp--preset--color--bone-gray);
}
.am-author-bio__avatar { display: block; width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }
.am-author-bio__eyebrow { margin: 0 0 0.25rem; color: var(--wp--preset--color--stone); }
.am-author-bio__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.375rem, 2.5vw, 1.625rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--text);
}
.am-author-bio__role {
	margin: 0.125rem 0 0.75rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
}
.am-author-bio__bio {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--wp--preset--color--text);
	margin: 0 0 0.875rem;
}
.am-author-bio__bio p + p { margin-top: 0.625rem; }
.am-author-bio__cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	text-decoration: none;
	border-bottom: 2px solid var(--wp--preset--color--brick);
	padding-bottom: 2px;
}
@media (max-width: 600px) {
	.am-author-bio__card { grid-template-columns: 1fr; text-align: left; }
	.am-author-bio__avatar { width: 96px; height: 96px; }
}

/* ---------- Article-related: recency badge ---------- */
.am-article-related__recency {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
}
.am-article-related__recency--fresh { color: var(--wp--preset--color--brick); }
.am-article-related__recency--recent { color: var(--wp--preset--color--text); }

/* ---------- Key takeaways callout (P2 #6) ---------- */
.am-takeaways__card {
	background: var(--wp--preset--color--cream);
	border-left: 4px solid var(--wp--preset--color--mustard);
	padding: 1.25rem 1.5rem 1rem;
	margin: 0;
}
.am-takeaways__eyebrow {
	margin: 0 0 0.25rem;
	color: var(--wp--preset--color--mustard);
}
.am-takeaways__heading {
	margin: 0 0 0.75rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--text);
}
.am-takeaways__list {
	margin: 0;
	padding-left: 1.25rem;
}
.am-takeaways__list li {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
}
.am-takeaways__list li + li { margin-top: 0.4rem; }

/* ---------- Inline mid-article newsletter (P2 #8) ---------- */
.am-inline-newsletter {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	padding: 1.25rem 1.5rem;
	margin: 2rem 0;
	border-left: 4px solid var(--wp--preset--color--mustard);
}
.am-inline-newsletter__eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mustard);
	margin: 0 0 0.25rem;
}
.am-inline-newsletter__pitch {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--wp--preset--color--bg);
	margin: 0 0 0.875rem;
}
.am-inline-newsletter__form { background: var(--wp--preset--color--bg); }

/* ============================================================
   v2.8.2 — Content formatting (legacy authored content)
   ----------------------------------------------------------
   Article posts authored outside the block editor render raw
   <table>, <img>, <iframe>, <blockquote> etc. — none of which
   the v2.8.0 .am-article-body typography stack styles. These
   rules brand the long-tail of legacy content elements that
   are showing up on the 347 templated article posts.
   ============================================================ */

/* ---------- Headings: lower hierarchy (h4-h6) ---------- */
.am-article-body h4,
.am-variant-body h4,
.am-recipe-body h4 {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: -0.005em;
	margin: 1.75rem 0 0.4rem;
	color: var(--wp--preset--color--text);
}
.am-article-body h5,
.am-article-body h6,
.am-variant-body h5,
.am-variant-body h6 {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 1.5rem 0 0.4rem;
	color: var(--wp--preset--color--stone);
}

/* The EZ-TOC plugin injects an empty anchor <span class="ez-toc-section">
   inside each H2/H3 — when our H2 has its brick underline, the anchor
   span shouldn't add any visual weight. Force inline-block + zero-size
   so it pins the anchor without leaking into layout. */
.am-article-body h2 .ez-toc-section,
.am-article-body h2 .ez-toc-section-end,
.am-article-body h3 .ez-toc-section,
.am-article-body h3 .ez-toc-section-end {
	display: inline-block;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* ---------- Images (raw <img>, no wp-block-image wrapper) ---------- */
.am-article-body img,
.am-variant-body img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 1.75rem auto;
	border-radius: 2px;
	box-shadow: 0 8px 0 -4px var(--wp--preset--color--brick);
}
/* Slight pull-out: let inline images breathe past the 720px reading column
   without overflowing the 1040px shell. Only fires on viewports ≥1100px so
   the desktop share rail still has room. */
@media (min-width: 1100px) {
	.am-article-body > p > img,
	.am-article-body > img {
		max-width: calc(100% + 80px);
		margin-left: -40px;
		margin-right: -40px;
	}
}
.am-article-body figure,
.am-variant-body figure { margin: 1.75rem 0; }
.am-article-body figcaption,
.am-variant-body figcaption {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	font-style: italic;
	color: var(--wp--preset--color--stone);
	text-align: center;
	margin-top: 0.5rem;
}

/* ---------- Video embeds (Thrive / YouTube responsive wrapper) ---------- */
.am-article-body iframe,
.am-variant-body iframe {
	max-width: 100%;
	border-radius: 2px;
}
/* Common responsive-aspect-ratio wrapper used by Thrive Architect + Gutenberg:
   <div style="position: relative; ...padding-bottom: 56.25%"><iframe ...>.
   Match the wrapper by its inline style hash and give it brand treatment. */
.am-article-body div[style*="padding-bottom"] {
	margin: 1.75rem 0;
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 8px 0 -4px var(--wp--preset--color--brick);
}

/* ---------- Tables (Thrive-imported, no wp-block-table wrapper) ---------- */
.am-article-body table,
.am-variant-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.75rem 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	overflow-x: auto;
	display: block;
}
.am-article-body table thead,
.am-variant-body table thead {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
}
.am-article-body table th,
.am-variant-body table th {
	padding: 0.75rem 1rem;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	text-align: left;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--bg);
	border-bottom: 2px solid var(--wp--preset--color--brick);
}
.am-article-body table td,
.am-variant-body table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
	color: var(--wp--preset--color--text);
	vertical-align: top;
}
.am-article-body table tbody tr:nth-child(even) td,
.am-variant-body table tbody tr:nth-child(even) td {
	background: var(--wp--preset--color--cream);
}
.am-article-body table tbody tr:last-child td,
.am-variant-body table tbody tr:last-child td { border-bottom: 0; }
/* Strip inline text-align:center on imported table cells — let our brand
   defaults rule unless the content explicitly opts back in with a class. */
.am-article-body table th[style*="text-align: center"],
.am-article-body table td[style*="text-align: center"] {
	text-align: center !important;
}

/* ---------- Blockquote ---------- */
.am-article-body blockquote,
.am-variant-body blockquote {
	margin: 1.75rem 0;
	padding: 0.75rem 0 0.75rem 1.5rem;
	border-left: 4px solid var(--wp--preset--color--brick);
	font-family: var(--wp--preset--font-family--bricolage);
	font-style: italic;
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	line-height: 1.45;
	color: var(--wp--preset--color--text);
}
.am-article-body blockquote p,
.am-variant-body blockquote p { margin: 0; }
.am-article-body blockquote cite,
.am-variant-body blockquote cite {
	display: block;
	margin-top: 0.625rem;
	font-family: var(--wp--preset--font-family--inter);
	font-style: normal;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
}

/* ---------- Branded list markers ---------- */
.am-article-body ul > li::marker,
.am-variant-body ul > li::marker {
	color: var(--wp--preset--color--brick);
}
.am-article-body ol > li::marker,
.am-variant-body ol > li::marker {
	color: var(--wp--preset--color--brick);
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
}
.am-article-body ul ul,
.am-article-body ul ol,
.am-article-body ol ul,
.am-article-body ol ol,
.am-variant-body ul ul,
.am-variant-body ul ol,
.am-variant-body ol ul,
.am-variant-body ol ol {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

/* ---------- Horizontal rule ---------- */
.am-article-body hr,
.am-variant-body hr {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--bone-gray);
	margin: 2.5rem 0;
	position: relative;
}
.am-article-body hr::after,
.am-variant-body hr::after {
	content: "§";
	position: absolute;
	top: -0.875rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--wp--preset--color--bg);
	padding: 0 0.75rem;
	color: var(--wp--preset--color--brick);
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.25rem;
	font-weight: 800;
}

/* ---------- Inline code + pre blocks ---------- */
.am-article-body code,
.am-variant-body code {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 0.875em;
	padding: 0.1em 0.35em;
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 2px;
	color: var(--wp--preset--color--text);
}
.am-article-body pre,
.am-variant-body pre {
	margin: 1.75rem 0;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	overflow-x: auto;
	font-family: var(--wp--preset--font-family--mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 0.875rem;
	line-height: 1.5;
}
.am-article-body pre code,
.am-variant-body pre code {
	background: transparent;
	border: 0;
	padding: 0;
	color: inherit;
}

/* ---------- Strong + em accent ---------- */
.am-article-body strong em,
.am-article-body em strong { color: var(--wp--preset--color--brick); font-style: normal; font-weight: 800; }

/* ============================================================
   EZ-TOC plugin rebrand
   ----------------------------------------------------------
   The plugin injects #ez-toc-container with grey styling and
   their own font stack. Override to match brand: cream card,
   brick accents, Bricolage heading + Inter list items.
   ============================================================ */

.am-article-body #ez-toc-container,
.am-article-body .ez-toc-v2_0_84,
.am-article-body div.ez-toc-container-direction {
	background: var(--wp--preset--color--cream) !important;
	border: 1px solid var(--wp--preset--color--bone-gray) !important;
	border-left: 4px solid var(--wp--preset--color--brick) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 1rem 1.25rem 1.125rem !important;
	margin: 0 0 2rem !important;
	font-family: var(--wp--preset--font-family--inter) !important;
	color: var(--wp--preset--color--text) !important;
}
.am-article-body .ez-toc-title-container { margin-bottom: 0.5rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--wp--preset--color--bone-gray); }
.am-article-body .ez-toc-title {
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: 0.6875rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--wp--preset--color--brick) !important;
	margin: 0 !important;
	cursor: default !important;
}
.am-article-body .ez-toc-list { padding: 0 0 0 1.125rem !important; margin: 0 !important; list-style: decimal !important; }
.am-article-body .ez-toc-list li { margin: 0.3rem 0 !important; padding: 0 !important; background: transparent !important; }
.am-article-body .ez-toc-list li::marker { color: var(--wp--preset--color--brick); font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; }
.am-article-body .ez-toc-list-level-2 { padding-left: 1rem !important; }
.am-article-body .ez-toc-link {
	color: var(--wp--preset--color--text) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
	transition: color 140ms ease, border-color 140ms ease;
}
.am-article-body .ez-toc-link:hover {
	color: var(--wp--preset--color--brick) !important;
	border-bottom-color: var(--wp--preset--color--brick) !important;
}
/* Toggle button — soften the default grey SVG-fill. */
.am-article-body .ez-toc-toggle svg { color: var(--wp--preset--color--stone) !important; fill: var(--wp--preset--color--stone) !important; }
.am-article-body .ez-toc-toggle:hover svg { color: var(--wp--preset--color--brick) !important; fill: var(--wp--preset--color--brick) !important; }

/* ============================================================
   v2.9.0 — single-buying-guide template
   ----------------------------------------------------------
   buying-guide-hero shares the article-hero shape but adds an
   "Updated" trust pill, an optional Top-Pick aside, and a
   "How we picked" jump CTA. buying-guide-criteria is a numbered
   judging-rubric grid, and buying-guide-budget-band is the
   3-tier price-band payoff strip at the foot of the guide.
   ============================================================ */

.am-bg-hero { background: var(--wp--preset--color--cream); }
.am-bg-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 3vw, 2.5rem);
}
.am-bg-hero--has-image .am-bg-hero__grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
}
.am-bg-hero__info-col { display: flex; flex-direction: column; gap: 0.875rem; }
.am-bg-hero .am-breadcrumbs--hero { margin: 0; }
.am-bg-hero__eyebrow-row {
	display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem;
	margin: 0;
}
.am-bg-hero__eyebrow { margin: 0; color: var(--wp--preset--color--brick); }
.am-bg-hero__updated {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 999px;
	padding: 0.25rem 0.6rem;
}
.am-bg-hero__title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.875rem, 4.5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--wp--preset--color--text);
	margin: 0;
	text-wrap: balance;
}
.am-bg-hero__byline {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--stone);
	margin: 0;
}
.am-bg-hero__byline a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--brick);
}
.am-bg-hero__byline .sep { margin: 0 0.5rem; color: var(--wp--preset--color--bone-gray); }
.am-bg-hero__lede {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
	color: var(--wp--preset--color--text);
	opacity: 0.85;
	margin: 0.5rem 0 0;
	text-wrap: pretty;
}

/* Top-pick teaser card inside hero — only renders if _am_bg_top_pick meta is set. */
.am-bg-hero__pick {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-left: 4px solid var(--wp--preset--color--brick);
	border-radius: 2px;
	padding: 1rem 1.125rem 1.125rem;
	margin: 0.5rem 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.am-bg-hero__pick-eyebrow {
	margin: 0;
	color: var(--wp--preset--color--brick);
}
.am-bg-hero__pick-name {
	font-family: var(--wp--preset--font-family--bricolage);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-bg-hero__pick-why {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
	opacity: 0.85;
	margin: 0;
}
.am-bg-hero__pick-foot {
	display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;
	margin: 0.25rem 0 0;
}
.am-bg-hero__pick-cta {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--bg);
	background: var(--wp--preset--color--brick);
	padding: 0.55rem 0.875rem;
	border-radius: 2px;
	text-decoration: none;
	transition: background 140ms ease;
}
.am-bg-hero__pick-cta:hover { background: var(--wp--preset--color--text); }

.am-bg-hero__actions {
	display: flex; flex-wrap: wrap; gap: 0.625rem;
	margin: 0.5rem 0 0;
}
.am-bg-hero__jump,
.am-bg-hero__browse {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--text);
	background: transparent;
	padding: 0.55rem 0.875rem;
	border: 1px solid var(--wp--preset--color--text);
	border-radius: 2px;
	text-decoration: none;
	transition: background 140ms ease, color 140ms ease;
}
.am-bg-hero__jump:hover,
.am-bg-hero__browse:hover {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
}
.am-bg-hero__photo-col { margin: 0; }
.am-bg-hero__image,
.am-bg-hero__photo-col img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 2px;
}
@media (max-width: 768px) {
	.am-bg-hero--has-image .am-bg-hero__grid {
		grid-template-columns: 1fr;
	}
	.am-bg-hero__photo-col { order: -1; }
}

/* ---------- Criteria callout ---------- */
.am-bg-criteria__head {
	max-width: 720px;
	margin: 0 auto var(--wp--preset--spacing--40);
	text-align: center;
}
.am-bg-criteria__head .am-eyebrow {
	color: var(--wp--preset--color--brick);
	margin: 0 0 0.4rem;
}
.am-bg-criteria__head .am-section-title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.6rem;
	text-wrap: balance;
}
.am-bg-criteria__lede {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--wp--preset--color--stone);
	margin: 0;
	text-wrap: pretty;
}
.am-bg-criteria__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: am-bg-crit;
}
.am-bg-criteria__card {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 2px;
	padding: 1.25rem 1.125rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	position: relative;
}
.am-bg-criteria__num {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 1.75rem;
	line-height: 1;
	color: var(--wp--preset--color--brick);
	letter-spacing: -0.02em;
}
.am-bg-criteria__heading {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 1.0625rem;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-bg-criteria__body {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
	opacity: 0.85;
	margin: 0;
}

/* ---------- Budget-band 3-tier payoff strip ---------- */
.am-bg-band__head {
	max-width: 720px;
	margin: 0 auto var(--wp--preset--spacing--40);
	text-align: center;
}
.am-bg-band__head .am-eyebrow {
	color: var(--wp--preset--color--brick);
	margin: 0 0 0.4rem;
}
.am-bg-band__head .am-section-title {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0;
	text-wrap: balance;
}
.am-bg-band__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.25rem;
	margin: 0 0 1.5rem;
}
.am-bg-band__card {
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 2px;
	padding: 1.5rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	position: relative;
}
.am-bg-band__card--best-value,
.am-bg-band__card--best-pick {
	border-color: var(--wp--preset--color--brick);
	border-width: 2px;
	box-shadow: 0 6px 18px rgba(27, 27, 27, 0.06);
}
.am-bg-band__tier {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	margin: 0;
}
.am-bg-band__name {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 1.25rem;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-bg-band__price {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-bg-band__why {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
	opacity: 0.85;
	margin: 0;
}
.am-bg-band__cta {
	display: inline-block;
	margin-top: 0.5rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--bg);
	background: var(--wp--preset--color--brick);
	padding: 0.6rem 1rem;
	border-radius: 2px;
	text-decoration: none;
	width: fit-content;
	transition: background 140ms ease;
}
.am-bg-band__cta:hover { background: var(--wp--preset--color--text); }
.am-bg-band__disclosure {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--wp--preset--color--stone);
	margin: 0;
	text-align: center;
}

/* ============================================================
   v2.10.0 — Sonic Boom #6 (single-buying-guide)
   ----------------------------------------------------------
   Hero gains:
     - Inline newsletter form as primary CTA (mirrors article-hero)
     - Stale-date demotion (muted "Last reviewed" pill past 14mo)
     - E-E-A-T sub-byline ("Tested by Jim · 30+ years on the pit")
     - Affiliate-trust tag ("We bought every smoker we recommend")
     - Secondary CTA group (conditional jumps + browse)
   New picks-fallback pattern — auto-renders when budget-band missing.
   ============================================================ */

/* Stale "Last reviewed" — visually demoted, no brick accent. */
.am-bg-hero__updated--stale {
	background: transparent;
	border-color: var(--wp--preset--color--bone-gray);
	color: var(--wp--preset--color--stone);
	opacity: 0.7;
	font-weight: 600;
}

/* E-E-A-T sub-byline tail */
.am-bg-hero__eeat {
	color: var(--wp--preset--color--text);
	font-weight: 600;
}

/* Actions stack — primary newsletter form, then secondary row, then trust tag */
.am-bg-hero__actions { gap: 0.875rem; }
.am-bg-hero__newsletter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	max-width: 480px;
}
.am-bg-hero__newsletter input[type="email"] {
	flex: 1 1 220px;
	min-width: 0;
	padding: 0.7rem 0.875rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 2px;
}
.am-bg-hero__newsletter input[type="email"]:focus {
	outline: 2px solid var(--wp--preset--color--brick);
	outline-offset: 1px;
}
.am-bg-hero__newsletter button {
	flex: 0 0 auto;
	padding: 0.7rem 1.1rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--bg);
	background: var(--wp--preset--color--brick);
	border: 0;
	border-radius: 2px;
	cursor: pointer;
	transition: background 140ms ease;
}
.am-bg-hero__newsletter button:hover { background: var(--wp--preset--color--text); }

/* Secondary actions row sits below the newsletter form */
.am-bg-hero__actions-secondary {
	display: flex; flex-wrap: wrap; gap: 0.5rem;
	margin: 0;
}

/* Affiliate-trust tag — quiet but always visible */
.am-bg-hero__affiliate-trust {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--wp--preset--color--stone);
	margin: 0.25rem 0 0;
	display: flex; align-items: baseline; gap: 0.35rem;
}
.am-bg-hero__affiliate-trust span[aria-hidden] {
	color: var(--wp--preset--color--pickle);
	font-weight: 800;
	font-size: 0.875rem;
}

/* ---------- Picks-fallback (Section 6 stand-in) ---------- */
.am-bg-fallback__card {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-left: 4px solid var(--wp--preset--color--brick);
	border-radius: 2px;
	padding: 1.75rem clamp(1.25rem, 3vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.am-bg-fallback__eyebrow {
	margin: 0;
	color: var(--wp--preset--color--brick);
}
.am-bg-fallback__heading {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(1.375rem, 2.4vw, 1.75rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--text);
	margin: 0;
	text-wrap: balance;
}
.am-bg-fallback__body {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	line-height: 1.55;
	color: var(--wp--preset--color--text);
	opacity: 0.9;
	margin: 0;
	text-wrap: pretty;
}
.am-bg-fallback__form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.25rem 0 0;
	max-width: 520px;
}
.am-bg-fallback__form input[type="email"] {
	flex: 1 1 240px;
	min-width: 0;
	padding: 0.75rem 0.9rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 2px;
}
.am-bg-fallback__form input[type="email"]:focus {
	outline: 2px solid var(--wp--preset--color--brick);
	outline-offset: 1px;
}
.am-bg-fallback__form button {
	flex: 0 0 auto;
	padding: 0.75rem 1.125rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--bg);
	background: var(--wp--preset--color--brick);
	border: 0;
	border-radius: 2px;
	cursor: pointer;
	transition: background 140ms ease;
}
.am-bg-fallback__form button:hover { background: var(--wp--preset--color--text); }
.am-bg-fallback__foot {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--wp--preset--color--stone);
	margin: 0;
	display: flex; align-items: baseline; gap: 0.35rem;
}
.am-bg-fallback__foot span[aria-hidden] {
	color: var(--wp--preset--color--pickle);
	font-weight: 800;
}

/* ============================================================
   v2.11.0 — Scrollytelling layer
   ----------------------------------------------------------
   Five scroll-driven behaviors, all IntersectionObserver-driven:
     - Sticky picks strip (single-buying-guide)
     - Sticky verdict card (single-gear-review)
     - Sticky recipe-card snapshot (single-recipe)
     - Reveal-on-scroll for grids
     - Pull-quote magnification
   JS toggles body.is-past-hero / body.is-near-end based on hero
   and footer-marker intersection. Mobile (<=900px) keeps the
   global sticky-mobile-cta and hides the desktop sticky pieces.
   ============================================================ */

/* ---------- Sticky picks strip (single-buying-guide) ---------- */
.am-sticky-picks {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 80;
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--bg);
	transform: translateY(-100%);
	transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
	box-shadow: 0 2px 12px rgba(27, 27, 27, 0.18);
	pointer-events: none;
}
body.is-past-hero .am-sticky-picks {
	transform: translateY(0);
	pointer-events: auto;
}
body.is-near-end .am-sticky-picks {
	transform: translateY(-100%);
	pointer-events: none;
}
.am-sticky-picks__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0.625rem clamp(1rem, 3vw, 2rem);
	font-family: var(--wp--preset--font-family--inter);
}
.am-sticky-picks__eyebrow {
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mustard);
	margin: 0;
	flex: 0 0 auto;
}
.am-sticky-picks__list {
	display: flex;
	gap: 1.25rem;
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}
.am-sticky-picks__item {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	font-size: 0.8125rem;
	line-height: 1.2;
	min-width: 0;
}
.am-sticky-picks__tier {
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mustard);
	flex: 0 0 auto;
}
.am-sticky-picks__name {
	font-weight: 700;
	color: var(--wp--preset--color--bg);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}
.am-sticky-picks__price {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	color: var(--wp--preset--color--mustard);
	flex: 0 0 auto;
}
.am-sticky-picks__fallback-text {
	flex: 1 1 auto;
	font-size: 0.875rem;
	color: var(--wp--preset--color--bg);
	margin: 0;
}
.am-sticky-picks__cta {
	flex: 0 0 auto;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	padding: 0.5rem 0.875rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-radius: 2px;
	text-decoration: none;
	transition: background 140ms ease;
}
.am-sticky-picks__cta:hover {
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--text);
}

/* ---------- Sticky verdict card (single-gear-review) ---------- */
.am-sticky-verdict {
	position: fixed;
	top: 100px;
	right: clamp(1rem, 2vw, 2rem);
	z-index: 70;
	width: 268px;
	max-width: calc(100vw - 2rem);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 280ms ease, transform 280ms ease;
	pointer-events: none;
}
body.is-past-hero .am-sticky-verdict {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
body.is-near-end .am-sticky-verdict {
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
}
.am-sticky-verdict__inner {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-left: 4px solid var(--wp--preset--color--brick);
	border-radius: 2px;
	padding: 1.125rem 1.25rem 1.25rem;
	box-shadow: 0 10px 28px rgba(27, 27, 27, 0.10);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.am-sticky-verdict__eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	margin: 0;
}
.am-sticky-verdict__name {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 1.0625rem;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-sticky-verdict__brand {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	color: var(--wp--preset--color--stone);
	margin: 0;
}
.am-sticky-verdict__score {
	display: flex;
	align-items: baseline;
	gap: 0.25rem;
	margin: 0.25rem 0 0;
}
.am-sticky-verdict__score-num {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 2rem;
	line-height: 1;
	color: var(--wp--preset--color--brick);
}
.am-sticky-verdict__score-denom {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	color: var(--wp--preset--color--stone);
}
.am-sticky-verdict__price {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 1rem;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.am-sticky-verdict__cta {
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	padding: 0.625rem 0.875rem;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-radius: 2px;
	text-decoration: none;
	text-align: center;
	transition: background 140ms ease;
}
.am-sticky-verdict__cta:hover { background: var(--wp--preset--color--text); }
.am-sticky-verdict__toc {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--text);
	text-decoration: none;
	text-align: center;
	padding: 0.4rem 0;
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 2px;
	transition: border-color 140ms ease;
}
.am-sticky-verdict__toc:hover { border-color: var(--wp--preset--color--brick); }

/* ---------- Sticky recipe-card snapshot (single-recipe) ---------- */
.am-sticky-recipe {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 80;
	background: var(--wp--preset--color--bg);
	border-bottom: 1px solid var(--wp--preset--color--bone-gray);
	transform: translateY(-100%);
	transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
	box-shadow: 0 2px 10px rgba(27, 27, 27, 0.06);
	pointer-events: none;
}
body.is-past-hero .am-sticky-recipe {
	transform: translateY(0);
	pointer-events: auto;
}
body.is-near-end .am-sticky-recipe {
	transform: translateY(-100%);
	pointer-events: none;
}
.am-sticky-recipe__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0.625rem clamp(1rem, 3vw, 2rem);
	font-family: var(--wp--preset--font-family--inter);
}
.am-sticky-recipe__eyebrow {
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	margin: 0;
	flex: 0 0 auto;
}
.am-sticky-recipe__title {
	flex: 1 1 auto;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--text);
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}
.am-sticky-recipe__actions {
	display: flex;
	gap: 0.5rem;
	flex: 0 0 auto;
}
.am-sticky-recipe__btn {
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	padding: 0.45rem 0.75rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-radius: 2px;
	border: 0;
	cursor: pointer;
	text-decoration: none;
	font-family: inherit;
	transition: background 140ms ease;
}
.am-sticky-recipe__btn:hover { background: var(--wp--preset--color--brick); }
.am-sticky-recipe__btn--print {
	background: transparent;
	color: var(--wp--preset--color--text);
	border: 1px solid var(--wp--preset--color--bone-gray);
}
.am-sticky-recipe__btn--print:hover {
	background: var(--wp--preset--color--cream);
	border-color: var(--wp--preset--color--brick);
}

/* All three sticky pieces hide on mobile — sticky-mobile-cta handles that slot. */
@media (max-width: 900px) {
	.am-sticky-picks,
	.am-sticky-verdict,
	.am-sticky-recipe { display: none !important; }
}

/* Print: never show any of the scroll companions. */
@media print {
	.am-sticky-picks,
	.am-sticky-verdict,
	.am-sticky-recipe,
	.am-scroll-progress { display: none !important; }
}

/* ---------- Reveal-on-scroll for grids ---------- */
.am-reveal-on-scroll > * {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 420ms ease-out, transform 420ms ease-out;
}
.am-reveal-on-scroll.is-revealed > * {
	opacity: 1;
	transform: translateY(0);
}
/* Stagger children by index — handles up to 8 cells comfortably. */
.am-reveal-on-scroll.is-revealed > *:nth-child(1) { transition-delay: 40ms; }
.am-reveal-on-scroll.is-revealed > *:nth-child(2) { transition-delay: 120ms; }
.am-reveal-on-scroll.is-revealed > *:nth-child(3) { transition-delay: 200ms; }
.am-reveal-on-scroll.is-revealed > *:nth-child(4) { transition-delay: 280ms; }
.am-reveal-on-scroll.is-revealed > *:nth-child(5) { transition-delay: 360ms; }
.am-reveal-on-scroll.is-revealed > *:nth-child(6) { transition-delay: 440ms; }
.am-reveal-on-scroll.is-revealed > *:nth-child(7) { transition-delay: 520ms; }
.am-reveal-on-scroll.is-revealed > *:nth-child(8) { transition-delay: 600ms; }

@media (prefers-reduced-motion: reduce) {
	.am-reveal-on-scroll > * {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ---------- EZ-TOC active-section highlight ---------- */
.ez-toc-link.is-active,
#ez-toc-container .ez-toc-link.is-active {
	color: var(--wp--preset--color--brick) !important;
	border-bottom-color: var(--wp--preset--color--brick) !important;
	font-weight: 700 !important;
}

/* ---------- Pull-quote magnification ---------- */
.am-article-body blockquote {
	transform: scale(0.97);
	transform-origin: left center;
	transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.am-article-body blockquote.is-visible {
	transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
	.am-article-body blockquote {
		transform: none !important;
		transition: none !important;
	}
}

/* ============================================================
   v2.12.0 — Sonic Boom #7 (single-buying-guide)
   ----------------------------------------------------------
   Section 2 problem-awareness band, "As tested by" press band,
   named-methodology eyebrow on criteria.
   ============================================================ */

/* ---------- Section 2 — Problem-awareness ---------- */
.am-bg-problem__head {
	max-width: 720px;
	margin: 0 auto var(--wp--preset--spacing--40);
	text-align: center;
}
.am-bg-problem__head .am-eyebrow {
	color: var(--wp--preset--color--brick);
	margin: 0 0 0.4rem;
}
.am-bg-problem__heading {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--text);
	margin: 0;
	text-wrap: balance;
}
.am-bg-problem__list {
	max-width: 720px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.am-bg-problem__item {
	display: flex;
	gap: 0.75rem;
	align-items: baseline;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
}
.am-bg-problem__mark {
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 800;
	font-size: 1.125rem;
	color: var(--wp--preset--color--brick);
	width: 1.25rem;
	text-align: center;
}
.am-bg-problem__mark--ok { color: var(--wp--preset--color--pickle); }
.am-bg-problem__text {
	flex: 1 1 auto;
}
.am-bg-problem__contrast {
	max-width: 720px;
	margin: var(--wp--preset--spacing--40) auto 0;
	padding: 0.875rem 1.125rem;
	background: var(--wp--preset--color--cream);
	border-left: 4px solid var(--wp--preset--color--pickle);
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
	display: flex;
	gap: 0.625rem;
	align-items: baseline;
}

/* ---------- "As tested by" press band ---------- */
.am-tested-by__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	max-width: 1100px;
	margin: 0 auto;
}
.am-tested-by__label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	margin: 0;
	flex: 0 0 auto;
}
.am-tested-by__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.am-tested-by__chip {
	font-family: var(--wp--preset--font-family--bricolage);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--bone-gray);
	border-radius: 2px;
	padding: 0.4rem 0.75rem;
	white-space: nowrap;
	opacity: 0.85;
}

/* ============================================================
 * Newsletter — Beehiiv wire-up (v2.13.3+)
 * Honeypot, success state, inline error.
 * ============================================================ */
.am-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.am-nl-result {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	line-height: 1.5;
	padding: 1rem 1.125rem;
	border-radius: 2px;
	background: var(--wp--preset--color--bg);
	color: var(--wp--preset--color--text);
	border: 1px solid var(--wp--preset--color--pickle);
	border-left: 4px solid var(--wp--preset--color--pickle);
	max-width: 480px;
}
.am-nl-result strong { display: block; font-weight: 800; margin-bottom: 0.25rem; }
.am-newsletter-cta .am-nl-result {
	background: var(--wp--preset--color--bg);
	color: var(--wp--preset--color--text);
	max-width: 480px;
	margin: 0 auto;
}
.am-nl-error {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.875rem;
	color: var(--wp--preset--color--brick);
	margin: 0.5rem 0 0;
	flex-basis: 100%;
}
.am-newsletter-cta .am-nl-error { color: var(--wp--preset--color--mustard); text-align: center; }

/* --------------------------------------------------------------------------
 * v2.14.0 — Hero single-CTA, Jim-mascot reframe, Since stamp
 * -------------------------------------------------------------------------- */

/* Hero: primary CTA is now a solid button; secondary is a muted link. */
.am-hero-cta-row--single {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem;
	margin: 1.25rem 0 0;
}
.am-hero-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--wp--preset--color--brick);
	color: var(--wp--preset--color--bg);
	font-family: var(--wp--preset--font-family--bricolage), var(--wp--preset--font-family--inter), sans-serif;
	font-weight: 800;
	font-size: 1.0625rem;
	letter-spacing: 0.005em;
	text-transform: none;
	padding: 0.875rem 1.5rem;
	border-radius: 2px;
	text-decoration: none;
	transition: transform 120ms ease, background 120ms ease;
	box-shadow: 0 1px 0 rgba(0,0,0,0.05);
}
.am-hero-cta-primary:hover {
	background: #a52816;
	transform: translateY(-1px);
}
.am-hero-cta-secondary--muted {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--stone);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--wp--preset--color--bone-gray);
}
.am-hero-cta-secondary--muted:hover {
	color: var(--wp--preset--color--text);
	text-decoration-color: var(--wp--preset--color--brick);
}

/* Header: SINCE stamp under wordmark */
.am-wordmark-stack {
	line-height: 1;
	gap: 0 !important;
}
.am-wordmark-since {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	line-height: 1.2;
	padding-top: 2px;
}

/* Founder / Meet the mascot: Jim-says quip callout */
.am-founder__jim-says {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
	padding: 0.75rem 1rem;
	border-left: 3px solid var(--wp--preset--color--brick);
	background: rgba(232, 163, 58, 0.08);
	max-width: 34ch;
}
.am-founder__jim-says strong {
	font-family: var(--wp--preset--font-family--bricolage), var(--wp--preset--font-family--inter), sans-serif;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.75rem;
	display: inline-block;
	margin-right: 0.25rem;
	color: var(--wp--preset--color--brick);
}
.am-founder__jim-says em { font-style: italic; }


/* --------------------------------------------------------------------------
 * v2.15.0 — Recipe card meta (byline + rating), Technique SVG icons
 * -------------------------------------------------------------------------- */

/* Recipe card meta row — rating + author byline */
.am-recipe-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin: 0.35rem 0 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--wp--preset--color--stone);
}
.am-recipe-card__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	color: var(--wp--preset--color--text);
	font-weight: 600;
}
.am-recipe-card__stars {
	color: var(--wp--preset--color--mustard);
	letter-spacing: 0.05em;
	font-size: 0.875rem;
	line-height: 1;
}
.am-recipe-card__rating-num { font-variant-numeric: tabular-nums; }
.am-recipe-card__rating-count { color: var(--wp--preset--color--stone); font-weight: 400; }
.am-recipe-card__sep { color: var(--wp--preset--color--bone-gray); }
.am-recipe-card__byline a {
	color: var(--wp--preset--color--stone);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 120ms ease, color 120ms ease;
}
.am-recipe-card__byline a:hover {
	color: var(--wp--preset--color--brick);
	border-bottom-color: var(--wp--preset--color--brick);
}

/* Technique card icons — inline SVG in Texas Brick */
.am-technique-card__icon {
	color: var(--wp--preset--color--brick);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 0.5rem;
	padding: 0;
	line-height: 0;
}
.am-technique-card__icon svg,
.am-tech-icon {
	display: block;
	width: 28px;
	height: 28px;
}


/* --------------------------------------------------------------------------
 * v2.15.9 — Founder block: replace stripped block-level spacing with CSS
 * -------------------------------------------------------------------------- */
.am-founder__title { margin-top: 0.4rem; margin-bottom: var(--wp--preset--spacing--30); }
.am-founder__cta   { margin-top: var(--wp--preset--spacing--30); }

/* --------------------------------------------------------------------------
 * v2.16.0 — Recipe card meta line + SINCE stamp via ::after (no block markup)
 * -------------------------------------------------------------------------- */
.am-recipe-card__meta {
	display: block;
	margin: 0.35rem 0 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--wp--preset--color--stone);
	letter-spacing: 0;
}

/* SINCE 2015 stamp injected via CSS on the site-title element.
   Uses ::after with content and absolute positioning so it doesn't affect the header flex. */
.am-brand-lockup {
	position: relative;
}
.am-brand-lockup > .wp-block-site-title,
.am-brand-lockup .am-wordmark {
	position: relative;
	display: inline-block;
	line-height: 1;
}
.am-brand-lockup > .wp-block-site-title::after,
.am-brand-lockup .am-wordmark::after {
	content: "Since 2015 · BBQ authority";
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone);
	line-height: 1.2;
	margin-top: 2px;
	white-space: nowrap;
}

