/* Blog, infographics, downloadable resources */
.blog-layout { max-width: none; }
.blog-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.blog-card { background: white; border: 1px solid #d9d9d9; border-radius: 0; overflow: hidden; box-shadow: none; }
.blog-card-media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	background-size: cover;
	background-position: center;
	background-color: rgba(2, 6, 23, 0.04);
}
.blog-card-body { padding: 16px; }
.blog-card-title { font-size: 16px; margin: 0 0 12px; line-height: 1.3; }
.blog-card-title a { text-decoration: none; color: #1f7aa6; }
.blog-card-title a:hover { text-decoration: underline; }
.blog-card-excerpt { margin: 0 0 16px; color: rgba(15, 23, 42, 0.70); font-size: 13px; line-height: 1.6; }
.blog-card-meta { margin: 0; font-size: 11px; color: rgba(15, 23, 42, 0.55); }
.blog-pagination { margin-top: 18px; display: flex; gap: 8px; flex-wrap: wrap; }
.blog-pagination a, .blog-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 0;
	border: 1px solid rgba(15, 23, 42, 0.16);
	text-decoration: none;
	color: var(--hh-text);
	background: white;
}
.blog-pagination .current { background: rgba(11, 42, 91, 0.10); border-color: rgba(11, 42, 91, 0.22); color: var(--hh-primary); font-weight: 800; }

/* ── Single post (HiTech news layout) ── */
.page-blog-single .blog-single-banner {
	padding: 32px 0 24px;
	background: #fff;
	border-bottom: 1px solid #d9d9d9;
}

.page-blog-single .blog-single-back-link-wrap {
	margin: 0 0 16px;
}

.page-blog-single .blog-single-back-link {
	color: #007abd;
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
}

.page-blog-single .blog-single-back-link:hover {
	text-decoration: underline;
}

.page-blog-single .blog-single-title {
	margin: 0 0 16px;
	font-size: clamp(28px, 3.5vw, 40px);
	line-height: 1.2;
	color: #546e7a;
	font-weight: 400;
	letter-spacing: -0.02em;
}

.page-blog-single .blog-single-dates {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.page-blog-single .blog-single-date {
	margin: 0;
	font-size: 14px;
	color: #546e7a;
}

.page-blog-single .section-blog-single {
	padding-top: 32px;
	padding-bottom: 40px;
	background: #fff;
}

.page-blog-single .blog-single-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 300px);
	gap: 28px 36px;
	align-items: start;
}

.page-blog-single .blog-single-main {
	min-width: 0;
}

/* Hero image */
.page-blog-single .blog-single-hero-img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	margin-bottom: 22px;
	padding: 5px;
	border: 1px solid #dedede;
	border-radius: 5px;
	box-sizing: border-box;
}

/* Lead quote — HiTech blockquote.special */
.page-blog-single .blog-lead-special {
	margin: 0 0 24px;
	padding: 15px 20px;
	border: 0;
	background: #f0f8ff;
	color: #242e3e;
	font-size: 20px;
	line-height: 32px;
	font-style: italic;
	font-weight: 400;
}

/* Table of Contents */
.page-blog-single .blog-table-of-content {
	margin-bottom: 28px;
	padding: 12px 20px;
	background: #fafafa;
	border: 1px solid #d9d9d9;
}

.page-blog-single .blog-single-toc-title {
	margin: 0 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #d9d9d9;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	color: #354750;
}

.page-blog-single .blog-toc-list {
	margin: 0;
	padding-left: 20px;
	list-style: disc;
}

.page-blog-single .blog-toc-list li {
	margin: 0 0 3px;
	line-height: 26px;
}

.page-blog-single .blog-toc-list a {
	color: #0645ad;
	font-size: 16px;
	text-decoration: none;
}

.page-blog-single .blog-toc-list a:hover {
	text-decoration: underline;
}

/* Main content typography */
.page-blog-single .blog-single-content {
	color: #222;
	font-size: 17px;
	line-height: 32px;
}

.page-blog-single .blog-single-content > :first-child {
	margin-top: 0;
}

.page-blog-single .blog-single-content p {
	margin: 0 0 15px;
}

.page-blog-single .blog-single-content h2 {
	margin: 32px 0 16px;
	font-size: 28px;
	line-height: 40px;
	color: #354750;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.page-blog-single .blog-single-content h3,
.page-blog-single .blog-single-content .blog-heading-special {
	margin: 0;
	font-size: 20px;
	line-height: 1.35;
	color: #007abd;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.page-blog-single .blog-single-content ul,
.page-blog-single .blog-single-content ol {
	margin: 0 0 15px 25px;
	padding: 0;
}

.page-blog-single .blog-single-content ul li {
	margin-bottom: 5px;
	list-style: disc;
}

.page-blog-single .blog-single-content a {
	color: #007abd;
	text-decoration: none;
}

.page-blog-single .blog-single-content a:hover {
	text-decoration: underline;
}

/* In-content images */
.page-blog-single .blog-img-thumbnail {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	margin: 0 0 20px;
	padding: 5px;
	border: 1px solid #dedede;
	border-radius: 5px;
	box-sizing: border-box;
}

.page-blog-single .blog-image-box {
	position: relative;
	margin: 20px auto 24px;
	padding: 10px;
	border: 1px solid #d3e3fd;
	border-radius: 5px;
	box-shadow: 1px 1px 16px rgb(221 221 221 / 63%);
	box-sizing: border-box;
	background: #fff;
}

.page-blog-single .blog-image-box img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	margin: 0;
	border-radius: 5px;
}

.page-blog-single .blog-image-caption {
	display: block;
	margin-top: 10px;
	padding: 6px 15px 8px;
	border: 1px solid #d3e3fd;
	border-radius: 5px;
	background: #edeff6;
	color: #464646;
	font-size: 15px;
	line-height: 1.2;
	text-align: center;
}

.page-blog-single .blog-case-study-images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
}

.page-blog-single .blog-image-box-half {
	margin: 0;
}

.page-blog-single .blog-image-box span:not(.blog-image-caption) {
	display: block;
	margin-top: 10px;
	padding: 6px 15px 8px;
	border: 1px solid #d3e3fd;
	border-radius: 5px;
	background: #edeff6;
	color: #464646;
	font-size: 15px;
	line-height: 1.2;
	text-align: center;
}

/* CTA boxes */
.page-blog-single .blog-cta-box {
	width: 100%;
	margin: 40px auto;
	padding: 35px 40px;
	border: 5px solid #def3ff;
	box-sizing: border-box;
	clear: both;
	text-align: center;
	background: #fff;
}

.page-blog-single .blog-cta-box p {
	margin: 0;
	font-size: clamp(20px, 2.5vw, 28px) !important;
	line-height: 1.45 !important;
	color: #000;
	font-weight: 400;
	letter-spacing: -0.02em;
}

.page-blog-single .blog-cta-box a {
	display: inline-block;
	margin: 16px auto 0;
	padding: 20px 32px;
	background: #111;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-decoration: none;
	line-height: normal;
	transition: opacity 0.25s ease;
}

.page-blog-single .blog-cta-box a:hover {
	opacity: 0.85;
	text-decoration: underline;
}

/* Benefit lightpoint boxes */
.page-blog-single .blog-lightpoint-box {
	display: flex;
	flex-direction: column;
	margin: 15px auto 20px;
	border: 1px solid #cbcbcb;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 5%);
	overflow: hidden;
}

.page-blog-single .blog-lightpoint-box-title {
	padding: 12px 16px;
	border-bottom: 1px solid #cbcbcb;
	background: #fff;
}

.page-blog-single .blog-lightpoint-box-details {
	padding: 16px;
}

.page-blog-single .blog-lightpoint-box-details ul {
	margin: 0 0 0 18px;
}

.page-blog-single .blog-lightpoint-box-details p:last-child {
	margin-bottom: 0;
}

/* Case study highlight box */
.page-blog-single .blog-case-study {
	display: block;
	width: 100%;
	margin: 24px 0;
	padding: 15px;
	box-sizing: border-box;
	background: #f0f7f7;
	border: 1px solid rgb(0 0 0 / 20%);
	border-radius: 4px;
}

.page-blog-single .blog-case-study-head {
	margin: 0 0 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgb(0 0 0 / 30%);
	font-size: clamp(18px, 2vw, 20px);
	line-height: 1.4;
	color: #1d3c3c;
	font-weight: 700;
	letter-spacing: -0.4px;
}

.page-blog-single .blog-case-study p {
	color: #222;
}

.page-blog-single .blog-case-study ul {
	margin-left: 20px;
}

.page-blog-single .blog-case-study ul li {
	color: #000;
}

/* Author */
.page-blog-single .blog-single-author {
	margin-top: 36px;
	padding-top: 4px;
}

.page-blog-single .blog-single-author-label {
	margin: 0 0 12px;
	font-size: 15px;
	color: #354750;
}

.page-blog-single .blog-single-author-card {
	display: flex;
	gap: 15px;
	align-items: flex-start;
}

.page-blog-single .blog-single-author-avatar {
	flex: 0 0 auto;
	padding: 5px;
	background: #fff;
	border: 1px solid #858585;
	border-radius: 0;
}

.page-blog-single .blog-single-author-body p {
	margin: 0;
	font-size: 16px;
	line-height: 25px;
	color: #222;
}

.page-blog-single .blog-single-author-body a {
	color: #007abd;
	font-weight: 700;
	text-decoration: none;
}

.page-blog-single .blog-single-author-body a:hover {
	text-decoration: underline;
}

/* Sidebar */
.page-blog-single .blog-single-sidebar {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.page-blog-single .blog-single-widget {
	overflow: hidden;
	background: #fff;
	border: 1px solid #ccc;
	padding: 0;
}

.page-blog-single .blog-sidebar-heading {
	margin: 0;
	padding: 10px 25px;
	background: #d1d1d1;
	color: #4a4a4a;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 300;
}

.page-blog-single .blog-sidebar-heading span {
	font-weight: 700;
	color: #007abd;
}

.page-blog-single .blog-single-recent ul {
	margin: 12px 20px 16px;
	padding: 0;
	list-style: none;
}

.page-blog-single .blog-single-recent li {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	line-height: 26px;
}

.page-blog-single .blog-single-recent a {
	color: #007abd;
	text-decoration: none;
	font-size: 15px;
	line-height: 26px;
}

.page-blog-single .blog-single-recent a:hover {
	text-decoration: underline;
}

.page-blog-single .blog-single-quote-box .blog-sidebar-heading {
	background: #d1d1d1;
}

.page-blog-single .blog-single-quote-text {
	margin: 0;
	padding: 16px 20px 0;
	font-size: 15px;
	line-height: 1.55;
	color: #4a4a4a;
}

.page-blog-single .blog-single-quote-btn {
	display: inline-flex;
	margin: 14px 20px 20px;
	border-radius: 0;
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}

/* Related posts — #blogbg style */
.page-blog-single .blog-single-related {
	padding: 30px 0 40px;
	background: #f4f6f8;
}

.page-blog-single .blog-single-related-title {
	margin: 0 0 22px;
	font-size: 28px;
	line-height: 1.2;
	color: #354750;
	font-weight: 400;
}

.page-blog-single .blog-single-related-title span {
	color: #007abd;
	font-weight: 700;
}

.page-blog-single .blog-single-related-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.page-blog-single .blog-single-related-card {
	min-height: 215px;
	padding: 16px 16px 44px;
	background: #fff;
	border: 1px solid #ccc;
	box-sizing: border-box;
	position: relative;
}

.page-blog-single .blog-single-related-card-title {
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 1.35;
	font-weight: 600;
}

.page-blog-single .blog-single-related-card-title a {
	color: #007abd;
	text-decoration: none;
}

.page-blog-single .blog-single-related-card-title a:hover {
	text-decoration: underline;
}

.page-blog-single .blog-single-related-date {
	position: absolute;
	left: 16px;
	bottom: 14px;
	margin: 0;
	padding-left: 20px;
	font-size: 13px;
	color: #546e7a;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23546e7a' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") left center no-repeat;
}

@media (max-width: 1024px) {
	.page-blog-single .blog-single-wrap {
		grid-template-columns: 1fr;
	}

	.page-blog-single .blog-single-sidebar {
		position: static;
	}

	.page-blog-single .blog-single-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-blog-single .blog-case-study-images {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.blog-grid { grid-template-columns: 1fr; }

	.page-blog-single .blog-single-related-grid {
		grid-template-columns: 1fr;
	}

	.page-blog-single .blog-single-author-card {
		flex-direction: column;
	}

	.page-blog-single .blog-cta-box {
		padding: 20px 16px;
		border-width: 3px;
	}

	.page-blog-single .blog-cta-box a {
		padding: 16px 20px;
		font-size: 15px;
		word-break: normal;
	}
}
