/* ========================================= */
/* BLOG INDEX PAGE                           */
/* Standalone styles — do not load home.css  */
/* ========================================= */

/* Override shared.css dark body background */
body {
	background-color: var(--clr-bg);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     PAGE HEADER                                          */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.blog-index-header {
	background-color: var(--clr-bg);
	padding: 3.5rem 2rem 3rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.blog-index-header > * {
	width: 100%;
	max-width: 52rem;
	margin-inline: auto;
}

.page-back-link {
	font-size: 1rem;
	color: var(--clr-dark);
	text-decoration: none;
	margin-bottom: 0.75rem;
	display: inline-block;
}

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

.blog-index-header h1 {
	font-size: clamp(2.5rem, 6vw, 3.5rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--clr-dark);
	margin-bottom: 0;
	text-align: center;
}

.header-subtitle {
	font-size: 1rem;
	color: #666;
	margin-top: 0.25rem;
	text-align: center;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     BLOG LIST                                            */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
main {
	background-color: var(--clr-bg);
	padding: 1rem 2rem 4rem;
	display: flex;
	flex-direction: column;
}

#blog-section {
	width: 100%;
	max-width: 52rem;
	margin-inline: auto;
}

#blog-section .section-content {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     CARDS                                                */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.card {
	background-color: var(--clr-light);
	border: 1px solid var(--clr-dark);
	border-radius: 20px;
	text-decoration: none;
}

.card-hover {
	transition: transform 0.12s ease-out;
}

.card-hover:hover,
.card-hover:focus-visible {
	transform: scale(1.02);
}

.blog-post {
	display: block;
	padding: 1.5rem;
	color: var(--clr-text);
}

.blog-post-title {
	font-family: var(--font-accent);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--clr-text);
	margin-bottom: 0.75rem;
}

.blog-post-description {
	font-size: 1rem;
	line-height: 1.55;
	color: #666;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     MEDIA QUERIES                                        */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media (max-width: 600px) {
	.blog-index-header {

	main {
		padding-inline: 1.5rem;
	}

	.blog-post {
		padding: 1.25rem;
	}

	.blog-post-title {
		font-size: 1.3rem;
	}
}
