/* Visitor-facing empty catalog states, v1.1.0 */
body.lmfo-mfo-catalog-is-empty {
	background: #f6f8fb !important;
}

.lmfo-public-catalog,
.lmfo-public-catalog * {
	box-sizing: border-box;
}

.lmfo-public-catalog {
	width: 100%;
	min-height: min(560px, calc(100vh - 150px));
	margin: 0 !important;
	padding: 28px 0 42px !important;
	background: #f6f8fb !important;
	color: #1d2530;
	font-family: Montserrat, Arial, sans-serif;
}

.lmfo-public-catalog__container {
	width: min(100% - 44px, 1240px);
	margin: 0 auto;
}

.lmfo-public-catalog__header {
	margin: 0 0 18px;
}

.lmfo-public-catalog__header h1 {
	margin: 0 !important;
	padding: 0 !important;
	color: #0e1116 !important;
	font-size: clamp(32px, 3vw, 44px) !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.03em !important;
	text-align: left !important;
}

.lmfo-public-catalog__header p {
	max-width: 780px;
	margin: 8px 0 0 !important;
	color: #687386 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	text-align: left !important;
}

.lmfo-public-empty-state {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	min-height: 170px;
	padding: 32px;
	border: 1px solid #dce2ea;
	border-radius: 11px;
	background: #ffffff;
	box-shadow: 0 2px 16px rgba(27, 39, 51, 0.04);
	color: #1d2530;
	text-align: left;
}

.lmfo-public-empty-state__icon {
	display: inline-flex;
	width: 64px;
	height: 64px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff0bd;
	color: #111827;
}

.lmfo-public-empty-state__icon svg {
	display: block;
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.lmfo-public-empty-state__content h2,
.dc-empty.lmfo-public-empty-state h2 {
	margin: 0 0 8px !important;
	color: #0e1116 !important;
	font-size: clamp(22px, 2vw, 28px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

.lmfo-public-empty-state__content p,
.dc-empty.lmfo-public-empty-state p {
	max-width: 760px;
	margin: 0 !important;
	color: #5f6d7e !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

.lmfo-public-catalog__disclaimer {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	margin: 26px auto 0 !important;
	color: #7d8795 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	text-align: center !important;
}

/* The debit-card template already provides the outer card geometry. */
.dc-empty.lmfo-public-empty-state {
	display: grid !important;
	grid-template-columns: 64px minmax(0, 1fr) !important;
	gap: 20px !important;
	align-items: center !important;
	min-height: 155px;
	padding: 30px 32px !important;
	text-align: left !important;
}

@media (max-width: 640px) {
	.lmfo-public-catalog {
		padding: 22px 0 34px !important;
	}

	.lmfo-public-catalog__container {
		width: min(100% - 28px, 1240px);
	}

	.lmfo-public-empty-state,
	.dc-empty.lmfo-public-empty-state {
		grid-template-columns: 1fr !important;
		justify-items: center;
		gap: 14px !important;
		padding: 28px 20px !important;
		text-align: center !important;
	}

	.lmfo-public-empty-state__content h2,
	.lmfo-public-empty-state__content p,
	.dc-empty.lmfo-public-empty-state h2,
	.dc-empty.lmfo-public-empty-state p {
		text-align: center !important;
	}
}
