.lbfs-showcase {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
}

.lbfs-showcase *,
.lbfs-showcase *::before,
.lbfs-showcase *::after {
	box-sizing: border-box;
}

.lbfs-showcase .lbfs-heading {
	margin: 0 0 16px;
	font: inherit;
	font-size: 1.15em;
	line-height: 1.3;
}

/* Full-width vertical banner layout: one landscape image per row. */
.lbfs-showcase .lbfs-grid {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--lbfs-gap, 16px);
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.lbfs-showcase .lbfs-card {
	display: block;
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: var(--lbfs-radius, 6px);
	line-height: 0;
	text-decoration: none;
}

.lbfs-showcase .lbfs-card img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain;
	object-position: center;
	border: 0;
	border-radius: inherit;
	margin: 0;
	padding: 0;
	transition: opacity .25s ease;
}

/* Optional subtle hover effect without changing the image dimensions. */
.lbfs-showcase.lbfs-has-hover .lbfs-card:hover img,
.lbfs-showcase.lbfs-has-hover .lbfs-card:focus-visible img {
	opacity: .88;
}

.lbfs-showcase .lbfs-card:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.lbfs-showcase .lbfs-grid {
		gap: max(8px, var(--lbfs-gap, 16px));
	}

	.lbfs-showcase .lbfs-card,
	.lbfs-showcase .lbfs-card img {
		width: 100% !important;
		max-width: 100% !important;
	}

	.lbfs-showcase .lbfs-card img {
		height: auto !important;
	}
}
