/**
 * Variant CSS: video--cinematic-stacked
 *
 * A centred editorial intro above a wide cinematic 21:9 poster with a CSS play
 * button, caption beneath. The text lives in its own clean block (not overlaid
 * on the frame). Poster image + CSS-only play disc — no iframe, no autoplay, no
 * JS. Text stays --ink (polarity-aware); the play disc uses the text-on-photo
 * pattern (accent fill + white ring + dark halo) so it reads on any frame.
 */

body.aibt-universal .universal-video--cinematic-stacked {
	padding-block: calc(clamp(3rem, 7vw, 5.5rem) * var(--density, 1));
	text-align: center;
}

/* Centred intro. */
body.aibt-universal .universal-video--cinematic-stacked .universal-video__intro {
	margin-bottom: clamp(1.8rem, 3.6vw, 2.8rem);
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-widest) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 auto var(--space-sm) auto !important;
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 auto var(--space-md) auto !important;
	max-width: 18ch;
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__body {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.74;
	max-width: 52ch;
	margin: 0 auto !important;
}

/* Cinematic poster. */
body.aibt-universal .universal-video--cinematic-stacked .universal-video__poster {
	position: relative;
	overflow: hidden;
	border-radius: var(--decor-radius);
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__poster-img {
	margin: 0 !important;
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__poster-img img {
	display: block;
	width: 100%;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	filter: var(--photo-filter, none);
}

/* Subtle dark scrim so the play button reads on any poster. */
body.aibt-universal .universal-video--cinematic-stacked .universal-video__poster::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.18);
	pointer-events: none;
}

/* Circular play button — text-on-photo pattern (fixed rgba edges are correct
   over a PHOTO, not a theme surface). */
body.aibt-universal .universal-video--cinematic-stacked .universal-video__play {
	position: absolute !important;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: clamp(64px, 8vw, 96px);
	height: clamp(64px, 8vw, 96px);
	border-radius: 50%;
	background: var(--accent);
	box-shadow:
		0 0 0 2px rgba(255, 255, 255, 0.55),
		0 0 0 4px rgba(0, 0, 0, 0.16),
		0 10px 30px rgba(0, 0, 0, 0.42);
	transition: transform var(--duration-fast, 180ms) ease;
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
	width: 34%;
	height: 38%;
	background: var(--cta-text-primary, #ffffff);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

body.aibt-universal .universal-video--cinematic-stacked .universal-video__poster:hover .universal-video__play {
	transform: translate(-50%, -50%) scale(1.08);
}

/* Caption. */
body.aibt-universal .universal-video--cinematic-stacked .universal-video__caption {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	letter-spacing: 0.02em !important;
	color: var(--ink) !important;
	opacity: 0.6;
	margin: var(--space-md) auto 0 auto !important;
}

/* Mobile: 21:9 is too thin on phones — fall back to 16:9. */
@media (max-width: 781px) {
	body.aibt-universal .universal-video--cinematic-stacked .universal-video__poster-img img {
		aspect-ratio: 16 / 9;
	}
}

/* A5: neutralise wide tracking on small screens so the centred kicker never wraps. */
@media (max-width: 640px) {
	body.aibt-universal .universal-video--cinematic-stacked .universal-video__kicker {
		letter-spacing: 0 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-video--cinematic-stacked .universal-video__play {
		transition: none;
	}
	body.aibt-universal .universal-video--cinematic-stacked .universal-video__poster:hover .universal-video__play {
		transform: translate(-50%, -50%);
	}
}
