/**
 * VERHI keyword topic hub pages - v3.5.231
 *
 * Loaded only on /aggregation/<keyword>/ aggregation pages. Uses the same VERHI
 * design tokens as verhi-core.css, keeps Kadence header/footer untouched,
 * and only styles the custom topic template content area.
 */

.verhi-topic-page {
	background: #f7fafd;
	color: var(--vh-muted, #5b6b80);
}

.verhi-topic-page-inner {
	max-width: var(--global-content-width, 1200px);
	margin: 0 auto;
	padding: 0 24px 64px;
}

.verhi-topic-article {
	margin: 0;
}

/* Hero: subtle engineering-grid background, no decorative orbs. */
.verhi-topic-hero {
	background:
		linear-gradient(rgba(47, 111, 214, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(47, 111, 214, 0.05) 1px, transparent 1px),
		var(--vh-soft-blue, #eaf3ff);
	background-size: 44px 44px, 44px 44px, auto;
	border-bottom: 1px solid var(--vh-line, #e3ebf5);
	margin: 0 -24px 0;
	padding: 72px 24px 68px;
}

.verhi-aggregation-archive .verhi-topic-hero {
	padding: 84px 24px 76px;
}

.verhi-aggregation-archive .verhi-topic-hero-inner {
	max-width: 900px;
}

.verhi-aggregation-archive .verhi-topic-title {
	font-size: 52px;
}

.verhi-aggregation-archive .verhi-topic-intro {
	max-width: 760px;
}

.verhi-topic-hero-inner {
	max-width: 860px;
}

.verhi-topic-eyebrow {
	display: inline-block;
	margin: 0 0 18px;
	padding: 6px 14px;
	border: 1px solid rgba(47, 111, 214, 0.28);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	color: var(--vh-blue, #2f6fd6);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
}

.verhi-topic-title {
	margin: 0 0 18px;
	color: var(--vh-ink, #16324f);
	font-size: 42px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0;
}

.verhi-topic-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
}

.verhi-topic-meta-item {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 12px;
	border: 1px solid var(--vh-line, #e3ebf5);
	border-radius: 6px;
	background: var(--vh-card, #ffffff);
	color: var(--vh-muted, #5b6b80);
	font-size: 13px;
	font-weight: 500;
}

.verhi-topic-intro {
	margin: 0;
	max-width: 760px;
	color: #3d526c;
	font-size: 17px;
	line-height: 1.75;
}

/* Content sections: full-width bands with constrained inner text. */
.verhi-topic-section {
	max-width: 860px;
	margin: 0 auto;
	padding: 46px 0 6px;
}

.verhi-topic-head {
	margin-bottom: 22px;
}

.verhi-topic-head h2 {
	position: relative;
	margin: 0 0 12px;
	padding-left: 16px;
	color: var(--vh-ink, #16324f);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

.verhi-topic-head h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 5px;
	border-radius: 3px;
	background: var(--vh-blue, #2f6fd6);
}

.verhi-topic-head p {
	margin: 0;
	color: var(--vh-muted, #5b6b80);
	font-size: 15px;
	line-height: 1.65;
}

.verhi-topic-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 40px;
}

.verhi-topic-chip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 7px 15px;
	border: 1px solid var(--vh-line, #e3ebf5);
	border-radius: 8px;
	background: #fbfdff;
	color: #33475f;
	font-size: 14px;
	font-weight: 500;
	box-shadow: 0 1px 3px rgba(22, 50, 79, 0.06);
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.verhi-topic-list {
	display: grid;
	gap: 10px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
	counter-reset: topic-list;
}

.verhi-topic-list li {
	position: relative;
	padding: 15px 20px 15px 56px;
	border: 1px solid var(--vh-line, #e3ebf5);
	border-radius: 8px;
	background: var(--vh-card, #ffffff);
	color: #33475f;
	font-size: 15px;
	line-height: 1.6;
	counter-increment: topic-list;
	transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.verhi-topic-list li::before {
	content: counter(topic-list, decimal-leading-zero);
	position: absolute;
	left: 14px;
	top: 15px;
	color: var(--vh-cyan, #35b6e8);
	font-size: 13px;
	font-weight: 800;
}

.verhi-topic-list li:hover {
	border-color: rgba(47, 111, 214, 0.28);
	background: #fbfdff;
	box-shadow: 0 4px 14px rgba(22, 50, 79, 0.07);
}

/* Featured content cards. */
.verhi-topic-section.is-featured {
	max-width: 1060px;
	padding-top: 54px;
	border-top: 1px solid var(--vh-line, #e3ebf5);
	margin-top: 20px;
}

.verhi-topic-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 44px;
}

.verhi-topic-card {
	min-width: 0;
	border: 1px solid var(--vh-line, #e3ebf5);
	border-radius: 8px;
	background: var(--vh-card, #ffffff);
	box-shadow: 0 1px 2px rgba(22, 50, 79, 0.04);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.verhi-topic-card:hover {
	border-color: rgba(47, 111, 214, 0.4);
	box-shadow: 0 10px 24px rgba(22, 50, 79, 0.10);
	transform: translateY(-2px);
}

.verhi-topic-card-link {
	display: block;
	position: relative;
	padding: 22px 46px 22px 22px;
	color: inherit;
	text-decoration: none;
}

.verhi-topic-card-link:hover {
	color: inherit;
}

.verhi-topic-card-link::after {
	content: "→";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--vh-blue, #2f6fd6);
	font-size: 18px;
	line-height: 1;
	opacity: 0;
	transition: opacity 160ms ease, transform 160ms ease;
}

.verhi-topic-card:hover .verhi-topic-card-link::after {
	opacity: 1;
	transform: translate(3px, -50%);
}

.verhi-topic-card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.verhi-topic-card-type {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 2px 10px;
	border-radius: 6px;
	background: var(--vh-soft-blue, #eaf3ff);
	color: var(--vh-blue, #2f6fd6);
	font-size: 12px;
	font-weight: 700;
}

.verhi-topic-card-meta time {
	color: var(--vh-muted, #5b6b80);
	font-size: 12px;
}

.verhi-topic-card h3 {
	margin: 0 0 10px;
	color: var(--vh-ink, #16324f);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
}

.verhi-topic-card p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	color: var(--vh-muted, #5b6b80);
	font-size: 14px;
	line-height: 1.65;
}

.verhi-topic-empty {
	max-width: 720px;
	margin: 0 auto 40px;
	padding: 18px;
	border: 1px dashed var(--vh-line, #e3ebf5);
	border-radius: 8px;
	background: var(--vh-card, #ffffff);
	color: var(--vh-muted, #5b6b80);
	font-size: 14px;
	line-height: 1.6;
}

/* CTA band. */
.verhi-topic-cta {
	background:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		var(--vh-ink, #16324f);
	background-size: 44px 44px, 44px 44px, auto;
	border-radius: 10px;
	margin: 48px auto 0;
	padding: 48px 32px;
	box-shadow: 0 18px 42px rgba(22, 50, 79, 0.16);
}

.verhi-topic-cta-inner {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.verhi-topic-cta h2 {
	margin: 0 0 14px;
	color: #ffffff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

.verhi-topic-cta p {
	margin: 0 0 26px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
	line-height: 1.7;
}

.verhi-topic-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 24px;
	border-radius: 6px;
	background: #ffffff;
	color: var(--vh-ink, #16324f);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.verhi-topic-btn:hover {
	background: var(--vh-soft-blue, #eaf3ff);
	color: var(--vh-blue, #2f6fd6);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

/* /aggregation/ parent page index. */
.verhi-topic-index {
	max-width: 1060px;
	margin: 0 auto;
	padding: 58px 0 10px;
}

.verhi-topic-index-head {
	margin-bottom: 24px;
}

.verhi-topic-index-head h2 {
	position: relative;
	margin: 0 0 10px;
	padding-left: 16px;
	color: var(--vh-ink, #16324f);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

.verhi-topic-index-head h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 5px;
	border-radius: 3px;
	background: var(--vh-blue, #2f6fd6);
}

.verhi-topic-index-head p {
	margin: 0;
	color: var(--vh-muted, #5b6b80);
	font-size: 15px;
	line-height: 1.65;
}

.verhi-topic-index-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 44px;
}

.verhi-topic-index-card {
	display: grid;
	position: relative;
	gap: 10px;
	min-width: 0;
	padding: 22px 24px;
	border: 1px solid var(--vh-line, #e3ebf5);
	border-radius: 8px;
	background: var(--vh-card, #ffffff);
	color: var(--vh-ink, #16324f);
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	box-shadow: 0 1px 3px rgba(22, 50, 79, 0.05);
}

.verhi-topic-index-card::after {
	content: "→";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--vh-blue, #2f6fd6);
	font-size: 18px;
	line-height: 1;
	opacity: 0;
	transition: opacity 160ms ease, transform 160ms ease;
}

.verhi-topic-index-card:hover {
	border-color: rgba(47, 111, 214, 0.42);
	box-shadow: 0 10px 26px rgba(22, 50, 79, 0.10);
	transform: translateY(-3px);
	color: var(--vh-ink, #16324f);
}

.verhi-topic-index-card:hover::after {
	opacity: 1;
	transform: translate(4px, -50%);
}

.verhi-topic-index-card strong {
	padding-right: 28px;
	font-size: 16px;
	line-height: 1.4;
}

.verhi-topic-index-meta {
	color: var(--vh-muted, #5b6b80);
	font-size: 13px;
}

@media (max-width: 1024px) {
	.verhi-topic-hero {
		padding: 56px 24px 56px;
	}

	.verhi-aggregation-archive .verhi-topic-hero {
		padding: 64px 24px 60px;
	}

	.verhi-aggregation-archive .verhi-topic-title {
		font-size: 44px;
	}

	.verhi-topic-index {
		padding-top: 48px;
	}

	.verhi-topic-index-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.verhi-topic-title {
		font-size: 38px;
	}
}

@media (max-width: 768px) {
	.verhi-topic-page-inner {
		padding: 0 16px 48px;
	}

	.verhi-topic-hero {
		margin: 0 -16px 0;
		padding: 44px 16px 44px;
	}

	.verhi-aggregation-archive .verhi-topic-hero {
		padding: 44px 16px 44px;
	}

	.verhi-topic-title {
		font-size: 32px;
	}

	.verhi-aggregation-archive .verhi-topic-title {
		font-size: 34px;
	}

	.verhi-topic-intro {
		font-size: 16px;
		line-height: 1.75;
	}

	.verhi-topic-section {
		padding-top: 42px;
	}

	.verhi-topic-grid,
	.verhi-topic-index-grid {
		grid-template-columns: 1fr;
	}

	.verhi-topic-index {
		padding: 40px 0 10px;
	}

	.verhi-topic-index-head {
		margin-bottom: 20px;
	}

	.verhi-topic-cta {
		padding: 38px 20px;
	}

	.verhi-topic-cta h2 {
		font-size: 24px;
	}
}

@media (max-width: 480px) {
	.verhi-topic-title {
		font-size: 28px;
	}

	.verhi-topic-index-card {
		padding: 18px 18px;
	}

	.verhi-topic-index-card::after {
		display: none;
	}

	.verhi-topic-index-card strong {
		padding-right: 0;
	}

	.verhi-topic-meta-item {
		width: 100%;
		justify-content: center;
	}

	.verhi-topic-card-link {
		padding: 16px;
	}

	.verhi-topic-card-meta {
		align-items: flex-start;
		flex-direction: column;
	}
}
