/**
 * HLM blog archive + single post - aligned with inner page design system.
 */

/* ─── Full-width shell (match About / Services pages) ──────── */
body.hlm-theme.hlm-blog #primary,
body.hlm-theme.hlm-single-post #primary,
body.hlm-theme.hlm-single-service #primary,
body.hlm-theme.hlm-blog .content-container.site-container,
body.hlm-theme.hlm-single-post .content-container.site-container,
body.hlm-theme.hlm-single-service .content-container.site-container,
body.hlm-theme.hlm-blog .content-wrap,
body.hlm-theme.hlm-single-post .content-wrap,
body.hlm-theme.hlm-single-service .content-wrap,
body.hlm-theme.hlm-blog .content-area,
body.hlm-theme.hlm-single-post .content-area,
body.hlm-theme.hlm-single-service .content-area {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-top: 0;
	margin-bottom: 0;
}

body.hlm-theme.hlm-single-post .content-wrap,
body.hlm-theme.hlm-single-service .content-wrap {
	display: contents;
}

body.hlm-theme.hlm-blog #main,
body.hlm-theme.hlm-single-post #main,
body.hlm-theme.hlm-single-service #main {
	max-width: none;
}

body.hlm-theme.hlm-blog .entry-hero,
body.hlm-theme.hlm-single-post .entry-hero,
body.hlm-theme.hlm-single-service .entry-hero,
body.hlm-theme.hlm-blog .post-archive-hero-section,
body.hlm-theme.hlm-single-post .entry-hero-container-inner,
body.hlm-theme.hlm-single-service .entry-hero-container-inner {
	display: none !important;
}

body.hlm-theme.hlm-blog #secondary,
body.hlm-theme.hlm-single-post #secondary,
body.hlm-theme.hlm-single-service #secondary {
	display: none;
}

/* ─── Single post layout (content + sidebar) ───────────────── */
.hlm-single-post-wrap {
	padding-block: var(--hlm-space-xl);
	border-top: 1px solid var(--hlm-border-subtle);
}

.hlm-single-post-container {
	max-width: 1280px;
}

.hlm-single-post-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: stretch;
}

.hlm-single-post-main {
	min-width: 0;
	align-self: start;
}

body.hlm-theme.hlm-single-post article.entry.content-bg.single-entry,
body.hlm-theme.hlm-single-service article.entry.content-bg.single-entry {
	background: var(--hlm-surface-raised);
	border: 1px solid var(--hlm-card-border);
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(0, 51, 102, 0.06);
	padding: 0;
	margin: 0;
	overflow: hidden;
}

body.hlm-theme.hlm-single-post .entry-content-wrap,
body.hlm-theme.hlm-single-service .entry-content-wrap {
	padding: clamp(1.75rem, 4vw, 2.75rem);
}

body.hlm-theme.hlm-single-post .entry-header,
body.hlm-theme.hlm-single-service .entry-header,
body.hlm-theme.hlm-single-post .entry-content-wrap > .entry-header,
body.hlm-theme.hlm-single-service .entry-content-wrap > .entry-header {
	display: none;
}

body.hlm-theme.hlm-single-post .entry-content,
body.hlm-theme.hlm-single-service .entry-content,
body.hlm-theme.hlm-single-post .entry-content.single-content,
body.hlm-theme.hlm-single-service .entry-content.single-content {
	color: var(--hlm-on-light-muted);
	font-family: var(--hlm-font-body);
	font-size: 1.0625rem;
	line-height: 1.75;
}

body.hlm-theme.hlm-single-post .entry-content > .hlm-seo-cluster-nav,
body.hlm-theme.hlm-single-service .entry-content > .hlm-seo-cluster-nav {
	display: none;
}

body.hlm-theme.hlm-single-post .entry-content p,
body.hlm-theme.hlm-single-service .entry-content p {
	margin-bottom: 1.25rem;
}

body.hlm-theme.hlm-single-post .entry-content a,
body.hlm-theme.hlm-single-service .entry-content a {
	color: var(--hlm-secondary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.hlm-theme.hlm-single-post .entry-content a:hover,
body.hlm-theme.hlm-single-service .entry-content a:hover {
	color: var(--hlm-navy-700);
}

body.hlm-theme.hlm-single-post .entry-content h2,
body.hlm-theme.hlm-single-service .entry-content h2,
body.hlm-theme.hlm-single-post .entry-content h3,
body.hlm-theme.hlm-single-service .entry-content h3,
body.hlm-theme.hlm-single-post .entry-content h4,
body.hlm-theme.hlm-single-service .entry-content h4 {
	font-family: var(--hlm-font-heading);
	color: var(--hlm-on-light);
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

body.hlm-theme.hlm-single-post .entry-content ul,
body.hlm-theme.hlm-single-service .entry-content ul,
body.hlm-theme.hlm-single-post .entry-content ol,
body.hlm-theme.hlm-single-service .entry-content ol {
	padding-left: 1.5rem;
	margin-bottom: 1.25rem;
}

body.hlm-theme.hlm-single-post .entry-content li,
body.hlm-theme.hlm-single-service .entry-content li {
	margin-bottom: 0.5rem;
}

body.hlm-theme.hlm-single-post .entry-content blockquote,
body.hlm-theme.hlm-single-service .entry-content blockquote {
	margin: 2rem 0;
	padding: 1.25rem 1.5rem;
	border-left: 4px solid var(--hlm-gold-400);
	background: var(--hlm-section-alt-bg);
	border-radius: 0 12px 12px 0;
	font-family: var(--hlm-font-accent);
	font-style: italic;
	color: var(--hlm-navy-800);
}

body.hlm-theme.hlm-single-post .entry-content .hlm-seo-sources {
	margin: 2.5rem 0 0;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--hlm-card-border);
	border-radius: 12px;
	background: var(--hlm-section-alt-bg);
	font-size: 0.9375rem;
}

body.hlm-theme.hlm-single-post .entry-content .hlm-seo-sources h3 {
	margin: 0 0 0.75rem;
	font-family: var(--hlm-font-heading);
	font-size: 1rem;
	color: var(--hlm-on-light);
}

body.hlm-theme.hlm-single-post .entry-content .hlm-seo-sources ul {
	margin: 0;
	padding-left: 1.25rem;
}

body.hlm-theme.hlm-single-post .entry-content .hlm-seo-sources a {
	font-weight: 600;
}

body.hlm-theme.hlm-single-post .entry-footer,
body.hlm-theme.hlm-single-service .entry-footer,
body.hlm-theme.hlm-single-post .entry-author,
body.hlm-theme.hlm-single-service .entry-author,
body.hlm-theme.hlm-single-post .entry-related,
body.hlm-theme.hlm-single-service .entry-related,
body.hlm-theme.hlm-single-post .post-navigation,
body.hlm-theme.hlm-single-service .post-navigation,
body.hlm-theme.hlm-single-post .comments-area,
body.hlm-theme.hlm-single-service .comments-area {
	display: none;
}

body.hlm-theme.hlm-single-post .entry-content-wrap .post-thumbnail,
body.hlm-theme.hlm-single-post .entry-content-wrap > .entry-thumbnail,
body.hlm-theme.hlm-single-service .entry-content-wrap .post-thumbnail,
body.hlm-theme.hlm-single-service .entry-content-wrap > .entry-thumbnail {
	display: none;
}

/* Sidebar - form + topic links as one column (no sticky: tall wizard must not clip) */
.hlm-single-post-sidebar {
	min-width: 0;
	align-self: start;
}

.hlm-single-post-sidebar__sticky {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.hlm-single-post-sidebar__form {
	padding: 1.5rem;
	border: 1px solid var(--hlm-card-border);
	border-radius: 16px;
	box-shadow: 0 8px 32px rgba(0, 51, 102, 0.08);
	background: var(--hlm-surface-raised);
}

.hlm-single-post-sidebar__form-header {
	margin-bottom: 1rem;
}

.hlm-single-post-sidebar__form-header .hlm-overline {
	margin-bottom: 0.5rem;
}

.hlm-single-post-sidebar__form-header .hlm-h4 {
	margin: 0 0 0.5rem;
	color: var(--hlm-on-light);
	font-size: 1.25rem;
}

.hlm-single-post-sidebar__form-desc {
	margin: 0;
	font-size: 0.875rem;
	color: var(--hlm-on-light-muted);
	line-height: 1.5;
}

.hlm-single-post-sidebar__form .hlm-lead-capture .hlm-form-tabs {
	margin-bottom: 1rem;
}

.hlm-single-post-sidebar__form .hlm-form-group {
	margin-bottom: 0.875rem;
}

.hlm-single-post-sidebar__form .hlm-form-group label {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--hlm-on-light);
}

.hlm-single-post-sidebar__topics {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--hlm-card-border);
	border-radius: 12px;
	background: var(--hlm-surface-raised);
}

.hlm-single-post-sidebar__topics .hlm-overline {
	margin-bottom: 0.75rem;
}

.hlm-single-post-sidebar__topic-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.hlm-single-post-sidebar__topic-link {
	display: block;
	padding: 0.625rem 0.875rem;
	font-family: var(--hlm-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	color: var(--hlm-primary);
	background: var(--hlm-section-alt-bg);
	border: 1px solid transparent;
	border-radius: var(--hlm-radius-sm);
	transition: border-color var(--hlm-transition), color var(--hlm-transition), background var(--hlm-transition);
}

.hlm-single-post-sidebar__topic-link:hover {
	color: var(--hlm-secondary);
	border-color: rgba(74, 144, 217, 0.25);
	background: var(--hlm-surface-raised);
}

.hlm-single-post-sidebar__topic-link--featured {
	background: var(--hlm-surface-raised);
	border-color: var(--hlm-card-border);
}

.hlm-single-post-sidebar__back {
	display: inline-flex;
	align-items: center;
	font-family: var(--hlm-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--hlm-on-light-muted);
	text-decoration: none;
	padding: 0.25rem 0;
	transition: color var(--hlm-transition);
}

.hlm-single-post-sidebar__back:hover {
	color: var(--hlm-secondary);
}

/* Related posts grid */
.hlm-single-post-related {
	margin-top: clamp(2.5rem, 5vw, 4rem);
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--hlm-border-subtle);
	width: 100%;
}

body.hlm-theme.hlm-single-service .hlm-single-service-wrap .hlm-single-post-related {
	margin-top: 0;
	padding-top: clamp(2rem, 4vw, 2.5rem);
}

.hlm-single-post-related .hlm-section-header {
	margin-bottom: 2rem;
}

.hlm-single-post-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.hlm-single-post-related__grid .hlm-blog-card {
	height: 100%;
}

.hlm-single-service-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.hlm-service-card--compact .hlm-h4 {
	margin: 0 0 0.75rem;
}

.hlm-service-card--compact .hlm-h4 a {
	color: var(--hlm-on-light);
	text-decoration: none;
	transition: color var(--hlm-transition);
}

.hlm-service-card--compact .hlm-h4 a:hover {
	color: var(--hlm-secondary);
}

/* ─── Blog archive hero: solid navy, breadcrumbs + headline ─ */
#blog-archive-hero.hlm-page-hero {
	background: var(--hlm-surface-brand);
	min-height: auto;
	padding-top: calc(var(--hlm-header-height) + clamp(1.5rem, 3vw, 2.25rem));
	padding-bottom: clamp(2rem, 4vw, 2.75rem);
}

#blog-archive-hero .hlm-page-hero__media,
#blog-archive-hero .hlm-page-hero__bg,
#blog-archive-hero .hlm-page-hero__grid {
	display: none;
}

#blog-archive-hero .hlm-page-hero__breadcrumbs {
	margin-bottom: 1rem;
}

#blog-archive-hero .hlm-page-hero__inner .hlm-h1 {
	font-size: clamp(1.875rem, 4vw, 2.75rem);
}

#blog-archive-hero .hlm-page-hero__inner .hlm-body-lg {
	max-width: 40rem;
	margin-inline: auto;
}

/* ─── Archive listing section ──────────────────────────────── */
.hlm-blog-archive {
	padding-block: var(--hlm-space-xl);
	border-top: none;
}

.hlm-blog-archive .hlm-container {
	max-width: 1280px;
}

body.hlm-theme.hlm-blog #archive-container.hlm-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.hlm-theme.hlm-blog .entry-list-item.hlm-blog-grid__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.hlm-theme.hlm-blog .entry-list-item .loop-entry {
	display: none;
}

body.hlm-theme.hlm-blog .hlm-blog-grid__item .hlm-blog-card {
	height: 100%;
}

/* Placeholder when no featured image */
.hlm-blog-card__media--placeholder {
	display: block;
	background: linear-gradient(135deg, rgba(74, 144, 217, 0.12) 0%, var(--hlm-section-alt-bg) 100%);
}

.hlm-blog-card__placeholder {
	display: block;
	width: 100%;
	height: 200px;
}

/* ─── Pagination ───────────────────────────────────────────── */
body.hlm-theme.hlm-blog .hlm-blog-archive .pagination,
body.hlm-theme.hlm-blog .hlm-blog-archive .nav-links {
	margin-top: 3rem;
	text-align: center;
}

body.hlm-theme.hlm-blog .hlm-blog-archive .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	margin: 0 0.25rem;
	border-radius: var(--hlm-radius-sm);
	color: var(--hlm-primary);
	background: var(--hlm-surface-raised);
	border: 1px solid var(--hlm-card-border);
	text-decoration: none;
	font-weight: 600;
	font-family: var(--hlm-font-body);
	transition: border-color var(--hlm-transition), color var(--hlm-transition), background var(--hlm-transition);
}

body.hlm-theme.hlm-blog .hlm-blog-archive .page-numbers.current {
	background: var(--hlm-secondary);
	border-color: var(--hlm-secondary);
	color: var(--hlm-white);
}

body.hlm-theme.hlm-blog .hlm-blog-archive .page-numbers:hover {
	border-color: var(--hlm-secondary);
	color: var(--hlm-secondary);
}

/* Brand CTA only (soft variant keeps cream handoff before footer) */
.hlm-blog-archive + .hlm-cta:not(.hlm-cta--soft),
.hlm-single-post-wrap + .hlm-cta:not(.hlm-cta--soft),
.hlm-single-service-wrap + .hlm-cta:not(.hlm-cta--soft) {
	background: var(--hlm-navy-950);
	color: var(--hlm-on-dark-muted);
}

.hlm-blog-archive + .hlm-cta--soft,
.hlm-single-post-wrap + .hlm-cta--soft {
	border-top: 1px solid var(--hlm-border-subtle);
}

/* ─── Empty state ──────────────────────────────────────────── */
body.hlm-theme.hlm-blog .entry-content.no-results,
body.hlm-theme.hlm-blog .no-results-not-found {
	text-align: center;
	padding: 3rem 1.5rem;
	color: var(--hlm-on-light-muted);
}

@media (max-width: 1024px) {
	body.hlm-theme.hlm-blog #archive-container.hlm-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hlm-single-post-layout,
	.hlm-single-service-layout {
		grid-template-columns: 1fr;
	}

	.hlm-single-post-related__grid,
	.hlm-single-service-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	body.hlm-theme.hlm-blog #archive-container.hlm-blog-grid {
		grid-template-columns: 1fr;
	}

	.hlm-blog-archive,
	.hlm-single-post-wrap,
	.hlm-single-service-wrap {
		padding-block: var(--hlm-space-lg);
	}

	.hlm-single-post-related__grid,
	.hlm-single-service-related__grid {
		grid-template-columns: 1fr;
	}
}

/* ─── Article block components (Gutenberg blog posts) ──────── */

.hlm-article-intro,
.hlm-article-conclusion,
.hlm-article-section {
	margin-bottom: 2rem;
}

.hlm-article-compare {
	margin: 2.5rem 0;
}

.hlm-article-compare__headline {
	font-family: var(--hlm-font-heading);
	font-size: 1.5rem;
	color: var(--hlm-on-light);
	margin: 0 0 1.25rem;
}

.hlm-article-compare__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}

.hlm-article-compare__column {
	padding: 1.5rem;
	border: 1px solid var(--hlm-card-border);
	border-radius: 12px;
	background: var(--hlm-surface-raised);
}

.hlm-article-compare__column--left {
	border-top: 3px solid var(--hlm-secondary);
}

.hlm-article-compare__column--right {
	border-top: 3px solid var(--hlm-gold-400);
}

.hlm-article-compare__title {
	font-family: var(--hlm-font-heading);
	font-size: 1.125rem;
	color: var(--hlm-on-light);
	margin: 0 0 0.75rem;
}

.hlm-article-compare__text {
	margin: 0 0 0.75rem;
	color: var(--hlm-on-light-muted);
}

.hlm-article-compare__text:last-child {
	margin-bottom: 0;
}

.hlm-article-compare__footnote {
	margin: 0;
	padding: 1.25rem 1.5rem;
	border-radius: 12px;
	background: var(--hlm-section-alt-bg);
	color: var(--hlm-on-light-muted);
	font-size: 0.975rem;
}

.hlm-article-mistakes {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin: 2.5rem 0;
}

.hlm-article-mistake {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.25rem;
	align-items: start;
	padding: 1.5rem;
	border: 1px solid var(--hlm-card-border);
	border-radius: 12px;
	background: var(--hlm-surface-raised);
	box-shadow: 0 2px 12px rgba(0, 51, 102, 0.04);
}

.hlm-article-mistake__badge {
	flex-shrink: 0;
}

.hlm-article-mistake__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--hlm-navy-800);
	color: var(--hlm-on-dark);
	font-family: var(--hlm-font-heading);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1;
}

.hlm-article-mistake__title {
	font-family: var(--hlm-font-heading);
	font-size: 1.25rem;
	color: var(--hlm-on-light);
	margin: 0 0 0.75rem;
}

.hlm-article-mistake__text {
	margin: 0 0 0.75rem;
	color: var(--hlm-on-light-muted);
}

.hlm-article-mistake__text:last-child {
	margin-bottom: 0;
}

.hlm-article-checklist {
	margin: 2.5rem 0;
	padding: 1.75rem;
	border: 1px solid var(--hlm-gold-400);
	border-radius: 12px;
	background: var(--hlm-section-alt-bg);
}

.hlm-article-checklist__headline {
	font-family: var(--hlm-font-heading);
	font-size: 1.375rem;
	color: var(--hlm-on-light);
	margin: 0 0 1rem;
}

.hlm-article-checklist__intro,
.hlm-article-checklist__outro {
	margin-bottom: 1rem;
	color: var(--hlm-on-light-muted);
}

.hlm-article-checklist__list {
	list-style: none;
	padding: 0;
	margin: 0 0 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.hlm-article-checklist__item {
	position: relative;
	padding-left: 1.75rem;
	color: var(--hlm-on-light);
}

.hlm-article-checklist__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45rem;
	width: 0.875rem;
	height: 0.875rem;
	border-radius: 2px;
	background: var(--hlm-gold-400);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M6.2 11.2 3.4 8.4l-1.1 1.1 4 4 7-7-1.1-1.1z'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
}

.hlm-article-callout {
	margin: 2.5rem 0;
	padding: 1.75rem;
	border-radius: 12px;
	border: 1px solid var(--hlm-card-border);
}

.hlm-article-callout--help {
	background: linear-gradient(135deg, rgba(0, 51, 102, 0.04) 0%, rgba(201, 162, 39, 0.08) 100%);
	border-left: 4px solid var(--hlm-secondary);
}

.hlm-article-callout--cta {
	background: var(--hlm-navy-800);
	border-color: var(--hlm-navy-700);
	color: var(--hlm-on-dark);
}

.hlm-article-callout--tip {
	background: var(--hlm-section-alt-bg);
	border-left: 4px solid var(--hlm-gold-400);
}

.hlm-article-callout__headline {
	font-family: var(--hlm-font-heading);
	font-size: 1.375rem;
	margin: 0 0 0.75rem;
	color: inherit;
}

.hlm-article-callout__body p {
	margin-bottom: 0.75rem;
}

.hlm-article-callout__body p:last-child {
	margin-bottom: 0;
}

.hlm-article-callout--cta .hlm-article-callout__headline,
.hlm-article-callout--cta .hlm-article-callout__body {
	color: var(--hlm-on-dark);
}

.hlm-article-callout__body a {
	color: var(--hlm-gold-300);
}

.hlm-article-callout--help .hlm-article-callout__body a {
	color: var(--hlm-secondary);
}

@media (max-width: 640px) {
	.hlm-article-compare__grid {
		grid-template-columns: 1fr;
	}

	.hlm-article-mistake {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}
}
