/*
Theme Name: FirstOfTen
Theme URI: https://firstoften.com/
Author: FirstOfTen
Description: Custom block theme for the FirstOfTen recommendation and comparison platform.
Version: 0.1.3
Requires at least: 7.0
Requires PHP: 8.2
Text Domain: firstoften
*/

/* Global values live in theme.json; components retain their internal layout. */
:where(*, *::before, *::after) { box-sizing: border-box; }
:where(body, .editor-styles-wrapper) {
	background: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--ink);
}
::selection { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink); }
/* Pale brand surfaces always start with readable dark text, including in the editor. */
.has-sage-background-color,
.has-pink-background-color,
.has-surface-background-color { color: var(--wp--preset--color--ink); }
:where(a) {
	color: var(--wp--preset--color--accent-dark);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
	overflow-wrap: anywhere;
}
a:visited { color: var(--wp--preset--color--accent-dark); }
a:hover { color: var(--wp--preset--color--accent-hover); text-decoration-thickness: 0.14em; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--plum);
	outline-offset: 3px;
}
:where(.wp-block-post-content, .editor-styles-wrapper) :where(h1, h2, h3, h4) {
	text-wrap: balance;
}
:where(.wp-block-post-content, .editor-styles-wrapper) :where(p, li) {
	text-wrap: pretty;
}

/* Root padding in theme.json is the sole horizontal page gutter. */
.wp-site-blocks > main {
	margin-block: 0;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
:where(.wp-block-post-title, .wp-block-query-title, .wp-block-heading) {
	overflow-wrap: anywhere;
}
:where(.wp-block-post-content, .editor-styles-wrapper) > :where(p, ul, ol, blockquote):not(.alignwide):not(.alignfull) {
	max-inline-size: var(--wp--custom--prose-width);
}
:where(.wp-block-post-content, .editor-styles-wrapper) > :where(p, ul, ol, blockquote, pre, figure) {
	margin-block: 0 var(--wp--preset--spacing--40);
}
:where(.wp-block-post-content, .editor-styles-wrapper) > :where(h2, h3, h4, h5, h6) {
	margin-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
}
:where(.wp-block-post-content, .editor-styles-wrapper) > :first-child { margin-block-start: 0; }
:where(.wp-block-post-content, .editor-styles-wrapper) > :where(ul, ol),
:where(.wp-block-list) { padding-inline-start: var(--wp--preset--spacing--50); }
:where(.wp-block-list li + li) { margin-block-start: var(--wp--preset--spacing--20); }
:where(.wp-block-quote) {
	border-inline-start: 3px solid var(--wp--preset--color--border);
	padding-inline-start: var(--wp--preset--spacing--50);
	margin-inline: 0;
	color: var(--wp--preset--color--muted);
}
:where(hr, .wp-block-separator) {
	border: 0;
	border-block-start: 1px solid var(--wp--preset--color--border);
	margin-block: var(--wp--preset--spacing--60);
}
:where(img) { max-inline-size: 100%; height: auto; }
.firstoften-media-frame { max-inline-size: 100%; padding: var(--wp--preset--spacing--30); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--surface-radius); background: var(--wp--preset--color--base); }
.firstoften-media-frame img { display: block; max-inline-size: 100%; block-size: auto; margin-inline: auto; }
figcaption, .wp-element-caption, .wp-block-quote cite {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}
:where(.wp-block-table) { max-inline-size: 100%; overflow-x: auto; }
:where(.wp-block-table table) { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table td {
	border: 1px solid var(--wp--preset--color--border);
	padding: var(--wp--preset--spacing--30);
	text-align: start;
	overflow-wrap: anywhere;
}
.wp-block-table th { background: var(--wp--preset--color--surface); }
:where(code, pre) { font-family: ui-monospace, Consolas, monospace; }
:where(p, li) > code { background: var(--wp--preset--color--surface); padding-inline: var(--wp--preset--spacing--10); overflow-wrap: anywhere; }
:where(pre) { max-inline-size: 100%; overflow-x: auto; padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--surface); }
.wp-block-post-content :where(.wp-block-table, .wp-block-quote, pre) { margin-block: var(--wp--preset--spacing--50); }
.wp-block-post-template > li + li { margin-block-start: var(--wp--preset--spacing--60); }
.wp-block-query-pagination { gap: var(--wp--preset--spacing--40); flex-wrap: wrap; }

/* Archive, search, and fallback results retain their inherited WordPress queries. */
.fot-utility { min-inline-size: 0; }
.fot-utility > :where(h1, .wp-block-query-title, .wp-block-term-description, .wp-block-query, .wp-block-search, p) {
	inline-size: 100%;
	max-inline-size: 56rem;
	margin-inline: auto;
}
.fot-utility > :where(h1, .wp-block-query-title) {
	padding: 2rem;
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--surface);
	border-inline-start: 3px solid var(--wp--preset--color--plum);
}
.fot-utility > :where(.wp-block-term-description, p) { padding-inline: 2rem; }
.fot-utility > .wp-block-search {
	padding: 2rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
}
.fot-utility .wp-block-search__input { min-inline-size: 0; }
.fot-utility .wp-block-search__label { display: block; margin-block-end: 0.5rem; font-weight: 600; }
.fot-utility > :where(.wp-block-query-title, h1) { max-inline-size: 56rem; margin-block: 0 var(--wp--preset--spacing--30); text-wrap: balance; }
.fot-utility > .wp-block-term-description { max-inline-size: 56rem; margin-block: 0 var(--wp--preset--spacing--50); color: var(--wp--preset--color--muted); }
.fot-utility > .wp-block-query { margin-block-start: var(--wp--preset--spacing--50); }
.fot-utility__results { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--30); padding: 0; list-style: none; }
.fot-utility__results > li {
	min-inline-size: 0;
	margin: 0;
	padding: 2rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
}
.fot-utility__results > li + li { margin-block-start: 0; }
.fot-utility__results > li > :where(.wp-block-post-title, .wp-block-post-date, .wp-block-post-excerpt) { margin-block: 0; }
.fot-utility__results .wp-block-post-title { font-size: var(--wp--preset--font-size--subsection); line-height: 1.35; }
.fot-utility__results .wp-block-post-title a { display: inline-block; padding-block: 0.25rem; }
.fot-utility__results .wp-block-post-date { margin-block-start: var(--wp--preset--spacing--20); color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.fot-utility__results .wp-block-post-excerpt { margin-block-start: var(--wp--preset--spacing--30); color: var(--wp--preset--color--muted); }
.fot-utility__results .wp-block-post-excerpt__excerpt { max-inline-size: none; margin: 0; overflow-wrap: anywhere; }
.fot-utility__pagination { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--20); margin-block-start: var(--wp--preset--spacing--50); }
.fot-utility__pagination :where(a, .page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) { display: inline-flex; align-items: center; min-block-size: 2.75rem; padding: 0.5rem 0.75rem; border-radius: var(--wp--custom--control-radius); }
.fot-utility__pagination .current { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink); font-weight: 700; }
.fot-utility__pagination a:hover { background: var(--wp--preset--color--surface); }
.fot-utility__empty { padding: var(--wp--preset--spacing--50); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--surface-radius); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); }
.fot-utility__empty p { margin: 0; }
.fot-utility--404 > p:not(.fot-utility__eyebrow) { max-inline-size: 56rem; }
.fot-utility__eyebrow { margin-block: 0 var(--wp--preset--spacing--20); color: var(--wp--preset--color--accent-dark); font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.fot-utility__actions { margin-block: var(--wp--preset--spacing--40); }
.fot-utility__actions a { display: inline-flex; align-items: center; min-block-size: 2.75rem; }
.fot-utility--404 .wp-block-search { max-inline-size: 56rem; margin-block-start: var(--wp--preset--spacing--50); }

/* Singular editorial Posts. Direct children keep bound decision components independent. */
.fot-article { min-inline-size: 0; }
.fot-article > :where(.wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-date, .wp-block-post-content) {
	inline-size: 100%;
	max-inline-size: 56rem;
	margin-inline: auto;
}
.fot-article > :where(.wp-block-post-excerpt, .wp-block-post-date) { padding-inline: 2rem; }
.fot-article > .wp-block-post-content {
	padding: 2rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
}
/* Renderer-owned Comparison surfaces retain their independent table width. */
.fot-article > .wp-block-post-content:has(:is(.fot-comparison-public-host, .fot-comparison-unavailable)) {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}
.fot-article > .wp-block-post-title {
	max-inline-size: 56rem;
	padding: 2rem;
	border-inline-start: 3px solid var(--wp--preset--color--plum);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--surface);
	margin-block: 0 var(--wp--preset--spacing--30);
	line-height: 1.14;
	letter-spacing: -0.025em;
	text-wrap: balance;
}
/* Both renderer states expose stable hooks, whether direct or in post-content. */
.fot-article:has(:is(.fot-comparison-public-host, .fot-comparison-unavailable)) > :is(.wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-date, .wp-block-post-content, .fot-comparison-unavailable) {
	max-inline-size: var(--wp--custom--decision-width);
}

.fot-article > .wp-block-post-excerpt { margin-block: 0 var(--wp--preset--spacing--20); }
.fot-article > .wp-block-post-excerpt:empty { display: none; }
.fot-article .wp-block-post-excerpt__excerpt {
	max-inline-size: none;
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
}
.fot-article > .wp-block-post-date {
	margin-block: 0 var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}
.fot-article > .wp-block-post-content { min-inline-size: 0; margin-block-start: 0; }
.fot-article > .wp-block-post-content > :where(p, ul, ol, h2, h3, h4, blockquote, .wp-block-pullquote, pre, .wp-block-code, .wp-block-table, figure, .wp-block-image, .wp-block-separator):not(.alignwide):not(.alignfull) {
	max-inline-size: 100%;
}
.fot-article > .wp-block-post-content > :where(p, ul, ol) { line-height: 1.7; }
.fot-article > .wp-block-post-content > :where(h2, h3, h4) { text-wrap: balance; }
.fot-article > .wp-block-post-content > h2 { margin-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40); }
.fot-article > .wp-block-post-content > h3 { margin-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30); }
.fot-article > .wp-block-post-content > h4 { margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--20); }
.fot-article > .wp-block-post-content > :where(p, ul, ol, figure) { margin-block-end: var(--wp--preset--spacing--50); }
.fot-article > .wp-block-post-content > :first-child { margin-block-start: 0; }
.fot-article > .wp-block-post-content > :where(.wp-block-quote, .wp-block-pullquote) {
	margin-block: var(--wp--preset--spacing--60);
	border-inline-start: 3px solid var(--wp--preset--color--accent-dark);
	padding: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--20) var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--ink);
}
.fot-article > .wp-block-post-content > .wp-block-pullquote { border-block: 0; text-align: start; }
.fot-article > .wp-block-post-content > .wp-block-pullquote p { font-size: var(--wp--preset--font-size--lead); line-height: 1.5; }
.fot-article > .wp-block-post-content > :where(.is-style-note, .is-style-warning, .is-style-methodology-note, .is-style-disclosure, .is-style-key-takeaway) {
	border-inline-start: 3px solid var(--wp--preset--color--accent-dark);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
}
.fot-article > .wp-block-post-content > .is-style-warning { border-inline-start-color: var(--wp--preset--color--caution-ink); background: var(--wp--preset--color--caution-surface); }
.fot-article > .wp-block-post-content > :where(.wp-block-table, .wp-block-code, pre) { margin-block: var(--wp--preset--spacing--60); }
.fot-article > .wp-block-post-content > .wp-block-table { overflow-x: auto; }
.fot-article > .wp-block-post-content > .wp-block-table table { min-inline-size: 32rem; font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.fot-article > .wp-block-post-content > .wp-block-table th { color: var(--wp--preset--color--ink); font-weight: 650; }
.fot-article > .wp-block-post-content > .wp-block-table :where(th, td) { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); vertical-align: top; }
.fot-article > .wp-block-post-content > :where(figure, .wp-block-table) figcaption { margin-block-start: var(--wp--preset--spacing--20); }
.fot-article > .wp-block-post-content > :where(pre, .wp-block-code) { white-space: pre; overflow-x: auto; }
.fot-article > .wp-block-post-content > .wp-block-separator { margin-block: var(--wp--preset--spacing--70); }
.fot-article > .wp-block-post-content > :last-child { margin-block-end: 0; }
.wp-site-blocks > main.fot-article { padding-block-end: var(--wp--preset--spacing--70); }

/* Shared presentation primitives. Classes do not infer editorial or scoring state. */
:where(.fot-surface, .fot-evidence-panel) {
	min-inline-size: 0;
	padding: clamp(1rem, 2.5vw, 1.5rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
}
.fot-evidence-panel {
	background: var(--wp--preset--color--surface);
}
.fot-evidence-panel :where(h2, h3, h4, p) { margin-block-start: 0; }
.fot-evidence-panel :where(.fot-meta, small) { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.fot-evidence-panel a { color: var(--wp--preset--color--accent-dark); }
.fot-badge {
	display: inline-flex;
	align-items: center;
	max-inline-size: 100%;
	padding: 0.25rem 0.625rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--control-radius);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.4;
	text-align: start;
}
.fot-badge--positive { border-color: var(--wp--preset--color--positive); background: var(--wp--preset--color--positive-surface); color: var(--wp--preset--color--positive-ink); }
.fot-badge--caution { border-color: var(--wp--preset--color--caution); background: var(--wp--preset--color--caution-surface); color: var(--wp--preset--color--caution-ink); }
.fot-badge--negative { border-color: var(--wp--preset--color--negative); background: var(--wp--preset--color--negative-surface); color: var(--wp--preset--color--negative); }
.fot-factual-score-panel {
	min-inline-size: 0;
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--surface);
}
.fot-factual-score-panel__value {
	display: block;
	color: var(--wp--preset--color--accent-dark);
	font-size: var(--wp--preset--font-size--score);
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	line-height: 1.1;
}
.fot-editorial-recommendation {
	border-inline-start: 3px solid var(--wp--preset--color--accent);
	padding-inline-start: var(--wp--preset--spacing--40);
	font-weight: 600;
}
.fot-button, .wp-block-button__link, .wp-element-button, input[type="submit"], button[type="submit"] {
	min-block-size: 2.75rem;
	padding: 0.625rem 1rem;
	border: 1px solid var(--wp--preset--color--accent-dark);
	border-radius: var(--wp--custom--control-radius);
	background: var(--wp--preset--color--accent-dark);
	color: var(--fot-button-text, var(--wp--preset--color--base));
	font: inherit;
	font-weight: 600;
	line-height: 1.35;
	cursor: pointer;
}
.fot-button:link, .fot-button:visited,
.wp-element-button:link, .wp-element-button:visited,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:link,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:visited {
	color: var(--fot-button-text, var(--wp--preset--color--base));
}
.fot-button:hover, .wp-block-button__link:hover, .wp-element-button:hover, input[type="submit"]:hover, button[type="submit"]:hover {
	background: var(--wp--preset--color--accent-hover);
	border-color: var(--wp--preset--color--accent-hover);
	color: var(--fot-button-text, var(--wp--preset--color--base));
}
.is-style-outline .wp-block-button__link,
.is-style-outline .wp-block-button__link:visited,
.fot-button--secondary, .fot-button--secondary:link, .fot-button--secondary:visited {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--plum);
}
.is-style-outline .wp-block-button__link:hover, .fot-button--secondary:hover {
	background: var(--wp--preset--color--pink);
	border-color: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--ink);
}

@media (max-width: 600px) {
	.fot-utility > :where(h1, .wp-block-query-title),
	.fot-utility > .wp-block-search,
	.fot-utility__results > li,
	.fot-article > .wp-block-post-title,
	.fot-article > .wp-block-post-content { padding: 1.25rem; }
	.fot-utility > :where(.wp-block-term-description, p),
	.fot-article > :where(.wp-block-post-excerpt, .wp-block-post-date) { padding-inline: 1.25rem; }
	.fot-utility .wp-block-search__inside-wrapper { flex-direction: column; gap: 0.75rem; }
	.fot-utility .wp-block-search__input { flex: none; inline-size: 100%; min-block-size: 2.75rem; }
	.fot-utility .wp-block-search__button { margin-inline: 0; align-self: flex-start; }
}

/* Bound Comparison: one editorial context and one immutable Product matrix. */
.wp-site-blocks main .wp-block-post-content:has(.fot-comparison-public-host),
.wp-site-blocks main .fot-comparison-public-host {
	inline-size: 100%;
	max-inline-size: var(--wp--custom--decision-width);
}
.fot-comparison-public-host > h2 {
	margin-block: 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--section);
}
.fot-comparison-public-host > h2 + p,
.fot-comparison-public-host > h2 + p + p { margin-block: 0 var(--wp--preset--spacing--20); }
.fot-comparison-public-host > h2 + p + p + p {
	max-inline-size: 65ch;
	margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	padding-inline-start: var(--wp--preset--spacing--40);
	border-inline-start: 3px solid var(--wp--preset--color--accent-dark);
	font-weight: 600;
}
.fot-comparison-public-host > h3 {
	max-inline-size: 65ch;
	margin-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--30);
	padding-block-start: var(--wp--preset--spacing--50);
	border-block-start: 1px solid var(--wp--preset--color--border);
}
.fot-comparison-public-host > h3 ~ p { max-inline-size: 70ch; }
/* One Comparison table: stacked Product rows first, matrix on wider screens.
 * Explicit table roles in PHP retain associations when CSS changes display. */
.fot-comparison-public-host { min-inline-size: 0; overflow-wrap: anywhere; }
.fot-comparison-transition,
.fot-comparison-unavailable { min-inline-size: 0; overflow-wrap: anywhere; color: var(--wp--preset--color--muted); }
.fot-comparison-transition { max-inline-size: 70ch; margin-block: var(--wp--preset--spacing--30); }
.fot-comparison-unavailable { margin-block: var(--wp--preset--spacing--50); padding: clamp(1.25rem, 2.5vw, 2rem); border-radius: var(--wp--custom--surface-radius); border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--surface); }
.fot-article > .fot-comparison-unavailable { inline-size: 100%; max-inline-size: 56rem; margin-inline: auto; }
.fot-comparison-unavailable > h2 { color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--subsection); }
.fot-comparison-unavailable > :is(h2, p) { margin-block: 0 var(--wp--preset--spacing--20); }
.fot-comparison-unavailable > p:last-child { margin-block-end: 0; }
.fot-comparison-table {
	display: block;
	inline-size: 100%;
	max-inline-size: 100%;
	border-collapse: collapse;
	text-align: start;
}
.fot-comparison-table caption {
	display: block;
	text-align: start;
	font-size: var(--wp--preset--font-size--subsection);
	font-weight: 700;
	margin-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
}
.fot-comparison-table thead {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.fot-comparison-table tbody, .fot-comparison-table tr,
.fot-comparison-table th, .fot-comparison-table td { display: block; min-inline-size: 0; }
.fot-comparison-table tbody tr {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	margin-block-end: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--base);
}
.fot-comparison-table th, .fot-comparison-table td {
	padding: var(--wp--preset--spacing--40);
	text-align: start;
	vertical-align: top;
	overflow-wrap: anywhere;
}
.fot-comparison-table tbody th { background: var(--wp--preset--color--surface); font-size: var(--wp--preset--font-size--lead); }
.fot-comparison-table__product { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; min-inline-size: 0; }
.fot-comparison-table__product-name { inline-size: 100%; min-inline-size: 0; overflow-wrap: anywhere; }
.fot-comparison-table__logo { display: block; flex: none; inline-size: 40px; block-size: 40px; object-fit: contain; }
.fot-comparison-table thead th { background: var(--wp--preset--color--surface); }
.fot-comparison-table__facts { font-variant-numeric: tabular-nums; }
.fot-comparison-table p { margin: 0; }
.fot-comparison-table p + p { margin-block-start: var(--wp--preset--spacing--20); }
.fot-comparison-table__facts > p:first-child { color: var(--wp--preset--color--ink); font-weight: 700; }
.fot-comparison-table__facts > p:not(:first-child) { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.fot-comparison-table__editorial { border-block-start: 2px solid var(--wp--preset--color--accent-dark); }
.fot-comparison-table__editorial > p:first-child { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.fot-comparison-table__editorial > p:last-child { color: var(--wp--preset--color--ink); font-weight: 700; }
@media (min-width: 768px) {
	.fot-comparison-table__logo { inline-size: 48px; block-size: 48px; }
	.fot-comparison-table { display: table; table-layout: fixed; }
	.fot-comparison-table caption { display: table-caption; }
	.fot-comparison-table thead {
		display: table-header-group;
		position: static;
		inline-size: auto;
		block-size: auto;
		overflow: visible;
		clip-path: none;
	}
	.fot-comparison-table tbody { display: table-row-group; }
	.fot-comparison-table tr { display: table-row; }
	.fot-comparison-table th, .fot-comparison-table td {
		display: table-cell;
		border: 1px solid var(--wp--preset--color--border);
	}
	.fot-comparison-table thead th:first-child { width: 25%; }
	.fot-comparison-table thead th:nth-child(2) { width: 38%; }
	.fot-comparison-table thead th:nth-child(3) { width: 37%; }
	.fot-comparison-table .fot-comparison-table__editorial {
		border-inline-start: 2px solid var(--wp--preset--color--accent-dark);
	}
}

/* Full-width member evidence follows the compact matrix, in the same order. */
.fot-comparison-member-evidence {
	margin-block: var(--wp--preset--spacing--60);
	padding-block-start: var(--wp--preset--spacing--50);
	border-block-start: 1px solid var(--wp--preset--color--border);
	min-inline-size: 0;
	overflow-wrap: anywhere;
}
.fot-comparison-member-evidence > h3 { font-size: var(--wp--preset--font-size--subsection); }
.fot-comparison-member-evidence > p { color: var(--wp--preset--color--muted); }
.fot-comparison-member-evidence :is(h3, h4, h5, p) { margin-block: 0 var(--wp--preset--spacing--20); }
.fot-comparison-member-evidence :is(h4, h5) { font-size: var(--wp--preset--font-size--body); }
.fot-comparison-member-evidence .fot-product-score-evidence { margin-block-start: var(--wp--preset--spacing--30); }
.fot-comparison-member-evidence .fot-product-score-evidence__summary,
.fot-comparison-member-evidence .fot-product-score-evidence__observed {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}
.fot-comparison-member-evidence .fot-product-score-evidence__observed { display: block; }
.fot-comparison-member-evidence ul { margin-block: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); padding-inline-start: var(--wp--preset--spacing--50); }
.fot-comparison-member-evidence li + li { margin-block-start: var(--wp--preset--spacing--20); }
.fot-comparison-member-evidence a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }

/* True controls only: editorial actions stay text links. */
.wp-block-search__inside-wrapper { flex-wrap: wrap; gap: var(--wp--preset--spacing--20); }
.wp-block-search__input {
	min-inline-size: 0;
	flex: 1 1 12rem;
	min-block-size: 2.75rem;
	font: inherit;
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--muted);
	border-radius: var(--wp--custom--surface-radius);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}
.wp-block-search__button {
	margin-inline-start: 0;
	min-block-size: 2.75rem;
	max-inline-size: 100%;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--accent-dark);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--accent-dark);
	color: var(--fot-button-text, var(--wp--preset--color--base));
	font: inherit;
	font-weight: 600;
	white-space: normal;
	overflow-wrap: anywhere;
	cursor: pointer;
}
.wp-block-search__button:hover { text-decoration: underline; text-underline-offset: 0.18em; }

.fot-site-header, .fot-site-footer {
	max-inline-size: var(--wp--style--global--wide-size);
	margin-inline: auto;
}
.fot-site-header {
	min-inline-size: 0;
	padding-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border-block-start: 3px solid var(--wp--preset--color--accent);
	border-block-end: 1px solid var(--wp--preset--color--border);
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--60);
}
.fot-site-brand {
	min-inline-size: 0;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.fot-site-brand > * { margin-block: 0; }
.fot-site-brand__text { min-inline-size: 0; }
.fot-site-brand__text > * { margin-block: 0; }
.fot-site-brand .fot-site-brand__symbol {
	flex: 0 0 44px;
	inline-size: 44px;
	line-height: 0;
}
.fot-site-brand .fot-site-brand__symbol img {
	display: block;
	max-inline-size: 100%;
	object-fit: contain;
}
.fot-site-brand__home {
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	min-block-size: 44px;
}
.fot-site-brand__home:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }
@media (max-width: 599px) {
	.fot-site-brand { gap: 0.625rem; }
	.fot-site-brand .fot-site-brand__symbol { flex-basis: 38px; inline-size: 38px; }
	.fot-site-brand .fot-site-brand__symbol img { width: 38px !important; height: 38px !important; }
	.fot-site-brand__home { margin-inline: -3px; }
}
.fot-site-brand__descriptor {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
}
.fot-site-header .wp-block-site-title {
	margin: 0;
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	overflow-wrap: anywhere;
}
.fot-site-header .wp-block-site-title a,
.fot-site-header .wp-block-site-title a:visited { color: var(--wp--preset--color--ink); text-decoration: none; }
.fot-site-header .wp-block-site-title a:hover { color: var(--wp--preset--color--accent-dark); }
.fot-site-header .wp-block-navigation { margin-inline-start: auto; }
.fot-site-header .wp-block-navigation__responsive-container-open,
.fot-site-header .wp-block-navigation__responsive-container-close {
	min-inline-size: 2.75rem;
	min-block-size: 2.75rem;
	color: var(--wp--preset--color--ink);
}
.fot-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
}
.fot-site-header .wp-block-navigation__responsive-container-open:focus-visible,
.fot-site-header .wp-block-navigation__responsive-container-close:focus-visible {
	outline: 2px solid var(--wp--preset--color--plum);
	outline-offset: 3px;
}
.fot-site-footer {
	border-block-start: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
}
.fot-site-footer__brand {
	border-inline-start: 3px solid var(--wp--preset--color--plum);
	padding-inline-start: var(--wp--preset--spacing--40);
	margin-block-end: var(--wp--preset--spacing--60);
}
.fot-site-footer__brand > * { margin-block: 0; }
.fot-site-footer__name { color: var(--wp--preset--color--plum); font-size: 1.5rem; font-weight: 700; }
.fot-site-footer__intro { color: var(--wp--preset--color--ink); font-size: 1rem; }
/* Native shared search: transparent on the footer's pale turquoise surface. */
.fot-site-footer__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem 3rem;
	margin-block-end: 2rem;
}
.fot-site-footer__top > .fot-site-footer__brand { flex: 1 1 20rem; min-inline-size: 0; margin-block: 0; }
.fot-site-footer__top > .fot-site-footer__search {
	flex: 1 1 22rem;
	inline-size: 100%;
	max-inline-size: 30rem;
	min-inline-size: 0;
	margin: 0;
}
.fot-site-footer__search .wp-block-search__label { display: block; margin-block-end: 0.5rem; font-weight: 600; }
.fot-site-footer__search .wp-block-search__input { min-inline-size: 0; }
@media (max-width: 600px) {
	.fot-site-footer__search .wp-block-search__inside-wrapper { flex-direction: column; gap: 0.75rem; }
	.fot-site-footer__search .wp-block-search__input { flex: none; inline-size: 100%; min-block-size: 2.75rem; }
	.fot-site-footer__search .wp-block-search__button { margin-inline: 0; align-self: flex-start; }
}
.fot-site-footer__groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
}
.fot-site-footer__groups > .fot-site-footer__group { margin-block: 0; }
.fot-site-footer__group { min-inline-size: 0; }
.fot-site-footer__heading {
	margin-block: 0 var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--ink);
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: 0;
}
.fot-site-footer__identity {
	margin-block: var(--wp--preset--spacing--50) 0;
	padding-block-start: var(--wp--preset--spacing--30);
	border-block-start: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}
:where(.fot-site-header, .fot-site-footer) .wp-block-navigation {
	font-size: var(--wp--preset--font-size--body);
}
.fot-site-header .wp-block-navigation { font-weight: 600; }
.fot-site-footer .wp-block-navigation { font-size: 1rem; font-weight: 400; }
.fot-site-footer .wp-block-navigation__container {
	align-items: flex-start;
	gap: var(--wp--preset--spacing--10);
}
:where(.fot-site-header, .fot-site-footer) .wp-block-navigation__container {
	flex-wrap: wrap;
}
.fot-site-header .wp-block-navigation__container { gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40); }
:where(.fot-site-header, .fot-site-footer) .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
:where(.fot-site-header, .fot-site-footer) .wp-block-navigation-item__content:visited { color: var(--wp--preset--color--ink); }
:where(.fot-site-header, .fot-site-footer) .wp-block-navigation-item__content:hover,
:where(.fot-site-header, .fot-site-footer) .current-menu-item > .wp-block-navigation-item__content,
:where(.fot-site-header, .fot-site-footer) .wp-block-navigation-item__content[aria-current="page"] { color: var(--wp--preset--color--accent-dark); text-decoration: underline; }
:where(.fot-site-header, .fot-site-footer) :where(.wp-block-navigation, .wp-block-navigation-item, .wp-block-site-title) { min-inline-size: 0; max-inline-size: 100%; }
@media (max-width: 599px) {
	.fot-site-brand__descriptor { display: none; }
	.fot-site-footer { padding-inline: var(--wp--preset--spacing--40); }
	.fot-site-footer__groups { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 600px) and (max-width: 850px) {
	.fot-site-header .wp-block-navigation { margin-inline-start: 0; }
}
/* Product decision brief: the public blocks remain the source of all facts and judgments. */
.wp-site-blocks > .fot-product-public { padding-block-start: clamp(2rem, 4vw, 3.5rem); }
.fot-product-public { min-inline-size: 0; }
.fot-product-identity { display: flex; flex-wrap: nowrap; align-items: flex-start; gap: var(--wp--preset--spacing--40); min-inline-size: 0; }
.fot-product-identity__text { min-inline-size: 0; flex: 1 1 auto; }
.fot-product-hero { min-inline-size: 0; overflow-wrap: anywhere; }
.fot-product-hero > .wp-block-firstoften-product-public-decision-summary { margin-block-start: var(--wp--preset--spacing--50); }
.fot-product-hero .fot-product-public-decision-summary__score-value { font-size: var(--wp--preset--font-size--body); font-weight: 600; }
.fot-product-hero .fot-product-public-decision-summary__context { font-size: var(--wp--preset--font-size--lead); }
.fot-product-identity__text > .wp-block-post-title { margin: 0; max-inline-size: 60rem; text-wrap: balance; }
.fot-product-identity__text > .wp-block-post-excerpt { margin-block: var(--wp--preset--spacing--30) 0; max-inline-size: 60rem; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--lead); line-height: 1.55; }
.fot-product-logo { display: grid; place-items: center; flex: 0 0 clamp(3.5rem, 5vw, 4.5rem); inline-size: clamp(3.5rem, 5vw, 4.5rem); block-size: clamp(3.5rem, 5vw, 4.5rem); padding: 0.375rem; border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--surface-radius); background: var(--wp--preset--color--base); }
.fot-product-logo__image { display: block; max-inline-size: 100%; max-block-size: 100%; inline-size: auto; block-size: auto; object-fit: contain; }
.fot-product-public > * {
	margin-block: 0;
}
.fot-product-public > .wp-block-post-title,
.fot-product-public > .wp-block-post-excerpt {
	max-inline-size: 60rem;
}
.fot-product-public > .wp-block-post-title { text-wrap: balance; }
.fot-product-public > * + :is(
	.wp-block-firstoften-product-public-decision-summary,
	.wp-block-firstoften-product-public-editorial-rationale,
	.wp-block-firstoften-product-public-summary,
	.wp-block-firstoften-product-public-score-contexts
) {
	margin-block-start: var(--wp--preset--spacing--60);
}
.fot-product-public > .wp-block-post-title + .wp-block-post-excerpt {
	margin-block-start: var(--wp--preset--spacing--30);
}
.fot-product-public > .wp-block-post-excerpt {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
}
.fot-product-public .wp-block-post-excerpt__excerpt { max-inline-size: 65ch; }
.fot-product-public > .wp-block-firstoften-product-public-decision-summary,
.fot-product-public > .wp-block-firstoften-product-public-summary,
.fot-product-public > .wp-block-firstoften-product-public-score-contexts {
	margin-block-start: var(--wp--preset--spacing--70);
}
.fot-product-public :is(
	.wp-block-firstoften-product-public-decision-summary,
	.wp-block-firstoften-product-public-editorial-rationale,
	.wp-block-firstoften-product-public-summary,
	.wp-block-firstoften-product-public-score-contexts
) > h2 { font-size: var(--wp--preset--font-size--section); line-height: 1.25; }
.fot-product-public .wp-block-firstoften-product-public-decision-summary {
	background: var(--wp--preset--color--base);
	padding: clamp(1.25rem, 3vw, 2rem);
}
.fot-product-public-decision-summary__intro { max-inline-size: 65ch; color: var(--wp--preset--color--muted); }
.fot-product-public-decision-summary__item + .fot-product-public-decision-summary__item {
	padding-block-start: var(--wp--preset--spacing--60);
}
.fot-product-public-decision-summary__context { color: var(--wp--preset--color--ink); }
.fot-product-public-decision-summary__details { gap: var(--wp--preset--spacing--30); }
.fot-product-public-decision-summary__details dt { color: var(--wp--preset--color--muted); }
.fot-product-public-decision-summary__recommendation-value { color: var(--wp--preset--color--ink); }
.fot-product-public .wp-block-firstoften-product-public-editorial-rationale { padding-block: var(--wp--preset--spacing--20); }
.fot-product-public-editorial-rationale__item { border-inline-start: 2px solid var(--wp--preset--color--border); padding-inline-start: var(--wp--preset--spacing--40); }
.fot-product-public-editorial-rationale__fields { gap: var(--wp--preset--spacing--30); }
.fot-product-public-editorial-rationale__fields dt { color: var(--wp--preset--color--ink); }
.fot-product-public-editorial-rationale__fields dd { max-inline-size: 70ch; }
.fot-product-public .wp-block-firstoften-product-public-summary { padding: clamp(1.25rem, 3vw, 2rem); }
.fot-product-public .wp-block-firstoften-product-public-summary dl { gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); }
.fot-product-public .wp-block-firstoften-product-public-summary dt { color: var(--wp--preset--color--muted); }
.fot-product-public .wp-block-firstoften-product-public-summary dd { margin-block-end: 0; }
.fot-product-public .wp-block-firstoften-product-public-summary dd a { overflow-wrap: anywhere; }
.fot-product-public-score-contexts__item {
	padding: clamp(1rem, 2.5vw, 1.5rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
}
.fot-product-public-score-contexts__item + .fot-product-public-score-contexts__item {
	border-block-start: 1px solid var(--wp--preset--color--border);
	padding-block-start: clamp(1rem, 2.5vw, 1.5rem);
}
.fot-product-public .fot-product-decision-context__category { color: var(--wp--preset--color--muted); font-weight: 500; }
.fot-product-public .fot-product-decision-context__title { font-size: var(--wp--preset--font-size--subsection); }
.fot-product-public .fot-product-factual-score { padding: var(--wp--preset--spacing--40); }
.fot-product-public .fot-product-factual-score__label { color: var(--wp--preset--color--muted); }
.fot-product-public .fot-product-factual-score__score { color: var(--wp--preset--color--accent-dark); font-size: var(--wp--preset--font-size--score); font-variant-numeric: tabular-nums; font-weight: 700; line-height: 1.15; }
.fot-product-public .fot-product-factual-score__details,
.fot-product-public .fot-product-factual-score__freshness,
.fot-product-public .fot-product-factual-score__methodology,
.fot-product-public .fot-product-factual-score__product-version { color: var(--wp--preset--color--muted); }
.fot-product-public .fot-product-score-evidence { background: var(--wp--preset--color--surface); }
.fot-product-public .fot-product-score-evidence__summary { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.fot-product-public .fot-product-score-evidence__criterion + .fot-product-score-evidence__criterion { border-block-start: 1px solid var(--wp--preset--color--border); padding-block-start: var(--wp--preset--spacing--40); }
.fot-product-public > .wp-block-post-content:not(:empty) {
	border-block-start: 1px solid var(--wp--preset--color--border);
	padding-block-start: var(--wp--preset--spacing--60);
}
.fot-product-public > * + .wp-block-post-content:not(:empty) {
	margin-block-start: var(--wp--preset--spacing--70);
}
@media (min-width: 768px) {
	.fot-product-public > .wp-block-firstoften-product-public-decision-summary + .wp-block-firstoften-product-public-editorial-rationale,
	.fot-product-public > .wp-block-firstoften-product-public-summary + .wp-block-firstoften-product-public-score-contexts {
		margin-block-start: var(--wp--preset--spacing--70);
	}
}

/* Member editorial reasoning is separate from the factual evidence sections. */
.fot-comparison-member-rationale { margin-block: var(--wp--preset--spacing--50); min-inline-size: 0; overflow-wrap: anywhere; border-inline-start: 2px solid var(--wp--preset--color--border); padding-inline-start: var(--wp--preset--spacing--40); }
.fot-comparison-member-rationale :is(h3, h4, p) { margin-block: 0 var(--wp--preset--spacing--20); }
.fot-comparison-member-rationale h3 { font-size: var(--wp--preset--font-size--subsection); }
.fot-comparison-member-rationale h4 { font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--muted); }
.fot-comparison-member-rationale p { max-inline-size: 70ch; }
.fot-comparison-member-rationale a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }

/* Front page: editorial entry points, without implying unpublished destinations. */
.wp-site-blocks > .fot-home { padding-block: 0 var(--wp--preset--spacing--70); }
.fot-home { min-inline-size: 0; }
.fot-home > .alignwide { margin-block: 0; }
.fot-home__hero {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2rem);
	padding-block: clamp(2.5rem, 6vw, 5rem);
	padding-inline: clamp(1rem, 3vw, 2.5rem);
	border-radius: 1.25rem;
	background: var(--wp--preset--color--surface);
}
.fot-home__hero::before, .fot-home__hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	border-radius: 50%;
}
.fot-home__hero::before {
	inline-size: 42%;
	block-size: 72%;
	right: 2%;
	top: 12%;
	background: rgb(255 255 255 / 55%);
}
.fot-home__hero::after {
	inline-size: clamp(3rem, 8vw, 7rem);
	aspect-ratio: 1;
	left: 43%;
	bottom: 8%;
	border: 1px solid var(--wp--preset--color--plum);
	opacity: 0.18;
}
.fot-home__hero > * { min-inline-size: 0; margin-block: 0; position: relative; }
.fot-home__hero .fot-home__title {
	font-size: clamp(2rem, 3.5vw, 3.25rem);
	line-height: 1.12;
	margin-block: var(--wp--preset--spacing--30);
}
.fot-home__hero-art picture, .fot-home__hero-art img { display: block; }
.fot-home__hero-art img { inline-size: 100%; block-size: auto; }
.fot-home__hero-caption {
	margin-block: var(--wp--preset--spacing--20) 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
}
@media (max-width: 767px) {
	.fot-home__hero { grid-template-columns: minmax(0, 1fr); }
}
.fot-home__eyebrow {
	color: var(--wp--preset--color--accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.fot-home__lead { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--lead); }
.fot-home__hero .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--50); }
.fot-home__section { padding-block: clamp(2rem, 4vw, 3rem); }
.fot-home__section > h2 { margin-block: 0 var(--wp--preset--spacing--20); }
.fot-home__intro { max-inline-size: 60ch; color: var(--wp--preset--color--muted); }
.fot-home > .fot-home__categories {
	margin-block-start: var(--wp--preset--spacing--60);
	padding-inline: clamp(1rem, 2vw, 1.5rem);
	border-radius: 1.25rem;
	background: linear-gradient(180deg, var(--wp--preset--color--pink), var(--wp--preset--color--canvas) 70%);
}
.fot-home__category-grid,
.fot-home__approach-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); margin-block-start: var(--wp--preset--spacing--50); }
.fot-home__category {
	min-inline-size: 0;
	display: flex;
	flex-direction: column;
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
	box-shadow: 0 3px 12px rgb(24 34 29 / 4%);
}
.fot-home__category-grid > .fot-home__category { margin: 0; }
.fot-home__category picture { display: block; margin-block-end: var(--wp--preset--spacing--40); }
.fot-home__category img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--wp--custom--control-radius);
}
.fot-home__category .fot-home__category-action {
	display: flex;
	align-items: center;
	min-block-size: 3.5rem;
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--30);
}
.fot-home__category-action a {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	padding: 0.5rem 1rem;
	border-radius: var(--wp--custom--control-radius);
	background: var(--wp--preset--color--accent-dark);
	color: var(--fot-button-text, var(--wp--preset--color--base));
	font-weight: 600;
	text-decoration: none;
}
.fot-home__category-action a:visited { color: var(--fot-button-text, var(--wp--preset--color--base)); }
.fot-home__category-action a:hover {
	background: var(--wp--preset--color--accent-hover);
	color: var(--fot-button-text, var(--wp--preset--color--base));
	text-decoration: underline;
}
.fot-home__category-status {
	display: inline-block;
	padding: 0.25rem 0.625rem;
	border-radius: var(--wp--custom--control-radius);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
}
.fot-home__categories .fot-home__category-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.fot-home__category :where(h3, p),
.fot-home__approach-item :where(h3, p) { margin-block: 0; }
.fot-home__category h3,
.fot-home__approach-item h3 { font-size: var(--wp--preset--font-size--lead); }
.fot-home__category p,
.fot-home__approach-item p { margin-block-start: var(--wp--preset--spacing--20); color: var(--wp--preset--color--muted); }
.fot-home__approach { border-block-start: 1px solid var(--wp--preset--color--border); }
.fot-home__approach-grid > .fot-home__approach-item {
	min-inline-size: 0;
	margin: 0;
	padding: 0 var(--wp--preset--spacing--50) 0 0;
	border-block-start: 2px solid var(--wp--preset--color--accent);
	padding-block-start: var(--wp--preset--spacing--50);
}
.fot-home__approach-item .fot-home__step-number {
	display: flex;
	align-items: center;
	margin: 0 0 var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--accent-dark);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.2;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.fot-home__approach-item:nth-child(2) .fot-home__step-number {
	color: var(--wp--preset--color--plum);
}
.fot-home__approach-item:nth-child(2) { border-block-start-color: var(--wp--preset--color--plum); }
@media (max-width: 900px) {
	.fot-home__approach .fot-home__approach-grid { grid-template-columns: minmax(0, 1fr); }
}
.fot-home__trust {
	max-inline-size: var(--wp--style--global--wide-size);
	padding: clamp(1.5rem, 5vw, 4rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: linear-gradient(115deg, var(--wp--preset--color--accent-dark) 0%, var(--wp--preset--color--accent-hover) 55%, var(--wp--preset--color--plum) 100%);
	color: var(--fot-inverse-text, var(--wp--preset--color--base));
}
.fot-home__trust > p { max-inline-size: 68ch; }
.fot-home__trust .fot-home__disclosure { color: var(--fot-inverse-text, var(--wp--preset--color--base)); font-size: var(--wp--preset--font-size--small); }
.fot-home__trust .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--50); }
.fot-home__trust .wp-block-button .wp-block-button__link:link,
.fot-home__trust .wp-block-button .wp-block-button__link:visited {
	background: var(--wp--preset--color--base);
	border-color: var(--fot-inverse-text, var(--wp--preset--color--base));
	color: var(--wp--preset--color--accent-dark);
}
.fot-home__trust .wp-block-button .wp-block-button__link:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--accent-hover);
}
.fot-home__trust .wp-block-button__link:focus-visible { outline-color: var(--fot-inverse-text, var(--wp--preset--color--base)); }

/* Informational Pages opt in through their slug-specific source templates. */
.fot-info {
	--fot-info-panel-padding: clamp(1.25rem, 3vw, 2rem);
	min-inline-size: 0;
}
.fot-info > .fot-info__panels {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 56rem;
	margin-inline: auto;
}
.fot-info .fot-info__title,
.fot-info .fot-info__content {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: none;
	padding: var(--fot-info-panel-padding);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	color: var(--wp--preset--color--ink);
}
.fot-info .fot-info__title {
	margin-block: 0;
	border-inline-start-color: var(--wp--preset--color--plum);
	background: var(--wp--preset--color--surface);
}
.fot-info .fot-info__title .wp-block-post-title { max-inline-size: none; margin: 0; line-height: 1.15; }
.fot-info .fot-info__content {
	margin-block-start: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--base);
	line-height: 1.75;
	text-align: start;
	overflow-wrap: anywhere;
}
.fot-info .fot-info__content > :is(p, ul, ol, blockquote, figure, pre, h2, h3, h4, h5, h6) { max-inline-size: none; margin-inline: 0; }
.fot-info .fot-info__content > :is(p, ul, ol, blockquote, figure, pre) { margin-block: 0 var(--wp--preset--spacing--40); }
.fot-info .fot-info__content > h2 {
	position: relative;
	margin-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40);
}
.fot-info .fot-info__content > h2::before {
	content: "";
	position: absolute;
	inset-inline-start: -0.75rem;
	inset-block-start: 0.1em;
	inline-size: 3px;
	block-size: 1em;
	background: var(--wp--preset--color--plum);
}
.fot-info .fot-info__content > h3 { margin-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30); }
.fot-info .fot-info__content > :first-child { margin-block-start: 0; }
.fot-info .fot-info__content > :last-child { margin-block-end: 0; }
.fot-info .fot-info__content li + li { margin-block-start: var(--wp--preset--spacing--20); }
.fot-info .fot-info__content .wp-block-table { max-inline-size: 100%; overflow-x: auto; }
.fot-info .fot-info__content > :is(blockquote, .wp-block-pullquote) { border-inline-start-color: var(--wp--preset--color--plum); }
.fot-info a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }

/* Shared category-hub shell: authored content owns its semantic sections. */
.fot-hub {
	--fot-hub-panel-width: 56rem;
	--fot-hub-panel-padding: clamp(1.25rem, 3vw, 2rem);
	min-inline-size: 0;
}
.wp-site-blocks > main.fot-hub { padding-block-end: var(--wp--preset--spacing--70); }
.fot-hub > .alignwide {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: var(--fot-hub-panel-width);
	margin-block: 0;
	margin-inline: auto;
}
.fot-hub .fot-hub__hero,
.fot-hub .fot-hub__content,
.fot-hub .fot-hub__trust {
	padding: var(--fot-hub-panel-padding);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
}
.fot-hub .fot-hub__hero {
	border-inline-start-color: var(--wp--preset--color--plum);
	background: var(--wp--preset--color--surface);
}
.fot-hub .fot-hub__hero .wp-block-post-title { max-inline-size: none; margin: 0; text-wrap: balance; line-height: 1.15; }
.fot-hub > .fot-hub__content {
	min-inline-size: 0;
	margin-block-start: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--base);
	line-height: 1.75;
}
.fot-hub .fot-hub__content > :is(h2, h3, h4, p, ul, ol, blockquote, .wp-block-group) {
	max-inline-size: none;
	margin-inline: 0;
}
.fot-hub .fot-hub__content > h2 {
	position: relative;
	margin-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40);
}
.fot-hub .fot-hub__content > h2::before {
	content: "";
	position: absolute;
	inset-inline-start: -0.75rem;
	inset-block-start: 0.1em;
	inline-size: 3px;
	block-size: 1em;
	background: var(--wp--preset--color--plum);
}
.fot-hub .fot-hub__content > .wp-block-list { padding-inline-start: 1.5rem; }
.fot-hub .fot-hub__content > .wp-block-list > li + li { margin-block-start: var(--wp--preset--spacing--40); }
.fot-hub .fot-hub__content > .wp-block-list > li::marker { color: var(--wp--preset--color--plum); }
/* Optional semantic classes for authored blocks; never infer their role from order or copy. */
.fot-hub .fot-hub__section { margin-block: var(--wp--preset--spacing--70); }
.fot-hub .fot-hub__section > :where(h2, h3, p) { margin-block-start: 0; }
.fot-hub :is(.fot-hub__intro, .fot-hub__tools, .fot-hub__criteria, .fot-hub__evidence, .fot-hub__featured) {
	min-inline-size: 0;
	padding: var(--fot-hub-panel-padding);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
}
.fot-hub :is(.fot-hub__intro, .fot-hub__tools, .fot-hub__featured) { background: var(--wp--preset--color--surface); }
.fot-hub .fot-hub__criteria { background: var(--wp--preset--color--base); }
.fot-hub .fot-hub__evidence { background: var(--wp--preset--color--pink); color: var(--wp--preset--color--ink); }
.fot-hub .fot-hub__featured { margin-block: var(--wp--preset--spacing--60); border-inline-start: 3px solid var(--wp--preset--color--accent-dark); }
.fot-hub .fot-hub__featured > :where(h2, h3, p):first-child { margin-block-start: 0; }
.fot-hub .fot-hub__featured > :last-child { margin-block-end: 0; }
.fot-hub .fot-hub__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
	margin-block: var(--wp--preset--spacing--50);
	padding: var(--fot-hub-panel-padding);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--surface);
}
.fot-hub .fot-hub__grid--two-candidates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fot-hub :is(.fot-hub__card, .fot-product-neutral-decision-card) {
	min-inline-size: 0;
	padding: clamp(1.125rem, 3vw, 1.75rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
	box-shadow: 0 3px 12px rgb(24 34 29 / 5%);
	overflow-wrap: anywhere;
}
.fot-hub .fot-hub__card > :where(h3, h4, p) { margin-block: 0; }
.fot-hub .fot-hub__card > :where(p, ul) { margin-block-start: var(--wp--preset--spacing--20); }
.fot-hub :is(.fot-hub__card > h3, .fot-hub__card > h4, .fot-product-neutral-decision-card > h3) { min-block-size: 2.75rem; font-size: var(--wp--preset--font-size--subsection); }
.fot-hub :is(.fot-hub__card, .fot-product-neutral-decision-card) > p { color: var(--wp--preset--color--muted); line-height: 1.7; }
.fot-hub .fot-product-neutral-decision-card strong { color: var(--wp--preset--color--ink); }
.fot-hub .fot-product-neutral-decision-card > p:last-child { padding-block-start: var(--wp--preset--spacing--50); }
.fot-hub .fot-product-neutral-decision-card > p:last-child a,
.fot-hub .fot-hub__card > p:last-child a {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	padding: 0.5rem 1rem;
	border-radius: var(--wp--custom--control-radius);
	background: var(--wp--preset--color--accent-dark);
	color: var(--fot-button-text, var(--wp--preset--color--base));
	text-decoration: none;
	font-weight: 600;
}
.fot-hub .fot-product-neutral-decision-card > p:last-child a:hover,
.fot-hub .fot-hub__card > p:last-child a:hover { background: var(--wp--preset--color--accent-hover); color: var(--fot-button-text, var(--wp--preset--color--base)); text-decoration: underline; }
.fot-hub .fot-hub__label { color: var(--wp--preset--color--accent-dark); font-size: var(--wp--preset--font-size--small); font-weight: 700; }
.fot-hub .fot-hub__status { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.fot-hub .fot-hub__empty { padding: var(--fot-hub-panel-padding); border: 1px dashed var(--wp--preset--color--border); border-radius: var(--wp--custom--surface-radius); color: var(--wp--preset--color--muted); }
.fot-hub > .fot-hub__trust {
	margin-block-start: var(--wp--preset--spacing--60);
	border-inline-start-color: var(--wp--preset--color--plum);
	background: var(--wp--preset--color--surface);
}
.fot-hub .fot-hub__trust > :where(h2, p) { max-inline-size: none; margin-inline: 0; }
.fot-hub .fot-hub__trust > h2 { margin-block: 0 var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--subsection); }
.fot-hub .fot-hub__trust > p { margin-block: 0; }
.fot-hub a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }
@media (max-width: 55rem) { .fot-hub .fot-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .fot-hub .fot-hub__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .fot-hub > .fot-hub__trust { margin-block-start: var(--wp--preset--spacing--50); } }
@media (max-width: 900px) {
	.fot-home__category-grid, .fot-home__approach-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
	.fot-home__category-grid, .fot-home__approach-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Existing public markup inherits the shared score, editorial, and evidence language. */
.fot-product-public .fot-product-factual-score,
.fot-comparison-public-host .fot-product-factual-score {
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--surface);
}
.fot-product-public .fot-product-factual-score__score,
.fot-comparison-public-host .fot-product-factual-score__score {
	color: var(--wp--preset--color--accent-dark);
	font-size: var(--wp--preset--font-size--score);
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	line-height: 1.1;
}
.fot-product-public .fot-product-score-evidence,
.fot-comparison-member-evidence .fot-product-score-evidence {
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
	border-block-start: 2px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
}
.fot-product-public .fot-product-score-evidence :where(h4, h5),
.fot-comparison-member-evidence .fot-product-score-evidence :where(h4, h5) {
	color: var(--wp--preset--color--ink);
}

/* Comparison-wide guidance remains separate from individual member reasons. */
.fot-comparison-guidance {
	min-inline-size: 0;
	overflow-wrap: anywhere;
	margin-block-start: var(--wp--preset--spacing--70);
	padding-block-start: var(--wp--preset--spacing--50);
	border-block-start: 1px solid var(--wp--preset--color--border);
}
.fot-comparison-guidance > h3 { margin-block: 0 var(--wp--preset--spacing--30); }
.fot-comparison-guidance > p { max-inline-size: 70ch; }
.fot-comparison-guidance__fields { display: grid; gap: var(--wp--preset--spacing--30); margin: 0; }
.fot-comparison-guidance__field { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--10); min-inline-size: 0; }
.fot-comparison-guidance__field + .fot-comparison-guidance__field { padding-block-start: var(--wp--preset--spacing--30); border-block-start: 1px solid var(--wp--preset--color--border); }
.fot-comparison-guidance__field dt { font-weight: 600; color: var(--wp--preset--color--ink); }
.fot-comparison-guidance__field dd { margin: 0; max-inline-size: 70ch; overflow-wrap: anywhere; }
/* Evidence headings lead; source types and observation dates support scanning. */
.fot-product-public .fot-product-score-evidence > h4,
.fot-comparison-member-evidence .fot-product-score-evidence > h4 {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.4;
	margin-block-end: var(--wp--preset--spacing--30);
}
.fot-product-score-evidence__criterion > h5 { font-weight: 600; }
.fot-product-score-evidence__type { font-weight: 500; }
.fot-product-public .fot-product-score-evidence li,
.fot-comparison-member-evidence .fot-product-score-evidence li { font-size: var(--wp--preset--font-size--small); line-height: 1.6; }
.fot-comparison-member-evidence__metadata { font-size: var(--wp--preset--font-size--small); overflow-wrap: anywhere; }
.fot-product-factual-score__navigation { font-size: var(--wp--preset--font-size--small); }
.fot-product-factual-score__navigation a:focus-visible,
.fot-product-score-evidence a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }
/* Keep current identity close to the title without borrowing detail-panel padding. */
.fot-product-public .wp-block-firstoften-product-public-summary.fot-product-identity-facts {
	padding: 0;
	border: 0;
	background: none;
}
.fot-product-identity__text { overflow-wrap: anywhere; }
/* Curated editorial links retain reading order without ranking markers. */
.fot-product-related-content { min-inline-size: 0; overflow-wrap: anywhere; margin-block-start: var(--wp--preset--spacing--60); padding-block-start: var(--wp--preset--spacing--40); border-block-start: 1px solid var(--wp--preset--color--border); }
.fot-product-related-content > h2 { margin-block: 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--subsection); }
.fot-product-related-content__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--wp--preset--spacing--30); }
.fot-product-related-content__list li { min-inline-size: 0; }
.fot-product-related-content__list a { font-weight: 600; }
.fot-product-related-content__types { display: block; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.fot-product-related-content a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }
/* Exact public Comparison membership is presented as neutral navigation. */
.fot-product-comparisons { min-inline-size: 0; overflow-wrap: anywhere; margin-block-start: var(--wp--preset--spacing--60); padding-block-start: var(--wp--preset--spacing--40); border-block-start: 1px solid var(--wp--preset--color--border); }
.fot-product-comparisons > h2 { margin-block: 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--subsection); }
.fot-product-comparisons__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--wp--preset--spacing--30); }
.fot-product-comparisons__list li { min-inline-size: 0; }
.fot-product-comparisons__list a { font-weight: 600; }
.fot-product-comparisons a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }
.fot-product-comparisons__intro,
.fot-product-related-content__intro { max-inline-size: 70ch; margin-block: 0 var(--wp--preset--spacing--30); color: var(--wp--preset--color--muted); }
/* Editorial Product links have no decision or ranking presentation. */
.fot-post-related-products { min-inline-size: 0; overflow-wrap: anywhere; margin-block-start: var(--wp--preset--spacing--60); padding-block-start: var(--wp--preset--spacing--40); border-block-start: 1px solid var(--wp--preset--color--border); }
.fot-post-related-products > h2 { margin-block: 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--subsection); }
.fot-post-related-products__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--wp--preset--spacing--30); }
.fot-post-related-products__list li { min-inline-size: 0; }
.fot-post-related-products__list a { font-weight: 600; }
.fot-post-related-products a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }
@media (max-width: 599px) {
	.fot-product-identity { gap: var(--wp--preset--spacing--30); }
	.fot-product-identity__text > .wp-block-post-excerpt { font-size: var(--wp--preset--font-size--body); }
}

/* Single Products only: current facts, authored guidance, and finalized contexts remain distinct. */
.single-fot_product .fot-product-public {
	--fot-product-panel-padding: clamp(1.25rem, 3vw, 2rem);
	--fot-product-panel-width: 56rem;
}
.single-fot_product .fot-product-public > * {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: var(--fot-product-panel-width);
	margin-inline: auto;
}
.single-fot_product .fot-product-public > :is(
	.wp-block-firstoften-product-public-editorial-rationale,
	.wp-block-firstoften-product-public-score-contexts,
	.fot-product-comparisons,
	.fot-product-related-content
) { padding-inline: var(--fot-product-panel-padding); }
.single-fot_product .fot-product-public > .fot-product-hero {
	padding: var(--fot-product-panel-padding);
	border: 1px solid var(--wp--preset--color--border);
	border-inline-start-color: var(--wp--preset--color--plum);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--surface);
}
.single-fot_product .fot-product-public .fot-product-identity { align-items: flex-start; }
.single-fot_product .fot-product-public .fot-product-logo { background: var(--wp--preset--color--base); }
.single-fot_product .fot-product-public .fot-product-identity__text > .wp-block-post-title { line-height: 1.15; }
.single-fot_product .fot-product-public .fot-product-identity-facts { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.single-fot_product .fot-product-public .wp-block-post-excerpt__excerpt { margin-block: 0; max-inline-size: none; }
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary {
	padding: var(--fot-product-panel-padding);
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--base);
	box-shadow: 0 3px 12px rgb(24 34 29 / 4%);
}
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary > h2 {
	position: relative;
}
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dl {
	align-items: baseline;
	row-gap: var(--wp--preset--spacing--40);
}
@media (min-width: 600px) {
	.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dl {
		grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr);
		column-gap: var(--wp--preset--spacing--50);
	}
}
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dd { line-height: 1.7; }
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dd > a {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--wp--preset--color--accent-dark);
	border-radius: var(--wp--custom--control-radius);
	background: var(--wp--preset--color--accent-dark);
	color: var(--fot-button-text, var(--wp--preset--color--base));
	font-weight: 600;
	text-decoration: none;
}
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dd > a:hover {
	background: var(--wp--preset--color--accent-hover);
	color: var(--fot-button-text, var(--wp--preset--color--base));
	text-decoration: underline;
}
/* The existing renderer places the pricing caveat in the same definition as its link. */
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dd:has(> p) > a {
	border-color: var(--wp--preset--color--plum);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--plum);
}
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dd:has(> p) > a:hover {
	background: var(--wp--preset--color--pink);
	color: var(--wp--preset--color--ink);
}
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary dd > p {
	max-inline-size: 60ch;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}
.single-fot_product .fot-product-public > .wp-block-post-content:not(:empty) {
	padding: var(--fot-product-panel-padding);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--surface-radius);
	background: var(--wp--preset--color--base);
	line-height: 1.75;
}
.single-fot_product .fot-product-public > .wp-block-post-content > :is(h2, h3, h4, p, ul, ol, blockquote) {
	max-inline-size: none;
	margin-inline: 0;
}
.single-fot_product .fot-product-public > .wp-block-post-content > h2 {
	position: relative;
	margin-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40);
}
.single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary > h2::before,
.single-fot_product .fot-product-public > .wp-block-post-content > h2::before {
	content: "";
	position: absolute;
	inset-inline-start: -0.75rem;
	inset-block-start: 0.1em;
	inline-size: 3px;
	block-size: 1em;
	background: var(--wp--preset--color--plum);
}
.single-fot_product .fot-product-public > .wp-block-post-content > h2:first-child { margin-block-start: 0; }
/* A final disclosure preceding an authored category-return link remains visible as supporting text. */
.single-fot_product .fot-product-public > .wp-block-post-content > p:has(+ p:last-child > a[href^="/"]) {
	padding: var(--wp--preset--spacing--40);
	border-inline-start: 3px solid var(--wp--preset--color--accent-dark);
	border-radius: var(--wp--custom--control-radius);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}
.single-fot_product .fot-product-public > .wp-block-post-content > p:last-child > a[href^="/"] {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--wp--preset--color--plum);
	border-radius: var(--wp--custom--control-radius);
	color: var(--wp--preset--color--plum);
	text-decoration: none;
	font-weight: 600;
}
.single-fot_product .fot-product-public > .wp-block-post-content > p:last-child > a[href^="/"]:hover {
	background: var(--wp--preset--color--pink);
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
}
.single-fot_product .fot-product-public a:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }

/* Frontend color mode. Light palette/content/editor remain the theme.json defaults. */
:root { color-scheme: light; }
.fot-color-mode[hidden] { display: none !important; }
.fot-color-mode {
	display: inline-flex;
	flex: none;
	gap: 0.125rem;
	padding: 0.125rem;
	border: 1px solid var(--wp--preset--color--muted);
	border-radius: var(--wp--custom--control-radius);
}
.fot-color-mode button {
	min-inline-size: 44px;
	min-block-size: 44px;
	padding: 0.5rem 0.625rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.25;
	cursor: pointer;
}
.fot-color-mode button[aria-pressed="true"] {
	border-color: currentColor;
	background: var(--wp--preset--color--surface);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.fot-color-mode button:hover { background: var(--wp--preset--color--surface); }
.fot-color-mode button:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 3px; }
@media (max-width: 599px) {
	.fot-site-header > .fot-site-brand { flex-basis: 100%; }
	.fot-site-header { column-gap: 0.75rem; }
}

/* Override presets at body, where WordPress defines them, only on the frontend. */
html[data-fot-theme="dark"] body:not(.wp-admin) {
	--wp--preset--color--canvas: #101216;
	--wp--preset--color--base: #191D23;
	--wp--preset--color--surface: #232A33;
	--wp--preset--color--ink: #F1F3F5;
	--wp--preset--color--muted: #B9C2CC;
	--wp--preset--color--border: #718092;
	--wp--preset--color--accent: #5AD6C0;
	--wp--preset--color--accent-dark: #5AD6C0;
	--wp--preset--color--accent-hover: #8BE7D6;
	--wp--preset--color--plum: #D6ACEB;
	--wp--preset--color--sage: #20352D;
	--wp--preset--color--pink: #35283D;
	--wp--preset--color--positive: #86D9A3;
	--wp--preset--color--positive-ink: #A6E9BC;
	--wp--preset--color--positive-surface: #20352D;
	--wp--preset--color--caution: #E7BC72;
	--wp--preset--color--caution-ink: #F1CF93;
	--wp--preset--color--caution-surface: #382F21;
	--wp--preset--color--negative: #F2A1A9;
	--wp--preset--color--negative-surface: #3B252D;
	--fot-button-text: #101216;
	--fot-inverse-text: #F1F3F5;
}
html[data-fot-theme="dark"] .wp-block-search__input {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
}
html[data-fot-theme="dark"] input::placeholder,
html[data-fot-theme="dark"] textarea::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
html[data-fot-theme="dark"] input:autofill {
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface);
}
html[data-fot-theme="dark"] input:-webkit-autofill {
	-webkit-text-fill-color: var(--wp--preset--color--ink);
	-webkit-box-shadow: 0 0 0 1000px var(--wp--preset--color--surface) inset;
	caret-color: var(--wp--preset--color--ink);
}
html[data-fot-theme="dark"] .fot-home__hero::before { background: rgb(90 214 192 / 5%); }
html[data-fot-theme="dark"] :is(.fot-home__category, .fot-product-neutral-decision-card, .fot-hub__card),
html[data-fot-theme="dark"] .single-fot_product .fot-product-public > .wp-block-firstoften-product-public-summary {
	box-shadow: 0 3px 12px rgb(0 0 0 / 24%);
}
html[data-fot-theme="dark"] .fot-home__trust {
	background: linear-gradient(115deg, #123E36 0%, #183A34 55%, #3D294C 100%);
}
html[data-fot-theme="dark"] .fot-home__trust .wp-block-button .wp-block-button__link {
	background: var(--wp--preset--color--accent-dark);
	border-color: var(--wp--preset--color--accent-dark);
	color: var(--fot-button-text);
}
html[data-fot-theme="dark"] .fot-home__trust .wp-block-button .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent-hover);
	color: var(--fot-button-text);
}
html[data-fot-theme="dark"] .fot-home__trust .wp-block-button__link:focus-visible { outline-color: var(--fot-inverse-text); }
/* Preserve vendor artwork on a light backing; never filter or recolor images. */
html[data-fot-theme="dark"] .fot-product-logo,
html[data-fot-theme="dark"] .single-fot_product .fot-product-public .fot-product-logo,
html[data-fot-theme="dark"] .fot-comparison-table__logo { background: #FFFFFF; }
html[data-fot-theme="dark"] .fot-comparison-table__logo { padding: 0.25rem; border-radius: 0.25rem; }

@media (forced-colors: active) {
	.fot-color-mode { border-color: ButtonText; }
	.fot-color-mode button { color: ButtonText; background: ButtonFace; }
	.fot-color-mode button[aria-pressed="true"] { border-color: Highlight; outline: 1px solid ButtonText; }
	.fot-color-mode button:focus-visible { outline: 3px solid Highlight; outline-offset: 3px; }
	html[data-fot-theme] .fot-home__trust { background: Canvas; color: CanvasText; border-color: CanvasText; }
	html[data-fot-theme] .fot-home__trust .fot-home__disclosure { color: CanvasText; }
	html[data-fot-theme] .fot-home__trust .wp-block-button__link:focus-visible { outline-color: Highlight; }
	html[data-fot-theme] .fot-home__hero::before { background: transparent; }
}
