/* =============================================================================
 * LITSLINK BLOCKS — Video · player (acf/ll-video-embed)
 * Self-contained: block-scoped palette + literal font fallback. No global
 * .block-head. Strict 1:1 with the Custom Software Dev "How We Build Your
 * Product" cut: soft light-gradient poster, blue play button, duration chip,
 * slim decorative playback bar. script.js swaps in the real player on click.
 * ========================================================================== */
.block-ll-video-embed {
	--vid-ink: #0b1329;
	--vid-muted: #5a6472;
	--vid-eyebrow: #1690d3;
	--vid-accent: #1690d3;
	--vid-section-bg: #f9fafb;
	--vid-poster-a: #f0f4f8;
	--vid-poster-b: #e9eef4;
	--vid-poster-c: #e2e8f0;
	--vid-chip-bg: #e6f0ff;
	--vid-bar-bg: #ffffff;
	--vid-bar-ctl: #64748b;
	--vid-bar-track: #e2e8f0;

	font-family: var(--ll-font, 'Montserrat', 'Montserrat-fallback', Arial, sans-serif);
	background: var(--vid-section-bg);
	padding: 80px 0;
	box-sizing: border-box;
}
.block-ll-video-embed *,
.block-ll-video-embed *::before,
.block-ll-video-embed *::after { box-sizing: border-box; }

.block-ll-video-embed__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 70px;
}

/* Header (block-scoped, centered) */
.block-ll-video-embed__head { text-align: center; margin: 0 auto 40px; max-width: 820px; }
.block-ll-video-embed__eyebrow {
	margin: 0 0 12px;
	font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--vid-eyebrow);
}
.block-ll-video-embed__title {
	margin: 0; font-size: 40px; line-height: 1.2; font-weight: 700; letter-spacing: -.5px;
	color: var(--vid-ink);
}
.block-ll-video-embed__subtitle {
	margin: 16px auto 0; max-width: 680px; font-size: 17px; line-height: 1.6; color: var(--vid-muted);
}

/* Frame / card */
.block-ll-video-embed__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 20px;
	overflow: hidden;
	background: var(--vid-poster-b);
	box-shadow: 0 24px 60px -28px rgba(15, 27, 45, .25);
	cursor: pointer;
}
.block-ll-video-embed__poster,
.block-ll-video-embed__poster img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.block-ll-video-embed__poster img { object-fit: cover; display: block; }
/* soft light-gradient placeholder when no poster (matches the cut) */
.block-ll-video-embed--no-poster .block-ll-video-embed__poster {
	background:
		linear-gradient(135deg, var(--vid-poster-a) 0%, var(--vid-poster-b) 55%, var(--vid-poster-c) 100%);
}

/* duration chip (top-right) */
.block-ll-video-embed__chip {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 3;
	background: var(--vid-chip-bg);
	color: var(--vid-accent);
	font-size: 11px; font-weight: 700; line-height: 1;
	letter-spacing: .6px;
	padding: 7px 12px;
	border-radius: 999px;
}

/* play button */
.block-ll-video-embed__play {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0;
}
.block-ll-video-embed__play-ring {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--vid-accent);
	box-shadow: 0 0 0 12px rgba(255, 255, 255, .55);
	padding-left: 4px;
	transition: transform .15s ease, box-shadow .15s ease;
}
.block-ll-video-embed__play:hover .block-ll-video-embed__play-ring {
	transform: scale(1.05);
	box-shadow: 0 0 0 14px rgba(255, 255, 255, .65);
}

/* slim decorative playback bar (bottom) */
.block-ll-video-embed__bar {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 24px;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 12px;
	background: var(--vid-bar-bg);
	box-shadow: 0 6px 20px -10px rgba(15, 27, 45, .25);
}
.block-ll-video-embed__bar-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--vid-bar-ctl);
	flex: 0 0 auto;
}
.block-ll-video-embed__bar-time {
	font-size: 12px; font-weight: 500; color: var(--vid-bar-ctl); white-space: nowrap;
	flex: 0 0 auto;
}
.block-ll-video-embed__bar-track {
	position: relative;
	flex: 1 1 auto;
	height: 3px;
	border-radius: 999px;
	background: var(--vid-bar-track);
}
.block-ll-video-embed__bar-fill {
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 2%;
	border-radius: 999px;
	background: var(--vid-accent);
}

/* playing state — poster hosts the injected iframe/video */
.block-ll-video-embed__frame.is-playing { cursor: default; }
.block-ll-video-embed__frame.is-playing .block-ll-video-embed__play,
.block-ll-video-embed__frame.is-playing .block-ll-video-embed__chip,
.block-ll-video-embed__frame.is-playing .block-ll-video-embed__bar { display: none; }
.block-ll-video-embed__poster iframe,
.block-ll-video-embed__poster video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

/* Responsive */
@media (max-width: 1024px) {
	.block-ll-video-embed__inner { padding: 0 40px; }
}
@media (max-width: 782px) {
	.block-ll-video-embed { padding: 56px 0; }
	.block-ll-video-embed__inner { padding: 0 20px; }
	.block-ll-video-embed__title { font-size: 28px; letter-spacing: -.3px; }
	.block-ll-video-embed__frame { border-radius: 14px; }
	.block-ll-video-embed__play-ring { width: 60px; height: 60px; box-shadow: 0 0 0 9px rgba(255, 255, 255, .55); }
	.block-ll-video-embed__play-ring svg { width: 22px; height: 22px; }
	.block-ll-video-embed__bar { left: 12px; right: 12px; bottom: 12px; gap: 8px; padding: 9px 12px; }
	.block-ll-video-embed__bar-time { font-size: 11px; }
}
