/**
 * Custom Content Section - front-end styles.
 * Layout reference: row 1 = content | image | blog card 1
 *                   row 2 = blog cards 2-5
 */

.ccs-section {
	/* max-width: 1200px; */
	margin: 0 auto;
	box-sizing: border-box;
}

.ccs-section * {
	box-sizing: border-box;
}

.ccs-row {
	display: flex;
	gap: 24px;
}

/* Row 1: text column, image column, first blog card. */
.ccs-row-1 {
	align-items: flex-start;
	flex-wrap: wrap;
	margin-bottom: 36px;
}

.ccs-row-1 .ccs-content-col {
	flex: 1 1 260px;
	max-width: 320px;
}

.ccs-row-1 .ccs-content-col p {
	margin: 0 0 1em;
	line-height: 1.5;
}

.ccs-row-1 .ccs-image-col {
	flex: 2 1 400px;
}

.ccs-row-1 .ccs-image-col .ccs-featured-image {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 14px;
}

.ccs-row-1 .ccs-blog-col {
	flex: 1 1 220px;
	/* max-width: 260px; */
}

/* Row 2: four evenly-sized blog cards. */
.ccs-row-2 {
	flex-wrap: wrap;
}

.ccs-row-2 .ccs-blog-col {
	flex: 1 1 220px;
}

/* Shared blog card styling. */
.ccs-blog-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.ccs-blog-card-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #808080;
	border-radius: 14px;
}

.ccs-blog-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ccs-blog-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #808080;
}

.ccs-blog-card-title {
	display: block;
	margin-top: 12px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	color: #111;
}

.ccs-blog-card:hover .ccs-blog-card-title {
	text-decoration: underline;
}

/* Responsive stacking on smaller screens. */
@media ( max-width: 782px ) {
	.ccs-row {
		flex-direction: column;
	}

	.ccs-row-1 .ccs-content-col,
	.ccs-row-1 .ccs-image-col,
	.ccs-row-1 .ccs-blog-col,
	.ccs-row-2 .ccs-blog-col {
		max-width: 100%;
		flex: 1 1 100%;
	}
}
