/* =============================================================================
 * LITSLINK BLOCKS — Text/Vision · bordered list + CTA (acf/ll-textlist-bordered-cta)
 * Self-contained: block-scoped palette, literal font fallback. No global .block-head.
 * Strict 1:1 with the Real-Estate MLS "Where we deploy" cut.
 * ========================================================================== */
.block-ll-textlist-bordered-cta {
	--tbc-ink: #10151c;
	--tbc-body: #5a6472;
	--tbc-eyebrow: #8a94a6;
	--tbc-accent: #1690d3;
	--tbc-accent-hover: #127bb4;
	--tbc-section-bg: #ffffff;
	--tbc-cta-bg: #f9fafb;
	--tbc-cta-border: #eaecef;
	--tbc-white: #ffffff;
	font-family: var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	background: var(--tbc-section-bg);
	padding: 80px 0;
	box-sizing: border-box;
}
.block-ll-textlist-bordered-cta *,
.block-ll-textlist-bordered-cta *::before,
.block-ll-textlist-bordered-cta *::after { box-sizing: border-box; }

.block-ll-textlist-bordered-cta__inner {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 70px;
}

/* Header */
.block-ll-textlist-bordered-cta__head { text-align: center; margin: 0 auto 48px; max-width: 80%; }
.block-ll-textlist-bordered-cta__eyebrow {
	margin: 0 0 12px;
	font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--tbc-eyebrow);
}
.block-ll-textlist-bordered-cta__title {
	margin: 0; font-size: 40px; line-height: 1.2; font-weight: 700; letter-spacing: -.5px; color: var(--tbc-ink);
}
.block-ll-textlist-bordered-cta__subtitle {
	margin: 16px auto 0; max-width: 720px; font-size: 17px; line-height: 1.6; color: var(--tbc-body);
}

/* List */
.block-ll-textlist-bordered-cta__list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 60%;
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.block-ll-textlist-bordered-cta__row {
	border-left: 3px solid var(--tbc-accent);
	padding-left: 24px;
	font-size: 16px; line-height: 1.6;
	color: var(--tbc-body);
}
.block-ll-textlist-bordered-cta__lead { font-weight: 700; color: var(--tbc-ink); }
.block-ll-textlist-bordered-cta__sep { font-weight: 400; color: var(--tbc-body); }
.block-ll-textlist-bordered-cta__text { font-weight: 400; }

/* CTA banner */
.block-ll-textlist-bordered-cta__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: none;
	margin: 48px auto 0;
	background: var(--tbc-cta-bg);
	border: 1px solid var(--tbc-cta-border);
	border-radius: 16px;
	padding: 28px 36px;
}
.block-ll-textlist-bordered-cta__cta-heading {
	margin: 0;
	font-size: 18px; line-height: 1.4; font-weight: 700;
	color: var(--tbc-ink);
}
.block-ll-textlist-bordered-cta__cta-helper {
	margin: 6px 0 0;
	font-size: 14px; line-height: 1.5; font-weight: 400;
	color: var(--tbc-body);
}
.block-ll-textlist-bordered-cta__cta-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--tbc-accent);
	color: var(--tbc-white);
	text-decoration: none;
	font-size: 15px; font-weight: 600; line-height: 1;
	padding: 15px 28px;
	border-radius: 999px;
	transition: background-color .15s ease;
}
.block-ll-textlist-bordered-cta__cta-btn:hover { background: var(--tbc-accent-hover); }
.block-ll-textlist-bordered-cta__cta-btn svg { display: block; }

/* Optional full-block-width modifier (Property Listing "Solutions" mockup):
   head + list + CTA span the full inner width instead of the centered caps. */
.block-ll-textlist-bordered-cta--full .block-ll-textlist-bordered-cta__head,
.block-ll-textlist-bordered-cta--full .block-ll-textlist-bordered-cta__list,
.block-ll-textlist-bordered-cta--full .block-ll-textlist-bordered-cta__cta { max-width: none; }

/* Additive opt-in: two-column list (EHR/EMR §04 & §12). Spans the full inner
   width and lays the rows out in a 2-col grid; collapses to one column on
   narrow screens. Absent modifier => original single-column flex is untouched. */
.block-ll-textlist-bordered-cta--cols-2 .block-ll-textlist-bordered-cta__list {
	max-width: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 56px;
	row-gap: 28px;
}

/* Additive opt-in: stacked rows (EHR/EMR §04) — bold title on its own line
   above the body paragraph, no inline dash. Blue left border stays on the row. */
.block-ll-textlist-bordered-cta--row-stacked .block-ll-textlist-bordered-cta__lead { display: block; margin-bottom: 6px; }
.block-ll-textlist-bordered-cta--row-stacked .block-ll-textlist-bordered-cta__sep { display: none; }
.block-ll-textlist-bordered-cta--row-stacked .block-ll-textlist-bordered-cta__text { display: block; }

/* Two-column list collapses to one column on narrow screens. */
@media (max-width: 768px) {
	.block-ll-textlist-bordered-cta--cols-2 .block-ll-textlist-bordered-cta__list {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Responsive */
@media (max-width: 782px) {
	.block-ll-textlist-bordered-cta { padding: 56px 0; }
	.block-ll-textlist-bordered-cta__title { font-size: 28px; }
	.block-ll-textlist-bordered-cta__list { gap: 22px; }
	.block-ll-textlist-bordered-cta__cta { flex-direction: column; align-items: flex-start; padding: 24px; }
	.block-ll-textlist-bordered-cta__cta-btn { width: 100%; justify-content: center; }
}


@media (max-width: 767px) {
	/* Match library standard: 20px side gutters on mobile (desktop keeps its wide gutter). */
	.block-ll-textlist-bordered-cta__inner { padding: 0 20px; }
}
