.lmw-blog-posts-widget .posts-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(18px, 2.5vw, 32px);
}

/* Keep the saved blog template on the source clamp at Elementor's 768px
 * breakpoint, where its legacy template layer otherwise forces an 18px gap. */
.lmw-blog-template .lmw-blog-posts-widget .posts-grid {
	gap: clamp(18px, 2.5vw, 32px) !important;
}

.lmw-blog-posts-widget .post-card,
.elementor-widget-lmw_featured_post .feat-card {
	min-width: 0;
}

.lmw-blog-posts-widget .card-img,
.elementor-widget-lmw_featured_post .feat-img {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 100%;
	overflow: hidden;
}

.lmw-blog-posts-widget .post-card .card-img {
	aspect-ratio: 16 / 10;
}

.elementor-widget-lmw_featured_post .feat-card .feat-img {
	aspect-ratio: 16 / 8;
}

.lmw-blog-posts-widget .post-card .card-img .ph,
.elementor-widget-lmw_featured_post .feat-card .feat-img .ph {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	border-radius: 0;
}

.lmw-blog-posts-widget .load-more {
	text-align: center;
	margin-top: clamp(36px, 4vh, 52px);
}

.lmw-blog-load-more {
	line-height: 1.7;
}

.lmw-blog-load-more[disabled] {
	cursor: wait;
	opacity: .72;
}

.lmw-blog-spinner {
	animation: lmw-blog-spin .7s linear infinite;
	border: 2px solid rgba(21, 20, 47, .24);
	border-radius: 50%;
	border-top-color: currentColor;
	display: inline-block;
	height: 18px;
	vertical-align: middle;
	width: 18px;
}

.lmw-blog-screen-reader {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

@keyframes lmw-blog-spin {
	to { transform: rotate(360deg); }
}

.lmw-blog-empty {
	width: 100%;
	padding: 28px;
	border: 1px solid rgba(201, 168, 118, .26);
	border-radius: 20px;
	background: #FCF8EF;
	color: #46446A;
	font-family: var(--b, sans-serif);
	font-size: 15px;
	line-height: 1.7;
}

.elementor-widget-lmw_featured_post .feat-card .ph img,
.lmw-blog-posts-widget .post-card .ph img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 640px) {
	.lmw-blog-posts-widget .posts-grid {
		grid-template-columns: 1fr;
	}
}
