/**
 * Blog Styles — archive listing + single post
 *
 * @package CHV_Theme
 */

/* ============================================
   Single Post
   ============================================ */
.chv-blog-single {
	padding: var(--chv-spacing-xl) 0 var(--chv-spacing-section);
}

.chv-post-header {
	margin-bottom: var(--chv-spacing-lg);
}

.chv-post-title {
	font-size: var(--chv-font-hero);
	margin-bottom: var(--chv-spacing-sm);
}

.chv-post-meta {
	font-size: var(--chv-font-sm);
	color: var(--chv-text-gray);
	display: flex;
	gap: var(--chv-spacing-sm);
}

.chv-post-thumbnail {
	margin-bottom: var(--chv-spacing-lg);
	border-radius: var(--chv-radius-lg);
	overflow: hidden;
}

.chv-post-content {
	font-size: var(--chv-font-base);
	line-height: var(--chv-line-height-relaxed);
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

.chv-post-content h2,
.chv-post-content h3,
.chv-post-content h4 {
	margin-top: var(--chv-spacing-lg);
}

.chv-post-content img {
	border-radius: var(--chv-radius-md);
	margin: var(--chv-spacing-md) 0;
}

.chv-post-footer {
	margin-top: var(--chv-spacing-xl);
	padding-top: var(--chv-spacing-md);
	border-top: 1px solid var(--chv-border-light);
	font-size: var(--chv-font-sm);
	color: var(--chv-text-gray);
}

.chv-post-nav {
	margin-top: var(--chv-spacing-lg);
	display: flex;
	justify-content: space-between;
	gap: var(--chv-spacing-md);
}

.chv-post-nav a {
	font-size: var(--chv-font-sm);
	color: var(--chv-primary-blue);
}

/* ============================================
   Archive / Listing
   ============================================ */
.chv-blog-archive {
	padding: var(--chv-spacing-xl) 0 var(--chv-spacing-section);
}

.chv-archive-header {
	margin-bottom: var(--chv-spacing-xl);
}

.chv-archive-title {
	font-size: var(--chv-font-section);
}

.chv-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: var(--chv-spacing-lg);
}

.chv-post-card {
	background: var(--chv-text-light);
	border-radius: var(--chv-radius-lg);
	overflow: hidden;
	box-shadow: var(--chv-shadow-sm);
	transition: var(--chv-transition);
}

.chv-post-card:hover {
	box-shadow: var(--chv-shadow-md);
}

.chv-post-card-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.chv-post-card-content {
	padding: var(--chv-spacing-md);
}

.chv-post-card-date {
	font-size: var(--chv-font-sm);
	color: var(--chv-text-gray);
	display: block;
	margin-bottom: var(--chv-spacing-xs);
}

.chv-post-card-title {
	font-size: var(--chv-font-lg);
	margin-bottom: var(--chv-spacing-sm);
}

.chv-post-card-title a {
	color: var(--chv-text-dark);
	text-decoration: none;
}

.chv-post-card-title a:hover {
	color: var(--chv-primary-blue);
}

.chv-post-card-excerpt {
	font-size: var(--chv-font-sm);
	color: var(--chv-text-gray);
	margin-bottom: var(--chv-spacing-sm);
}

.chv-post-card-link {
	font-size: var(--chv-font-sm);
	font-weight: var(--chv-font-weight-semibold);
}

/* Pagination */
.chv-pagination {
	margin-top: var(--chv-spacing-xl);
	text-align: center;
}

.chv-pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: var(--chv-spacing-xs);
}

.chv-pagination .page-numbers {
	padding: var(--chv-spacing-xs) var(--chv-spacing-sm);
	border-radius: var(--chv-radius-sm);
	font-size: var(--chv-font-sm);
	color: var(--chv-text-dark);
	text-decoration: none;
}

.chv-pagination .page-numbers.current {
	background: var(--chv-primary-blue);
	color: var(--chv-text-light);
}

/* ============================================
   Responsive
   ============================================ */
@media (max-width: 768px) {
	.chv-posts-grid {
		grid-template-columns: 1fr;
	}

	.chv-post-nav {
		flex-direction: column;
	}
}
