/* =========================================================================
 * Insights CPT templates - scoped styles only.
 * Loaded only on the Insights archive (archive-insight.php) and single
 * (single-insight.php) templates - see the wp_enqueue_scripts hook appended
 * to functions.php. Does not duplicate or override any global theme styles.
 *
 * Palette / type pulled from this theme's existing style.css:
 *   Navy primary  : #342c85
 *   Green accent  : #017f20
 *   Body copy     : #6c6c6c
 *   Light surface : #f9f9f9 / #f3f3f3
 *   Borders       : #e3e3e3
 *   Headings font : "Bree Serif", serif
 *   Body font     : 'Roboto', sans-serif
 *   Pill radius   : 25px (buttons/badges) / 4px (cards)
 * ========================================================================= */

:root {
	--insight-navy: #342c85;
	--insight-navy-dark: #262066;
	--insight-green: #017f20;
	--insight-text: #6c6c6c;
	--insight-heading: #222222;
	--insight-bg-light: #f9f9f9;
	--insight-bg-alt: #f3f3f3;
	--insight-border: #e3e3e3;
	--insight-white: #ffffff;
	--insight-radius-card: 4px;
	--insight-radius-pill: 25px;
	--insight-font-heading: 'Bree Serif', serif;
	--insight-font-body: 'Roboto', sans-serif;
	--insight-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
}

/* -------------------------------------------------------------------------
 * Shared elements
 * ---------------------------------------------------------------------- */

.insight-breadcrumb-wrap {
	font-family: var(--insight-font-body);
}

.insight-term-badge {
	display: inline-block;
	background: var(--insight-navy);
	color: var(--insight-white);
	font-family: var(--insight-font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: var(--insight-radius-pill);
}

.insight-thumb-placeholder {
	width: 100%;
	height: 100%;
	min-height: 180px;
	background: linear-gradient(135deg, var(--insight-bg-alt), var(--insight-border));
}

.insight-empty-state {
	color: var(--insight-text);
	font-family: var(--insight-font-body);
	font-style: italic;
	padding: 20px 0;
}

.insight-card-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.insight-card {
	background: var(--insight-white);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-card);
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.insight-card:hover {
	box-shadow: var(--insight-shadow);
	transform: translateY(-3px);
}

.insight-card-thumb {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--insight-bg-alt);
}

.insight-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.insight-card-body {
	padding: 18px 20px 22px;
}

.insight-card-date {
	display: block;
	font-family: var(--insight-font-body);
	font-size: 12px;
	color: var(--insight-green);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 6px;
}

.insight-card-title {
	font-family: var(--insight-font-heading);
	font-size: 18px;
	line-height: 1.35;
	margin: 0 0 8px;
}

.insight-card-title a {
	color: var(--insight-heading);
	text-decoration: none;
}

.insight-card-title a:hover {
	color: var(--insight-navy);
}

.insight-card-excerpt {
	font-family: var(--insight-font-body);
	font-size: 14px;
	color: var(--insight-text);
	line-height: 1.6;
}

.insight-readmore-link,
.insight-view-all-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--insight-font-body);
	font-size: 14px;
	font-weight: 600;
	color: var(--insight-navy);
	text-decoration: none;
}

.insight-readmore-link:hover,
.insight-view-all-link:hover {
	color: var(--insight-green);
}

/* -------------------------------------------------------------------------
 * Archive: top section (featured post + sidebar)
 * ---------------------------------------------------------------------- */

.insight-archive-title {
	font-family: var(--insight-font-heading);
	margin-bottom: 30px;
}

.insight-top-section {
	margin-bottom: 40px;
}

.insight-featured-post {
	background: var(--insight-white);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-card);
	overflow: hidden;
	height: 100%;
}

.insight-featured-thumb {
	position: relative;
	display: block;
/* 	aspect-ratio: 16 / 8; */
	overflow: hidden;
	background: var(--insight-bg-alt);
}

.insight-featured-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.insight-featured-thumb .insight-term-badge {
	position: absolute;
	left: 20px;
	bottom: 16px;
}

.insight-featured-body {
	padding: 26px 28px 30px;
}

.insight-post-date {
	display: block;
	font-family: var(--insight-font-body);
	font-size: 13px;
	color: var(--insight-green);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 10px;
}

.insight-featured-title {
	font-family: var(--insight-font-heading);
	font-size: 28px;
	line-height: 1.3;
	margin: 0 0 14px;
}

.insight-featured-title a {
	color: var(--insight-heading);
	text-decoration: none;
}

.insight-featured-title a:hover {
	color: var(--insight-navy);
}

.insight-excerpt {
	font-family: var(--insight-font-body);
	font-size: 15px;
	color: var(--insight-text);
	line-height: 1.7;
	margin-bottom: 18px;
}

.insight-archive-sidebar {
	height: 100%;
	background: var(--insight-bg-light);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-card);
	padding: 24px;
}

.insight-recent-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.insight-recent-item {
	display: flex;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--insight-border);
}

.insight-recent-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.insight-recent-item:first-child {
	padding-top: 0;
}

.insight-recent-thumb {
	flex: 0 0 64px;
	width: 64px;
	height: 48px;
	border-radius: var(--insight-radius-card);
	overflow: hidden;
	background: var(--insight-border);
}

.insight-recent-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.insight-recent-meta {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.insight-recent-title {
	font-family: var(--insight-font-body);
	font-size: 14px;
	font-weight: 600;
	color: var(--insight-heading);
	text-decoration: none;
	line-height: 1.4;
}

.insight-recent-title:hover {
	color: var(--insight-navy);
}

.insight-recent-date {
	font-family: var(--insight-font-body);
	font-size: 12px;
	color: var(--insight-text);
	margin-top: 3px;
}

/* -------------------------------------------------------------------------
 * Archive: sticky filter tab bar
 * ---------------------------------------------------------------------- */

.insight-filter-bar-wrap {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--insight-white);
	border-bottom: 1px solid var(--insight-border);
	margin-bottom: 0;
}

.insight-filter-bar {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	padding: 14px 4px;
}

.insight-filter-bar::-webkit-scrollbar {
	height: 4px;
}

.insight-filter-bar::-webkit-scrollbar-thumb {
	background: var(--insight-border);
	border-radius: var(--insight-radius-pill);
}

.insight-filter-tab {
	flex: 0 0 auto;
	font-family: var(--insight-font-body);
	font-size: 14px;
	font-weight: 600;
	color: var(--insight-navy);
	background: var(--insight-bg-light);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-pill);
	padding: 9px 20px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.insight-filter-tab:hover {
	border-color: var(--insight-navy);
}

.insight-filter-tab.is-active {
	background: var(--insight-navy);
	border-color: var(--insight-navy);
	color: var(--insight-white);
}

/* -------------------------------------------------------------------------
 * Archive: per-term sections
 * ---------------------------------------------------------------------- */

.insight-term-section {
	padding: 46px 0;
}

.insight-term-section.insight-section-alt {
	background: var(--insight-bg-light);
}

.insight-term-section-inner {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 15px;
}

.insight-term-heading-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 24px;
}

.insight-term-heading {
	font-family: var(--insight-font-heading);
	font-size: 24px;
	color: var(--insight-heading);
	margin: 0;
}

/* -------------------------------------------------------------------------
 * CTA strip (archive) / CTA box (single sidebar)
 * ---------------------------------------------------------------------- */

.insight-cta-strip {
	background: var(--insight-navy);
	background: linear-gradient(120deg, var(--insight-navy), var(--insight-navy-dark));
	padding: 60px 0;
	text-align: center;
}

.insight-cta-inner .insight-cta-heading {
	font-family: var(--insight-font-heading);
	color: var(--insight-white);
	font-size: 30px;
	margin: 0 0 10px;
}

.insight-cta-inner .insight-cta-subtext {
	font-family: var(--insight-font-body);
	color: rgba(255, 255, 255, 0.85);
	font-size: 16px;
	margin: 0 0 24px;
}

.insight-cta-btn {
	display: inline-block;
	font-family: var(--insight-font-body);
	font-weight: 600;
	color: var(--insight-navy);
	background: var(--insight-white);
	border-radius: var(--insight-radius-pill);
	padding: 12px 34px;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.insight-cta-btn:hover {
	background: var(--insight-green);
	color: var(--insight-white);
}

.insight-cta-box {
	background: var(--insight-bg-light);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-card);
	padding: 24px;
	text-align: center;
	margin-top: 24px;
}

.insight-cta-box .insight-cta-heading {
	font-family: var(--insight-font-heading);
	font-size: 20px;
	color: var(--insight-heading);
	margin: 0 0 8px;
}

.insight-cta-box .insight-cta-subtext {
	font-family: var(--insight-font-body);
	font-size: 14px;
	color: var(--insight-text);
	margin: 0 0 18px;
}

.insight-cta-box .insight-cta-btn {
	background: var(--insight-navy);
	color: var(--insight-white);
	width: 100%;
}

.insight-cta-box .insight-cta-btn:hover {
	background: var(--insight-green);
}

/* -------------------------------------------------------------------------
 * Single: hero banner
 * ---------------------------------------------------------------------- */

.insight-hero-banner {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.insight-hero-image {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.insight-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(20, 16, 60, 0.88) 0%, rgba(20, 16, 60, 0.35) 60%, rgba(20, 16, 60, 0.15) 100%);
}

.insight-hero-content {
	position: relative;
	z-index: 2;
	padding: 50px 15px 40px;
	color: var(--insight-white);
}

.insight-hero-title {
	font-family: var(--insight-font-heading);
	font-size: 38px;
	line-height: 1.25;
	color: var(--insight-white);
	margin: 14px 0 16px;
}

.insight-hero-meta {
	display: flex;
	gap: 20px;
	font-family: var(--insight-font-body);
	font-size: 14px;
}

.insight-hero-meta i {
	margin-right: 6px;
	color: var(--insight-green);
}

/* -------------------------------------------------------------------------
 * Single: inline meta (no-hero fallback), body content
 * ---------------------------------------------------------------------- */

.insight-inline-title {
	font-family: var(--insight-font-heading);
	margin-bottom: 12px;
}

.insight-inline-meta {
	display: flex;
	align-items: center;
	gap: 18px;
	font-family: var(--insight-font-body);
	font-size: 14px;
	color: var(--insight-text);
	margin-bottom: 26px;
}

.insight-inline-meta i {
	margin-right: 6px;
	color: var(--insight-green);
}

.insight-single-wrap {
	padding-top: 40px;
	padding-bottom: 50px;
}

.insight-entry-content {
	font-family: var(--insight-font-body);
	font-size: 16px;
	line-height: 1.8;
	color: var(--insight-heading);
	margin-bottom: 28px;
}

.insight-entry-content h2,
.insight-entry-content h3 {
	font-family: var(--insight-font-heading);
	scroll-margin-top: 110px;
}

/* -------------------------------------------------------------------------
 * Single: tag pills
 * ---------------------------------------------------------------------- */

.insight-tag-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 34px;
}

.insight-tag-pill {
	font-family: var(--insight-font-body);
	font-size: 13px;
	font-weight: 600;
	color: var(--insight-navy);
	background: var(--insight-bg-light);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-pill);
	padding: 6px 16px;
	text-decoration: none;
}

.insight-tag-pill:hover {
	background: var(--insight-navy);
	border-color: var(--insight-navy);
	color: var(--insight-white);
}

/* -------------------------------------------------------------------------
 * Single: author box
 * ---------------------------------------------------------------------- */

.insight-author-box {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	background: var(--insight-bg-light);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-card);
	padding: 26px;
	margin-bottom: 40px;
}

.insight-author-avatar img {
	border-radius: 50%;
	display: block;
}

.insight-author-label {
	font-family: var(--insight-font-body);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--insight-green);
	font-weight: 600;
}

.insight-author-name {
	font-family: var(--insight-font-heading);
	font-size: 18px;
	margin: 4px 0 8px;
}

.insight-author-bio {
	font-family: var(--insight-font-body);
	font-size: 14px;
	color: var(--insight-text);
	line-height: 1.7;
	margin: 0;
}

/* -------------------------------------------------------------------------
 * Single: related posts
 * ---------------------------------------------------------------------- */

.insight-related-heading {
	font-family: var(--insight-font-heading);
	font-size: 22px;
	margin-bottom: 20px;
}

.insight-related-posts .insight-card-grid {
	grid-template-columns: repeat(3, 1fr);
}

/* -------------------------------------------------------------------------
 * Single: sticky sidebar / TOC
 * ---------------------------------------------------------------------- */

/* .insight-sticky-sidebar {
	position: sticky;
	top: 100px;
} */

.insight-toc-widget,
.insight-fallback-widget {
	background: var(--insight-white);
	border: 1px solid var(--insight-border);
	border-radius: var(--insight-radius-card);
	padding: 22px;
	margin-bottom: 24px;
}

.insight-toc-widget h3,
.insight-fallback-widget h3 {
	font-family: var(--insight-font-heading);
	font-size: 17px;
	margin: 0 0 14px;
}

.insight-toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid var(--insight-border);
}

.insight-toc-item {
	margin: 0;
}

/* .insight-toc-item.insight-toc-h3 .insight-toc-link {
	padding-left: 28px;
	font-size: 13px;
} */

.insight-toc-link {
	display: block;
	font-family: var(--insight-font-body);
	font-size: 14px;
	color: var(--insight-text);
	text-decoration: none;
	padding: 7px 0 7px 16px;
	border-left: 2px solid transparent;
	margin-left: -2px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.insight-toc-link:hover {
	color: var(--insight-navy);
}

.insight-toc-link.is-active {
	color: var(--insight-navy);
	font-weight: 600;
	border-left-color: var(--insight-navy);
}

/* =========================================================================
 * Responsive breakpoints (matches the theme's Bootstrap 3 grid breakpoints)
 * ========================================================================= */

@media (max-width: 991px) {
	.insight-card-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.insight-hero-title {
		font-size: 30px;
	}
}

@media (max-width: 767px) {
	.insight-top-section .insight-featured-col,
	.insight-top-section .insight-sidebar-col {
		margin-bottom: 24px;
	}

	.insight-card-grid {
		grid-template-columns: 1fr;
	}

	.insight-featured-title {
		font-size: 22px;
	}

	.insight-hero-banner {
		min-height: 300px;
	}

	.insight-hero-title {
		font-size: 24px;
	}

	.insight-hero-meta {
		flex-wrap: wrap;
		gap: 10px;
	}

	.insight-term-heading-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

/* 	.insight-sticky-sidebar {
		position: static;
		margin-top: 30px;
	} */

	.insight-author-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.insight-filter-bar {
		padding: 12px 4px;
	}
}