/* GPI Knowledge Hub styles v1.0.0 */

.gpi-knowledge-banner {
	background-size: cover;
	background-position: center;
	position: relative;
	color: #fff;
	padding: 130px 0 80px;
	text-align: center;
}

.gpi-knowledge-banner .gpi-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(8, 48, 80, 0.78), rgba(14, 124, 134, 0.62));
}

.gpi-knowledge-banner .gpi-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 860px;
	margin: 0 auto;
	padding: 0 20px;
}

.gpi-section-page .gpi-knowledge-banner h1 {
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 800;
	margin: 0 0 16px;
	line-height: 1.1;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.gpi-knowledge-banner .gpi-hero-sub {
	font-size: clamp(16px, 2vw, 20px);
	margin: 0 0 28px;
	opacity: 0.92;
	line-height: 1.5;
}

.gpi-knowledge-banner--single {
	text-align: left;
}

.gpi-knowledge-banner--single .gpi-hero-inner {
	max-width: 1100px;
}

.gpi-knowledge-single-cat a {
	display: inline-block;
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	padding: 5px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 14px;
}

.gpi-knowledge-meta {
	display: flex;
	gap: 18px;
	font-size: 14px;
	margin-top: 18px;
	opacity: 0.9;
}

.gpi-hero-search {
	display: flex;
	max-width: 560px;
	margin: 0 auto;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.gpi-hero-search input {
	flex: 1;
	border: none;
	padding: 16px 20px;
	font-size: 16px;
	outline: none;
	color: #1a2b3c;
}

.gpi-hero-search button {
	border: none;
	background: #0e7c86;
	color: #fff;
	padding: 0 28px;
	font-weight: 700;
	cursor: pointer;
}

.gpi-section-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px clamp(20px, 4vw, 64px);
}

@media (max-width: 760px) {
	.gpi-section-wrap { padding: 28px 20px; }
}

.gpi-knowledge-intro {
	max-width: 780px;
	margin: 0 auto 48px;
	text-align: center;
}

.gpi-knowledge-intro h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 14px;
	color: #0a1f2e;
}

.gpi-knowledge-intro p {
	font-size: 17px;
	color: #4a5568;
	line-height: 1.7;
}

/* Category grid */
.gpi-kcat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: 56px;
}

@media (max-width: 1100px) {
	.gpi-kcat-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 760px) {
	.gpi-kcat-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.gpi-kcat-grid {
		grid-template-columns: 1fr;
	}
}

.gpi-kcat-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	transition: transform 0.2s, box-shadow 0.2s;
}

.gpi-kcat-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

.gpi-kcat-media {
	display: block;
	height: 150px;
	background: linear-gradient(135deg, #0e7c86, #0a5f6b);
	position: relative;
}

.gpi-kcat-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gpi-kcat-icon {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 52px;
}

.gpi-kcat-body {
	padding: 20px;
}

.gpi-kcat-body h3 {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 8px;
}

.gpi-kcat-body h3 a {
	color: #0a1f2e;
	text-decoration: none;
}

.gpi-kcat-body h3 a:hover {
	color: #0e7c86;
}

.gpi-kcat-body p {
	font-size: 14px;
	color: #4a5568;
	margin: 0;
	line-height: 1.5;
}

.gpi-kcat-count {
	display: inline-block;
	margin-top: 12px;
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 600;
	color: #0e7c86;
	background: #e6f4f5;
	border-radius: 999px;
}

/* Article grid */
.gpi-knowledge-featured {
	margin-bottom: 56px;
}

.gpi-knowledge-featured h2,
.gpi-knowledge-list h2,
.gpi-knowledge-subcats h2 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 24px;
	color: #0a1f2e;
}

.gpi-knowledge-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 28px;
}

.gpi-knowledge-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s, box-shadow 0.2s;
}

.gpi-knowledge-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

.gpi-kcard-media {
	display: block;
	height: 180px;
	background: #eef2f6;
	overflow: hidden;
}

.gpi-kcard-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.gpi-knowledge-card:hover .gpi-kcard-media img {
	transform: scale(1.05);
}

.gpi-kcard-body {
	padding: 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.gpi-kcard-cat {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #0e7c86;
	margin-bottom: 8px;
}

.gpi-kcard-body h3 {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 10px;
	line-height: 1.3;
}

.gpi-kcard-body h3 a {
	color: #0a1f2e;
	text-decoration: none;
}

.gpi-kcard-body h3 a:hover {
	color: #0e7c86;
}

.gpi-kcard-body p {
	font-size: 14px;
	color: #4a5568;
	line-height: 1.6;
	margin: 0 0 14px;
	flex: 1;
}

.gpi-kcard-meta {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: #718096;
	margin-top: auto;
}

/* List header */
.gpi-knowledge-list-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 8px;
}

.gpi-knowledge-count {
	font-size: 14px;
	color: #718096;
	font-weight: 600;
}

.gpi-knowledge-subcats {
	margin-bottom: 48px;
}

/* Single article layout — seamless banner, two-column with right sidebar */
.gpi-knowledge-body {
	max-width: 1180px;
	margin: 0 auto;
	padding: 40px clamp(20px, 4vw, 40px) 80px;
}

.gpi-knowledge-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 56px;
	align-items: start;
}

.gpi-knowledge-main {
	min-width: 0;
}

.gpi-knowledge-article {
	max-width: 720px;
}

.gpi-knowledge-article .gpi-crumbs {
	margin-bottom: 28px;
	justify-content: flex-start;
	font-size: 13px;
}

.gpi-knowledge-banner--single {
	padding: 80px 0 56px;
	margin-top: 0;
	min-height: 320px;
	display: flex;
	align-items: flex-end;
}

.gpi-knowledge-banner--single .gpi-hero-inner {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 clamp(20px, 5vw, 64px);
	width: 100%;
}

.gpi-section-page .gpi-knowledge-banner--single h1 {
	font-size: clamp(34px, 5vw, 52px);
	font-weight: 800;
	line-height: 1.15;
	max-width: 860px;
	margin: 0 0 16px;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.gpi-knowledge-banner--single .gpi-hero-sub {
	font-size: clamp(17px, 2.2vw, 21px);
	max-width: 720px;
	opacity: 0.92;
	margin: 0 0 26px;
}

.gpi-knowledge-meta {
	display: flex;
	gap: 18px;
	font-size: 14px;
	margin-top: 18px;
	opacity: 0.9;
	flex-wrap: wrap;
}

.gpi-knowledge-hero-image {
	margin: 0 0 40px;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(16, 42, 67, 0.10);
}

.gpi-knowledge-hero-image img {
	width: 100%;
	height: auto;
	display: block;
}

.gpi-knowledge-content {
	font-size: 17px;
	line-height: 1.85;
	color: #334155;
}

.gpi-knowledge-content h2,
.gpi-knowledge-content h3,
.gpi-knowledge-content h4 {
	color: #0f172a;
	margin-top: 44px;
	margin-bottom: 16px;
	line-height: 1.25;
	font-weight: 700;
}

.gpi-knowledge-content h2 {
	font-size: 28px;
}

.gpi-knowledge-content h3 {
	font-size: 22px;
}

.gpi-knowledge-content h4 {
	font-size: 18px;
}

.gpi-knowledge-content p {
	margin-bottom: 20px;
}

.gpi-knowledge-content ul,
.gpi-knowledge-content ol {
	margin-bottom: 24px;
	padding-left: 28px;
}

.gpi-knowledge-content li {
	margin-bottom: 10px;
}

.gpi-knowledge-content a {
	color: #0e7c86;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gpi-knowledge-content a:hover {
	color: #0a5f6b;
}

.gpi-knowledge-content table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 28px;
	font-size: 15px;
}

.gpi-knowledge-content th,
.gpi-knowledge-content td {
	border: 1px solid #e2e8f0;
	padding: 12px;
	text-align: left;
}

.gpi-knowledge-content th {
	background: #f7fafc;
	font-weight: 700;
}

.gpi-knowledge-content img {
	border-radius: 10px;
	max-width: 100%;
	height: auto;
}

/* Author box */
.gpi-knowledge-author-box {
	display: flex;
	gap: 22px;
	align-items: flex-start;
	margin-top: 56px;
	padding: 28px;
	background: #fff;
	border-radius: 16px;
	border: 1px solid #e2e8f0;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
	position: relative;
	overflow: hidden;
}

.gpi-knowledge-author-box::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: #0e7c86;
}

.gpi-knowledge-author-avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
	border: 3px solid #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.gpi-knowledge-author-info {
	flex: 1;
	min-width: 0;
}

.gpi-knowledge-author-name {
	font-size: 18px;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 4px;
	display: block;
}

.gpi-knowledge-author-role {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	color: #0e7c86;
	margin-bottom: 10px;
	display: inline-block;
}

.gpi-knowledge-author-bio {
	font-size: 14px;
	color: #475569;
	line-height: 1.65;
	margin: 0;
}

/* Related entities */
.gpi-knowledge-related {
	background: #f8fafc;
	border-radius: 14px;
	padding: 32px;
	margin-top: 48px;
	border: 1px solid #e2e8f0;
}

.gpi-knowledge-related > h3 {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 20px;
	color: #0f172a;
}

.gpi-rel-group {
	margin-bottom: 18px;
}

.gpi-rel-group h4 {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #718096;
	margin: 0 0 8px;
}

.gpi-rel-items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gpi-rel-items a,
.gpi-rel-items span {
	display: inline-block;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 6px 14px;
	font-size: 13px;
	color: #2d3748;
	text-decoration: none;
}

.gpi-rel-items a:hover {
	background: #0e7c86;
	color: #fff;
	border-color: #0e7c86;
}

/* Sidebar */
.gpi-knowledge-sidebar {
	position: sticky;
	top: 100px;
}

.gpi-kwidget {
	background: #fff;
	border-radius: 14px;
	padding: 24px;
	margin-bottom: 20px;
	border: 1px solid #e2e8f0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	position: relative;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gpi-kwidget:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.gpi-kwidget::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: #0e7c86;
}

.gpi-kwidget-cat::before { background: #0e7c86; }
.gpi-kwidget-related::before { background: #2563eb; }
.gpi-kwidget-reports::before { background: #7c3aed; }
.gpi-kwidget-cta::before { background: #0e7c86; }

.gpi-kwidget h4 {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0 0 14px;
	color: #64748b;
}

.gpi-kwidget p {
	font-size: 14px;
	color: #475569;
	line-height: 1.6;
	margin: 0 0 16px;
}

.gpi-kwidget a {
	color: #0e7c86;
	font-weight: 600;
	text-decoration: none;
}

.gpi-kwidget a:hover {
	text-decoration: underline;
}

.gpi-kwidget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.gpi-kwidget li {
	border-bottom: 1px solid #f1f5f9;
	padding: 11px 0;
	position: relative;
	padding-left: 16px;
}

.gpi-kwidget li::before {
	content: '→';
	position: absolute;
	left: 0;
	top: 11px;
	color: #cbd5e1;
	font-size: 12px;
}

.gpi-kwidget li:last-child {
	border-bottom: none;
}

.gpi-kwidget li a {
	font-size: 14px;
	color: #2d3748;
	font-weight: 500;
	display: block;
}

.gpi-kwidget li a:hover {
	color: #0e7c86;
}

.gpi-kwidget-cta {
	background: linear-gradient(135deg, #f0fdfa 0%, #ffffff 100%);
}

.gpi-kwidget-cta p {
	color: #334155;
}

.gpi-btn {
	display: inline-block;
	background: #0e7c86;
	color: #fff !important;
	padding: 12px 22px;
	border-radius: 8px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background 0.2s ease, transform 0.2s ease;
}

.gpi-btn:hover {
	background: #0a5f6b;
	transform: translateY(-1px);
}

/* Pagination */
.gpi-pagination {
	margin-top: 40px;
	text-align: center;
}

.gpi-pagination a,
.gpi-pagination span {
	display: inline-block;
	padding: 10px 16px;
	margin: 0 4px;
	border-radius: 6px;
	background: #fff;
	color: #2d3748;
	font-weight: 600;
	border: 1px solid #e2e8f0;
	text-decoration: none;
}

.gpi-pagination .current {
	background: #0e7c86;
	color: #fff;
	border-color: #0e7c86;
}

.gpi-pagination a:hover {
	background: #f7fafc;
}

/* Empty state */
.gpi-empty {
	text-align: center;
	padding: 60px 20px;
	color: #718096;
}

.gpi-empty a {
	color: #0e7c86;
	font-weight: 600;
}

/* Responsive */
@media (max-width: 980px) {
	.gpi-knowledge-body {
		padding: 28px 20px 56px;
	}

	.gpi-knowledge-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.gpi-knowledge-main {
		order: 1;
	}

	.gpi-knowledge-sidebar {
		position: static;
		order: 2;
	}

	.gpi-knowledge-article {
		max-width: 100%;
	}

	.gpi-knowledge-banner--single {
		padding: 64px 0 40px;
		min-height: 260px;
	}

	.gpi-knowledge-author-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 22px;
	}

	.gpi-knowledge-author-avatar {
		width: 72px;
		height: 72px;
	}

	.gpi-knowledge-sidebar {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
		gap: 20px;
	}

	.gpi-kwidget {
		margin-bottom: 0;
	}

	.gpi-kcat-grid {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	}

	.gpi-knowledge-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================================
 * News sidebar — signup CTA · rankings · company picks  (2026-09-12)
 * ====================================================================== */

/* ---------- Signup CTA ---------- */
.gpi-kwidget.gpi-kwidget-signup {
	background: linear-gradient(135deg, #0e7c86 0%, #0a5a63 100%);
	border: 0;
	box-shadow: 0 6px 18px rgba(14, 124, 134, 0.22);
}

.gpi-kwidget.gpi-kwidget-signup::before {
	background: #f59e0b;
}

.gpi-kwidget.gpi-kwidget-signup h4 {
	color: #fff;
	text-transform: none;
	letter-spacing: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 8px;
}

.gpi-kwidget.gpi-kwidget-signup p {
	color: rgba(255, 255, 255, 0.88);
	font-size: 13px;
	margin: 0 0 16px;
}

.gpi-signup-badge {
	display: inline-block;
	background: #f59e0b;
	color: #412402;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: 999px;
	margin-bottom: 12px;
}

.gpi-kwidget.gpi-kwidget-signup .gpi-signup-btn {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	background: #fff;
	color: #0a5a63 !important;
	padding: 13px 18px;
	border-radius: 9px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.gpi-kwidget.gpi-kwidget-signup .gpi-signup-btn:hover {
	background: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
	text-decoration: none;
}

.gpi-kwidget.gpi-kwidget-signup .gpi-signup-login {
	display: block;
	text-align: center;
	margin-top: 11px;
	font-size: 12px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
}

.gpi-kwidget.gpi-kwidget-signup .gpi-signup-login:hover {
	color: #fff;
	text-decoration: underline;
}

/* ---------- Rankings ---------- */
.gpi-kwidget.gpi-kwidget-rankings::before {
	background: #2563eb;
}

.gpi-kwidget .gpi-kwidget-rank-list li {
	padding: 0;
	border-bottom: 1px solid #f1f5f9;
}

.gpi-kwidget .gpi-kwidget-rank-list li::before {
	display: none;
}

.gpi-kwidget .gpi-kwidget-rank-list li:last-child {
	border-bottom: 0;
}

.gpi-kwidget .gpi-kwidget-rank-list li a {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	padding: 12px 0;
	text-decoration: none;
	color: inherit;
}

.gpi-rank-index {
	flex: none;
	width: 23px;
	height: 23px;
	margin-top: 1px;
	border-radius: 7px;
	background: #eff6ff;
	color: #2563eb;
	font-size: 12px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gpi-rank-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.gpi-rank-title {
	font-size: 13.5px;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.35;
}

.gpi-rank-kicker {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #94a3b8;
}

.gpi-rank-peek {
	font-size: 11.5px;
	color: #64748b;
	line-height: 1.4;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.gpi-kwidget .gpi-kwidget-rank-list li a:hover .gpi-rank-title {
	color: #2563eb;
}

/* ---------- Company picks ---------- */
.gpi-kwidget.gpi-kwidget-manufacturers::before {
	background: #0e7c86;
}

.gpi-kwidget.gpi-kwidget-retailers::before {
	background: #7c3aed;
}

.gpi-kwidget.gpi-kwidget-companies .gpi-kwidget-blurb {
	font-size: 12.5px;
	color: #94a3b8;
	margin: -4px 0 12px;
	line-height: 1.5;
}

.gpi-kwidget .gpi-kwidget-co-list li {
	padding: 0;
	border-bottom: 1px solid #f1f5f9;
}

.gpi-kwidget .gpi-kwidget-co-list li::before {
	display: none;
}

.gpi-kwidget .gpi-kwidget-co-list li:last-child {
	border-bottom: 0;
}

.gpi-kwidget .gpi-kwidget-co-list li a {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 0;
	text-decoration: none;
}

.gpi-co-cc {
	flex: none;
	width: 28px;
	padding: 3px 0;
	border-radius: 5px;
	background: #f1f5f9;
	color: #64748b;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	text-align: center;
}

.gpi-co-name {
	font-size: 13px;
	font-weight: 500;
	color: #1e293b;
	line-height: 1.35;
}

.gpi-kwidget .gpi-kwidget-co-list li a:hover .gpi-co-name {
	color: #0e7c86;
}

/* ---------- Shared "more" link ---------- */
.gpi-kwidget .gpi-kwidget-more {
	display: inline-block;
	margin-top: 13px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

@media (max-width: 782px) {
	.gpi-kwidget.gpi-kwidget-signup h4 {
		font-size: 15px;
	}
}
