/**
 * Broker Components
 *
 * Shared styles for broker review page components.
 * Loaded conditionally on broker review pages only.
 */

/* --------------------------------------------------------
   Quick Stats Strip
   -------------------------------------------------------- */

.broker-quick-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	background: #f8f9fa;
	border: 1px solid #e2e5e9;
	border-radius: 6px;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #374151;
}

.quick-stats__item {
	white-space: nowrap;
}

.quick-stats__item--separated {
	padding-left: 0.75rem;
	border-left: 1px solid #d1d5db;
}

/* --------------------------------------------------------
   Mobile: stack vertically below 480px
   -------------------------------------------------------- */

@media ( max-width: 480px ) {
	.broker-quick-stats {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
		padding: 0.625rem 0.75rem;
	}

	.quick-stats__item--separated {
		padding-left: 0;
		border-left: none;
	}
}

/* --------------------------------------------------------
   Pros & Cons Card
   -------------------------------------------------------- */

.broker-pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	margin: 1.5rem 0;
}

.broker-pros-cons__column {
	display: flex;
	flex-direction: column;
}

/* Headings */

.broker-pros-cons__heading {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
}

.broker-pros-cons__heading--pros {
	background: #2563eb;
	border-radius: 8px 0 0 0;
}

.broker-pros-cons__heading--cons {
	background: #ea580c;
	border-radius: 0 8px 0 0;
}

.broker-pros-cons__icon {
	font-size: 1.125rem;
	line-height: 1;
}

/* Lists */

.broker-pros-cons__list {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
}

.broker-pros-cons__list li {
	padding: 0.5rem 1rem;
	border-bottom: 1px solid #e5e7eb;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #374151;
}

.broker-pros-cons__list li:last-child {
	border-bottom: none;
}

.broker-pros-cons__marker {
	font-weight: 700;
	margin-right: 0.25rem;
}

.broker-pros-cons__marker--pro {
	color: #2563eb;
}

.broker-pros-cons__marker--con {
	color: #ea580c;
}

/* Empty state */

.broker-pros-cons__empty {
	padding: 0.75rem 1rem;
	margin: 0;
	color: #6b7280;
	font-style: italic;
	font-size: 0.9375rem;
}

/* --------------------------------------------------------
   Pros & Cons - Mobile (below 768px)
   -------------------------------------------------------- */

@media ( max-width: 768px ) {
	.broker-pros-cons {
		grid-template-columns: 1fr;
	}

	.broker-pros-cons__heading--pros {
		border-radius: 8px 8px 0 0;
	}

	.broker-pros-cons__heading--cons {
		border-radius: 0;
	}
}

/* --------------------------------------------------------
   Spec Table
   -------------------------------------------------------- */

.broker-spec-table {
	margin: 1.5rem 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.spec-table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	font-size: 0.95rem;
	line-height: 1.5;
}

.spec-table__caption {
	caption-side: top;
	text-align: left;
	font-weight: 600;
	font-size: 1.05rem;
	color: #1f2937;
	padding: 0 0 0.75rem;
}

.spec-table__row {
	border-bottom: 1px solid #e5e7eb;
}

.spec-table__row--alt {
	background-color: #f8f9fa;
}

.spec-table__label {
	font-weight: 600;
	color: #374151;
	text-align: left;
	padding: 0.75rem 1rem;
	width: 35%;
	white-space: nowrap;
	vertical-align: top;
}

.spec-table__value {
	color: #1f2937;
	text-align: left;
	padding: 0.75rem 1rem;
	font-variant-numeric: tabular-nums;
}

.spec-table__reg-country {
	color: #6b7280;
	font-size: 0.9em;
}

.spec-table__risk-warning {
	color: #ea580c;
	font-weight: 500;
}

/* --------------------------------------------------------
   Spec Table - Mobile Card Layout (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.spec-table thead {
		display: none;
	}

	.spec-table,
	.spec-table tbody,
	.spec-table tr,
	.spec-table th,
	.spec-table td {
		display: block;
		width: 100%;
	}

	.spec-table__row {
		padding: 0.5rem 0;
		border-bottom: 1px solid #e5e7eb;
	}

	.spec-table__label {
		width: 100%;
		white-space: normal;
		padding: 0.5rem 1rem 0.15rem;
		font-size: 0.8rem;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		color: #6b7280;
	}

	.spec-table__value {
		padding: 0.15rem 1rem 0.5rem;
		font-size: 0.95rem;
	}
}

/* --------------------------------------------------------
   Feature Matrix
   -------------------------------------------------------- */

.broker-feature-matrix {
	margin: 1.5rem 0;
}

.feature-matrix__heading {
	font-weight: 600;
	font-size: 1.05rem;
	color: #1f2937;
	margin: 0 0 0.75rem;
}

.feature-matrix__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

.feature-matrix__table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	font-size: 0.95rem;
	line-height: 1.5;
	font-variant-numeric: tabular-nums;
}

.feature-matrix__table thead th {
	text-align: left;
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #6b7280;
	padding: 0.5rem 1rem;
	border-bottom: 2px solid #e5e7eb;
}

.feature-matrix__table tbody tr {
	border-bottom: 1px solid #e5e7eb;
}

.feature-matrix__table tbody tr:nth-child(even) {
	background-color: #f8f9fa;
}

.feature-matrix__feature {
	padding: 0.625rem 1rem;
	color: #374151;
	font-weight: 500;
}

.feature-matrix__status {
	padding: 0.625rem 1rem;
	white-space: nowrap;
}

.feature-matrix__status--yes {
	color: #2563eb;
	font-weight: 700;
}

.feature-matrix__status--no {
	color: #646970;
	font-weight: 400;
}

.feature-matrix__icon {
	margin-right: 0.35rem;
	font-size: 0.95em;
}

/* Two-column layout: side-by-side tables on wider screens */
@media ( min-width: 768px ) {
	.feature-matrix__grid {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}

	/* Hide the right table's thead - the left table's headers suffice visually */
	.feature-matrix__table--right thead {
		visibility: hidden;
	}
}

/* --------------------------------------------------------
   Feature Matrix - Platform Badges
   -------------------------------------------------------- */

.feature-matrix__platforms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e5e7eb;
}

.feature-matrix__platforms-label {
	font-weight: 600;
	font-size: 0.9rem;
	color: #374151;
}

.feature-matrix__platform-badge {
	display: inline-block;
	padding: 0.25rem 0.625rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #374151;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	white-space: nowrap;
	line-height: 1.4;
}

/* --------------------------------------------------------
   Feature Matrix - Mobile Card Layout (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.feature-matrix__table thead {
		display: none;
	}

	.feature-matrix__table,
	.feature-matrix__table tbody,
	.feature-matrix__table tr,
	.feature-matrix__table th,
	.feature-matrix__table td {
		display: block;
		width: 100%;
	}

	.feature-matrix__table tbody tr {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.5rem 1rem;
	}

	.feature-matrix__feature {
		padding: 0;
		flex: 1;
	}

	.feature-matrix__status {
		padding: 0;
		text-align: right;
	}
}

/* --------------------------------------------------------
   Review Attribution Strip (A29)
   -------------------------------------------------------- */

.review-attribution {
	background: #f0f4f8;
	border-bottom: 1px solid #e2e5e9;
	padding: 0.5rem 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #4b5563;
}

.review-attribution__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.review-attribution__icon {
	font-size: 0.875rem;
	line-height: 1;
}

.review-attribution__item a {
	color: #1f2937;
	text-decoration: none;
	border-bottom: 1px dotted #9ca3af;
}

.review-attribution__item a:hover {
	color: #2563eb;
	border-bottom-color: #2563eb;
}

.review-attribution__sep {
	color: #9ca3af;
	user-select: none;
}

/* Mobile: wrap naturally */

@media ( max-width: 480px ) {
	.review-attribution__inner {
		gap: 0.25rem 0.5rem;
	}
}

/* --------------------------------------------------------
   Disclosure Banner (A30)
   -------------------------------------------------------- */

.disclosure-banner {
	background: #fef9c3;
	border-left: 3px solid #ea580c;
	border-radius: 0 4px 4px 0;
	padding: 0.5rem 0;
	margin-bottom: 1rem;
}

.disclosure-banner__text {
	margin: 0;
	padding: 0 1rem;
	font-size: 0.75rem;
	line-height: 1.5;
	color: #92400e;
}

.disclosure-banner__text strong {
	color: #78350f;
}

.disclosure-banner__text a {
	color: #92400e;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.disclosure-banner__text a:hover {
	color: #ea580c;
}

/* --------------------------------------------------------
   Verdict Card
   -------------------------------------------------------- */

.broker-verdict {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.06 );
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}

/* Header: badge + headline side by side */
.broker-verdict__header {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}

/* Rating badge - rounded square */
.broker-verdict__badge {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 12px;
	color: #fff;
}

.broker-verdict__score {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.broker-verdict__score--pending {
	font-size: 1.75rem;
	opacity: 0.8;
}

.broker-verdict__badge--logo {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	width: 80px;
	height: 48px;
	padding: 6px;
}

.broker-verdict__badge--logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.broker-verdict__headline {
	flex: 1;
	min-width: 0;
}

.broker-verdict__label {
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	color: #111827;
	line-height: 1.3;
}

.broker-verdict__one-liner {
	margin: 0.35rem 0 0;
	font-size: 0.9375rem;
	font-style: italic;
	color: #4b5563;
	line-height: 1.5;
}

/* Best-for / Not-right-for */
.broker-verdict__fit {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	margin-bottom: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid #f0f1f3;
}

.broker-verdict__fit-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #374151;
}

.broker-verdict__fit-icon {
	flex-shrink: 0;
	font-size: 1rem;
	line-height: 1.5;
	width: 1.25rem;
	text-align: center;
}

.broker-verdict__fit-item--positive .broker-verdict__fit-icon {
	color: #2563eb;
}

.broker-verdict__fit-item--negative .broker-verdict__fit-icon {
	color: #ea580c;
}

.broker-verdict__fit-text strong {
	margin-right: 0.25rem;
}

/* Top pros list */
.broker-verdict__pros {
	padding-top: 1.25rem;
	border-top: 1px solid #f0f1f3;
	margin-bottom: 1.25rem;
}

.broker-verdict__pros-heading {
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.broker-verdict__pros-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.broker-verdict__pros-item {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.375rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #374151;
}

.broker-verdict__pros-item::before {
	content: "\2713";
	position: absolute;
	left: 0;
	color: #2563eb;
	font-weight: 700;
}

/* Risk warning */
.broker-verdict__risk-warning {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding-top: 1rem;
	border-top: 1px solid #f0f1f3;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #6b7280;
}

.broker-verdict__risk-icon {
	flex-shrink: 0;
	font-size: 0.875rem;
}

/* --------------------------------------------------------
   Verdict Card - Mobile (badge above text)
   -------------------------------------------------------- */

@media ( max-width: 480px ) {
	.broker-verdict {
		padding: 1.125rem;
	}

	.broker-verdict__header {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.75rem;
	}

	.broker-verdict__badge {
		width: 56px;
		height: 56px;
	}

	.broker-verdict__score {
		font-size: 1.375rem;
	}

	.broker-verdict__label {
		font-size: 1rem;
	}

	.broker-verdict__one-liner {
		font-size: 0.875rem;
	}
}

/* --------------------------------------------------------
   Trust Profile Tables (A23) - Split into 4 sections
   -------------------------------------------------------- */

.trust-section {
	margin: 1.25rem 0;
}

.trust-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.trust-table__caption {
	caption-side: top;
	font-weight: 600;
	font-size: 0.95rem;
	color: #1f2937;
	text-align: left;
	padding-bottom: 0.5rem;
}

.trust-table__th {
	background: #1e293b;
	color: #fff;
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.5rem 0.75rem;
	text-align: left;
}

.trust-table__row td {
	padding: 0.5rem 0.75rem;
	border-bottom: 1px solid #e5e7eb;
	vertical-align: middle;
}

.trust-table__row--alt td {
	background: #f8f9fa;
}

.trust-table__missing {
	color: #d1d5db;
}

.trust-table__tier {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 999px;
	white-space: nowrap;
}

.trust-table__tier--1 {
	color: #059669;
	background: #d1fae5;
}

.trust-table__tier--2 {
	color: #7c3aed;
	background: #ede9fe;
}

.trust-table__tier--3 {
	color: #6b7280;
	background: #f3f4f6;
}

.trust-table__status {
	display: inline-block;
	width: 1.25rem;
	text-align: center;
	margin-right: 0.375rem;
	font-weight: 700;
}

.trust-table__status--yes {
	color: #059669;
}

.trust-table__status--no {
	color: #ea580c;
}

/* Trust Indicators (bars) */

.trust-section--indicators {
	margin-top: 1.5rem;
}

.trust-section__heading {
	font-weight: 600;
	font-size: 0.95rem;
	color: #1f2937;
	margin: 0 0 0.75rem;
}

.trust-indicators__row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.375rem 0;
}

.trust-indicators__label {
	flex: 0 0 140px;
	font-size: 0.8125rem;
	color: #374151;
}

.trust-indicators__bar {
	flex: 1;
	height: 16px;
	background: #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
}

.trust-indicators__fill {
	display: block;
	height: 100%;
	border-radius: 5px;
	transition: width 0.3s ease;
}

.trust-indicators__fill--high {
	background: #059669;
}

.trust-indicators__fill--mid {
	background: #2563eb;
}

.trust-indicators__fill--low {
	background: #ea580c;
}

.trust-indicators__value {
	flex: 0 0 40px;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #374151;
	text-align: right;
}

/* Trust Tables - Mobile card view */

@media ( max-width: 479px ) {
	.trust-table thead {
		display: none;
	}

	.trust-table,
	.trust-table tbody,
	.trust-table__row {
		display: block;
	}

	.trust-table__row {
		border: 1px solid #e5e7eb;
		border-radius: 6px;
		margin-bottom: 0.5rem;
		padding: 0.5rem;
	}

	.trust-table__row td {
		display: flex;
		padding: 0.25rem 0;
		border-bottom: none;
	}

	.trust-table__row td::before {
		content: attr(data-label);
		font-weight: 600;
		font-size: 0.75rem;
		color: #6b7280;
		min-width: 80px;
		flex-shrink: 0;
	}

	.trust-table__row--alt td {
		background: none;
	}

	.trust-indicators__label {
		flex: 0 0 110px;
		font-size: 0.75rem;
	}
}

/* DEPRECATED: old trust-profile styles kept for backward compat */

.trust-profile {
	position: relative;
	background: #fff;
	border: 2px solid #e2e5e9;
	border-radius: 12px;
	box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.06 );
	padding: 1.5rem;
	margin: 1.5rem 0;
	overflow: hidden;
}

/* Rubber stamp effect - subtle rotated "REGULATED" watermark */
.trust-profile__stamp {
	position: absolute;
	top: 1.25rem;
	right: -0.5rem;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba( 5, 150, 105, 0.15 );
	border: 2px solid rgba( 5, 150, 105, 0.15 );
	border-radius: 4px;
	padding: 0.2rem 0.5rem;
	transform: rotate( 8deg );
	pointer-events: none;
	user-select: none;
}

/* Sections */

.trust-profile__section {
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #f0f1f3;
}

.trust-profile__section:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.trust-profile__section-heading {
	margin: 0 0 0.75rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #6b7280;
}

/* ---- Regulator Rows ---- */

.trust-profile__regulators {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.trust-profile__reg-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.625rem;
	background: #f8f9fa;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	font-size: 0.875rem;
	line-height: 1.4;
}

.trust-profile__reg-flag {
	font-size: 1.125rem;
	flex-shrink: 0;
}

.trust-profile__reg-name {
	font-weight: 600;
	color: #1f2937;
	white-space: nowrap;
}

.trust-profile__reg-country {
	color: #6b7280;
	font-size: 0.8125rem;
	white-space: nowrap;
}

.trust-profile__reg-license {
	margin-left: auto;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	font-size: 0.8125rem;
	color: #374151;
	white-space: nowrap;
}

a.trust-profile__reg-license {
	color: #2563eb;
	text-decoration: none;
	border-bottom: 1px dotted #93c5fd;
}

a.trust-profile__reg-license:hover {
	color: #1d4ed8;
	border-bottom-style: solid;
}

/* Tier badges */

.trust-profile__tier {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	border-radius: 999px;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	white-space: nowrap;
	flex-shrink: 0;
}

.trust-profile__tier--1 {
	background: rgba( 5, 150, 105, 0.12 );
	color: #059669;
}

.trust-profile__tier--2 {
	background: rgba( 37, 99, 235, 0.1 );
	color: #2563eb;
}

.trust-profile__tier--3 {
	background: rgba( 100, 105, 112, 0.1 );
	color: #646970;
}

/* ---- Fund Safety ---- */

.trust-profile__safety-grid {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.trust-profile__safety-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #374151;
}

.trust-profile__safety-icon {
	flex-shrink: 0;
	width: 1.25rem;
	text-align: center;
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.trust-profile__safety-icon--yes {
	color: #059669;
}

.trust-profile__safety-icon--no {
	color: #ea580c;
}

.trust-profile__safety-item strong {
	display: block;
	color: #1f2937;
	font-size: 0.875rem;
}

.trust-profile__safety-detail {
	display: block;
	color: #6b7280;
	font-size: 0.8125rem;
}

/* ---- Corporate Transparency ---- */

.trust-profile__corporate-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.trust-profile__corporate-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #374151;
}

.trust-profile__corporate-item--public {
	padding: 0.5rem;
	background: rgba( 245, 158, 11, 0.06 );
	border: 1px solid rgba( 245, 158, 11, 0.2 );
	border-radius: 6px;
	grid-column: 1 / -1;
}

.trust-profile__corporate-icon {
	flex-shrink: 0;
	font-size: 1rem;
	line-height: 1.5;
}

.trust-profile__corporate-item strong {
	display: block;
	color: #1f2937;
	font-size: 0.875rem;
}

.trust-profile__corporate-detail {
	display: block;
	color: #6b7280;
	font-size: 0.8125rem;
}

/* ---- Trust Indicators (Score Bars) ---- */

.trust-profile__indicators {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.trust-profile__indicator {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
}

.trust-profile__indicator-label {
	flex-shrink: 0;
	width: 110px;
	color: #374151;
	font-weight: 500;
}

.trust-profile__indicator-bar {
	flex: 1;
	height: 6px;
	background: #e5e7eb;
	border-radius: 3px;
	overflow: hidden;
}

.trust-profile__indicator-fill {
	display: block;
	height: 100%;
	border-radius: 3px;
	transition: width 0.3s ease;
}

.trust-profile__indicator-fill--high {
	background: #059669;
}

.trust-profile__indicator-fill--mid {
	background: #2563eb;
}

.trust-profile__indicator-fill--low {
	background: #646970;
}

.trust-profile__indicator-value {
	flex-shrink: 0;
	width: 40px;
	text-align: right;
	font-weight: 600;
	color: #1f2937;
	font-variant-numeric: tabular-nums;
}

/* ---- Trust Profile - Mobile ---- */

@media ( max-width: 480px ) {
	.trust-profile {
		padding: 1rem;
	}

	.trust-profile__stamp {
		font-size: 0.625rem;
		top: 0.75rem;
		right: -0.25rem;
	}

	.trust-profile__reg-row {
		flex-wrap: wrap;
		gap: 0.25rem 0.5rem;
	}

	.trust-profile__reg-license {
		margin-left: 0;
	}

	.trust-profile__corporate-grid {
		grid-template-columns: 1fr;
	}

	.trust-profile__indicator-label {
		width: 90px;
		font-size: 0.75rem;
	}
}

/* --------------------------------------------------------
   Ownership/Corporate Profile Card (A24)
   -------------------------------------------------------- */

.ownership-profile {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 12px;
	box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.06 );
	padding: 1.5rem;
	margin: 1.5rem 0;
}

.ownership-profile__heading {
	margin: 0 0 1rem;
	font-size: 1.125rem;
	font-weight: 700;
	color: #111827;
	line-height: 1.3;
}

/* Sections */

.ownership-profile__section {
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #f0f1f3;
}

.ownership-profile__section:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.ownership-profile__sub-heading {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #6b7280;
}

/* Public/Private badge */

.ownership-profile__badge-row {
	margin-bottom: 0.75rem;
}

.ownership-profile__badge {
	display: inline-block;
	padding: 0.2rem 0.625rem;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.ownership-profile__badge--public {
	background: rgba( 245, 158, 11, 0.1 );
	border: 1px solid rgba( 245, 158, 11, 0.3 );
	color: #b45309;
}

.ownership-profile__badge--private {
	background: rgba( 100, 105, 112, 0.08 );
	border: 1px solid rgba( 100, 105, 112, 0.2 );
	color: #646970;
}

/* Details list (dl) */

.ownership-profile__details {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
}

.ownership-profile__detail-row {
	display: flex;
	align-items: baseline;
	padding: 0.5rem 0;
	border-bottom: 1px solid #f5f5f5;
	font-size: 0.875rem;
	line-height: 1.5;
}

.ownership-profile__detail-row:last-child {
	border-bottom: none;
}

.ownership-profile__detail-row dt {
	flex-shrink: 0;
	width: 110px;
	font-weight: 600;
	color: #6b7280;
	font-size: 0.8125rem;
}

.ownership-profile__detail-row dd {
	margin: 0;
	color: #1f2937;
	font-weight: 500;
}

.ownership-profile__detail-meta {
	color: #6b7280;
	font-weight: 400;
	margin-left: 0.25rem;
}

.ownership-profile__flag {
	margin-right: 0.25rem;
}

/* Brand tags */

.ownership-profile__parent-line {
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
	color: #374151;
}

.ownership-profile__brands {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.ownership-profile__brand-tag {
	display: inline-block;
	padding: 0.2rem 0.625rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #374151;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	white-space: nowrap;
}

/* Geographic reach */

.ownership-profile__reach-text {
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
	color: #374151;
	line-height: 1.5;
}

.ownership-profile__jurisdiction-flags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.ownership-profile__jurisdiction-flag {
	font-size: 1.25rem;
	cursor: default;
}

/* Footer / IR link */

.ownership-profile__footer {
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px solid #f0f1f3;
}

.ownership-profile__ir-link {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #2563eb;
	text-decoration: none;
}

.ownership-profile__ir-link:hover {
	color: #1d4ed8;
	text-decoration: underline;
}

/* ---- Ownership Profile - Mobile ---- */

@media ( max-width: 480px ) {
	.ownership-profile {
		padding: 1rem;
	}

	.ownership-profile__heading {
		font-size: 1rem;
	}

	.ownership-profile__detail-row {
		flex-direction: column;
		gap: 0.125rem;
	}

	.ownership-profile__detail-row dt {
		width: auto;
	}
}

/* --------------------------------------------------------
   Account Tier Comparison (A14)
   -------------------------------------------------------- */

.broker-account-tiers {
	margin: 1.5rem 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.account-tiers__table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	font-size: 0.95rem;
	line-height: 1.5;
}

.account-tiers__caption {
	caption-side: top;
	text-align: left;
	font-weight: 600;
	font-size: 1.05rem;
	color: #1f2937;
	padding: 0 0 0.75rem;
}

.account-tiers__th {
	text-align: left;
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #fff;
	padding: 0.625rem 1rem;
	background: #374151;
}

.account-tiers__th:first-child {
	border-radius: 6px 0 0 0;
}

.account-tiers__th:last-child {
	border-radius: 0 6px 0 0;
}

.account-tiers__th--retail {
	background: #2563eb;
}

.account-tiers__th--pro {
	background: #7c3aed;
}

.account-tiers__row {
	border-bottom: 1px solid #e5e7eb;
}

.account-tiers__row--alt {
	background-color: #f8f9fa;
}

.account-tiers__feature {
	font-weight: 600;
	color: #374151;
	padding: 0.75rem 1rem;
	width: 30%;
	vertical-align: top;
}

.account-tiers__cell {
	color: #1f2937;
	padding: 0.75rem 1rem;
	font-variant-numeric: tabular-nums;
}

.account-tiers__footnote {
	margin: 0.75rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #6b7280;
	font-style: italic;
}

/* --------------------------------------------------------
   Account Tiers - Mobile Card Layout (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.account-tiers__table thead {
		display: none;
	}

	.account-tiers__table,
	.account-tiers__table tbody,
	.account-tiers__table tr,
	.account-tiers__table th,
	.account-tiers__table td {
		display: block;
		width: 100%;
	}

	.account-tiers__row {
		padding: 0.5rem 0;
		border-bottom: 1px solid #e5e7eb;
		margin-bottom: 0.5rem;
	}

	.account-tiers__feature {
		width: 100%;
		padding: 0.5rem 1rem 0.25rem;
		font-size: 0.8rem;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		color: #6b7280;
	}

	.account-tiers__cell {
		padding: 0.15rem 1rem 0.25rem;
		font-size: 0.95rem;
	}

	.account-tiers__cell::before {
		content: attr(data-label) ": ";
		font-weight: 600;
		color: #374151;
		font-size: 0.8125rem;
	}
}

/* --------------------------------------------------------
   Fee Clarity Table (A15)
   -------------------------------------------------------- */

.broker-fee-table {
	margin: 1.5rem 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.fee-table__table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	font-size: 0.95rem;
	line-height: 1.5;
}

.fee-table__caption {
	caption-side: top;
	text-align: left;
	font-weight: 600;
	font-size: 1.05rem;
	color: #1f2937;
	padding: 0 0 0.75rem;
}

.fee-table__th {
	text-align: left;
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #6b7280;
	padding: 0.5rem 1rem;
	border-bottom: 2px solid #e5e7eb;
}

.fee-table__row {
	border-bottom: 1px solid #e5e7eb;
}

.fee-table__row--alt {
	background-color: #f8f9fa;
}

.fee-table__label {
	font-weight: 600;
	color: #374151;
	text-align: left;
	padding: 0.75rem 1rem;
	width: 35%;
	white-space: nowrap;
	vertical-align: top;
}

.fee-table__value {
	color: #1f2937;
	text-align: left;
	padding: 0.75rem 1rem;
	font-variant-numeric: tabular-nums;
}

.fee-table__footnote {
	margin: 0.75rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #6b7280;
	font-style: italic;
}

/* --------------------------------------------------------
   Fee Table - Mobile Card Layout (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.fee-table__table thead {
		display: none;
	}

	.fee-table__table,
	.fee-table__table tbody,
	.fee-table__table tr,
	.fee-table__table th,
	.fee-table__table td {
		display: block;
		width: 100%;
	}

	.fee-table__row {
		padding: 0.5rem 0;
		border-bottom: 1px solid #e5e7eb;
	}

	.fee-table__label {
		width: 100%;
		white-space: normal;
		padding: 0.5rem 1rem 0.15rem;
		font-size: 0.8rem;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		color: #6b7280;
	}

	.fee-table__value {
		padding: 0.15rem 1rem 0.5rem;
		font-size: 0.95rem;
	}
}

/* --------------------------------------------------------
   Payment Methods Panel (A16)
   -------------------------------------------------------- */

.broker-payment-methods {
	margin: 1.5rem 0;
}

.payment-methods__heading {
	font-weight: 600;
	font-size: 1.05rem;
	color: #1f2937;
	margin: 0 0 1rem;
}

.payment-methods__section {
	margin-bottom: 1rem;
}

.payment-methods__section:last-child {
	margin-bottom: 0;
}

.payment-methods__subheading {
	font-weight: 600;
	font-size: 0.9rem;
	color: #374151;
	margin: 0 0 0.5rem;
}

.payment-methods__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.payment-methods__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.375rem 0.75rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #374151;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	white-space: nowrap;
	line-height: 1.4;
}

.payment-methods__icon {
	font-size: 0.9375rem;
	line-height: 1;
}

.payment-methods__regional-label {
	margin: 0.75rem 0 0.375rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #9ca3af;
}

.payment-methods__pill--regional {
	opacity: 0.75;
	border-style: dashed;
}

/* --------------------------------------------------------
   Payment Methods - Mobile (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.payment-methods__pills {
		gap: 0.375rem;
	}

	.payment-methods__pill {
		padding: 0.3rem 0.625rem;
		font-size: 0.75rem;
	}
}

/* --------------------------------------------------------
   Platform/App Matrix (A17)
   -------------------------------------------------------- */

.broker-platform-matrix {
	margin: 1.5rem 0;
}

.platform-matrix__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.platform-matrix__caption {
	caption-side: top;
	font-weight: 600;
	font-size: 1.05rem;
	color: #1f2937;
	text-align: left;
	padding-bottom: 0.75rem;
}

.platform-matrix__th {
	background: #1e293b;
	color: #fff;
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.625rem 0.75rem;
	text-align: left;
}

.platform-matrix__row td {
	padding: 0.625rem 0.75rem;
	border-bottom: 1px solid #e5e7eb;
	vertical-align: middle;
}

.platform-matrix__row--alt td {
	background: #f8f9fa;
}

.platform-matrix__name {
	white-space: nowrap;
}

.platform-matrix__types {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.platform-matrix__type-badge {
	display: inline-block;
	padding: 0.15rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 999px;
	white-space: nowrap;
	line-height: 1.4;
	color: #374151;
	background: #f3f4f6;
}

.platform-matrix__type-badge--desktop {
	color: #7c3aed;
	background: #ede9fe;
}

.platform-matrix__type-badge--web {
	color: #2563eb;
	background: #dbeafe;
}

.platform-matrix__type-badge--ios,
.platform-matrix__type-badge--android {
	color: #059669;
	background: #d1fae5;
}

.platform-matrix__type-badge--api {
	color: #ea580c;
	background: #fff7ed;
}

.platform-matrix__desc {
	color: #6b7280;
	font-size: 0.8125rem;
	line-height: 1.5;
}

/* --------------------------------------------------------
   Platform Matrix - Mobile card view (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.platform-matrix__table thead {
		display: none;
	}

	.platform-matrix__table,
	.platform-matrix__table tbody,
	.platform-matrix__row {
		display: block;
	}

	.platform-matrix__row {
		border: 1px solid #e5e7eb;
		border-radius: 6px;
		margin-bottom: 0.5rem;
		padding: 0.75rem;
	}

	.platform-matrix__row td {
		display: flex;
		padding: 0.25rem 0;
		border-bottom: none;
	}

	.platform-matrix__row td::before {
		content: attr(data-label);
		font-weight: 600;
		font-size: 0.75rem;
		color: #6b7280;
		min-width: 90px;
		flex-shrink: 0;
	}

	.platform-matrix__row--alt td {
		background: none;
	}
}

/* --------------------------------------------------------
   Vs Average Panel (A19)
   -------------------------------------------------------- */

.broker-vs-average {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.06 );
}

.broker-vs-average__heading {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #1f2937;
}

.broker-vs-average__bars {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.broker-vs-average__row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.broker-vs-average__label {
	flex: 0 0 140px;
	display: flex;
	flex-direction: column;
}

.broker-vs-average__metric {
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #6b7280;
}

.broker-vs-average__value {
	font-size: 0.95rem;
	font-weight: 500;
	color: #1f2937;
	font-variant-numeric: tabular-nums;
}

.broker-vs-average__track {
	flex: 1;
	height: 20px;
	background: #f3f4f6;
	border-radius: 4px;
	overflow: hidden;
}

.broker-vs-average__fill {
	height: 100%;
	width: 0;
	border-radius: 4px;
	transition: width 0.8s ease-out;
}

.broker-vs-average__fill[data-width] {
	width: var( --bar-width, 0% );
}

.broker-vs-average__fill.broker-vs-average__bar--positive {
	background: #2563eb;
}

.broker-vs-average__fill.broker-vs-average__bar--negative {
	background: #ea580c;
}

.broker-vs-average__delta {
	flex: 0 0 55px;
	text-align: right;
	font-size: 0.8125rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
}

.broker-vs-average__delta.broker-vs-average__bar--positive {
	color: #2563eb;
	background: rgba( 37, 99, 235, 0.1 );
}

.broker-vs-average__delta.broker-vs-average__bar--negative {
	color: #ea580c;
	background: rgba( 234, 88, 12, 0.1 );
}

.broker-vs-average__footnote {
	margin: 0.75rem 0 0;
	font-size: 0.75rem;
	color: #6b7280;
	font-style: italic;
}

/* --------------------------------------------------------
   Vs Average - Mobile (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.broker-vs-average {
		padding: 1rem;
	}

	.broker-vs-average__row {
		flex-wrap: wrap;
		gap: 0.25rem;
	}

	.broker-vs-average__label {
		flex: 1 1 100%;
		flex-direction: row;
		align-items: baseline;
		gap: 0.5rem;
	}

	.broker-vs-average__track {
		flex: 1 1 70%;
		height: 16px;
	}

	.broker-vs-average__delta {
		flex: 0 0 auto;
	}
}

/* --------------------------------------------------------
   Competitors Comparison Table (A20)
   -------------------------------------------------------- */

.broker-competitors {
	margin: 1.5rem 0;
}

.broker-competitors__heading {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #1f2937;
}

.broker-competitors__wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.broker-competitors__table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	font-size: 0.9375rem;
	line-height: 1.5;
	font-variant-numeric: tabular-nums;
}

.broker-competitors__table thead th {
	text-align: left;
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #6b7280;
	padding: 0.625rem 1rem;
	border-bottom: 2px solid #e5e7eb;
	white-space: nowrap;
}

.broker-competitors__table tbody tr {
	border-bottom: 1px solid #e5e7eb;
}

.broker-competitors__table tbody tr:nth-child( even ) {
	background-color: #f8f9fa;
}

.broker-competitors__row--current {
	background-color: #e0f2fe !important;
}

.broker-competitors__table td {
	padding: 0.625rem 1rem;
	color: #374151;
	white-space: nowrap;
}

.broker-competitors__name {
	font-weight: 600;
}

.broker-competitors__name a {
	color: #1f2937;
	text-decoration: none;
	border-bottom: 1px dotted #9ca3af;
}

.broker-competitors__name a:hover {
	color: #2563eb;
	border-bottom-color: #2563eb;
}

.broker-competitors__badge {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.1rem 0.4rem;
	font-size: 0.6875rem;
	font-weight: 600;
	color: #2563eb;
	background: rgba( 37, 99, 235, 0.1 );
	border-radius: 3px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	vertical-align: middle;
}

.broker-competitors__reg-extra {
	color: #6b7280;
	font-size: 0.85em;
}

/* --------------------------------------------------------
   Competitors Table - Mobile Card Layout (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.broker-competitors__table thead {
		display: none;
	}

	.broker-competitors__table,
	.broker-competitors__table tbody,
	.broker-competitors__table tr,
	.broker-competitors__table td {
		display: block;
		width: 100%;
	}

	.broker-competitors__table tbody tr {
		padding: 0.75rem 1rem;
		margin-bottom: 0.5rem;
		border: 1px solid #e5e7eb;
		border-radius: 6px;
	}

	.broker-competitors__table td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.3rem 0;
		white-space: normal;
	}

	.broker-competitors__table td::before {
		content: attr( data-label );
		font-weight: 600;
		font-size: 0.8rem;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		color: #6b7280;
		flex: 0 0 40%;
	}

	.broker-competitors__row--current {
		border-color: #2563eb;
		border-width: 2px;
	}
}

/* --------------------------------------------------------
   Alternatives Panel (A21)
   -------------------------------------------------------- */

.broker-alternatives {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	background: #f8f9fa;
	border: 1px solid #e2e5e9;
	border-radius: 8px;
}

.broker-alternatives__heading {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #1f2937;
}

.broker-alternatives__cards {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.broker-alternatives__card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	font-size: 0.9375rem;
	line-height: 1.5;
	transition: border-color 0.15s ease;
}

.broker-alternatives__card:hover {
	border-color: #2563eb;
}

.broker-alternatives__icon {
	font-size: 1.125rem;
	line-height: 1;
}

.broker-alternatives__strength {
	font-weight: 600;
	color: #1f2937;
}

.broker-alternatives__sep {
	color: #d1d5db;
	user-select: none;
}

.broker-alternatives__name {
	color: #2563eb;
	font-weight: 600;
	text-decoration: none;
}

.broker-alternatives__name:hover {
	text-decoration: underline;
}

.broker-alternatives__stat {
	color: #6b7280;
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
}

.broker-alternatives__cta {
	margin-left: auto;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #2563eb;
	text-decoration: none;
	white-space: nowrap;
}

.broker-alternatives__cta:hover {
	text-decoration: underline;
}

/* --------------------------------------------------------
   Alternatives - Mobile (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.broker-alternatives {
		padding: 1rem;
	}

	.broker-alternatives__card {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.25rem;
		padding: 0.625rem 0.75rem;
	}

	.broker-alternatives__sep {
		display: none;
	}

	.broker-alternatives__cta {
		margin-left: 0;
		margin-top: 0.25rem;
	}
}

/* --------------------------------------------------------
   Radar Chart (A22)
   -------------------------------------------------------- */

.broker-radar {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.06 );
}

.broker-radar__heading {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #1f2937;
	text-align: center;
}

.broker-radar__chart-wrap {
	max-width: 400px;
	margin: 0 auto;
}

.broker-radar__chart-wrap canvas {
	width: 100% !important;
	height: auto !important;
}

.broker-radar__footnote {
	margin: 0.75rem 0 0;
	font-size: 0.75rem;
	color: #6b7280;
	font-style: italic;
	text-align: center;
}

/* No-JS fallback table */

.broker-radar__fallback {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	border-collapse: collapse;
	font-size: 0.9375rem;
	line-height: 1.5;
	font-variant-numeric: tabular-nums;
}

.broker-radar__fallback-caption {
	caption-side: top;
	text-align: center;
	font-weight: 600;
	font-size: 0.95rem;
	color: #1f2937;
	padding-bottom: 0.5rem;
}

.broker-radar__fallback thead th {
	text-align: left;
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #6b7280;
	padding: 0.5rem 0.75rem;
	border-bottom: 2px solid #e5e7eb;
}

.broker-radar__fallback tbody td {
	padding: 0.5rem 0.75rem;
	border-bottom: 1px solid #e5e7eb;
	color: #374151;
}

.broker-radar__fallback-alt {
	background-color: #f8f9fa;
}

/* --------------------------------------------------------
   Radar Chart - Mobile (< 480px)
   -------------------------------------------------------- */

@media ( max-width: 479px ) {
	.broker-radar {
		padding: 1rem;
	}

	.broker-radar__chart-wrap {
		max-width: 280px;
	}
}

/* --------------------------------------------------------
   Breadcrumbs (broker review pages)
   -------------------------------------------------------- */

.price-breadcrumbs {
	background: #f9fafb;
	padding: 8px 0;
	border-bottom: 1px solid #e5e7eb;
}

.price-breadcrumbs__list {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
	color: #9ca3af;
	flex-wrap: wrap;
	gap: 0;
}

.price-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
}

.price-breadcrumbs__item:not(:last-child)::after {
	content: '\203A';
	margin: 0 8px;
	color: #d1d5db;
	font-size: 14px;
}

.price-breadcrumbs__item a {
	color: #6b7280;
	text-decoration: none;
}

.price-breadcrumbs__item a:hover {
	color: #2563eb;
	text-decoration: underline;
}

.price-breadcrumbs__item:last-child {
	color: #374151;
	font-weight: 500;
}

/* --------------------------------------------------------
   Broker Review Hero
   -------------------------------------------------------- */

.broker-review__hero {
	padding: 2rem 0 1.5rem;
	background: #1e293b;
	color: #fff;
}

.broker-review__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.broker-review__logo {
	border-radius: 8px;
	background: #fff;
	padding: 8px;
	object-fit: contain;
}

.broker-review__title {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.broker-review__one-liner {
	margin: 0;
	font-size: 1.05rem;
	color: #cbd5e1;
	max-width: 600px;
}

.broker-review__rating-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.375rem 0.75rem;
	border-radius: 6px;
	font-weight: 600;
	color: #fff;
}

.broker-review__rating-number {
	font-size: 1.5rem;
	line-height: 1;
}

.broker-review__rating-label {
	font-size: 0.875rem;
	opacity: 0.9;
}

.broker-review__quick-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	margin-top: 0.25rem;
}

.broker-review__fact {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.broker-review__fact-label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #94a3b8;
}

.broker-review__fact-value {
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
}

/* --------------------------------------------------------
   Broker Review Meta Strip
   -------------------------------------------------------- */

.broker-review__meta-strip {
	background: #f1f5f9;
	padding: 0.625rem 0;
	font-size: 0.8125rem;
	color: #64748b;
	border-bottom: 1px solid #e2e8f0;
}

.broker-review__meta-strip .container {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	align-items: center;
}

.broker-review__meta-sep {
	color: #cbd5e1;
}

/* --------------------------------------------------------
   Broker Review Data Footer
   -------------------------------------------------------- */

.broker-review__data-footer {
	background: #f8fafc;
	border-top: 1px solid #e2e8f0;
	padding: 1rem 0;
	margin-top: 2rem;
	font-size: 0.8125rem;
	color: #64748b;
}

.broker-review__data-footer a {
	color: #2563eb;
}

/* --------------------------------------------------------
   Broker Review - Mobile
   -------------------------------------------------------- */

@media ( max-width: 480px ) {
	.broker-review__title {
		font-size: 1.375rem;
	}

	.broker-review__quick-facts {
		gap: 0.75rem 1rem;
	}

	.broker-review__meta-strip .container {
		flex-direction: column;
		align-items: flex-start;
	}

	.broker-review__meta-sep {
		display: none;
	}
}

/* --------------------------------------------------------
   Inactive Broker - banner + CTA suppression
   -------------------------------------------------------- */

.broker-review__inactive-banner {
	background: #fff7ed;
	border-bottom: 2px solid #ea580c;
	color: #9a3412;
	padding: 0.75rem 0;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.broker-review__inactive-banner strong {
	color: #c2410c;
}

/* Suppress all CTA buttons on inactive broker pages */
.broker-review--inactive .ctam-cta-button,
.broker-review--inactive .ctam-cta-wrapper,
.broker-review--inactive .broker-cta,
.broker-review--inactive [class*="cta-button"],
.broker-review--inactive [class*="cta-wrapper"] {
	display: none !important;
}
