/* ==========================================================================
   Blog listing + single post styling, matching the site's Lato/gold look.
   ========================================================================== */

.lr-blog,
.lr-blog-single {
	padding: 60px 0 70px;
}

.lr-blog h1,
.lr-blog-single h1 {
	margin-bottom: 40px;
}

/* Undo the old site-wide .comp_txt12 float - it was meant for a different
   layout and was pushing the blog grid out of normal flow. */
.lr-blog .comp_txt12,
.lr-blog-single .comp_txt12 {
	float: none;
	width: auto;
	margin-bottom: 40px;
}

.lr-blog .comp_txt12::after,
.lr-blog-single .comp_txt12::after {
	content: "";
	display: table;
	clear: both;
}

/* Listing grid */
.lr-blog-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.lr-blog-card {
	flex: 1 1 calc(33.333% - 20px);
	min-width: 260px;
	background: #fff;
	border: 1px solid #e9e6df;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
	display: flex;
	flex-direction: column;
}

.lr-blog-card-thumb {
	display: block;
	line-height: 0;
}

.lr-blog-card-thumb img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	display: block;
}

.lr-blog-card-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.lr-blog-card-date {
	font-family: 'Lato', sans-serif;
	font-size: 13px;
	color: #a39c92;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0 0 8px;
}

.lr-blog-card-body h2 {
	font-family: 'Lato', sans-serif;
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
	line-height: 1.3;
}

.lr-blog-card-body h2 a {
	color: #3a3938;
	text-decoration: none;
}

.lr-blog-card-body h2 a:hover {
	color: #b3a768;
}

.lr-blog-card-excerpt {
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	color: #736D68;
	line-height: 1.6;
	margin: 0 0 20px;
	flex-grow: 1;
}

.lr-blog-card .readmore_btn {
	align-self: flex-start;
	float: none;
}

/* Pagination */
.lr-blog-pagination {
	margin-top: 50px;
	text-align: center;
}

.lr-blog-pagination .page-numbers {
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	color: #3a3938;
	padding: 8px 14px;
	margin: 0 4px;
	border: 1px solid #e9e6df;
	border-radius: 4px;
	text-decoration: none;
}

.lr-blog-pagination .page-numbers.current {
	background: #b3a768;
	color: #fff;
	border-color: #b3a768;
}

.lr-blog-pagination .page-numbers:hover:not(.current) {
	border-color: #b3a768;
	color: #b3a768;
}

/* Single post */
.lr-blog-single-thumb {
	margin: 20px 0 30px;
	line-height: 0;
}

.lr-blog-single-thumb img {
	width: 100%;
	max-height: 420px;
	object-fit: cover;
	border-radius: 6px;
}

.lr-blog-back {
	margin-top: 40px;
}

.lr-blog-back .readmore_btn {
	float: none;
	display: inline-block;
	padding: 16px 34px;
}

/* Mobile */
@media all and (max-width: 800px) {
	.lr-blog,
	.lr-blog-single {
		padding: 40px 0 50px;
	}
	.lr-blog-card {
		flex: 1 1 100%;
	}
}
