/* ==========================================================================
   AudioGearLab (affiliate-theme) — front-end helper styles
   Loaded in addition to the Site Editor global styles. Provides component
   polish (cards, numbered lists, header) and the full Light/Dark swap used
   by the front-end theme toggle (assets/js/theme.js).
   ========================================================================== */
/* Responsive Base Utilities */
*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

/* Affiliate Disclosure Box */
.affiliate-disclosure-box {
  background-color: var(--wp--preset--color--background-elevated);
  border-left: 3px solid var(--wp--preset--color--primary);
  margin-bottom: 1.5rem;
}

/* Responsive Table Wrapper */
.affiliate-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.5rem 0;
}

.affiliate-comparison-table {
	min-width: 600px;
}

.affiliate-comparison-table table {
	min-width: 0;
	width: 100%;
  border-collapse: collapse;
}

.affiliate-comparison-table th,
.affiliate-comparison-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  vertical-align: middle;
}

/* Pros and Cons Boxes */
.affiliate-pros-cons {
  gap: 1.5rem;
  margin: 1.5rem 0;
}

.pros-column {
  background-color: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  color: #102217;
}

.cons-column {
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #2b1111;
}

/* Mobile Touch Optimization (Buttons & Affiliate Links) */
@media screen and (max-width: 768px) {
  .wp-block-button__link {
    display: block;
    width: 100%;
    text-align: center;
    min-height: 48px;
    line-height: 2.2;
  }

  .affiliate-pros-cons {
    flex-direction: column !important;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-wrap: wrap !important;
  }
}
/* ---- Header ------------------------------------------------------------- */
.site-header__inner {
	gap: 1rem;
}

.site-header__brand {
	gap: 0.75rem;
}

.site-header__actions {
	gap: 0.75rem;
}

@media (max-width: 780px) {
	.site-header__inner {
		justify-content: center;
	}
	.site-header__actions {
		justify-content: center;
	}
}

/* ---- Review card -------------------------------------------------------- */
.review-card {
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.review-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
}

.review-card .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.review-card__meta {
	margin-top: 0.25rem;
}

/* ---- Numbered top stories ---------------------------------------------- */
.top-stories {
	counter-reset: story;
}

.top-stories > .wp-block-post {
	counter-increment: story;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.top-stories > .wp-block-post::before {
	content: counter(story);
	flex: 0 0 auto;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	min-width: 2.25rem;
	text-align: center;
}

.top-stories__item {
	gap: 1rem;
	width: 100%;
}

.top-stories__item .wp-block-post-featured-image {
	flex: 0 0 auto;
}

/* ---- Category hubs ------------------------------------------------------ */
.category-hub__links .wp-block-navigation-item__content,
.category-hub__links .wp-block-navigation-item {
	font-size: 0.9375rem;
}

.category-hub {
	gap: 0.5rem;
}

/* ---- Brand row ---------------------------------------------------------- */
.brand-row__logos {
	gap: clamp(1.5rem, 5vw, 3.5rem);
}

.brand-row__logos p {
	opacity: 0.7;
	letter-spacing: 0.04em;
}

/* ---- Disclosure / general ---------------------------------------------- */
.disclosure p {
	margin: 0;
}

/* ==========================================================================
   Light / Dark theme swap (explicit visitor override)
   The base palette comes from theme.json and the active Styles variation, and
   is left alone unless a scheme is actually being imposed. `data-theme` is only
   present on <html> when the visitor picked a scheme with the header toggle, or
   the site set a forced default via the affiliate_theme_default_color_scheme
   filter.

   Only the LIGHT ramp is hardcoded here, because the theme's own palette is
   dark. The dark ramp is not declared, so toggling back to dark simply restores
   whatever the active variation defined — that is what keeps "Midnight" and
   "Vibrant" intact. Sites whose active variation is light get a dark ramp
   emitted inline by affiliate_theme_scheme_override_styles() instead, so the
   values never exist in two places at once.
   ========================================================================== */
html[data-theme="light"] {
	color-scheme: light;
	--wp--preset--color--background: #f5f5f7;
	--wp--preset--color--background-elevated: #ffffff;
	--wp--preset--color--foreground: #16161a;
	--wp--preset--color--foreground-muted: #5a5a63;
	--wp--preset--color--border: #e2e2e6;
	/* Darkened from the dark-scheme accent so text and borders using it stay
	   above 4.5:1 against a near-white background. */
	--wp--preset--color--primary: #c6310e;
	--wp--preset--color--primary-hover: #9c2104;
	--wp--preset--color--star: #b87300;
}

html[data-theme="dark"] {
	color-scheme: dark;
}

html[data-theme] body {
	background-color: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
}

/* The toggle only makes sense when its script can run. */
.theme-toggle { display: none; }
html.affiliate-has-js .theme-toggle { display: inline-flex; }

/* ---- Production polish ------------------------------------------------ */
html { scroll-behavior: smooth; }
/*
 * `overflow-x: hidden` on <body> makes the body a scroll container, which
 * breaks `position: sticky` on the header in several engines. `clip` contains
 * accidental horizontal overflow without creating a scroll container.
 */
body { overflow-x: clip; -webkit-font-smoothing: antialiased; }
.wp-site-blocks > main,
main#main-content { margin-block-start: 0; margin-top: 0; }
a, button { transition: color .18s ease, background-color .18s ease, border-color .18s ease, opacity .18s ease; }
a:hover { color: var(--wp--preset--color--primary); }
:where(a, button, input):focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 3px; }
/*
 * WordPress supplies the block-theme skip link itself, as
 * `.skip-link.screen-reader-text` with `position: absolute !important`. Only
 * the focused appearance is themed here; positioning is left to core so the two
 * rule sets cannot conflict.
 */
.skip-link.screen-reader-text:focus {
	z-index: 100000;
	padding: .75rem 1rem !important;
	border-radius: 8px;
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--black) !important;
	font-size: .875rem !important;
	font-weight: 800;
	text-decoration: none;
}
.site-disclosure { margin-inline: calc(clamp(1rem, 3vw, 2rem) * -1); padding: .35rem 1rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.site-disclosure p { margin: 0; color: var(--wp--preset--color--foreground-muted); font-size: .75rem !important; }
.site-header { position: sticky; z-index: 1000; top: 0; margin-inline: calc(clamp(1rem, 3vw, 2rem) * -1); padding: .9rem clamp(1rem, 3vw, 2rem); border-bottom: 1px solid var(--wp--preset--color--border); background: color-mix(in srgb, var(--wp--preset--color--background) 90%, transparent); backdrop-filter: blur(16px); }
.site-header__inner { min-height: 48px; }
.site-header__brand .wp-block-site-title { margin: 0; font-size: 1.1rem; }
.site-header__nav { font-size: .9rem; font-weight: 700; }
.site-header__nav a:hover { color: var(--wp--preset--color--primary); }
.site-header__actions .wp-block-search { width: min(19rem, 22vw); }
.site-header__actions .wp-block-search__inside-wrapper { border-color: var(--wp--preset--color--border); border-radius: 999px; background: var(--wp--preset--color--background-elevated); overflow: hidden; }
.theme-toggle { align-items: center; gap: .4rem; min-height: 42px; padding: .55rem .8rem; border: 1px solid var(--wp--preset--color--border); border-radius: 999px; background: var(--wp--preset--color--background-elevated); color: var(--wp--preset--color--foreground); cursor: pointer; font: inherit; font-size: .82rem; font-weight: 750; }
.section-hero { overflow: hidden; border: 1px solid var(--wp--preset--color--border); }
.section-hero__content { padding: clamp(1.5rem, 4vw, 4rem); }
.section-hero__media img { width: 100%; min-height: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.review-card, .category-hub, .brand-row, .single__rating { border: 1px solid var(--wp--preset--color--border); }
.review-card:focus-within { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; }
.review-card h2, .review-card h3 { text-wrap: balance; }
.site-footer {
	--footer-foreground: #f5f7f8;
	--footer-muted: #aeb5bb;
	--footer-border: #292d31;
	margin-inline: calc(clamp(1rem, 3vw, 2rem) * -1);
	padding-inline: clamp(1rem, 3vw, 2rem);
	border-top: 1px solid var(--footer-border);
	background: #050607;
	color: var(--footer-foreground);
}
.site-footer :where(h1, h2, h3, h4, h5, h6, a) { color: var(--footer-foreground); }
.site-footer .site-brand,
.site-footer .site-brand__name { color: var(--footer-foreground); }
.site-footer :where(.has-foreground-muted-color, .site-footer__nav a) { color: var(--footer-muted) !important; }
.site-footer .wp-block-separator { background: var(--footer-border); color: var(--footer-border); }
.site-footer a:hover { color: var(--wp--preset--color--primary); }
.single__body :where(p, li) { color: color-mix(in srgb, var(--wp--preset--color--foreground) 90%, transparent); }
.single__body a { color: var(--wp--preset--color--primary); text-decoration: underline; text-underline-offset: .18em; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
@media (max-width: 960px) { .site-header__nav { order: 3; } .site-header__actions .wp-block-search { width: auto; } .theme-toggle__label { display: none; } .section-hero { grid-template-columns: 1fr !important; } .section-hero__media img { aspect-ratio: 16 / 9; } }
@media (max-width: 600px) { .site-header__brand .wp-block-site-title { display: none; } .site-header__actions .wp-block-search__input { width: 7.5rem; } .top-stories__item .wp-block-post-featured-image { width: 72px !important; height: 72px !important; } .site-footer__top { display: grid !important; grid-template-columns: 1fr; } }

/* ---- Editorial homepage ------------------------------------------------ */
.home--reference {
	--section-space: clamp(4rem, 8vw, 7.5rem);
}

.home--reference > * + * {
	margin-block-start: var(--section-space);
}

.editorial-kicker,
.section-heading {
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.editorial-kicker h2,
.newsletter-cta__eyebrow {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: .75rem !important;
	font-weight: 850;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/*
 * The kicker heading text lives in the pattern markup, not here. Hiding the real
 * <h2> with `font-size: 0` and re-inserting different text via `content:` meant
 * screen readers announced one string while sighted users saw another, and
 * neither string was translatable.
 */
.editorial-kicker h2 {
	font-size: .75rem !important;
}

.editorial-kicker p,
.section-heading > p {
	margin: 0;
	color: var(--wp--preset--color--foreground-muted);
}

.section-heading h2 {
	margin: 0;
	text-wrap: balance;
}

.section-hero {
	min-height: clamp(430px, 55vw, 640px);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
}

.section-hero__media {
	position: relative;
	min-height: 100%;
	overflow: hidden;
	background:
		radial-gradient(circle at 25% 30%, rgba(255, 92, 53, .3), transparent 30%),
		linear-gradient(145deg, #292e33, #101214 65%);
}

.section-hero__media:empty::after {
	content: var(--affiliate-label-site-name, "");
	position: absolute;
	right: 8%;
	bottom: 7%;
	white-space: pre;
	color: rgba(255, 255, 255, .08);
	font-size: clamp(4.5rem, 10vw, 8rem);
	font-weight: 900;
	line-height: .76;
	letter-spacing: -.08em;
	text-align: right;
}

.section-hero__media figure,
.section-hero__media a,
.section-hero__media img {
	height: 100%;
	margin: 0;
}

.section-hero__media img {
	aspect-ratio: auto;
	transition: transform .5s ease;
}

.section-hero:hover .section-hero__media img {
	transform: scale(1.025);
}

.section-hero__content .wp-block-post-terms,
.review-card .wp-block-post-terms,
.top-stories .wp-block-post-terms {
	color: var(--wp--preset--color--primary);
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.section-hero__content .wp-block-post-excerpt {
	max-width: 52ch;
	color: var(--wp--preset--color--foreground-muted);
}

.category-grid {
	gap: 1rem;
}

.category-hub {
	position: relative;
	min-height: 310px;
	justify-content: flex-end;
	overflow: hidden;
	transition: transform .22s ease, border-color .22s ease, background-color .22s ease;
}

.category-hub::before {
	content: "";
	position: absolute;
	top: -35%;
	right: -30%;
	width: 220px;
	aspect-ratio: 1;
	border: 1px solid rgba(255,255,255,.07);
	border-radius: 50%;
	box-shadow: 0 0 0 35px rgba(255,255,255,.025), 0 0 0 70px rgba(255,255,255,.015);
}

.category-hub:hover {
	transform: translateY(-5px);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 55%, var(--wp--preset--color--border));
}

.category-hub__number {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: .75rem;
	font-weight: 850;
	letter-spacing: .12em;
}

.category-hub h3,
.category-hub p {
	position: relative;
	z-index: 1;
}

.category-hub__cta {
	margin-top: auto;
	font-size: .875rem;
	font-weight: 800;
}

.review-card {
	position: relative;
	height: 100%;
	border-radius: var(--wp--custom--affiliate--radius);
}

.review-card:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	background:
		radial-gradient(circle at 75% 25%, rgba(255,92,53,.28), transparent 25%),
		linear-gradient(145deg, #24282c, #101214);
}

.review-card__body {
	flex: 1;
}

.review-card .wp-block-post-title {
	font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
}

.review-card .wp-block-post-excerpt {
	flex: 1;
	color: var(--wp--preset--color--foreground-muted);
	font-size: .9rem;
}

.review-card .wp-block-affiliate-rating__badge {
	padding: .35rem .55rem;
	border-radius: 8px;
	box-shadow: none;
}

.review-card .wp-block-affiliate-rating__value { font-size: 1rem; }
.review-card .wp-block-affiliate-rating__max { font-size: .68rem; }

.top-stories-section {
	border: 1px solid var(--wp--preset--color--border);
}

.top-stories > .wp-block-post {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 0;
}

.top-stories > .wp-block-post::before {
	font-size: 2rem;
	font-variant-numeric: tabular-nums;
}

.top-stories__item .wp-block-post-featured-image {
	width: 88px !important;
	height: 88px !important;
	margin: 0;
	border-radius: 9px;
	overflow: hidden;
}

.top-stories__item .wp-block-post-featured-image img { height: 100%; object-fit: cover; }

.brand-row__logos a {
	color: var(--wp--preset--color--foreground-muted);
	font-size: clamp(.9rem, 2vw, 1.25rem);
	font-weight: 900;
	letter-spacing: .04em;
}

.brand-row__logos a:hover { color: var(--wp--preset--color--foreground); }

.newsletter-cta {
	position: relative;
	overflow: hidden;
	color: #08090a;
}

.newsletter-cta::after {
	content: "";
	position: absolute;
	right: -8%;
	top: -70%;
	width: 360px;
	aspect-ratio: 1;
	border: 1px solid rgba(0,0,0,.18);
	border-radius: 50%;
	box-shadow: 0 0 0 45px rgba(0,0,0,.05), 0 0 0 90px rgba(0,0,0,.03);
}

.newsletter-cta > * { position: relative; z-index: 1; }
.newsletter-cta__eyebrow { color: #08090a; }

.newsletter-cta__button {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	padding: .85rem 1.25rem;
	border-radius: 999px;
	background: #08090a;
	color: #fff;
	font-weight: 850;
}

.newsletter-cta__button:hover { color: #fff; background: #24272a; }

.site-footer__top { gap: clamp(2rem, 6vw, 6rem); }
.site-footer__brand .site-brand { align-self: flex-start; gap: .6rem; }
.site-footer__brand .site-brand__mark { flex-basis: 46px; width: 46px; height: 46px; }
.site-footer__brand .site-brand__icon { width: 46px !important; height: 46px !important; }
.site-footer__brand .site-brand__name { font-size: 1.5rem; }
.site-footer__nav a { color: var(--wp--preset--color--foreground-muted); }
.site-footer__legal { padding-top: 1rem; }

@media (max-width: 900px) {
	.section-heading { align-items: flex-start !important; flex-direction: column; }
	.section-hero { grid-template-columns: 1fr !important; }
	.section-hero__media { min-height: 320px; }
	.site-footer__top { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 600px) {
	.home--reference { --section-space: 4rem; }
	.editorial-kicker p { display: none; }
	.section-hero { min-height: 0; }
	.section-hero__media { min-height: 240px; }
	.section-hero__content { padding: 1.5rem; }
	.category-hub { min-height: 260px; }
	.top-stories { grid-template-columns: 1fr !important; }
	.site-footer__top { grid-template-columns: 1fr !important; }
}

/* ---- Image-first hierarchy (homepage + single posts) ------------------ */
.section-hero--image-first {
	display: flex !important;
	min-height: 0;
	overflow: hidden;
}

.section-hero--image-first .section-hero__media {
	width: 100%;
	min-height: 0;
	aspect-ratio: 16 / 9;
	background: #111315;
}

.section-hero--image-first .section-hero__media figure,
.section-hero--image-first .section-hero__media a,
.section-hero--image-first .section-hero__media img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.section-hero--image-first .section-hero__media img {
	aspect-ratio: 16 / 9 !important;
	object-fit: cover;
}

.section-hero--image-first .section-hero__content {
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr) !important;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: end;
	width: 100%;
	padding: clamp(1.5rem, 4vw, 3rem);
}

.section-hero--image-first .section-hero__headline,
.section-hero--image-first .section-hero__summary { min-width: 0; }

.section-hero--image-first .wp-block-post-title {
	max-width: none;
	margin: .5rem 0 0;
	font-size: clamp(1.75rem, 3.4vw, 2.8rem) !important;
	line-height: 1.06;
}

.section-hero--image-first .wp-block-post-excerpt {
	margin: 0;
	font-size: .95rem;
}

.section-hero--image-first .wp-block-post-excerpt__more-link {
	margin-top: .75rem;
	color: var(--wp--preset--color--primary);
	font-weight: 800;
}

.section-hero--image-first .wp-block-affiliate-rating__badge { box-shadow: none; }

.single-layout--image-first .single__header {
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr) !important;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	max-width: var(--wp--style--global--wide-size);
	padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(1.75rem, 4vw, 3rem);
	text-align: left;
}

.single-layout--image-first .single__headline,
.single-layout--image-first .single__dek { min-width: 0; }

.single-layout--image-first .single__headline .wp-block-post-terms {
	color: var(--wp--preset--color--primary);
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.single-layout--image-first .single__header h1 {
	max-width: none;
}

.single-layout--image-first .single__header .wp-block-post-excerpt {
	margin: 0;
	color: var(--wp--preset--color--foreground-muted);
	font-size: clamp(1rem, 1.5vw, 1.15rem) !important;
}

.single-layout--image-first .single__byline {
	justify-content: flex-start;
	margin-top: 1rem;
}

.single-layout--image-first .single__media {
	min-height: 0;
	aspect-ratio: 16 / 9;
	background: #111315;
}

.single-layout--image-first .single__media figure,
.single-layout--image-first .single__media img {
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
}

.single-layout--image-first .single__media img {
	aspect-ratio: 16 / 9 !important;
	object-fit: cover;
}

.single-layout--image-first .single__content-grid {
	margin-top: clamp(2.5rem, 6vw, 5rem);
}

@media (max-width: 900px) {
	.section-hero--image-first .section-hero__content,
	.single-layout--image-first .single__header {
		grid-template-columns: 1fr !important;
		gap: 1.5rem;
	}
	.section-hero--image-first .section-hero__media { aspect-ratio: 16 / 9; }
	.section-hero--image-first .section-hero__media img { aspect-ratio: 16 / 9 !important; }
	.single-layout--image-first .single__header h1 { max-width: none; }
}

@media (max-width: 600px) {
	.section-hero--image-first .section-hero__media,
	.section-hero--image-first .section-hero__media img { aspect-ratio: 4 / 3 !important; }
	.section-hero--image-first .section-hero__content { padding: 1.35rem; }
	.single-layout--image-first .single__header { padding-block: 2.25rem 1.5rem; }
	.single-layout--image-first .single__media,
	.single-layout--image-first .single__media img { aspect-ratio: 4 / 3 !important; min-height: 0; }
}

/* ---- Editorial navigation and archives -------------------------------- */
.editorial-nav {
	width: 100%;
	padding-top: .8rem;
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.editorial-nav .wp-block-navigation__container { gap: clamp(1rem, 3vw, 2rem); }
.editorial-nav a { color: var(--wp--preset--color--foreground-muted); }
.editorial-nav a:hover { color: var(--wp--preset--color--primary); }

.archive-layout { padding-bottom: clamp(4rem, 8vw, 7rem); }
.archive-hero {
	margin-inline: calc(clamp(1rem, 3vw, 2rem) * -1);
	padding: clamp(3.5rem, 8vw, 7rem) clamp(1rem, 3vw, 2rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.archive-hero h1 { max-width: none; margin-top: .5rem; text-wrap: balance; }
.archive-hero .taxonomy-description { max-width: 60ch; font-size: 1.05rem; }
.archive-query { margin-top: clamp(3rem, 6vw, 5rem); }
.wp-block-query-pagination { margin-top: 3rem; }
.wp-block-query-pagination a,
.wp-block-query-pagination .current { padding: .55rem .8rem; border: 1px solid var(--wp--preset--color--border); border-radius: 999px; }

/* ---- Long-form article components ------------------------------------- */
.single__rating-label {
	margin: 0;
	color: var(--wp--preset--color--foreground);
	font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
	font-weight: 750;
	line-height: 1.15;
	letter-spacing: -.02em;
	text-transform: none;
}

.single__rating-label::after { content: none; }

.article-summary,
.news-tldr,
.guide-intro {
	/* The surrounding block flow owns vertical rhythm; avoid double spacing. */
	margin: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 4px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--affiliate--radius);
	background: var(--wp--preset--color--background-elevated);
}

.article-summary h2,
.news-tldr h2 { margin-top: 0; font-size: 1.25rem; }
.article-summary > :last-child,
.news-tldr > :last-child,
.guide-intro > :last-child { margin-bottom: 0; }

.quick-picks { gap: 1rem; margin-block: 2rem 3rem; }
.quick-picks > .wp-block-column {
	padding: 1.5rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
	background: var(--wp--preset--color--background-elevated);
}
.quick-picks h3 { margin-top: 0; color: var(--wp--preset--color--primary); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }

.single__body .wp-block-table { margin-block: 2rem 3rem; overflow-x: auto; }
.single__body .wp-block-table table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.single__body .wp-block-table :where(th, td) { padding: .9rem 1rem; border: 1px solid var(--wp--preset--color--border); text-align: left; }
.single__body .wp-block-table th { background: var(--wp--preset--color--background-elevated); font-weight: 800; }
.comparison-table thead th { color: var(--wp--preset--color--primary); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }

.affiliate-pros-cons { gap: 1rem; margin-block: 2rem 3rem; }
.affiliate-pros-cons > .wp-block-column { padding: 1.5rem; }
.affiliate-pros-cons h3 { margin-top: 0; font-size: 1.05rem; }

.editorial-pullquote {
	margin: 0 0 3rem;
	padding: 1.25rem 0 1.25rem 1.5rem;
	border-left: 4px solid var(--wp--preset--color--primary);
	font-size: clamp(1.35rem, 3vw, 2rem);
	font-weight: 750;
	line-height: 1.3;
}
.editorial-pullquote p { margin: 0; }

.single__body .wp-block-post-content > p { max-width: none; }
.single__body .wp-block-post-content > .has-large-font-size:first-child { line-height: 1.55; }

/* Reference-style editorial body: measured copy punctuated by wide media. */
.single__body .reference-article-body.alignwide {
	width: 100%;
	max-width: none !important;
}

.reference-article-body > p {
	font-size: 1.03rem;
	line-height: 1.72;
}

.reference-article-body > h2 {
	margin-top: clamp(2.75rem, 6vw, 4.75rem);
	margin-bottom: 1rem;
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.reference-article-body .review-verdict {
	margin-block: clamp(3rem, 6vw, 5rem) 2rem;
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
	border-top: 1px solid var(--wp--preset--color--border);
}

body.single-layout-style-editorial .single__content-grid {
	gap: clamp(2.5rem, 4vw, 3.5rem);
}

body.single-layout-style-editorial .single__body { flex-basis: 72% !important; }
body.single-layout-style-editorial .single__sidebar { flex-basis: 28% !important; }

@media (max-width: 960px) {
	.site-header { position: relative; }
	.editorial-nav { overflow-x: auto; justify-content: flex-start !important; scrollbar-width: none; }
	.editorial-nav .wp-block-navigation__container { width: max-content; flex-wrap: nowrap; }
}

@media (max-width: 600px) {
	.editorial-nav { margin-inline: -1rem; width: calc(100% + 2rem); padding-inline: 1rem; }
	.archive-hero { padding-block: 2.25rem; }
	.archive-query { margin-top: 2rem; }
	.quick-picks { flex-direction: column; }
	.single__body .comparison-table,
	.single__body .affiliate-comparison-table { min-width: 620px; }
}

/* ---- Editorial pages --------------------------------------------------- */
.page-layout,
.single-layout {
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.page-hero {
	position: relative;
	margin-inline: calc(clamp(1rem, 3vw, 2rem) * -1);
	padding: clamp(4rem, 9vw, 8rem) clamp(1rem, 3vw, 2rem);
	overflow: hidden;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.page-hero::after {
	content: "";
	position: absolute;
	right: -6rem;
	top: -11rem;
	width: clamp(22rem, 45vw, 42rem);
	aspect-ratio: 1;
	border: 1px solid rgba(255,255,255,.07);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255,255,255,.018), 0 0 0 140px rgba(255,255,255,.01);
}

.page-hero__inner { position: relative; z-index: 1; }
.page-hero h1 { max-width: none; margin: .6rem 0 0; text-wrap: balance; }

/* Compact publication-page masthead: useful context without a decorative
   full-bleed hero or repeated generic kicker. */
.page-layout--editorial {
	padding-top: clamp(.5rem, 1.5vw, 1.25rem);
}

.page-masthead {
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr) !important;
	gap: clamp(1.5rem, 6vw, 6rem);
	align-items: end;
	padding-block: clamp(.75rem, 1.5vw, 1.25rem) clamp(1.25rem, 2.5vw, 2rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.page-masthead > * { min-width: 0; }
.page-masthead h1 {
	max-width: none;
	text-wrap: balance;
}

.page-masthead .wp-block-post-excerpt,
.page-masthead .wp-block-post-excerpt p {
	max-width: none;
	margin: 0;
	line-height: 1.55;
}

.page-utility-nav {
	margin-top: 0;
	padding-block: .8rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: .78rem;
	font-weight: 800;
}

.page-utility-nav .wp-block-navigation__container { gap: clamp(1rem, 3vw, 2rem); }
.page-utility-nav a { color: var(--wp--preset--color--foreground-muted); }
.page-utility-nav a:hover { color: var(--wp--preset--color--primary); }

.page-layout--editorial .page-content-grid {
	margin-top: clamp(2rem, 5vw, 4rem);
}

.page-kicker,
.trust-panel__label {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.page-content-grid,
.single__content-grid {
	gap: clamp(2rem, 6vw, 5rem);
	margin-top: clamp(3rem, 7vw, 6rem);
}

.page-content-main .wp-block-post-content > :first-child,
.single__body .wp-block-post-content > :first-child {
	margin-top: 0;
}

.page-content-main .wp-block-post-content > p:first-child {
	color: var(--wp--preset--color--foreground);
	font-size: clamp(1.15rem, 2vw, 1.35rem);
	line-height: 1.6;
}

.page-content-main :where(h2, h3),
.single__body :where(h2, h3) {
	margin-top: 2.5em;
	margin-bottom: .7em;
}

.page-content-main li,
.single__body li { margin-block: .55rem; }

.page-sidebar,
.single__sidebar { position: relative; }

.trust-panel,
.single__rating {
	position: sticky;
	top: 7rem;
	border: 1px solid var(--wp--preset--color--border);
}

.trust-panel__links {
	margin: .5rem 0 0;
	padding: 0;
	list-style: none;
}

.trust-panel__links li {
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--border);
}

.trust-panel__links a {
	display: flex;
	justify-content: space-between;
	padding: .85rem 0;
	font-size: .9rem;
	font-weight: 750;
}

.trust-panel__links a::after { content: "→"; color: var(--wp--preset--color--primary); }

/* ---- Review / article pages ------------------------------------------- */
.single__header {
	padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(2.5rem, 5vw, 4rem);
	text-align: center;
}

.single__header > .wp-block-post-terms {
	color: var(--wp--preset--color--primary);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.single__header h1 {
	max-width: none;
	margin-inline: auto;
	text-wrap: balance;
}

.single__header .wp-block-post-excerpt {
	max-width: 680px;
	margin-inline: auto;
	color: var(--wp--preset--color--foreground-muted);
}

.single__byline {
	justify-content: center;
	font-size: .875rem;
}

.single__byline .wp-block-post-author__byline { display: none; }
.single__byline .wp-block-post-author__name { font-weight: 750; }

.single__independence {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin: 0;
}

.single__independence::before {
	content: "✓";
	display: grid;
	place-items: center;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #000;
	font-size: .7rem;
	font-weight: 900;
}

.single__media {
	min-height: clamp(260px, 48vw, 620px);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
	background:
		radial-gradient(circle at 30% 25%, rgba(255,92,53,.28), transparent 28%),
		linear-gradient(145deg, #282d31, #0d0f10 70%);
}

.single__media:empty::after {
	content: var(--affiliate-label-site-name, "");
	display: grid;
	place-items: center;
	min-height: inherit;
	color: rgba(255,255,255,.08);
	font-size: clamp(2.5rem, 8vw, 7rem);
	font-weight: 900;
	letter-spacing: -.06em;
}

.single__media figure,
.single__media img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.single__media img {
	min-height: clamp(260px, 48vw, 620px);
	object-fit: cover;
}

.single__rating .wp-block-affiliate-rating__badge {
	padding: .65rem .9rem;
	box-shadow: none;
}

.single__rating .wp-block-affiliate-rating__value { font-size: 2.5rem; }
.single__rating .wp-block-post-excerpt {
	color: var(--wp--preset--color--foreground-muted);
	font-size: 1rem;
	line-height: 1.6;
}

.single__overview {
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: .75rem;
	padding: clamp(1.25rem, 2.5vw, 1.75rem) !important;
	border-left: 4px solid var(--wp--preset--color--primary) !important;
}

.single__overview .wp-block-post-excerpt,
.single__overview .wp-block-post-excerpt p { margin: 0; }

.single__overview .wp-block-affiliate-rating { margin-block: .15rem; }

.single__navigation {
	margin-top: clamp(3rem, 7vw, 6rem);
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--border);
	font-weight: 750;
}

@media (max-width: 782px) {
	.page-content-grid,
	.single__content-grid { gap: 2.5rem; }
	.page-masthead { grid-template-columns: 1fr !important; gap: 1rem; align-items: start; }
	.trust-panel,
	.single__rating { position: static; }
	.single__content-grid { flex-direction: column-reverse; }
}

@media (max-width: 600px) {
	.page-hero { padding-block: 3.5rem; }
	.page-layout--editorial { padding-top: .5rem; }
	.page-masthead { padding-block: 1rem 1.25rem; }
	.page-masthead .wp-block-post-excerpt { font-size: .95rem !important; }
	.page-utility-nav { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
	.page-utility-nav .wp-block-navigation__container { width: max-content; flex-wrap: nowrap; gap: 1.1rem; }
	.single__header { text-align: left; }
	.single__header h1,
	.single__header .wp-block-post-excerpt { margin-inline: 0; }
	.single__byline { justify-content: flex-start; }
	.single__media { min-height: 220px; border-radius: 8px; }
	.single__media img { min-height: 220px; }
	.single__navigation { align-items: flex-start !important; flex-direction: column; }
}

/* ---- Compact navigation + above-the-fold rhythm ----------------------- */
.site-disclosure {
	padding-block: .22rem;
}

.site-disclosure p {
	line-height: 1.35;
}

.site-header {
	padding-block: .55rem;
	width: 100%;
	margin-inline: 0;
}

.site-header__inner {
	min-height: 42px;
	gap: clamp(.75rem, 2vw, 1.5rem);
}

.site-header__brand {
	flex: 0 0 auto;
}

.site-header__nav {
	flex: 1 1 auto;
	font-size: .82rem;
}

.site-header__nav .wp-block-navigation__container {
	gap: clamp(.8rem, 1.65vw, 1.45rem);
}

.site-header__nav .wp-block-navigation-submenu__toggle {
	padding: 0;
}

.site-header__nav .wp-block-navigation__submenu-container {
	min-width: 12rem;
	padding: .45rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background: var(--wp--preset--color--background-elevated);
	box-shadow: 0 16px 40px rgba(0, 0, 0, .38);
}

.site-header__nav .wp-block-navigation__submenu-container a {
	padding: .65rem .75rem;
	border-radius: 6px;
}

.site-header__nav .wp-block-navigation__submenu-container a:hover {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
}

.site-header__actions {
	flex: 0 0 auto;
	gap: .45rem;
}

.site-header__actions .header-search {
	width: auto;
}

.header-search .wp-block-search__inside-wrapper {
	display: flex;
	justify-content: flex-end;
	min-width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background: var(--wp--preset--color--background-elevated);
	overflow: hidden;
	transition: border-color .18s ease, width .22s ease;
}

.header-search .wp-block-search__input {
	width: 0;
	min-width: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--wp--preset--color--foreground);
	opacity: 0;
	transition: width .22s ease, padding .22s ease, opacity .15s ease;
}

.header-search:focus-within .wp-block-search__inside-wrapper {
	border-color: var(--wp--preset--color--primary);
}

.header-search:focus-within .wp-block-search__input {
	width: clamp(10rem, 18vw, 14rem);
	padding-inline: .9rem .2rem;
	opacity: 1;
}

.header-search .wp-block-search__button {
	display: grid;
	flex: 0 0 42px;
	place-items: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--foreground);
}

.header-search .wp-block-search__button:hover {
	background: var(--wp--preset--color--primary);
	color: #000;
}

.theme-toggle {
	width: 42px;
	height: 42px;
	min-height: 42px;
	justify-content: center;
	padding: 0;
}

.theme-toggle__label {
	display: none;
}

.site-footer {
	width: 100%;
	margin-inline: 0;
}

.single-layout--image-first .single__header {
	padding-block: clamp(1.5rem, 3vw, 2.75rem) clamp(1.15rem, 2.2vw, 2rem);
}

.single-layout--image-first .single__content-grid {
	margin-top: clamp(1.75rem, 4vw, 3.5rem);
}

@media (max-width: 1100px) {
	.site-header__brand .wp-block-site-title { display: none; }
	.site-header__nav .wp-block-navigation__container { gap: .8rem; }
}

@media (max-width: 782px) {
	.site-header { position: sticky; }
	.site-header__inner { gap: .65rem; }
	.site-header__nav { order: initial; }
	.site-header__actions { margin-left: auto; }
	.header-search:focus-within .wp-block-search__input { width: min(10rem, 30vw); }
	.single-layout--image-first .single__header {
		gap: 1rem;
		padding-block: 1.5rem 1.1rem;
	}
	.single-layout--image-first .single__byline { margin-top: .65rem; }
	.single-layout--image-first .single__content-grid { margin-top: 1.5rem; }
}

@media (max-width: 600px) {
	.site-disclosure { padding-inline: .75rem; }
	.site-disclosure p { font-size: .68rem !important; }
	.site-header { padding-block: .4rem; }
	.site-header__inner { min-height: 40px; }
	.site-header__brand .custom-logo { width: 100%; max-width: 100%; height: auto; }
	.site-header__nav { flex: 0 0 auto; margin-left: auto; }
	.site-header__actions { margin-left: 0; }
	.header-search .wp-block-search__inside-wrapper,
	.header-search .wp-block-search__button,
	.theme-toggle { width: 40px; height: 40px; min-height: 40px; }
	.header-search .wp-block-search__button { flex-basis: 40px; }
	.header-search:focus-within {
		position: absolute;
		z-index: 3;
		right: 3.55rem;
		left: 7.5rem;
	}
	.header-search:focus-within .wp-block-search__inside-wrapper { width: 100%; }
	.header-search:focus-within .wp-block-search__input { width: 100%; }
	.single-layout--image-first .single__header { padding-block: 1.2rem .9rem; }
	.single-layout--image-first .single__header .wp-block-post-excerpt { font-size: .95rem !important; }
	.single-layout--image-first .single__media,
	.single-layout--image-first .single__media img { aspect-ratio: 16 / 11 !important; }
	.section-hero--image-first .section-hero__media,
	.section-hero--image-first .section-hero__media img { aspect-ratio: 16 / 11 !important; }
	.section-hero--image-first .section-hero__content { padding: 1rem; gap: .85rem; }
	.section-hero--image-first .wp-block-post-title { font-size: clamp(1.55rem, 7.5vw, 2.05rem) !important; }
}

/* ---- Optional promotion bar ------------------------------------------ */
.site-promo {
	position: relative;
	z-index: 20;
	width: min(calc(100% - 2rem), 42rem);
	margin: 0 auto -2.75rem;
	filter: drop-shadow(0 12px 28px rgba(0, 0, 0, .34));
}

.site-promo__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	min-height: 44px;
	padding: .65rem 1rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 65%, #fff);
	border-radius: 0 0 10px 10px;
	background: var(--wp--preset--color--primary);
	color: #08090a;
	font-size: .84rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
}

.site-promo__icon { font-size: 1rem; }
.site-promo__link { color: #08090a; text-decoration: underline; text-underline-offset: .18em; white-space: nowrap; }
.site-promo__link:hover { color: #000; }

/* ---- Post media policy: efficient single image or explicit carousel -- */
.single-layout--image-first .single__media {
	width: min(100%, 67.5rem);
	max-width: 67.5rem;
	margin-inline: auto;
}

/* Grid/flex descendants must be allowed to shrink below their intrinsic
   content width. Wide tables scroll inside their own wrapper, not the page. */
.single-layout,
.single__header,
.single__media,
.single__content-grid,
.single__body,
.single__sidebar,
.single__navigation,
.single__body .wp-block-post-content,
.single__body .wp-block-table,
.affiliate-table-wrapper {
	min-width: 0;
	max-width: 100%;
}

.single__body .wp-block-table,
.affiliate-table-wrapper {
	width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	contain: inline-size;
}

.single__body .product-specs table {
	min-width: 100%;
	table-layout: fixed;
}

.single__body .product-specs :where(th, td) {
	overflow-wrap: anywhere;
}

.post-hero-carousel,
.post-hero-carousel__viewport,
.post-hero-carousel .wp-block-gallery {
	width: 100%;
	height: 100%;
}

.post-hero-carousel {
	position: relative;
	background: var(--wp--preset--color--background-elevated);
}

.post-hero-carousel .wp-block-gallery {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	margin: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.post-hero-carousel .wp-block-gallery::-webkit-scrollbar { display: none; }

.post-hero-carousel .wp-block-image {
	flex: 0 0 100% !important;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	scroll-snap-align: start;
}

.post-hero-carousel .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--wp--preset--color--background-elevated);
}

.post-hero-carousel__controls {
	position: absolute;
	right: .8rem;
	bottom: .8rem;
	display: flex;
	align-items: center;
	gap: .45rem;
	padding: .35rem;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 999px;
	background: rgba(8, 9, 10, .86);
	color: #fff;
	backdrop-filter: blur(10px);
}

.post-hero-carousel__controls button {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font: inherit;
}

.post-hero-carousel__controls button:hover { background: var(--wp--preset--color--primary); color: #000; }
.post-hero-carousel__controls button:disabled { opacity: .35; cursor: default; }
.post-hero-carousel__controls span { min-width: 3.4rem; font-size: .75rem; font-weight: 800; text-align: center; }

/* The outer negative margin makes full-bleed sections; restore reliable
   content gutters explicitly on phones, including device safe areas. */
@media (max-width: 600px) {
	.site-footer {
		padding-left: max(1rem, env(safe-area-inset-left)) !important;
		padding-right: max(1rem, env(safe-area-inset-right)) !important;
		padding-top: 3rem !important;
		padding-bottom: max(2rem, env(safe-area-inset-bottom)) !important;
	}
	.site-footer__top { gap: 2rem; }
	.site-footer__legal { gap: .75rem; }
	.site-footer__legal p { margin: 0; }
	.site-promo { width: calc(100% - 1.25rem); margin-bottom: -2.5rem; }
	.site-promo__inner { justify-content: flex-start; overflow-x: auto; padding-inline: .8rem; text-align: left; }
	.site-promo__text { min-width: 0; }
	.single-layout--image-first .single__media { width: 100%; }
	.post-hero-carousel__controls { right: .5rem; bottom: .5rem; }
}

/* ---- Purpose-built taxonomy hubs ------------------------------------- */
.product-hub-layout,
.versus-hub-layout {
	padding-block: 0 clamp(3rem, 6vw, 5rem);
	padding-block-start: 0;
}

.compact-archive-hero {
	gap: clamp(1rem, 4vw, 4rem);
	align-items: end;
	padding-block: clamp(.75rem, 1.5vw, 1.25rem) clamp(1.25rem, 2.5vw, 2rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.compact-archive-hero > * { min-width: 0; }
.compact-archive-hero h1 { margin: 0; }
.compact-archive-hero > p { max-width: none; margin: 0; }

.archive-topic-nav {
	gap: .6rem;
	margin-top: 1.25rem;
}

.archive-topic-nav p { margin: 0; }
.archive-topic-nav a {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	min-height: 42px;
	padding: .55rem 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background: var(--wp--preset--color--background-elevated);
	font-size: .82rem;
	font-weight: 800;
}

.archive-topic-nav a:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.archive-topic-nav--visual a { min-height: 50px; padding-inline: 1.15rem; }
.archive-topic-nav--visual a span {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 16%, transparent);
	color: var(--wp--preset--color--primary);
}

.compact-section-heading {
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
	padding-bottom: .8rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.compact-section-heading h2,
.compact-section-heading p { margin: 0; }

.compact-feed-query { margin-top: 1rem; }
.compact-feed-query .wp-block-post-template { gap: 1rem; }
.compact-feed-card {
	grid-template-columns: minmax(120px, .72fr) minmax(0, 1.28fr) !important;
	gap: 1rem;
	align-items: center;
	height: 100%;
	padding: .75rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
}

.compact-feed-card .wp-block-post-featured-image,
.compact-feed-card .wp-block-post-featured-image img { width: 100%; margin: 0; border-radius: 7px; }
.compact-feed-card__body { gap: .35rem; min-width: 0; }
.compact-feed-card__body h3,
.compact-feed-card__body .wp-block-post-excerpt,
.compact-feed-card__body .wp-block-post-excerpt p { margin: 0; }
.compact-feed-card__body h3 { line-height: 1.25; }
.compact-feed-card__body .wp-block-post-excerpt { color: var(--wp--preset--color--foreground-muted); font-size: .78rem; line-height: 1.4; }

.versus-lead-query { margin-top: clamp(2.25rem, 5vw, 4rem); }
.versus-lead {
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
}

.versus-lead .wp-block-post-featured-image,
.versus-lead .wp-block-post-featured-image img { width: 100%; height: 100%; min-height: 310px; margin: 0; object-fit: cover; }
.versus-lead__body { gap: .75rem; justify-content: center; padding: clamp(1.25rem, 4vw, 3rem); }
.versus-lead__body h2,
.versus-lead__body .wp-block-post-excerpt { margin: 0; }
.versus-lead__body h2 { line-height: 1.08; }
.versus-lead__body .wp-block-post-excerpt { color: var(--wp--preset--color--foreground-muted); }

.archive-trust-note {
	gap: 2rem;
	margin-top: clamp(3rem, 7vw, 5rem);
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
}
.archive-trust-note h2,
.archive-trust-note p { margin: 0; }
.archive-trust-note a { color: var(--wp--preset--color--primary); font-weight: 800; }

@media (max-width: 782px) {
	.compact-archive-hero,
	.versus-lead { grid-template-columns: 1fr !important; }
	.compact-archive-hero { align-items: start; gap: .75rem; }
	.versus-lead .wp-block-post-featured-image,
	.versus-lead .wp-block-post-featured-image img { min-height: 0; aspect-ratio: 16 / 9; }
}

@media (max-width: 600px) {
	.compact-archive-hero { padding-block: 1rem 1.25rem; }
	.archive-topic-nav { flex-wrap: nowrap !important; max-width: 100%; margin-inline: 0; padding-inline: 0; overflow-x: auto; scrollbar-width: none; }
	.archive-topic-nav p { flex: 0 0 auto; }
	.compact-section-heading { align-items: flex-start !important; gap: .25rem; }
	.compact-feed-query .wp-block-post-template { grid-template-columns: 1fr !important; }
	.compact-feed-card { grid-template-columns: 112px minmax(0, 1fr) !important; gap: .75rem; padding: .55rem; }
	.compact-feed-card__body .wp-block-post-excerpt { display: none; }
	.versus-lead__body { padding: 1rem; }
	.archive-trust-note { align-items: flex-start !important; }
}

/* ---- Breadcrumbs ------------------------------------------------------ */
.site-breadcrumbs {
	width: min(calc(100% - 2rem), var(--wp--style--global--wide-size));
	margin: .8rem auto 0;
	color: var(--wp--preset--color--foreground-muted);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.site-breadcrumbs ol {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}

.site-breadcrumbs li {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	white-space: nowrap;
}

.site-breadcrumbs li:not(:last-child)::after {
	content: "→";
	margin-left: .45rem;
	color: var(--wp--preset--color--primary);
}

.site-breadcrumbs li:last-child span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
}

.site-breadcrumbs a { color: var(--wp--preset--color--primary); }

/* ---- Compact, filterable Versus archive ------------------------------ */
.versus-list-layout { padding-top: 0; }
.versus-list-masthead {
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr) !important;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	padding-block: clamp(1rem, 2.5vw, 2rem) clamp(1.25rem, 3vw, 2.25rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.versus-list-masthead > * { min-width: 0; }
.versus-list-masthead h1 { margin: 0; }
.versus-list-masthead p { margin: 0; }
.versus-list-masthead > p { padding-left: clamp(1rem, 3vw, 2rem); border-left: 1px solid var(--wp--preset--color--border); }
.versus-list-count { margin-top: .55rem !important; }

.versus-filters {
	display: flex;
	gap: .55rem;
	width: min(calc(100% - 2rem), var(--wp--style--global--wide-size));
	margin: .9rem auto 0;
	padding-bottom: .25rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.versus-filters a {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: .4rem;
	min-height: 38px;
	padding: .45rem .85rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	font-size: .76rem;
	font-weight: 800;
}

.versus-filters a[aria-current="page"] {
	border-color: var(--wp--preset--color--foreground);
	background: var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--background);
}
.versus-filters small { opacity: .62; font-size: .68rem; }

.versus-list-query { margin-top: 1.15rem; }
.versus-list-query .wp-block-post-template { gap: 0; }
.versus-list-row {
	grid-template-columns: 104px minmax(0, 1fr) !important;
	gap: 1rem;
	align-items: center;
	padding-block: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.versus-list-row .wp-block-post-featured-image {
	width: 104px;
	height: 72px;
	margin: 0;
	border-radius: 7px;
	overflow: hidden;
}
.versus-list-row .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.versus-list-row:not(:has(.wp-block-post-featured-image))::before {
	content: var(--affiliate-label-vs, "VS");
	display: grid;
	place-items: center;
	width: 104px;
	height: 72px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 7px;
	background: var(--wp--preset--color--background-elevated);
	color: var(--wp--preset--color--primary);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .12em;
}

.versus-list-row__body { display: flex !important; flex-direction: column !important; align-items: flex-start; gap: .2rem; width: 100%; min-width: 0; }
.versus-list-row__body .wp-block-post-terms {
	height: 1rem;
	overflow: hidden;
	color: var(--wp--preset--color--primary);
	font-size: .64rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.versus-list-row__body .wp-block-post-terms a { display: none; }
.versus-list-row__body .wp-block-post-terms a[href*="/versus/"] { display: inline; }
.versus-list-row__body .wp-block-post-terms__separator { display: none; }
.versus-list-row__body h2,
.versus-list-row__body .wp-block-post-excerpt,
.versus-list-row__body .wp-block-post-excerpt p { margin: 0; }
.versus-list-row__body h2 { line-height: 1.25; }
.versus-list-row__body .wp-block-post-excerpt { color: var(--wp--preset--color--foreground-muted); font-size: .78rem; line-height: 1.4; }
.versus-list-row__meta { gap: .35rem; color: var(--wp--preset--color--foreground-muted); font-size: .72rem; }
.versus-list-row__meta > * + *::before { content: "·"; margin-right: .35rem; }

/* ---- Homepage card information hierarchy ----------------------------- */
.review-card__body { width: 100%; min-width: 0; }
.review-card__body .wp-block-post-title,
.review-card__body .wp-block-post-excerpt { width: 100%; }
.review-card__meta {
	width: 100%;
	margin-top: 0;
	padding: .8rem 1.25rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

/* ---- Homepage product category grid ---------------------------------- */
.category-grid { gap: .8rem; }
.category-hub {
	min-height: 220px;
	gap: .65rem;
	justify-content: flex-start;
	padding: 1.25rem !important;
	border-radius: 10px !important;
}

.category-hub::before {
	top: 0;
	right: auto;
	left: 0;
	width: 100%;
	height: 3px;
	aspect-ratio: auto;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--primary);
	box-shadow: none;
}

.category-hub:hover { transform: translateY(-3px); }
.category-hub__number {
	top: 1.15rem;
	right: 1.15rem;
	left: auto;
	display: inline-block;
	font-size: .68rem;
	line-height: 1;
}

.category-hub h3 {
	margin: 1.9rem 0 0;
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	line-height: 1;
	letter-spacing: -.035em;
}
.category-hub p { margin-block: 0; line-height: 1.5; }
.category-hub__cta { margin-top: auto !important; padding-top: .8rem; border-top: 1px solid var(--wp--preset--color--border); }
.category-hub__cta a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }

@media (max-width: 782px) {
	.versus-list-masthead { grid-template-columns: 1fr !important; gap: .8rem; }
	.versus-list-masthead > p { padding-left: 0; border-left: 0; }
}

@media (max-width: 600px) {
	.site-breadcrumbs { margin-top: .55rem; }
	.versus-list-masthead { padding-block: .85rem 1rem; }
	.versus-list-row { grid-template-columns: 88px minmax(0, 1fr) !important; gap: .75rem; padding-block: .8rem; }
	.versus-list-row .wp-block-post-featured-image { width: 88px; height: 64px; }
	.versus-list-row .wp-block-post-featured-image img { width: 100%; height: 100%; }
	.versus-list-row:not(:has(.wp-block-post-featured-image))::before { width: 88px; height: 64px; }
	.versus-list-row__body .wp-block-post-excerpt { display: none; }
	.category-grid { grid-template-columns: 1fr !important; }
	.category-hub { min-height: 190px; }
}

/* ---- Compact content-type archive ------------------------------------ */
.editorial-list-layout { padding: 0 0 clamp(3rem, 6vw, 5rem); }
.editorial-list-masthead {
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	padding-block: clamp(1rem, 2.5vw, 2rem) clamp(1.25rem, 3vw, 2.25rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.editorial-list-masthead h1 { margin: 0; }
.editorial-list-masthead p { margin: 0; padding-left: clamp(1rem, 3vw, 2rem); border-left: 1px solid var(--wp--preset--color--border); }
.editorial-list-query { margin-top: .75rem; }
.editorial-list-query .wp-block-post-template { gap: 0; }
.editorial-list-row {
	grid-template-columns: 132px minmax(0, 1fr) !important;
	gap: 1rem;
	align-items: center;
	padding-block: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.editorial-list-row .wp-block-post-featured-image { width: 132px; height: 88px; margin: 0; border-radius: 7px; overflow: hidden; }
.editorial-list-row .wp-block-post-featured-image img { width: 100%; height: 100%; margin: 0; object-fit: cover; }
.editorial-list-row:not(:has(.wp-block-post-featured-image))::before {
	content: var(--affiliate-label-guide, "Guide");
	display: grid;
	place-items: center;
	width: 132px;
	height: 88px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 7px;
	background: var(--wp--preset--color--background-elevated);
	color: var(--wp--preset--color--primary);
	font-size: .66rem;
	font-weight: 900;
	letter-spacing: .1em;
}
.editorial-list-row__body { display: flex !important; flex-direction: column !important; align-items: flex-start; gap: .25rem; width: 100%; min-width: 0; }
.editorial-list-row__body h2,
.editorial-list-row__body .wp-block-post-excerpt,
.editorial-list-row__body .wp-block-post-excerpt p { margin: 0; }
.editorial-list-row__body h2 { line-height: 1.22; }
.editorial-list-row__body .wp-block-post-excerpt { color: var(--wp--preset--color--foreground-muted); font-size: .82rem; }
.editorial-list-row__meta { gap: .35rem; color: var(--wp--preset--color--foreground-muted); font-size: .72rem; }
.editorial-list-row__meta > * + *::before { content: "·"; margin-right: .35rem; }

/* ---- Reviews content-type archive ------------------------------------ */
.reviews-list-masthead > .wp-block-group { gap: .35rem; }
.reviews-list-masthead > .wp-block-group p { padding-left: 0; border-left: 0; }
.reviews-topic-nav { margin-top: .8rem; margin-bottom: .25rem; }
.reviews-topic-nav p:first-child a {
	border-color: var(--wp--preset--color--foreground);
	background: var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--background);
}
.reviews-list-query { margin-top: .5rem; }
.reviews-list-query .wp-block-post-template { gap: 0; }
.reviews-list-row {
	grid-template-columns: 160px minmax(0, 1fr) 92px !important;
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: center;
	padding-block: 1.1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.reviews-list-row .wp-block-post-featured-image {
	width: 160px;
	height: 100px;
	margin: 0;
	border-radius: 7px;
	overflow: hidden;
}
.reviews-list-row .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}
.reviews-list-row:not(:has(.wp-block-post-featured-image))::before {
	content: var(--affiliate-label-review, "Review");
	display: grid;
	place-items: center;
	width: 160px;
	height: 100px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 7px;
	background: var(--wp--preset--color--background-elevated);
	color: var(--wp--preset--color--primary);
	font-size: .65rem;
	font-weight: 900;
	letter-spacing: .1em;
}
.reviews-list-row__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start;
	gap: .28rem;
	min-width: 0;
}
.reviews-list-row__body :where(h2, .wp-block-post-excerpt, .wp-block-post-excerpt p) { margin: 0; }
.reviews-list-row__body h2 { line-height: 1.2; }
.reviews-list-row__body .wp-block-post-terms {
	color: var(--wp--preset--color--primary);
	font-size: .64rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.reviews-list-row__body .wp-block-post-excerpt {
	color: var(--wp--preset--color--foreground-muted);
	font-size: .82rem;
	line-height: 1.5;
}
.reviews-list-row__meta { gap: .35rem; color: var(--wp--preset--color--foreground-muted); font-size: .72rem; }
.reviews-list-row__meta > * + *::before { content: "·"; margin-right: .35rem; }
.reviews-list-row__score {
	gap: .35rem;
	align-items: center;
	justify-self: end;
	min-width: 76px;
	padding-left: 1rem;
	border-left: 1px solid var(--wp--preset--color--border);
}
.reviews-list-row__score > p {
	margin: 0;
	color: var(--wp--preset--color--foreground-muted);
	font-size: .62rem;
	font-weight: 850;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.reviews-list-row__score .wp-block-affiliate-rating__badge { padding: .5rem .65rem; box-shadow: none; }
.reviews-list-row__score .wp-block-affiliate-rating__value { font-size: 1.4rem; }

/* ---- News and features archives ------------------------------------- */
.story-archive-layout {
	padding: 0 0 clamp(3rem, 6vw, 5rem);
}

.story-archive-masthead {
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	padding-block: clamp(1rem, 2.5vw, 2rem) clamp(1.25rem, 3vw, 2.25rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.story-archive-masthead > * { min-width: 0; }
.story-archive-masthead > .wp-block-group {
	flex-direction: column;
	align-items: flex-start;
	gap: .4rem;
}
.story-archive-masthead h1 {
	margin: 0;
}
.story-archive-masthead p { margin: 0; }
.story-archive-masthead > p {
	padding-left: clamp(1rem, 3vw, 2rem);
	border-left: 1px solid var(--wp--preset--color--border);
	line-height: 1.55;
}

.story-archive-nav { margin-top: .8rem; margin-bottom: .25rem; }
.story-archive-nav p:first-child a {
	border-color: var(--wp--preset--color--foreground);
	background: var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--background);
}

.story-archive-query { margin-top: .5rem; }
.story-archive-query .wp-block-post-template { gap: 0; }
.story-list-row {
	grid-template-columns: clamp(116px, 14vw, 168px) minmax(0, 1fr) !important;
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: center;
	padding-block: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.story-list-row .wp-block-post-featured-image {
	width: 100%;
	margin: 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	background: var(--wp--preset--color--background-elevated);
}
.story-list-row .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}
.story-list-row:not(:has(.wp-block-post-featured-image))::before {
	content: var(--affiliate-label-news, "News");
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 3 / 2;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	background: var(--wp--preset--color--background-elevated);
	color: var(--wp--preset--color--primary);
	font-size: .66rem;
	font-weight: 900;
	letter-spacing: .1em;
}
.story-archive-layout--features .story-list-row:not(:has(.wp-block-post-featured-image))::before { content: var(--affiliate-label-feature, "Feature"); }
.story-list-row__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start;
	gap: .3rem;
	min-width: 0;
}
.story-list-row__body .wp-block-post-terms {
	color: var(--wp--preset--color--primary);
	font-size: .64rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.story-list-row__body :where(h2, .wp-block-post-excerpt, .wp-block-post-excerpt p) { margin: 0; }
.story-list-row__body h2 { line-height: 1.18; }
.story-list-row__body .wp-block-post-excerpt {
	color: var(--wp--preset--color--foreground-muted);
	font-size: .82rem;
	line-height: 1.5;
}
.story-list-row__meta {
	gap: .35rem;
	color: var(--wp--preset--color--foreground-muted);
	font-size: .72rem;
}
.story-list-row__meta > * + *::before { content: "·"; margin-right: .35rem; }

/* ---- Best products buying destination ------------------------------- */
.best-products-layout { padding: 0 0 clamp(3rem, 7vw, 6rem); }
.best-products-nav { margin-top: .8rem; margin-bottom: .25rem; }
.best-products-nav p:first-child a {
	border-color: var(--wp--preset--color--foreground);
	background: var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--background);
}

.best-guides-query { margin-top: 1rem; }
.best-guides-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 2.5vw, 1.5rem);
}
.best-guides-grid:has(> .wp-block-post:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.best-guides-grid > .wp-block-post:only-child { grid-column: 1 / -1; }

.best-guide-card {
	height: 100%;
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
}
.best-guide-card__media {
	width: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--wp--preset--color--background);
}
.best-guide-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform .3s ease;
}
.best-guide-card:hover .best-guide-card__media img { transform: scale(1.018); }
.best-guide-card__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start;
	gap: .55rem;
	min-width: 0;
	height: 100%;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}
.best-guide-card__body .wp-block-post-terms {
	color: var(--wp--preset--color--primary);
	font-size: .65rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.best-guide-card__body :where(h2, .wp-block-post-excerpt, .wp-block-post-excerpt p) { margin: 0; }
.best-guide-card__body h2 { line-height: 1.12; }
.best-guide-card__body .wp-block-post-excerpt {
	color: var(--wp--preset--color--foreground-muted);
	font-size: .84rem;
	line-height: 1.5;
}
.best-guide-card__meta {
	gap: .35rem;
	color: var(--wp--preset--color--foreground-muted);
	font-size: .72rem;
}
.best-guide-card__meta > * + *::before { content: "·"; margin-right: .35rem; }
.best-guide-card__link {
	margin-top: auto;
	padding-top: .45rem;
	color: var(--wp--preset--color--primary);
	font-size: .7rem;
	font-weight: 850;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.best-guides-grid > .wp-block-post:only-child .best-guide-card {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	min-height: 370px;
}
.best-guides-grid > .wp-block-post:only-child .best-guide-card__media,
.best-guides-grid > .wp-block-post:only-child .best-guide-card__media img {
	height: 100%;
	min-height: 368px;
	aspect-ratio: auto !important;
}
.best-guides-grid > .wp-block-post:only-child .best-guide-card__body {
	justify-content: center;
	padding: clamp(1.5rem, 5vw, 3.5rem);
}
.best-guides-grid > .wp-block-post:only-child .best-guide-card__body h2 {
	font-size: clamp(1.8rem, 3.4vw, 2.8rem) !important;
	letter-spacing: -.035em;
}

.best-products-section-heading {
	margin-top: clamp(2.75rem, 6vw, 5rem);
	padding-bottom: .85rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.best-products-section-heading > .wp-block-group {
	flex-direction: column;
	align-items: flex-start;
	gap: .25rem;
}
.best-products-section-heading :where(h2, p) { margin: 0; }

.best-product-routes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	width: min(calc(100% - clamp(2rem, 6vw, 4rem)), var(--wp--style--global--wide-size));
	max-width: var(--wp--style--global--wide-size) !important;
	margin: 1rem auto 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
	background: var(--wp--preset--color--border);
}
.best-product-routes a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .35rem;
	min-height: 126px;
	padding: 1.25rem;
	background: var(--wp--preset--color--background-elevated);
}
.best-product-routes a:hover { background: #191c1f; }
.best-product-routes span {
	color: var(--wp--preset--color--primary);
	font-size: .65rem;
	font-weight: 850;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.best-product-routes strong { font-size: clamp(1.15rem, 2vw, 1.45rem); }
.best-product-routes i {
	position: absolute;
	right: 1.25rem;
	bottom: 1rem;
	color: var(--wp--preset--color--primary);
	font-size: 1.2rem;
	font-style: normal;
}

.best-products-method {
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.7fr) !important;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
	margin-top: clamp(3rem, 7vw, 5.5rem);
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
}
.best-products-method__intro { align-items: flex-start; gap: .75rem; }
.best-products-method__intro :where(h2, p) { margin: 0; }
.best-products-method__intro a {
	color: var(--wp--preset--color--primary);
	font-size: .7rem;
	font-weight: 850;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.best-products-method__points {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1px;
	background: var(--wp--preset--color--border);
}
.best-products-method__points > .wp-block-group {
	align-items: flex-start;
	gap: .45rem;
	min-height: 126px;
	padding: 1.15rem;
	background: var(--wp--preset--color--background-elevated);
}
.best-products-method__points :where(h3, p) { margin: 0; }

@media (max-width: 900px) {
	.best-guides-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 782px) {
	.best-guides-grid > .wp-block-post:only-child .best-guide-card { grid-template-columns: 1fr; min-height: 0; }
	.best-guides-grid > .wp-block-post:only-child .best-guide-card__media,
	.best-guides-grid > .wp-block-post:only-child .best-guide-card__media img {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10 !important;
	}
	.best-guides-grid > .wp-block-post:only-child .best-guide-card__body { padding: 1.25rem; }
	.best-guides-grid > .wp-block-post:only-child .best-guide-card__body h2 { font-size: clamp(1.5rem, 5vw, 2.2rem) !important; }
	.best-products-method { grid-template-columns: 1fr !important; }
}

@media (max-width: 600px) {
	.best-products-nav {
		flex-wrap: nowrap !important;
		max-width: 100%;
		margin-inline: 0;
		padding-inline: 0;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.best-products-nav p { flex: 0 0 auto; }
	.best-guides-grid { grid-template-columns: 1fr !important; }
	.best-product-routes { grid-template-columns: 1fr; }
	.best-product-routes a { min-height: 105px; }
	.best-products-method__points { grid-template-columns: 1fr !important; }
	.best-products-method__points > .wp-block-group { min-height: 0; }
}

/* ---- Admin-switchable single article compositions -------------------- */
body.single-layout-style-magazine .single-layout--image-first {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	column-gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	padding-top: clamp(1rem, 2.5vw, 2rem);
}
body.single-layout-style-magazine .single__header {
	grid-column: 2;
	grid-row: 1;
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.25rem;
	align-items: start;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}
body.single-layout-style-magazine .single__header h1 { max-width: none; }
body.single-layout-style-magazine .single__header .wp-block-post-excerpt { max-width: none; }
body.single-layout-style-magazine .single__media {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	max-width: none;
	margin: 0;
	aspect-ratio: 4 / 3;
}
body.single-layout-style-magazine .single__media figure,
body.single-layout-style-magazine .single__media img { aspect-ratio: 4 / 3 !important; object-fit: cover; }
body.single-layout-style-magazine .single__content-grid,
body.single-layout-style-magazine .single__navigation { grid-column: 1 / -1; width: 100%; }
body.single-layout-style-magazine .single__content-grid { margin-top: clamp(2.5rem, 5vw, 4rem); }

/* Editorial Wide: a compact news-style masthead followed by restrained media. */
body.single-layout-style-editorial .single__header {
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0;
	align-items: start;
	padding-block: clamp(1rem, 2.2vw, 1.75rem) clamp(1.15rem, 2vw, 1.5rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}
body.single-layout-style-editorial .single__headline,
body.single-layout-style-editorial .single__dek { width: 100%; }
body.single-layout-style-editorial .single__headline .wp-block-post-terms { margin-bottom: .15rem; }
body.single-layout-style-editorial .single__header h1 {
	max-width: none;
}
body.single-layout-style-editorial .single__header .wp-block-post-excerpt {
	max-width: none;
	margin-top: clamp(.8rem, 1.5vw, 1.15rem);
	font-size: clamp(1.05rem, 1.45vw, 1.22rem) !important;
	line-height: 1.5;
}
body.single-layout-style-editorial .single__byline {
	margin-top: .9rem;
	gap: .75rem 1rem;
}
body.single-layout-style-editorial .single__media {
	width: min(100%, 70rem);
	margin-top: clamp(1.25rem, 2.5vw, 2rem);
	aspect-ratio: 5 / 2;
}
body.single-layout-style-editorial .single__media figure,
body.single-layout-style-editorial .single__media img { aspect-ratio: 5 / 2 !important; }
body.single-layout-style-editorial .single__content-grid { margin-top: clamp(2rem, 4vw, 3.5rem); }

body.postid-37.single-layout-style-editorial .single__dek {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 0 !important;
}
body.postid-37.single-layout-style-editorial .single__header .wp-block-post-excerpt {
	width: 100%;
	max-width: none;
}
body.postid-37.single-layout-style-editorial .single__byline {
	width: 100%;
	justify-content: flex-start;
	margin-top: .8rem;
}

/*
 * Reading Focus narrows the article to a single measure. The wrapper itself is
 * constrained (it is an alignfull group, so it would otherwise escape `main` and
 * centre its children against a different box), and everything that reads as
 * part of the article then simply fills that measure: breadcrumbs above,
 * comments below. Previously only the article body was narrowed, so the
 * breadcrumbs and comments spanned the full wide width and the page looked
 * misaligned against the category templates.
 */
body.single-layout-style-reading .single-layout {
	width: min(100%, 54rem);
	max-width: 54rem;
	margin-inline: auto;
	/* It is no longer full-bleed, so the root padding alignfull adds must go. */
	padding-inline: 0;
}

body.single-layout-style-reading :is(
	.site-breadcrumbs,
	.post-comments
) {
	/*
	 * The breadcrumb sits outside `main`, so its inset is expressed with the
	 * root padding variables to land on exactly the same edge as the article
	 * column below it at every viewport.
	 */
	width: min(
		calc(100% - var(--wp--style--root--padding-left, 1rem) - var(--wp--style--root--padding-right, 1rem)),
		54rem
	);
	max-width: 54rem;
	margin-inline: auto;
}

body.single-layout-style-reading :is(
	.single__header,
	.single__media,
	.single__content-grid,
	.single__navigation
) {
	width: 100%;
	max-width: none;
}
body.single-layout-style-reading .single__header {
	grid-template-columns: 1fr !important;
	gap: 1rem;
	align-items: start;
	padding-block: clamp(1.25rem, 3vw, 2.5rem) 1.25rem;
}
body.single-layout-style-reading .single__header h1 { max-width: none; }
body.single-layout-style-reading .single__media { aspect-ratio: 16 / 9; }
body.single-layout-style-reading .single__media figure,
body.single-layout-style-reading .single__media img { aspect-ratio: 16 / 9 !important; }
body.single-layout-style-reading .single__content-grid { flex-direction: column-reverse; gap: 1.5rem; margin-top: 2rem; }
body.single-layout-style-reading .single__body,
body.single-layout-style-reading .single__sidebar { width: 100%; flex-basis: auto !important; }
body.single-layout-style-reading .single__rating { position: static; }

@media (max-width: 782px) {
	.editorial-list-masthead { grid-template-columns: 1fr !important; gap: .8rem; }
	.editorial-list-masthead p { padding-left: 0; border-left: 0; }
	.story-archive-masthead { grid-template-columns: 1fr !important; gap: .8rem; }
	.story-archive-masthead > p { padding-left: 0; border-left: 0; }
	body.single-layout-style-magazine .single-layout--image-first { display: block; padding-top: .75rem; }
	body.single-layout-style-magazine .single__header { margin-inline: auto; padding-bottom: 1rem; }
	body.single-layout-style-magazine .single__media { margin-inline: auto; aspect-ratio: 16 / 11; }
	body.single-layout-style-magazine .single__media figure,
	body.single-layout-style-magazine .single__media img { aspect-ratio: 16 / 11 !important; }
	body.single-layout-style-editorial .single__header { padding-block: .9rem 1rem; }
	body.single-layout-style-editorial .single__header h1 { max-width: none; }
	body.single-layout-style-editorial .single__media,
	body.single-layout-style-editorial .single__media figure,
	body.single-layout-style-editorial .single__media img { aspect-ratio: 16 / 10 !important; }
	body.single-layout-style-editorial .single__body,
	body.single-layout-style-editorial .single__sidebar { flex-basis: auto !important; }
	.reviews-list-row { grid-template-columns: 124px minmax(0, 1fr) 80px !important; gap: 1rem; }
	.reviews-list-row .wp-block-post-featured-image,
	.reviews-list-row:not(:has(.wp-block-post-featured-image))::before { width: 124px; height: 82px; }
	.reviews-list-row .wp-block-post-featured-image img { width: 100%; height: 100%; }
}

@media (max-width: 600px) {
	.editorial-list-masthead { padding-block: .85rem 1rem; }
	.story-archive-masthead { padding-block: .85rem 1rem; }
	.story-archive-nav {
		flex-wrap: nowrap !important;
		max-width: 100%;
		margin-inline: 0;
		padding-inline: 0;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.story-archive-nav p { flex: 0 0 auto; }
	.story-list-row {
		grid-template-columns: clamp(88px, 28vw, 104px) minmax(0, 1fr) !important;
		gap: .75rem;
		padding-block: .8rem;
	}
	.story-list-row__body .wp-block-post-excerpt { display: none; }
	.editorial-list-row { grid-template-columns: 92px minmax(0, 1fr) !important; gap: .75rem; padding-block: .8rem; }
	.editorial-list-row .wp-block-post-featured-image,
	.editorial-list-row:not(:has(.wp-block-post-featured-image))::before { width: 92px; height: 66px; }
	.editorial-list-row .wp-block-post-featured-image img { width: 100%; height: 100%; }
	.editorial-list-row__body .wp-block-post-excerpt { display: none; }
	body.single-layout-style-editorial .single__header .wp-block-post-excerpt {
		margin-top: .7rem;
		font-size: 1rem !important;
	}
	body.single-layout-style-editorial .single__byline { margin-top: .75rem; }
	body.single-layout-style-editorial .single__media,
	body.single-layout-style-editorial .single__media figure,
	body.single-layout-style-editorial .single__media img { aspect-ratio: 16 / 11 !important; }
	.reference-article-body > p { font-size: 1rem; line-height: 1.68; }
	.reviews-list-masthead { padding-block: .85rem 1rem; }
	.reviews-list-masthead,
	.reviews-list-query {
		box-sizing: border-box;
		width: 100%;
		margin-inline: 0;
		padding-inline: 1rem;
	}
	.reviews-topic-nav {
		box-sizing: border-box;
		width: 100%;
		margin-inline: 0;
		padding-inline: 1rem;
		overflow-x: auto;
		flex-wrap: nowrap !important;
		scrollbar-width: none;
	}
	.reviews-topic-nav p { flex: 0 0 auto; }
	.reviews-list-row { grid-template-columns: 92px minmax(0, 1fr) !important; gap: .75rem; padding-block: .85rem; }
	.reviews-list-row .wp-block-post-featured-image,
	.reviews-list-row:not(:has(.wp-block-post-featured-image))::before { width: 92px; height: 66px; }
	.reviews-list-row .wp-block-post-featured-image img { width: 100%; height: 100%; }
	.reviews-list-row__body .wp-block-post-excerpt { display: none; }
	.reviews-list-row__score { display: none !important; }
}

/* ---- Content sizing contract ----------------------------------------
 * Layout containers own the measure. Content elements consume the measure
 * they receive and never establish a fixed or character-based width.
 */
.wp-site-blocks :where(h1, h2, h3, h4, h5, h6, p) {
	width: auto !important;
	max-width: none !important;
}

.wp-site-blocks img {
	max-width: 100% !important;
}

.wp-site-blocks table {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.site-header__brand .wp-block-site-logo {
	flex: 0 0 auto;
	width: auto;
}

.site-header__brand .custom-logo {
	width: auto;
	height: 36px;
	max-width: none;
	max-height: 36px;
}

@media (max-width: 600px) {
	.site-header__brand .wp-block-site-logo {
		flex-basis: auto;
		width: auto;
	}
	.site-header__brand .custom-logo { height: 32px; max-height: 32px; }
}

/* ======================================================================
   Publication homepage
   A dense lead + briefing model with clear routes and trust signals.
   ====================================================================== */
.home--publication {
	padding-bottom: clamp(3rem, 7vw, 6rem);
}

.home--publication :where(h1, h2, h3, p) { margin-block: 0; }

.home-lead-grid {
	grid-template-columns: minmax(0, 2.05fr) minmax(300px, .95fr) !important;
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: stretch;
	margin-top: clamp(.75rem, 2vw, 1.25rem);
}

.home-lead-query,
.home-lead-query .wp-block-post-template,
.home-lead-query .wp-block-post { height: 100%; }

.home-lead-story {
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
	gap: 0;
	height: 100%;
	min-height: 382px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
}

.home-lead-story__media {
	height: 100%;
	min-height: 380px;
	margin: 0;
	overflow: hidden;
	background: #0f1113;
}

.home-lead-story__media a,
.home-lead-story__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.home-lead-story__media img {
	object-fit: cover;
	transition: transform .35s ease;
}

.home-lead-story:hover .home-lead-story__media img { transform: scale(1.018); }

.home-lead-story__copy {
	box-sizing: border-box;
	min-width: 0;
	padding: clamp(1.15rem, 2.5vw, 2rem);
}

.home-lead-story__text { gap: .7rem; }
.home-lead-story__text .wp-block-post-terms,
.home-briefing-row__body .wp-block-post-terms,
.home-latest-card__body .wp-block-post-terms {
	color: var(--wp--preset--color--primary);
	font-size: .66rem;
	font-weight: 500;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.home-lead-story h1 {
	font-size: clamp(2rem, 2.6vw, 2.45rem) !important;
	line-height: 1.01;
	letter-spacing: -.045em;
}

.home-lead-story .wp-block-post-excerpt {
	color: var(--wp--preset--color--foreground-muted);
	font-size: .92rem;
	line-height: 1.55;
}

.home-lead-story__meta {
	gap: 1rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--foreground-muted);
	font-size: .72rem;
}

.home-lead-story__meta > .wp-block-group { gap: .35rem; }
.home-lead-story__meta > .wp-block-group > * + *::before { content: "·"; margin-right: .35rem; }
.home-lead-story__meta .wp-block-affiliate-rating__badge { padding: .48rem .65rem; box-shadow: none; }
.home-lead-story__meta .wp-block-affiliate-rating__value { font-size: 1.25rem; }

.home-briefing {
	padding-inline: clamp(.9rem, 2vw, 1.25rem);
	border-top: 1px solid var(--wp--preset--color--border);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.home-briefing__header {
	padding-block: .7rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.home-briefing__header h2 { font-size: 1.35rem !important; }
.home-briefing-query .wp-block-post-template { gap: 0; }

.home-briefing-row {
	grid-template-columns: minmax(0, 1fr) 104px !important;
	gap: .85rem;
	align-items: center;
	padding-block: .72rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.home-briefing-query .wp-block-post:last-child .home-briefing-row { border-bottom: 0; }
.home-briefing-row__body { gap: .2rem; min-width: 0; }
.home-briefing-row__body h3 { font-size: .94rem !important; line-height: 1.22; }
.home-briefing-row__body .wp-block-post-date { color: var(--wp--preset--color--foreground-muted); font-size: .68rem !important; }
.home-briefing-row .wp-block-post-featured-image {
	width: 104px;
	height: 70px;
	margin: 0;
	overflow: hidden;
	border-radius: 7px;
	background: var(--wp--preset--color--background-elevated);
}

.home-briefing-row .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-product-routes,
.home-intent-grid {
	width: min(calc(100% - clamp(2rem, 6vw, 4rem)), var(--wp--style--global--wide-size));
	max-width: var(--wp--style--global--wide-size) !important;
	margin-inline: auto;
}

.home-product-routes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .65rem;
	margin-top: clamp(1rem, 2vw, 1.5rem);
}

.home-product-route {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "label arrow" "count arrow";
	gap: .05rem .75rem;
	align-items: center;
	min-height: 76px;
	padding: .85rem 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 9px;
	background: var(--wp--preset--color--background-elevated);
	transition: border-color .2s ease, transform .2s ease;
}

.home-product-route:hover { transform: translateY(-2px); border-color: var(--wp--preset--color--primary); }
.home-product-route__label { grid-area: label; font-size: 1rem; font-weight: 800; }
.home-product-route__count { grid-area: count; color: var(--wp--preset--color--foreground-muted); font-size: .7rem; }
.home-product-route__arrow { grid-area: arrow; color: var(--wp--preset--color--primary); font-size: 1.2rem; }

.home-section-heading {
	margin-top: clamp(2.5rem, 6vw, 5rem);
	padding-bottom: .9rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.home-section-heading > .wp-block-group {
	flex-direction: column;
	align-items: flex-start;
	gap: .25rem;
}
.home-section-heading__link,
.home-proof__link {
	color: var(--wp--preset--color--primary);
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.home-latest-query { margin-top: 1rem; }
.home-latest-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 0 clamp(1.5rem, 4vw, 3rem);
}

.home-latest-card {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	min-width: 0;
	min-height: 132px;
	padding-block: 1rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.home-latest-card:has(.wp-block-post-featured-image) {
	grid-template-columns: 156px minmax(0, 1fr);
}

.home-latest-card .wp-block-post-featured-image {
	width: 156px;
	height: 104px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 9px;
	background: var(--wp--preset--color--background-elevated);
}

.home-latest-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.home-latest-card:hover .wp-block-post-featured-image img { transform: scale(1.02); }
.home-latest-card__body { gap: .35rem; }
.home-latest-card__body h3 { font-size: clamp(1.05rem, 1.6vw, 1.28rem) !important; line-height: 1.18; }
.home-latest-card__body .wp-block-post-excerpt { color: var(--wp--preset--color--foreground-muted); font-size: .82rem; line-height: 1.5; }
.home-latest-card__body .wp-block-post-date { color: var(--wp--preset--color--foreground-muted); font-size: .7rem !important; }

.home-intent-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: clamp(3rem, 7vw, 6rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
	overflow: hidden;
	background: var(--wp--preset--color--border);
}

.home-intent-grid > a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .55rem;
	min-height: 190px;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--wp--preset--color--background-elevated);
	transition: background-color .2s ease;
}

.home-intent-grid > a:hover { background: #191c1f; }
.home-intent-grid__eyebrow { color: var(--wp--preset--color--primary); font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.home-intent-grid strong { font-size: clamp(1.25rem, 2.2vw, 1.7rem); line-height: 1.12; }
.home-intent-grid strong + span { color: var(--wp--preset--color--foreground-muted); font-size: .85rem; line-height: 1.5; }
.home-intent-grid i { position: absolute; right: 1.5rem; bottom: 1.25rem; color: var(--wp--preset--color--primary); font-size: 1.3rem; font-style: normal; }

.home-proof {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.95fr) !important;
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
	margin-top: clamp(3rem, 7vw, 6rem);
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--affiliate--radius);
}

.home-proof__intro { gap: .8rem; }
.home-proof__intro h2 { font-size: clamp(1.8rem, 3.5vw, 2.75rem) !important; line-height: 1.02; }
.home-proof__intro p { font-size: .9rem; line-height: 1.55; }
.home-proof__principles { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 1px; background: var(--wp--preset--color--border); }
.home-proof__principles > .wp-block-group { gap: .55rem; min-height: 128px; padding: 1.2rem; background: var(--wp--preset--color--background-elevated); }
.home-proof__principles h3::before {
	content: "✓";
	display: inline-grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	margin-right: .45rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #000;
	font-size: .7rem;
}

.home--publication .newsletter-cta { margin-top: clamp(2rem, 5vw, 4rem); }

@media (max-width: 960px) {
	.home-lead-grid { grid-template-columns: 1fr !important; }
	.home-briefing-query .wp-block-post-template { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
	.home-latest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.home-proof { grid-template-columns: 1fr !important; }
}

@media (max-width: 680px) {
	.home-lead-grid { margin-top: .75rem; }
	.home-lead-story { grid-template-columns: 1fr !important; min-height: 0; }
	.home-lead-story__media { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
	.home-lead-story__copy { padding: 1.25rem; }
	.home-lead-story h1 { font-size: clamp(1.85rem, 8vw, 2.3rem) !important; }
	.home-briefing-query .wp-block-post-template { grid-template-columns: 1fr; }
	.home-product-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.home-section-heading { align-items: flex-end !important; }
	.home-latest-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 0; }
	.home-latest-card {
		gap: .85rem;
		min-height: 0;
		padding-block: .9rem;
	}
	.home-latest-card:has(.wp-block-post-featured-image) { grid-template-columns: 112px minmax(0, 1fr); }
	.home-latest-card .wp-block-post-featured-image { width: 112px; height: 78px; }
	.home-latest-card__body .wp-block-post-excerpt { display: none; }
	.home-latest-card__body h3 { font-size: 1rem !important; }
	.home-intent-grid { grid-template-columns: 1fr; }
	.home-intent-grid > a { min-height: 150px; }
	.home-proof__principles { grid-template-columns: 1fr !important; }
	.home-proof__principles > .wp-block-group { min-height: 0; }
}

@media (max-width: 400px) {
	.home-product-route { min-height: 70px; padding: .75rem; }
	.home-product-route__label { font-size: .9rem; }
	.home-lead-story__meta { align-items: flex-start !important; flex-direction: column; }
}

/* ======================================================================
   Unified site brand
   One focusable home link containing the icon and readable site name.
   ====================================================================== */
.site-header {
	margin-bottom: .45rem;
	padding-block: .35rem;
}

.site-header__inner { min-height: 58px; }

.site-brand {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: .7rem;
	min-width: 0;
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
}

.site-brand:hover .site-brand__name { color: var(--wp--preset--color--primary); }
.site-brand:focus-visible {
	border-radius: 7px;
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 4px;
}

.site-brand__mark {
	display: grid;
	flex: 0 0 56px;
	place-items: center;
	width: 56px;
	height: 56px;
}

.site-brand__icon {
	display: block;
	width: 56px !important;
	height: 56px !important;
	max-width: none !important;
	object-fit: contain;
}

.site-brand__fallback-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	width: 100%;
	height: 100%;
	color: var(--wp--preset--color--primary);
}

.site-brand__fallback-mark > span {
	display: block;
	width: 4px;
	border-radius: 999px;
	background: currentColor;
}

.site-brand__fallback-mark > span:nth-child(1),
.site-brand__fallback-mark > span:nth-child(5) { height: 42%; }
.site-brand__fallback-mark > span:nth-child(2),
.site-brand__fallback-mark > span:nth-child(4) { height: 68%; }
.site-brand__fallback-mark > span:nth-child(3) { height: 88%; }

.site-brand__name {
	font-size: clamp(1.3rem, 1.65vw, 1.5rem);
	font-weight: 850;
	line-height: 1;
	letter-spacing: -.035em;
	white-space: nowrap;
	transition: color .2s ease;
}

@media (max-width: 782px) {
	.site-header { margin-bottom: .3rem; }
	.site-header__inner { min-height: 54px; }
	.site-brand { gap: .6rem; }
	.site-brand__mark { flex-basis: 52px; width: 52px; height: 52px; }
	.site-brand__icon { width: 52px !important; height: 52px !important; }
	.site-brand__name { font-size: 1.25rem; }
}

@media (max-width: 430px) {
	.site-brand { gap: .5rem; }
	.site-brand__mark { flex-basis: 50px; width: 50px; height: 50px; }
	.site-brand__icon { width: 50px !important; height: 50px !important; }
	.site-brand__name { font-size: 1.08rem; }
}

/* ======================================================================
   Publication typography and component rhythm
   Shared rules keep the header and every archive family visually aligned.
   ====================================================================== */
.site-brand__name {
	font-size: clamp(1.5rem, 2vw, 1.75rem);
	font-weight: 800;
	letter-spacing: -.015em;
}

.site-header__nav {
	font-size: .9375rem;
	font-weight: 650;
	letter-spacing: .005em;
}

.site-header__nav .wp-block-navigation__submenu-container a {
	font-size: .9375rem;
	font-weight: 550;
	letter-spacing: .005em;
}

/*
 * Page titles: one size everywhere.
 *
 * The size itself is NOT set here. Every page-title block already declares
 * the `xx-large` preset, so theme.json stays the single source of truth and
 * the fluid curve is monotonic. This rule only harmonises the cosmetics that
 * previously differed per template (leading, tracking, top margin).
 *
 * Post-card and hero-card titles are intentionally excluded: they are list
 * items, not page titles, and keep their own smaller scale.
 */
:is(
	.single__header,
	.page-masthead,
	.page-hero,
	.compact-archive-hero,
	.versus-list-masthead,
	.editorial-list-masthead,
	.story-archive-masthead,
	.best-products-masthead,
	.archive-hero
) h1 {
	margin-block: 0;
	line-height: 1.06;
	letter-spacing: -.03em;
	text-wrap: balance;
}

.compact-archive-hero > .wp-block-term-description,
.compact-archive-hero > .wp-block-term-description p,
.versus-list-masthead > p,
.editorial-list-masthead > p,
.story-archive-masthead > p,
.best-products-masthead > p {
	font-size: 1.0625rem !important;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .005em;
}

.archive-topic-nav a,
.versus-filters a {
	font-size: .9rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: .01em;
}

.versus-filters small { font-weight: 500; }

.compact-section-heading p {
	font-size: .875rem !important;
	font-weight: 400;
	letter-spacing: .01em;
}

/* Category metadata is supporting information, not a display headline. */
.wp-site-blocks .wp-block-post-terms {
	font-weight: 500;
	letter-spacing: .075em;
}

/* A calmer, better-spaced footer with equal hierarchy across its columns. */
.site-footer {
	padding-top: clamp(3rem, 5vw, 4.5rem) !important;
	padding-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
}

.site-footer__top {
	grid-template-columns: minmax(0, 1.2fr) minmax(10rem, .7fr) minmax(0, 1fr) !important;
	align-items: start;
	gap: clamp(2rem, 7vw, 7rem);
}

.site-footer__brand,
.site-footer__explore,
.site-footer__contact {
	align-items: flex-start;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: .8rem;
}

.site-footer__brand > p:first-child,
.site-footer__contact > p,
.site-footer__legal > p { margin: 0; }

.site-footer__brand .site-brand__name {
	font-size: 1.625rem;
	letter-spacing: -.015em;
}

.site-footer__brand > p:last-child,
.site-footer__contact > p:not(:last-child) {
	font-size: .875rem !important;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .005em;
}

.site-footer__section-title {
	margin: 0;
	font-size: 1rem !important;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .015em;
}

.site-footer__nav .wp-block-navigation__container {
	align-items: flex-start;
	width: 100%;
	gap: .6rem;
}

.site-footer__nav { align-self: stretch; width: 100%; }

.site-footer__nav a,
.site-footer__contact > p:last-child a {
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: .005em;
}

.site-footer__contact > p:last-child a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: var(--wp--preset--color--foreground) !important;
}

.site-footer__legal {
	gap: .75rem 2rem;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.25rem;
}

.site-footer__legal p {
	font-size: .8125rem !important;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .005em;
}

@media (max-width: 900px) {
	.site-footer__top { grid-template-columns: 1fr 1fr !important; }
	.site-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 960px) {
	.site-header__nav {
		order: initial;
		flex: 0 0 auto;
		margin-left: auto;
	}
	.site-header__actions { margin-left: 0; }
	.site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.site-header__nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}
}

@media (max-width: 782px) {
		.site-brand__name { font-size: 1.35rem; }
}

@media (max-width: 600px) {
	.site-footer {
		padding-inline: 1rem;
		padding-top: 2.75rem !important;
		padding-bottom: 1.5rem !important;
	}
	.site-footer__top { grid-template-columns: 1fr !important; gap: 2rem; }
	.site-footer__brand { grid-column: auto; }
	.site-footer__legal { align-items: flex-start !important; flex-direction: column; }
	.archive-topic-nav a { min-height: 40px; padding: .5rem .85rem; }
}

@media (max-width: 430px) {
	.site-brand__name { font-size: 1.15rem; letter-spacing: -.01em; }
}

/* ==========================================================================
   Comments (parts/comments.html)
   ========================================================================== */
.post-comments {
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--wp--preset--color--border);
}

.post-comments .wp-block-comments-title {
	margin-bottom: 1.5rem;
}

.post-comments .comment-body {
	gap: .6rem;
	padding-block: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.post-comments .comment-meta {
	gap: .75rem;
}

.post-comments .wp-block-comment-author-name {
	margin: 0;
	font-weight: 700;
}

.post-comments .wp-block-comment-date,
.post-comments .wp-block-comment-edit-link,
.post-comments .wp-block-comment-reply-link {
	color: var(--wp--preset--color--foreground-muted);
}

.post-comments .wp-block-comment-content {
	margin: 0;
}

.post-comments .wp-block-comment-content p:last-child {
	margin-bottom: 0;
}

/* The reply list keeps a visible thread indent. */
.post-comments .wp-block-comment-template ol {
	margin-left: 0;
	padding-left: clamp(1rem, 3vw, 2.5rem);
	border-left: 2px solid var(--wp--preset--color--border);
	list-style: none;
}

/* Form fields inherit browser defaults otherwise, which reads as unstyled
   white boxes against the dark surface. */
.comment-respond {
	margin-top: 2rem;
}

.comment-respond .comment-reply-title {
	margin-bottom: .5rem;
}

.comment-respond .comment-notes,
.comment-respond .comment-form-cookies-consent label {
	color: var(--wp--preset--color--foreground-muted);
	font-size: .875rem;
}

.comment-respond label {
	display: block;
	margin-bottom: .35rem;
	font-size: .875rem;
	font-weight: 600;
}

.comment-respond :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%;
	max-width: 100%;
	padding: .7rem .85rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	background: var(--wp--preset--color--background-elevated);
	color: var(--wp--preset--color--foreground);
	font: inherit;
	font-size: .9375rem;
}

.comment-respond textarea {
	min-height: 8rem;
	resize: vertical;
}

.comment-respond :where(input, textarea)::placeholder {
	color: var(--wp--preset--color--foreground-muted);
}

.comment-respond :where(input[type="text"], input[type="email"], input[type="url"], textarea):focus-visible {
	border-color: var(--wp--preset--color--primary);
}

.comment-respond .comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.comment-respond .comment-form-cookies-consent label {
	margin: 0;
	font-weight: 400;
}

.comment-respond p {
	margin-bottom: 1rem;
}
