/* =============================================================================
 * LITSLINK BLOCKS — Tabs · top pills + 3-col cards.  Handle: pb-ll-tabs-3col-cards
 *
 * Light section (#f9fafb). Centered header → horizontal pill tab strip →
 * three-column grid of white cards (bold title + paragraph + bulleted list).
 * Clicking a tab swaps the whole grid. Palette scoped to
 * .block-ll-tabs-3col-cards (no :root leak); font is var(--ll-font, <literal
 * stack>) so the block styles correctly even without the shared tokens sheet.
 * ========================================================================== */
.block-ll-tabs-3col-cards {
	--c-dark: #010005;
	--c-muted: #768297;
	--c-grey1: #f9fafb;
	--c-grey3: #374151;
	--c-stroke: #e5e7eb;
	--c-accent: #1690d3;
	--c-white: #fff;

	background: var(--c-grey1);
	padding: 80px 0;
}
.block-ll-tabs-3col-cards__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	flex-direction: column;
	gap: 44px;
}
.block-ll-tabs-3col-cards__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}
.block-ll-tabs-3col-cards__eyebrow {
	font: 700 12px/16px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--c-muted);
}
.block-ll-tabs-3col-cards__title {
	margin: 0;
	max-width: 760px;
	font: 600 40px/52px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	letter-spacing: -1px;
	color: var(--c-dark);
}
.block-ll-tabs-3col-cards__subtitle {
	margin: 0;
	max-width: 760px;
	font: 400 16px/27px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	color: var(--c-grey3);
}

/* Tabs — centered horizontal pill strip (scrolls on narrow screens) */
.block-ll-tabs-3col-cards__tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	padding: 2px;
}
.block-ll-tabs-3col-cards__tab {
	flex: 0 0 auto;
	white-space: nowrap;
	background: var(--c-white);
	border: 1px solid var(--c-stroke);
	border-radius: 999px;
	padding: 11px 22px;
	font: 600 14px/20px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	color: var(--c-grey3);
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.block-ll-tabs-3col-cards__tab:hover { border-color: var(--c-accent); }
.block-ll-tabs-3col-cards__tab--active {
	border-color: var(--c-accent);
	background: var(--c-white);
	color: var(--c-accent);
}

/* Panels + 3-column card grid */
.block-ll-tabs-3col-cards__panel { display: none; }
.block-ll-tabs-3col-cards__panel--active { display: block; }
.block-ll-tabs-3col-cards__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	align-items: stretch;
}
.block-ll-tabs-3col-cards__card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	background: var(--c-white);
	border: 1px solid var(--c-stroke);
	border-radius: 16px;
	padding: 32px 28px;
	box-shadow: 0 24px 60px -50px rgba(16, 24, 40, 0.24);
}
.block-ll-tabs-3col-cards__card-title {
	margin: 0;
	font: 600 20px/28px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	color: var(--c-dark);
}
.block-ll-tabs-3col-cards__card-text {
	margin: 0;
	font: 400 16px/27px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	color: var(--c-grey3);
}

/* Bulleted list — blue dot markers */
.block-ll-tabs-3col-cards__points {
	list-style: none;
	margin: auto 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.block-ll-tabs-3col-cards__point {
	position: relative;
	padding-left: 22px;
	font: 400 15px/23px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	color: var(--c-grey3);
}
.block-ll-tabs-3col-cards__point::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 8px;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--c-accent);
}

/* Tablet ≤1024 — 2-up grid */
@media (max-width: 1024px) {
	.block-ll-tabs-3col-cards { padding: 56px 0; }
	.block-ll-tabs-3col-cards__inner { gap: 32px; padding: 0 40px; }
	.block-ll-tabs-3col-cards__title { font-size: 32px; line-height: 42px; }
	.block-ll-tabs-3col-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}

/* Mobile ≤767 — single column */
@media (max-width: 767px) {
	.block-ll-tabs-3col-cards { padding: 44px 0; }
	.block-ll-tabs-3col-cards__inner { gap: 26px; padding: 0 20px; }
	.block-ll-tabs-3col-cards__title { font-size: 26px; line-height: 34px; letter-spacing: -0.5px; }
	.block-ll-tabs-3col-cards__subtitle { font-size: 15px; line-height: 24px; }
	.block-ll-tabs-3col-cards__tabs { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; -ms-overflow-style: none; margin: 0 -20px; padding: 2px 20px; }
	.block-ll-tabs-3col-cards__tabs::-webkit-scrollbar { display: none; }
	.block-ll-tabs-3col-cards__grid { grid-template-columns: 1fr; gap: 20px; }
	.block-ll-tabs-3col-cards__card { padding: 26px 22px; gap: 14px; }
	.block-ll-tabs-3col-cards__card-title { font-size: 18px; line-height: 26px; }
	.block-ll-tabs-3col-cards__card-text { font-size: 15px; line-height: 24px; }
}
