/* Broker Listing page */
.broker-listing-main {
	min-width: 0;
}

.broker-listing-hero {
	border-bottom: 1px solid var(--insights-border);
	background: linear-gradient(135deg, #fff8f3 0%, #f4f6f8 58%, #fff 100%);
}

.broker-listing-hero__content {
	max-width: 960px;
	padding: 70px 0 74px;
}

.broker-listing-hero h1 {
	max-width: 920px;
	margin: 14px 0 0;
	color: var(--insights-ink);
	font-size: clamp(44px, 5vw, 68px);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.broker-listing-intro {
	max-width: 760px;
	margin-top: 24px;
	color: var(--insights-muted);
	font-size: 19px;
	line-height: 1.65;
}

.broker-listing-intro > *:first-child {
	margin-top: 0;
}

.broker-listing-intro > *:last-child {
	margin-bottom: 0;
}

.broker-listing-section {
	padding: 72px 0 90px;
	background: #fff;
}

.broker-cards {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.broker-card {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--insights-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(31, 35, 39, 0.07);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.broker-card:hover {
	border-color: #d3d6da;
	box-shadow: 0 18px 42px rgba(31, 35, 39, 0.11);
	transform: translateY(-3px);
}

.broker-card__media {
	display: flex;
	min-height: 190px;
	align-items: center;
	justify-content: center;
	padding: 30px;
	border-bottom: 1px solid var(--insights-border);
	background: linear-gradient(145deg, #fafbfc, #f2f4f6);
	text-decoration: none;
}

.broker-card__media .broker-logo {
	display: block;
	width: auto;
	max-width: 220px;
	height: auto;
	max-height: 112px;
	margin: 0;
	object-fit: contain;
}

.broker-card__placeholder {
	color: var(--insights-ink);
	font-size: 28px;
	font-weight: 700;
}

.broker-card__body {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
	padding: 27px 28px 28px;
}

.broker-card__title {
	margin: 0 0 15px;
	font-size: 27px;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.18;
}

.broker-card__title a,
.broker-card__title a:visited {
	color: var(--insights-ink);
	text-decoration: none;
}

.broker-card__title a:hover,
.broker-card__title a:focus-visible,
.broker-card__details:hover,
.broker-card__details:focus-visible {
	color: var(--insights-orange-dark);
}

.broker-card__description,
.broker-card__benefits {
	color: var(--insights-muted);
	font-size: 16px;
	line-height: 1.65;
}

.broker-card__description > *:first-child,
.broker-card__benefits > *:first-child {
	margin-top: 0;
}

.broker-card__description > *:last-child,
.broker-card__benefits > *:last-child {
	margin-bottom: 0;
}

.broker-card__benefits {
	margin-top: 18px;
}

.broker-card__benefits ul,
.broker-card__benefits ol {
	margin: 0;
	padding-left: 1.25em;
}

.broker-card__benefits li + li {
	margin-top: 7px;
}

.broker-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
	padding-top: 26px;
}

.broker-card__details,
.broker-card__details:visited {
	color: var(--insights-orange-dark);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.broker-card__actions .cta-btn {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 11px 17px;
	border: 1px solid var(--insights-orange);
	border-radius: 11px;
	background: var(--insights-orange);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.broker-card__actions .cta-btn:hover,
.broker-card__actions .cta-btn:focus-visible {
	border-color: var(--insights-orange-dark);
	background: var(--insights-orange-dark);
	transform: translateY(-1px);
}

.broker-listing-empty {
	grid-column: 1 / -1;
	padding: 44px;
	border: 1px solid var(--insights-border);
	border-radius: 18px;
	background: var(--insights-surface);
	text-align: center;
}

.broker-listing-empty h2 {
	margin: 0;
	color: var(--insights-ink);
	font-size: 28px;
}

@media (max-width: 991px) {
	.broker-listing-hero__content {
		padding: 58px 0 62px;
	}

	.broker-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
}

@media (max-width: 767px) {
	.broker-listing-hero__content {
		padding: 48px 0 52px;
	}

	.broker-listing-hero h1 {
		font-size: 42px;
	}

	.broker-listing-intro {
		font-size: 17px;
	}

	.broker-listing-section {
		padding: 52px 0 70px;
	}
}

@media (max-width: 575px) {
	.broker-listing-hero h1 {
		font-size: 37px;
	}

	.broker-cards {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.broker-card__media {
		min-height: 170px;
	}

	.broker-card__body {
		padding: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.broker-card,
	.broker-card__actions .cta-btn {
		transition: none;
	}
}
