/* ============================================================================
   Broker Review templates — standalone CSS (no Tailwind rebuild needed).
   Loaded only on single-broker_review, the broker_review archive, and
   trust_status taxonomy pages. Verdict colour is driven by --verdict, set from
   [data-verdict] on the wrapper and inline on cards.
   ========================================================================== */

:root {
	--verdict-trusted: #0F9D58;
	--verdict-neutral: #D97706;
	--verdict-scam:    #C0392B;
	--verdict-under:   #2563EB;

	--rv-navy:   #0F2540;
	--rv-info:   #1C5DBF;
	--rv-green:  #0F9D58;
	--rv-orange: #D97706;
	--rv-red:    #C0392B;
	--rv-muted:  #5B6B7F;
	--rv-light:  #EEF2F8;
	--rv-border: #DDE4EE;

	--verdict: var(--verdict-under);
}

[data-verdict="trusted"]      { --verdict: var(--verdict-trusted); }
[data-verdict="neutral"]      { --verdict: var(--verdict-neutral); }
[data-verdict="scam-warning"] { --verdict: var(--verdict-scam); }
[data-verdict="under-review"] { --verdict: var(--verdict-under); }

/* ── Layout shell ─────────────────────────────────────────────────────────── */
.br-review {
	background: #f9fafb;
	color: #374151;
	padding: 2rem 0 4rem;
}
.br-container {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 1.5rem;
}
.br-review h1, .br-review h2, .br-review h3 { color: var(--rv-navy); }

.br-breadcrumb {
	font-size: .8125rem;
	color: var(--rv-muted);
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}
.br-breadcrumb a { color: var(--rv-muted); text-decoration: none; }
.br-breadcrumb a:hover { color: var(--verdict); }

.br-header { margin-bottom: 2rem; }
.br-header__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	margin-bottom: .85rem;
}
.br-updated { font-size: .8125rem; color: var(--rv-muted); margin: 0; }
.br-title { font-size: 2.125rem; font-weight: 800; line-height: 1.15; margin: 0; }

.br-answer {
	margin-top: 1.25rem;
	padding: 1.15rem 1.35rem;
	background: var(--rv-light);
	background: color-mix(in srgb, var(--verdict) 7%, #fff);
	border-left: 4px solid var(--verdict);
	border-radius: 0 .6rem .6rem 0;
	font-size: 1rem;
}
.br-answer > *:last-child { margin-bottom: 0; }

/* ── Written by / Verified by badge strip (light, matches .br-disclosure) ── */
.br-authors { margin-top: 1.25rem; display: flex; align-items: center; gap: 20px; background: transparent; border: 1px solid var(--rv-border); border-radius: 12px; padding: 16px 20px; }
.br-authors__badge { display: flex; align-items: center; gap: 12px; }
.br-authors__divider { align-self: stretch; width: 1px; background: var(--rv-border); flex-shrink: 0; }
.br-authors__avatar { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 9999px; box-shadow: 0 0 0 2px #F59E0B; overflow: hidden; }
.br-authors__avatar-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.br-authors__avatar-initials { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #F59E0B; color: #0A1628; font-weight: 700; font-size: 14px; }
.br-authors__label { margin: 0; color: #B45309; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; }
.br-authors__name { margin: 2px 0 0; font-size: 15px; font-weight: 600; }
.br-authors__name a { color: #0A1628; text-decoration: none; }
.br-authors__name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.br-authors__role { margin: 1px 0 0; color: #6B7280; font-size: 11px; }
@media (max-width: 639px) {
	.br-authors { flex-direction: column; align-items: stretch; gap: 14px; }
	.br-authors__divider { width: 100%; height: 1px; }
}

/* ── Verdict pill ─────────────────────────────────────────────────────────── */
.br-verdict-pill {
	display: inline-flex;
	align-items: center;
	padding: .3em .8em;
	border-radius: 999px;
	font-size: .6875rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #fff;
	background: var(--verdict);
	white-space: nowrap;
}
.br-verdict-pill--lg { font-size: .8125rem; padding: .4em 1em; border-radius: .4rem; }

/* ── Two-column layout ───────────────────────────────────────────────────── */
/* Content on the left, sidebar on the right — placement is by named area so it
   holds regardless of DOM order (the <aside> is first in source for a11y). */
.br-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	grid-template-areas: "main side";
	gap: 2.5rem;
	align-items: start;
}
.br-main { grid-area: main; }
.br-side {
	grid-area: side;
	position: sticky;
	top: 5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.br-side-card {
	background: #fff;
	border: 1px solid var(--rv-border);
	border-radius: .75rem;
	padding: 1.25rem;
}
.br-eyebrow {
	font-size: .6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--rv-info);
	margin: 0 0 .75rem;
}
.br-eyebrow--mt { margin-top: 1.5rem; }

/* Identity card */
.br-identity { display: flex; gap: .85rem; align-items: center; }
.br-identity__logo {
	width: 48px; height: 48px; flex-shrink: 0;
	border-radius: .5rem;
	background: var(--rv-light);
	border: 1px solid var(--rv-border);
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
	font-weight: 800; color: var(--rv-navy);
}
.br-identity__logo img { width: 100%; height: 100%; object-fit: cover; }
.br-identity__name { font-weight: 700; color: var(--rv-navy); margin: 0; }
.br-identity__domain { font-size: .8125rem; color: var(--rv-muted); margin: .15rem 0 0; }

/* Score panel — radial gauge, used for both the composite score and the
   "N / 6 categories reviewed" state. Ring fill = --pct (0–100). */
.br-score-panel { text-align: center; }
.br-gauge {
	--track: var(--rv-light);
	--thickness: 12px;
	width: 132px;
	height: 132px;
	margin: .25rem auto .85rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background:
		radial-gradient(closest-side, #fff calc(100% - var(--thickness) - 1px), transparent calc(100% - var(--thickness))),
		conic-gradient(var(--verdict) calc(var(--pct, 0) * 1%), var(--track) 0);
}
.br-gauge__num {
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1;
	color: var(--verdict);
	text-align: center;
}
.br-gauge__unit {
	display: block;
	font-size: .75rem;
	font-weight: 600;
	color: var(--rv-muted);
	margin-top: .25rem;
}
.br-score-panel .br-verdict-pill { margin-top: .1rem; }
.br-score-panel__line { font-size: .75rem; color: var(--rv-muted); margin: .65rem 0 0; }

/* Quick Verdict */
.br-quick-verdict { margin: 0; }
.br-quick-verdict > div {
	display: flex; justify-content: space-between; gap: 1rem;
	padding: .55rem 0;
	border-bottom: 1px solid var(--rv-light);
	font-size: .8125rem;
}
.br-quick-verdict > div:last-child { border-bottom: 0; padding-bottom: 0; }
.br-quick-verdict dt { color: var(--rv-muted); }
.br-quick-verdict dd { margin: 0; font-weight: 700; color: var(--rv-navy); text-align: right; }

/* On this page */
.br-onthispage ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.br-onthispage a { font-size: .8125rem; color: var(--rv-navy); text-decoration: none; }
.br-onthispage a:hover { color: var(--verdict); }

/* CTA */
.br-cta { text-align: center; }
.br-cta__btn {
	display: block;
	background: var(--verdict);
	color: #fff;
	font-weight: 700;
	font-size: .875rem;
	padding: .7rem 1rem;
	border-radius: .55rem;
	text-decoration: none;
}
.br-cta__btn--ghost { background: transparent; color: var(--verdict); border: 1.5px solid var(--verdict); }
.br-cta__btn--report { background: var(--rv-red); }
.br-cta__disclosure, .br-cta__note { font-size: .6875rem; color: var(--rv-muted); margin: .6rem 0 0; }
.br-risk { font-size: .6875rem; color: var(--rv-muted); padding: 0 .25rem; }
.br-risk a { color: var(--rv-muted); text-decoration: underline; text-underline-offset: 2px; }
.br-risk a:hover { color: var(--rv-navy); }

/* ── Main sections ───────────────────────────────────────────────────────── */
.br-main { min-width: 0; }
.br-section {
	background: #fff;
	border: 1px solid var(--rv-border);
	border-radius: .75rem;
	padding: 1.75rem;
	margin-bottom: 1.25rem;
}
.br-section > h2 {
	font-size: 1.35rem;
	font-weight: 800;
	margin: 0 0 1rem;
}
.br-lead { font-size: 1rem; color: #374151; margin: 0 0 1rem; }
.br-note { font-size: .8125rem; color: var(--rv-muted); font-style: italic; margin: .85rem 0 0; }

/* Category bars */
.br-cat-list { display: flex; flex-direction: column; gap: .55rem; margin-top: 1.25rem; }
.br-cat-row {
	display: grid;
	grid-template-columns: minmax(140px, 1.4fr) 3fr auto auto;
	align-items: center;
	gap: .85rem;
	font-size: .8125rem;
}
.br-cat-row__label { font-weight: 600; color: #33465e; }
.br-cat-track { height: 8px; border-radius: 999px; background: var(--rv-light); overflow: hidden; }
.br-cat-fill { display: block; height: 100%; border-radius: 999px; background: var(--rv-muted); }
.br-cat-fill.is-green  { background: var(--rv-green); }
.br-cat-fill.is-info   { background: var(--rv-info); }
.br-cat-fill.is-orange { background: var(--rv-orange); }
.br-cat-fill.is-red    { background: var(--rv-red); }
.br-cat-row__value { font-weight: 700; color: var(--rv-navy); white-space: nowrap; }
.br-cat-row__weight { font-size: .6875rem; color: var(--rv-muted); white-space: nowrap; }

/* Category status (Under Review) */
.br-cat-status { list-style: none; margin: 1rem 0 0; padding: 0; }
.br-cat-status li {
	display: flex; justify-content: space-between; gap: 1rem;
	padding: .65rem 0;
	border-bottom: 1px solid var(--rv-light);
	font-size: .875rem;
}
.br-cat-status li:last-child { border-bottom: 0; }
.br-cat-status__label { font-weight: 600; color: #33465e; }
.br-cat-status__state { color: var(--rv-muted); font-weight: 600; }

/* Knockout card + falls-short — same treatment (trust signal) */
.br-knockout-card, .br-falls-short {
	border: 1.5px solid var(--rv-red);
	background: #FDF2F1;
	border-radius: .6rem;
	padding: 1.15rem 1.35rem;
}
.br-knockout-card__title, .br-falls-short__title {
	font-weight: 800; color: var(--rv-red); margin: 0 0 .4rem;
}
.br-knockout-card p, .br-falls-short p { margin: 0 0 .5rem; font-size: .9rem; }
.br-knockout-card p:last-child, .br-falls-short p:last-child { margin-bottom: 0; }
.br-knockout-card__ref { color: var(--rv-muted); font-size: .8125rem !important; }
.br-falls-short a { color: var(--rv-red); font-weight: 700; }

/* License verification rows */
.br-license-list { list-style: none; margin: .75rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.br-license-row {
	display: flex; align-items: center; gap: .75rem;
	padding: .8rem 1rem;
	border: 1px solid var(--rv-border);
	border-radius: .5rem;
	font-size: .875rem;
	background: #fff;
}
.br-license-row__icon {
	width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%;
	background: var(--rv-muted);
	position: relative;
}
.br-license-row__icon::after {
	content: ""; position: absolute; inset: 0;
	background-repeat: no-repeat; background-position: center;
}
.br-license-row--verified       { border-color: #86cfa9; border-color: color-mix(in srgb, var(--rv-green) 45%, #fff); }
.br-license-row--verified .br-license-row__icon       { background: var(--rv-green); }
.br-license-row--clone-mismatch { border-color: #e0a49c; border-color: color-mix(in srgb, var(--rv-red) 45%, #fff); background: #FDF2F1; }
.br-license-row--clone-mismatch .br-license-row__icon { background: var(--rv-red); }
.br-license-row--pending .br-license-row__icon        { background: var(--rv-muted); }
.br-license-row__text { flex: 1; }
.br-license-row__link { color: var(--rv-info); font-weight: 700; text-decoration: none; white-space: nowrap; }
.br-license-row__link:hover { text-decoration: underline; }

/* Data table */
.br-table-wrap { overflow-x: auto; margin: .5rem 0; }
.br-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.br-table th {
	background: var(--rv-navy); color: #fff; font-weight: 600;
	text-align: left; padding: .7rem .9rem; white-space: nowrap;
}
.br-table td { padding: .7rem .9rem; border-bottom: 1px solid var(--rv-border); }
.br-table tbody tr:last-child td { border-bottom: 0; }

/* Chips */
.br-chips { list-style: none; margin: .85rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.br-chips li {
	background: var(--rv-light); color: #33465e;
	font-size: .75rem; font-weight: 600;
	padding: .35rem .75rem; border-radius: 999px;
}
.br-chips--terms { margin: 0 0 1rem; }
.br-chips--terms li { background: color-mix(in srgb, var(--verdict) 12%, #fff); color: var(--rv-navy); }
.br-chips--terms a { color: inherit; text-decoration: none; }
.br-chips--terms a:hover { text-decoration: underline; }

/* Pros & cons / checklist */
.br-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.br-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; font-size: .875rem; }
.br-checklist li { position: relative; padding-left: 1.5rem; }
.br-checklist li::before { position: absolute; left: 0; top: 0; font-weight: 800; }
.br-checklist--pro li::before  { content: "✓"; color: var(--rv-green); }
.br-checklist--con li::before  { content: "✕"; color: var(--rv-red); }
.br-checklist--flag li::before { content: "✕"; color: var(--rv-red); }

/* What we're verifying */
.br-verifying { margin: 0; }
.br-verifying dt { font-weight: 700; color: var(--rv-navy); margin-top: 1rem; }
.br-verifying dt:first-child { margin-top: 0; }
.br-verifying dd { margin: .25rem 0 0; font-size: .875rem; color: #4b5563; }

/* FAQ */
.br-faq details { border-bottom: 1px solid var(--rv-border); padding: .9rem 0; }
.br-faq details:last-child { border-bottom: 0; }
.br-faq summary { font-weight: 700; color: var(--rv-navy); cursor: pointer; list-style: none; }
.br-faq summary::-webkit-details-marker { display: none; }
.br-faq summary::before { content: "+ "; color: var(--verdict); font-weight: 800; }
.br-faq details[open] summary::before { content: "– "; }
.br-faq details > .entry-content { margin-top: .6rem; font-size: .9rem; }

/* Byline */
.br-byline { font-size: .8125rem; color: var(--rv-muted); padding-top: 1rem; }
.br-byline a { color: var(--rv-navy); font-weight: 600; text-decoration: none; }
.br-byline a:hover { color: var(--verdict); }

/* Affiliate disclosure box — soft/light variant: no fill color, just a thin
   border + the gold accent bar, so it reads as a quiet notice rather than a
   dark callout, matching the page's own light .br-side-card convention. */
.br-disclosure { margin-top: 2rem; background: transparent; border: 1px solid var(--rv-border); border-left: 4px solid #F59E0B; border-radius: 10px; padding: 20px 24px; }
/* Specificity note: .br-review h1/h2/h3 sets navy text globally (review.css
   L42) — this already matches (navy), but kept as a two-class selector so
   it stays easy to override again later without fighting that rule. */
.br-disclosure .br-disclosure__heading { margin: 0 0 8px; color: #0A1628; font-size: 16px; line-height: 1.3; font-weight: 700; }
.br-disclosure__body { margin: 0; color: #4B5563; font-size: 13px; line-height: 1.6; }
.br-disclosure__link { display: inline-block; margin-top: 8px; color: #B45309; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.br-disclosure__link:hover { color: #92400E; }
@media (max-width: 767px) {
	.br-disclosure { padding: 16px 18px; }
}

/* ── Archive ─────────────────────────────────────────────────────────────── */
.br-archive__hero { margin-bottom: 2rem; }
.br-archive__hero h1 { font-size: 2rem; font-weight: 800; margin: .5rem 0 .5rem; }
.br-archive__hero p { color: var(--rv-muted); max-width: 60ch; }

.br-archive-group { margin-bottom: 2.5rem; }
.br-archive-group__title {
	font-size: 1.15rem; font-weight: 800; margin: 0 0 1rem;
	padding-left: .75rem; border-left: 4px solid var(--verdict);
}
.br-archive-group__title span { color: var(--rv-muted); font-weight: 600; }

.br-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
}
.br-card {
	background: #fff;
	border: 1px solid var(--rv-border);
	border-radius: .75rem;
	display: flex; flex-direction: column;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
.br-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(0,0,0,.12); }
.br-card__body { padding: 1.25rem; flex: 1; }
.br-card__head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: .85rem; }
.br-card__logo {
	width: 44px; height: 44px; border-radius: .5rem;
	background: var(--rv-light); border: 1px solid var(--rv-border);
	display: flex; align-items: center; justify-content: center; overflow: hidden;
	font-weight: 800; color: var(--rv-navy);
}
.br-card__logo img { width: 100%; height: 100%; object-fit: cover; }
.br-card__title { font-size: 1.05rem; font-weight: 700; margin: 0 0 .4rem; }
.br-card__title a { color: var(--rv-navy); text-decoration: none; }
.br-card__title a:hover { color: var(--verdict); }
.br-card__score { margin: 0 0 .5rem; }
.br-card__score strong { font-size: 1.6rem; font-weight: 800; color: var(--verdict); }
.br-card__score span { font-size: .8125rem; color: var(--rv-muted); }
.br-card__score--pending { font-size: .8125rem; color: var(--rv-muted); font-weight: 600; }
.br-card__summary { font-size: .8125rem; color: #4b5563; margin: 0; }
.br-card__foot { padding: .9rem 1.25rem; background: #f9fafb; border-top: 1px solid var(--rv-border); }
.br-card__cta { font-size: .8125rem; font-weight: 700; color: var(--verdict); text-decoration: none; }

.br-empty { color: var(--rv-muted); padding: 2rem 0; }
.br-archive__pagination { margin-top: 2rem; }

/* ── Listing filters: sidebar (template-parts/broker-review-filter-sidebar.php) ── */
.br-archive .br-container { max-width: 1200px; }
.br-archive__layout {
	display: grid;
	grid-template-columns: 17rem minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}
.br-archive__layout .br-card-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.br-filter-sidebar {
	position: sticky;
	top: calc(64px + 1.25rem); /* below the fixed site header */
	max-height: calc(100vh - 64px - 2.5rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
}
.br-filter {
	background: #fff;
	border: 1px solid var(--rv-border);
	border-radius: .75rem;
	padding: 1.1rem;
}
.br-filter__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.br-filter__title {
	font-size: .8125rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
	margin: 0 0 .9rem;
}
.br-filter__panel { display: flex; flex-direction: column; gap: .25rem; }

/* Search */
.br-filter__search { position: relative; display: block; margin-bottom: .6rem; }
.br-filter__search-icon { position: absolute; left: .7rem; top: 50%; transform: translateY(-50%); color: var(--rv-muted); pointer-events: none; }
.br-filter__search input,
.br-filter__find input {
	width: 100%;
	border: 1px solid var(--rv-border);
	border-radius: .55rem;
	padding: .6rem .8rem .6rem 2.1rem;
	font: inherit; font-size: .875rem;
	min-height: 44px;
	background: #fff;
}
.br-filter__find { display: block; margin: 0 0 .5rem; }
.br-filter__find input { padding-left: .8rem; min-height: 38px; font-size: .8125rem; }
.br-filter__search input:focus,
.br-filter__find input:focus { outline: 2px solid var(--rv-info); outline-offset: 1px; }

/* Collapsible groups */
.br-filter__group { border-top: 1px solid var(--rv-light); padding: .35rem 0 .6rem; }
.br-filter__group-title {
	display: flex; align-items: center; gap: .5rem;
	min-height: 40px;
	cursor: pointer;
	list-style: none;
	font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
	color: var(--rv-navy);
}
.br-filter__group-title::-webkit-details-marker { display: none; }
.br-filter__group-title::after {
	content: ""; margin-left: auto;
	width: .45rem; height: .45rem;
	border-right: 2px solid var(--rv-muted); border-bottom: 2px solid var(--rv-muted);
	transform: rotate(45deg) translateY(-2px);
	transition: transform .15s ease;
}
.br-filter__group:not([open]) > .br-filter__group-title::after { transform: rotate(-45deg); }
.br-filter__group-title:focus-visible { outline: 2px solid var(--rv-info); outline-offset: 2px; border-radius: .25rem; }
.br-filter__group-count {
	min-width: 1.25rem; padding: 0 .35rem; border-radius: 999px;
	background: var(--rv-info); color: #fff;
	font-size: .6875rem; line-height: 1.25rem; text-align: center; letter-spacing: 0;
}

/* Verdict: stacked full-width options */
.br-filter__verdicts { display: flex; flex-direction: column; gap: .3rem; }
.br-filter__btn {
	--verdict: var(--rv-navy);
	appearance: none;
	display: flex; align-items: center; gap: .55rem;
	width: 100%; min-height: 40px;
	border: 1px solid transparent;
	background: transparent;
	color: #33465e;
	font: inherit; font-size: .875rem; font-weight: 600; text-align: left;
	padding: .45rem .65rem;
	border-radius: .5rem;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.br-filter__btn:hover { background: var(--rv-light); }
.br-filter__btn:focus-visible { outline: 2px solid var(--rv-info); outline-offset: 1px; }
.br-filter__btn.is-active { border-color: var(--verdict); color: var(--rv-navy); font-weight: 800; background: #fff; box-shadow: inset 3px 0 0 var(--verdict); }
.br-filter__dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--verdict); flex-shrink: 0; }

/* Checkbox options */
.br-filter__options { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.br-filter__option label {
	display: flex; align-items: center; gap: .6rem;
	min-height: 36px;
	padding: .2rem .35rem;
	border-radius: .4rem;
	font-size: .875rem; color: #33465e;
	cursor: pointer;
}
.br-filter__option label:hover { background: var(--rv-light); }
.br-filter__option input { width: 1rem; height: 1rem; accent-color: var(--rv-info); flex-shrink: 0; margin: 0; }
.br-filter__option input:focus-visible { outline: 2px solid var(--rv-info); outline-offset: 2px; }
.br-filter__option.is-extra,
.br-filter__option.is-filtered-out { display: none; }
.br-filter__more,
.br-filter__clear {
	appearance: none; border: 0; background: none; padding: .35rem;
	min-height: 36px;
	font: inherit; font-size: .8125rem; font-weight: 700;
	color: var(--rv-info); text-decoration: none; cursor: pointer;
	align-self: flex-start;
}
.br-filter__more:hover,
.br-filter__clear:hover { text-decoration: underline; }
.br-filter__actions { border-top: 1px solid var(--rv-light); padding-top: .6rem; display: flex; flex-direction: column; gap: .5rem; }
.br-filter__actions:empty { display: none; }
.br-filter__apply {
	appearance: none; border: 0; border-radius: .5rem;
	background: var(--rv-navy); color: #fff;
	font: inherit; font-weight: 700; padding: .65rem 1rem; min-height: 44px; cursor: pointer;
}

/* Mobile toggle (JS adds .is-collapsible to the form) */
.br-filter__toggle {
	appearance: none;
	display: inline-flex; align-items: center; gap: .45rem;
	min-height: 44px; padding: .5rem .9rem;
	border: 1px solid var(--rv-border); border-radius: .55rem;
	background: #fff; color: var(--rv-navy);
	font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer;
}
.br-filter__toggle:focus-visible { outline: 2px solid var(--rv-info); outline-offset: 2px; }
.br-filter__count {
	min-width: 1.25rem; padding: 0 .35rem; border-radius: 999px;
	background: var(--rv-info); color: #fff; font-size: .75rem; line-height: 1.25rem; text-align: center;
}

@media (max-width: 1023px) {
	.br-archive__layout { grid-template-columns: 1fr; gap: 1.25rem; }
	.br-filter-sidebar { position: static; max-height: none; overflow: visible; }
	.br-filter.is-collapsible { padding: .75rem .9rem; }
	.br-filter.is-collapsible .br-filter__title { margin: 0; }
	.br-filter.is-collapsible:not(.is-open) .br-filter__panel { display: none; }
	.br-filter.is-collapsible.is-open .br-filter__panel { margin-top: .9rem; }
}
@media (min-width: 1024px) {
	.br-filter__toggle { display: none; }
}

.br-results { transition: opacity .15s ease; }

.br-pager { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.br-pager__btn {
	appearance: none;
	border: 1px solid var(--rv-border);
	background: #fff;
	color: #33465e;
	font: inherit; font-size: .8125rem; font-weight: 700;
	padding: .4rem .8rem;
	border-radius: .5rem;
	cursor: pointer;
}
.br-pager__btn.is-active { background: var(--rv-navy); border-color: var(--rv-navy); color: #fff; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap; border: 0; padding: 0; margin: -1px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
	.br-layout {
		grid-template-columns: 1fr;
		grid-template-areas: "main" "side";
	}
	.br-side { position: static; }
}
@media (max-width: 700px) {
	.br-title { font-size: 1.75rem; }
	.br-cat-row {
		grid-template-columns: 1fr auto;
		grid-template-areas: "label value" "track track" "weight weight";
		row-gap: .3rem;
	}
	.br-cat-row__label  { grid-area: label; }
	.br-cat-row__value  { grid-area: value; text-align: right; }
	.br-cat-track       { grid-area: track; }
	.br-cat-row__weight { grid-area: weight; }
	.br-proscons { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.br-container { padding: 0 1rem; }
	.br-section { padding: 1.25rem; }
	.br-card-grid { grid-template-columns: 1fr; }
}
