/**
 * Blog posts (footer + page). Selectors stay under .fast-blog-posts so
 * Astra footer h2/h3/a/img rules cannot collapse the thumb row or paint
 * titles in the theme accent color.
 */

.fast-blog-posts {
	--fast-bp-cols: 1;
	--fast-bp-cols-tablet: 1;
	--fast-bp-cols-mobile: 1;
	--fast-bp-gap: 16px;
	--fast-bp-radius: 8px;
	--fast-bp-thumb: 80px;
	--fast-bp-card-bg: transparent;
	--fast-bp-card-border: transparent;
	--fast-bp-heading: #1d2327;
	--fast-bp-title: #1d2327;
	--fast-bp-post-title: #1d2327;
	--fast-bp-date: #646970;
	--fast-bp-desc: #646970;
	--fast-bp-title-hover: var(--fast-bp-post-title);
	--fast-bp-link-hover: var(--fast-bp-post-title);
	--fast-bp-image-ratio: 16 / 9;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	color: var(--fast-bp-title);
	font-size: 14px;
	line-height: 1.45;
	text-align: left;
}

.fast-blog-posts *,
.fast-blog-posts *::before,
.fast-blog-posts *::after {
	box-sizing: border-box;
}

.fast-blog-posts img {
	border: 0;
	max-width: 100%;
	vertical-align: middle;
}

.fast-blog-posts a {
	color: inherit;
	text-decoration: none;
	box-shadow: none;
}

.fast-blog-posts h2,
.fast-blog-posts h3 {
	display: block;
	float: none;
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--fast-bp-title);
	font-family: inherit;
	font-style: normal;
	font-weight: 600;
	letter-spacing: normal;
	line-height: 1.35;
	text-transform: none;
	visibility: visible;
	opacity: 1;
}

.fast-blog-posts--align-center {
	text-align: center;
}

.fast-blog-posts--align-right {
	text-align: right;
}

.fast-blog-posts__heading,
.fast-blog-posts__intro,
.fast-blog-posts__empty,
.fast-blog-posts__more,
.fast-blog-posts__list,
.fast-blog-posts__item,
.fast-blog-posts__title,
.fast-blog-posts__date {
	margin: 0;
	padding: 0;
}

.fast-blog-posts__heading {
	margin: 0 0 8px;
	color: var(--fast-bp-heading);
	font-size: 16px;
	font-weight: 650;
	line-height: 1.3;
}

.fast-blog-posts__intro {
	margin: 0 0 12px;
	color: var(--fast-bp-desc);
	font-size: 13px;
}

.fast-blog-posts__empty {
	margin: 0;
	color: var(--fast-bp-desc);
	font-size: 13px;
}

.fast-blog-posts__list {
	display: grid;
	grid-template-columns: repeat(var(--fast-bp-cols, 1), minmax(0, 1fr));
	align-items: start;
	gap: var(--fast-bp-gap);
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.fast-blog-posts__item {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 0;
}

.fast-blog-posts__card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	height: auto;
	min-height: 0;
	padding: 12px;
	background: var(--fast-bp-card-bg);
	border: 1px solid var(--fast-bp-card-border);
	border-radius: var(--fast-bp-radius);
}

.fast-blog-posts--list .fast-blog-posts__card,
.fast-blog-posts--thumb .fast-blog-posts__card {
	padding: 0;
	background: var(--fast-bp-card-bg);
	border-color: var(--fast-bp-card-border);
	border-radius: 0;
}

.fast-blog-posts--thumb .fast-blog-posts__item {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}

.fast-blog-posts--thumb .fast-blog-posts__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-width: 0;
	height: auto;
	text-align: left;
}

.fast-blog-posts--cards .fast-blog-posts__card {
	overflow: hidden;
}

.fast-blog-posts__media {
	display: block;
	flex: 0 0 auto;
	overflow: hidden;
	background: rgba(16, 24, 40, 0.06);
	border-radius: var(--fast-bp-radius);
}

.fast-blog-posts__media-link {
	display: block;
	width: 100%;
	height: 100%;
}

.fast-blog-posts--cards .fast-blog-posts__media {
	margin: -12px -12px 12px;
	border-radius: 0;
}

.fast-blog-posts--thumb .fast-blog-posts__media {
	display: block;
	flex: 0 0 80px;
	width: 80px;
	min-width: 80px;
	max-width: 80px;
	height: 80px;
	overflow: hidden;
	border-radius: 6px;
}

.fast-blog-posts--thumb .fast-blog-posts__media-link {
	display: block;
	width: 80px;
	height: 80px;
	overflow: hidden;
}

.fast-blog-posts--ratio:not(.fast-blog-posts--thumb) .fast-blog-posts__media {
	aspect-ratio: var(--fast-bp-image-ratio);
}

.fast-blog-posts__image,
.fast-blog-posts img.fast-blog-posts__image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	border-radius: inherit;
}

.fast-blog-posts--thumb .fast-blog-posts__image,
.fast-blog-posts--thumb img.fast-blog-posts__image {
	width: 100%;
	max-width: 80px;
	height: 80px;
	object-fit: cover;
}

.fast-blog-posts__body {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	height: auto;
}

.fast-blog-posts--thumb .fast-blog-posts__body {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}

.fast-blog-posts__card--no-media .fast-blog-posts__body {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

.fast-blog-posts__title,
.fast-blog-posts h3.fast-blog-posts__title {
	display: block;
	margin: 0;
	color: var(--fast-bp-post-title);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.fast-blog-posts__title-link,
.fast-blog-posts__title a {
	display: inline;
	color: var(--fast-bp-post-title);
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-decoration: none;
}

.fast-blog-posts__title-link:hover,
.fast-blog-posts__title-link:focus,
.fast-blog-posts__title a:hover,
.fast-blog-posts__title a:focus {
	color: var(--fast-bp-title-hover);
	text-decoration: underline;
}

.fast-blog-posts__date {
	display: block;
	margin-top: 4px;
	color: var(--fast-bp-date);
	font-size: 12px;
	line-height: 1.3;
}

.fast-blog-posts__more {
	margin: 12px 0 0;
}

.fast-blog-posts__more-link {
	color: var(--fast-bp-post-title);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
}

.fast-blog-posts__more-link:hover,
.fast-blog-posts__more-link:focus {
	color: var(--fast-bp-link-hover);
}

@media (max-width: 1024px) {
	.fast-blog-posts--cards .fast-blog-posts__list {
		grid-template-columns: repeat(var(--fast-bp-cols-tablet, 1), minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.fast-blog-posts--cards .fast-blog-posts__list {
		grid-template-columns: repeat(var(--fast-bp-cols-mobile, 1), minmax(0, 1fr));
	}

	.fast-blog-posts--thumb .fast-blog-posts__item,
	.fast-blog-posts--thumb .fast-blog-posts__row {
		flex-wrap: nowrap;
	}

	.fast-blog-posts--thumb .fast-blog-posts__media,
	.fast-blog-posts--thumb .fast-blog-posts__media-link {
		flex: 0 0 64px;
		width: 64px;
		min-width: 64px;
		max-width: 64px;
		height: 64px;
	}

	.fast-blog-posts--thumb .fast-blog-posts__image,
	.fast-blog-posts--thumb img.fast-blog-posts__image {
		max-width: 64px;
		height: 64px;
	}
}
