/* PAGE STYLING */
/* body inherits background-color: var(--clr-dark) from shared.css */

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     BLOG PAGE HEADER                                     */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
header {
	max-width: 800px;
	margin-inline: auto;
	color: var(--clr-bg);
	padding-block: 3rem 3rem;
	padding-inline: 20px;
}

header > .back-link {
	display: block;
	margin-bottom: 4rem;
}

header h1 {
	font-size: 3rem;
	margin-bottom: 2.5rem;
	word-wrap: break-word;
	color: var(--clr-bg);
}

.blog-metadata {
	font-size: 1rem;
	color: var(--clr-bg);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     BLOG CONTENT ZONE  (<main>)                          */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
main {
	background-color: var(--clr-bg);
}

article {
	max-width: 800px;
	margin-inline: auto;
	padding: 3.25rem 20px;
	line-height: 1.7;
	overflow-wrap: break-word;
}

article > *:first-child {
	margin-top: 0;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     BACK LINKS                                           */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.back-link {
	display: inline-block;
	color: var(--clr-bg);
	text-decoration: none;
}

.back-link:hover {
	text-decoration: underline;
	color: var(--clr-light);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     BLOG PAGE FOOTER                                     */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
footer {
	display: block; /* remove shared.css flex layout */
	max-width: 800px;
	margin-inline: auto;
	color: var(--clr-bg);
	padding-block: 2.5rem 4rem;
	padding-inline: 20px;
}

/* STANDARD ELEMENTS */
article h2 {
	margin-top: 40px;
	margin-bottom: 20px;
	font-size: 1.8rem;
}

article h3 {
	margin-top: 30px;
	margin-bottom: 15px;
	font-size: 1.3rem;
}

article p {
	margin-bottom: 20px;
}

article ul,
article ol {
	margin-bottom: 20px;
	padding-left: 2em;
	padding-right: 1em;
	list-style-position: outside;
}

article li {
	margin-bottom: 10px;
	padding-right: 1em;
	/* text-indent: -2em; */
}

.code-block {
	background: #f5f5f5;
	border-left: 4px solid #333;
	margin-block: 20px;
	overflow-x: auto;
	font-size: 0.9rem;
}

.code-block pre {
	padding: 15px;
	margin: 0;
	overflow-x: auto;
}

.code-block code {
	font-family: "Courier New", monospace;
	white-space: pre;
}

.code-block [class*="highlight-"] {
	padding-block: 2px;
	padding-inline: 4px;
	border-radius: 3px;
	font-weight: 500;
	white-space: pre;
	display: inline-block;
	position: relative;
	left: -4px;
}

.code-block .highlight-green {
	background-color: #d4edda;
}

.code-block .highlight-yellow {
	background-color: #fff3cd;
}

.comparison {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-block: 30px;
}

.comparison-section {
	border: 1px solid #bbb;
	padding: 20px;
	border-radius: 5px;
}

.comparison-section h4 {
	margin-top: 0;
	margin-bottom: 1rem;
	color: #d32f2f;
}

.comparison-section.after h4 {
	color: #388e3c;
}

/* CUSTOM ELEMENTS */
/* A), B) list styling */
.custom-alpha-list {
	list-style-type: none;
	counter-reset: item;
	margin-right: 0;
	padding-right: 2em;
}

.custom-alpha-list li {
	counter-increment: item;
	position: relative;
	margin-bottom: 1em;
	padding-right: 0em !important;
}

.custom-alpha-list li::before {
	content: counter(item, upper-alpha) ") ";
	font-weight: bold;
	position: absolute;
	left: -2em;
	width: 2em;
}

.extra-spacing {
	margin-top: 1.5em;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/*     MEDIA QUERIES                                        */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media (max-width: 768px) {
	header h1 {
		font-size: 2.25rem;
	}

	.blog-metadata {
		font-size: 0.9rem;
	}

	article {
		/* margin-block: 2.25rem; */
		margin-inline: auto;
		padding-inline: 22px;
		max-width: 100%;
		overflow-x: hidden;
	}

	article h2 {
		font-size: 1.5rem;
	}

	article h3 {
		font-size: 1.2rem;
	}

	.comparison {
		grid-template-columns: 1fr;
	}

	.code-block .highlight-green,
	.code-block .highlight-yellow {
		font-size: inherit;
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}
}

@media (max-width: 400px) {
	header h1 {
		font-size: 1.75rem;
	}
}
