/* =========================================================================
   Provider hub
   ========================================================================= */

.hg-provider-hero {
	padding-block: 4rem 3rem;
	background:
		radial-gradient(800px 400px at 10% -20%, rgba(32, 58, 151, 0.08), transparent 60%),
		var(--hg-bg);
	border-bottom: 1px solid var(--hg-line);
}

.hg-provider-hero__title {
	margin-top: 0.5rem;
	font-size: clamp(2rem, 4vw, 3rem);
}

.hg-provider-hero__commission {
	margin-top: 1rem;
	display: inline-block;
	padding: 0.5rem 0.9rem;
	background: var(--hg-accent-soft);
	color: var(--hg-accent);
	border-radius: 999px;
	font-size: 0.9rem;
}

/* Pricing table */

.hg-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--hg-line);
	border-radius: var(--hg-radius-md);
	background: #fff;
}

.hg-pricing-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
	min-width: 720px;
}

.hg-pricing-table th,
.hg-pricing-table td {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--hg-line);
	text-align: left;
}

.hg-pricing-table thead th {
	background: var(--hg-bg-soft);
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hg-text-muted);
}

.hg-pricing-table tr:last-child td {
	border-bottom: 0;
}

.hg-pricing-table td:last-child {
	font-weight: 600;
	font-family: var(--hg-font-mono);
	color: var(--hg-text);
}

/* Provider hub CTA */

.hg-provider-cta {
	margin: 2.5rem 0;
	padding: 2rem;
	border-radius: var(--hg-radius-lg);
	background: var(--hg-bg-soft);
	border: 1px solid var(--hg-line);
	display: grid;
	gap: 1rem;
	justify-items: start;
}

.hg-provider-cta--gradient {
	background:
		linear-gradient(135deg, rgba(32, 58, 151, 0.06), rgba(134, 16, 212, 0.06)),
		#fff;
	border-color: rgba(32, 58, 151, 0.2);
}

.hg-provider-cta--outline {
	background: #fff;
	border-style: dashed;
	border-color: var(--hg-line-strong);
}

.hg-provider-cta__title {
	margin: 0;
	font-size: 1.25rem;
}

.hg-provider-cta__model {
	margin: 0;
	color: var(--hg-text-soft);
	font-size: 0.95rem;
}

.hg-provider-cta__commission {
	margin: 0;
	font-weight: 700;
	color: var(--hg-accent);
	font-size: 1rem;
}

.hg-provider-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.5rem;
	background: var(--hg-gradient-cta);
	color: #fff;
	border-radius: 999px;
	font-weight: 600;
	box-shadow: 0 8px 24px rgba(32, 58, 151, 0.2);
	transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.hg-provider-cta--outline .hg-provider-cta__button {
	background: #fff;
	color: var(--hg-accent);
	border: 1px solid var(--hg-accent);
	box-shadow: none;
}

.hg-provider-cta__button:hover,
.hg-provider-cta__button:focus-visible {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(32, 58, 151, 0.28);
}

.hg-provider-cta--outline .hg-provider-cta__button:hover,
.hg-provider-cta--outline .hg-provider-cta__button:focus-visible {
	background: var(--hg-accent-soft);
	color: var(--hg-accent);
}

.hg-provider-cta__button svg {
	width: 1rem;
	height: 1rem;
}

.hg-provider-cta__disclosure {
	margin: 0;
	font-size: 0.8rem;
	color: var(--hg-text-muted);
}

/* =========================================================================
   CTA block (in content units)
   ========================================================================= */

.hg-cta-block {
	margin: 2.5rem 0;
	display: grid;
	gap: 1.25rem;
}

.hg-cta-block--grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 720px) {
	.hg-cta-block--grid {
		grid-template-columns: 1fr;
	}
}

.hg-cta-block__note {
	margin: 0;
	font-size: 0.85rem;
	color: var(--hg-text-muted);
	text-align: center;
}

.hg-cta-card {
	display: grid;
	gap: 0.75rem;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid var(--hg-line);
	border-radius: var(--hg-radius-md);
	justify-items: start;
}

.hg-cta-card--gradient {
	border-color: rgba(32, 58, 151, 0.2);
	background: linear-gradient(135deg, rgba(32, 58, 151, 0.04), rgba(134, 16, 212, 0.04)), #fff;
}

.hg-cta-card--outline {
	border-style: dashed;
}

.hg-cta-card__header {
	display: grid;
	gap: 0.25rem;
}

.hg-cta-card__provider {
	margin: 0;
	font-size: 1.125rem;
}

.hg-cta-card__commission {
	margin: 0;
	font-size: 0.85rem;
	color: var(--hg-text-muted);
}

.hg-cta-card__badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: #fef3c7;
	color: #92400e;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0;
}

.hg-cta-card__button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.25rem;
	background: var(--hg-gradient-cta);
	color: #fff;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	box-shadow: 0 6px 18px rgba(32, 58, 151, 0.18);
	transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.hg-cta-card--outline .hg-cta-card__button {
	background: #fff;
	color: var(--hg-accent);
	border: 1px solid var(--hg-accent);
	box-shadow: none;
}

.hg-cta-card__button:hover,
.hg-cta-card__button:focus-visible {
	color: #fff;
	transform: translateY(-1px);
}

.hg-cta-card--outline .hg-cta-card__button:hover,
.hg-cta-card--outline .hg-cta-card__button:focus-visible {
	color: var(--hg-accent);
	background: var(--hg-accent-soft);
}

.hg-cta-card__button svg {
	width: 0.95rem;
	height: 0.95rem;
}

.hg-cta-card__disclosure {
	margin: 0;
	font-size: 0.75rem;
	color: var(--hg-text-muted);
}
