/* =============================================================================
 * Block: Tabs — vertical + media.  Handle: pb-ll-tabs-vertical-media
 *
 * Self-contained: palette scoped to .block-ll-tabs-vertical-media; font is
 * var(--ll-font, <literal Montserrat stack>). Centered header over a two-column
 * explorer on a light background: LEFT = plain vertical text tab list (active
 * row = accent blue + left accent bar + faint tint); RIGHT = a rounded card
 * pairing the active tab's image with its title beside it, then a paragraph
 * below the card. Scoped per instance so multiple copies switch independently.
 * ========================================================================== */
.block-ll-tabs-vertical-media {
	--c-dark: #010005;
	--c-muted: #768297;
	--c-grey1: #f9fafb;
	--c-grey3: #374151;
	--c-stroke: #e5e7eb;
	--c-cardbg: #f5f6f8;
	--c-accent: #1690d3;
	--c-white: #fff;

	background: var(--c-grey1);
	padding: 70px 0;
}
.block-ll-tabs-vertical-media__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 44px;
}
.block-ll-tabs-vertical-media .block-head { max-width: 888px; }

/* --- Shell: rail + panels --- */
.block-ll-tabs-vertical-media__shell {
	width: 100%;
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 56px;
	align-items: start;
}

/* --- Left plain text rail --- */
.block-ll-tabs-vertical-media__rail {
	display: flex;
	flex-direction: column;
	border-left: 1px solid var(--c-stroke);
}
.block-ll-tabs-vertical-media__railitem {
	position: relative;
	width: 100%;
	text-align: left;
	background: transparent;
	border: 0;
	border-left: 3px solid transparent;
	margin-left: -1px;
	padding: 12px 22px;
	cursor: pointer;
	color: var(--c-muted);
	font: 600 17px/24px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.block-ll-tabs-vertical-media__railitem:hover { color: var(--c-grey3); }
.block-ll-tabs-vertical-media__railitem.is-active {
	color: var(--c-accent);
	border-left-color: var(--c-accent);
	background: rgba(22, 144, 211, 0.06);
	font-weight: 700;
}

/* --- Right panels --- */
.block-ll-tabs-vertical-media__panels { min-width: 0; }
.block-ll-tabs-vertical-media__panel { display: none; }
.block-ll-tabs-vertical-media__panel.is-active { display: block; }
.block-ll-tabs-vertical-media__panel[hidden] { display: none; }

/* Card: image + title beside it (light grey, bordered, rounded). */
.block-ll-tabs-vertical-media__card {
	display: grid;
	grid-template-columns: 350px 1fr;
	align-items: center;
	gap: 28px;
	background: var(--c-cardbg);
	border: 1px solid var(--c-stroke);
	border-radius: 20px;
	padding: 16px;
}
.block-ll-tabs-vertical-media__media {
	width: 100%;
	border-radius: 14px;
	overflow: hidden;
	line-height: 0;
}
.block-ll-tabs-vertical-media__img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 230px;
	object-fit: cover;
	border-radius: 14px;
}
.block-ll-tabs-vertical-media__placeholder {
	width: 100%;
	aspect-ratio: 3 / 2;
	border-radius: 14px;
	background: rgba(22, 144, 211, 0.08);
	border: 1px dashed rgba(22, 144, 211, 0.28);
}
.block-ll-tabs-vertical-media__title {
	margin: 0;
	padding-right: 12px;
	font: 700 32px/40px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	letter-spacing: -0.5px;
	color: var(--c-dark);
}

/* Paragraph below the card. */
.block-ll-tabs-vertical-media__text {
	margin: 24px 0 0;
	font: 400 17px/28px var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	color: var(--c-grey3);
}

/* --- Responsive --- */
@media (max-width: 1024px) {
	.block-ll-tabs-vertical-media { padding: 56px 0; }
	.block-ll-tabs-vertical-media__inner { padding: 0 40px; gap: 36px; }
	.block-ll-tabs-vertical-media__shell { grid-template-columns: 260px 1fr; gap: 36px; }
	.block-ll-tabs-vertical-media__title { font-size: 26px; line-height: 32px; }
	.block-ll-tabs-vertical-media__card { grid-template-columns: 44% 1fr; gap: 20px; }
}
@media (max-width: 767px) {
	.block-ll-tabs-vertical-media { padding: 44px 0; }
	.block-ll-tabs-vertical-media__inner { padding: 0 20px; gap: 28px; }
	.block-ll-tabs-vertical-media__shell { grid-template-columns: 1fr; gap: 28px; }
	.block-ll-tabs-vertical-media__rail {
		border-left: 0;
		border-bottom: 1px solid var(--c-stroke);
		flex-direction: row;
		overflow-x: auto;
		gap: 4px;
	}
	.block-ll-tabs-vertical-media__railitem {
		border-left: 0;
		border-bottom: 3px solid transparent;
		margin-left: 0;
		white-space: nowrap;
		padding: 10px 14px;
		font-size: 15px;
	}
	.block-ll-tabs-vertical-media__railitem.is-active {
		border-left-color: transparent;
		border-bottom-color: var(--c-accent);
	}
	.block-ll-tabs-vertical-media__card { grid-template-columns: 1fr; gap: 18px; }
	.block-ll-tabs-vertical-media__img { max-height: none; }
	.block-ll-tabs-vertical-media__title { font-size: 22px; line-height: 28px; padding-right: 0; }
	.block-ll-tabs-vertical-media__text { font-size: 16px; line-height: 26px; }
}

/* =============================================================================
 * Shared section header (.block-head) — literal font/#hex (collision-safe).
 * ========================================================================== */
.block-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	text-align: center;
}
.block-head__eyebrow {
	font: 700 12px/16px 'Montserrat', 'Montserrat-fallback', Arial, sans-serif;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #768297;
}
.block-head__title {
	margin: 0;
	font: 600 36px/48px 'Montserrat', 'Montserrat-fallback', Arial, sans-serif;
	letter-spacing: -1px;
	color: #010005;
}
.block-head__subtitle {
	margin: 0;
	font: 400 16px/27px 'Montserrat', 'Montserrat-fallback', Arial, sans-serif;
	color: #374151;
}
@media (max-width: 1024px) {
	.block-head__title { font-size: 30px; line-height: 40px; }
}
@media (max-width: 767px) {
	.block-head__title { font-size: 24px; line-height: 32px; letter-spacing: -0.5px; }
}
