/**
 * Variant CSS: video--reel-vertical
 * Layer 2 — Path B video role (2026-06-05).
 *
 * Text column + a portrait 9:16 poster styled as a floating phone-format reel:
 * rounded corners, soft drop shadow, a reel-style bottom gradient and the house
 * pure-CSS play button. The only vertical video variant — distinct from the five
 * 16:9 layouts. Poster image swapped by the photo system; text via pattern
 * overrides. Columns stack on mobile.
 */

body.aibt-universal .universal-video--reel-vertical {
	background: var(--background);
	color: var(--text-primary);
}

body.aibt-universal .universal-video--reel-vertical .universal-video__grid {
	align-items: center;
}

/* --- Text column --- */
body.aibt-universal .universal-video--reel-vertical .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 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-video--reel-vertical h2.universal-video__headline,
body.aibt-universal .universal-video--reel-vertical .universal-video__headline {
	font-family: var(--font-display) !important;
	color: var(--text-primary) !important;
	margin: 0 0 var(--space-md) 0 !important;
}

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

body.aibt-universal .universal-video--reel-vertical .universal-video__body {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-secondary) !important;
	margin: 0 0 var(--space-lg) 0 !important;
	max-width: 44ch;
}

body.aibt-universal .universal-video--reel-vertical .universal-video__cta a {
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	background: var(--cta-bg-primary) !important;
	color: var(--cta-text-primary) !important;
	border: 1px solid var(--cta-border-primary, var(--cta-bg-primary)) !important;
	padding: var(--space-sm) var(--space-lg) !important;
	border-radius: var(--decor-radius-pill, 999px) !important;
	transition: background var(--duration-fast, 180ms) ease, transform var(--duration-fast, 180ms) ease;
}

body.aibt-universal .universal-video--reel-vertical .universal-video__cta a:hover {
	background: var(--accent-hover, var(--accent)) !important;
	transform: translateY(-1px);
}

/* Keyboard focus ring (a11y): the CTA is the only interactive element here. */
body.aibt-universal .universal-video--reel-vertical .universal-video__cta a:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
	border-radius: inherit;
}

/* --- Media column: centred portrait reel --- */
body.aibt-universal .universal-video--reel-vertical .universal-video__media-col {
	display: flex;
	justify-content: center;
}

body.aibt-universal .universal-video--reel-vertical .universal-video__poster {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 332px;
	border-radius: clamp(20px, 2.4vw, 30px);
	box-shadow:
		0 2px 0 0 color-mix(in srgb, var(--ink, #000) 8%, transparent),
		0 34px 60px -24px rgba(0, 0, 0, 0.5);
}

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

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

/* Reel-style gradient: weighted to the bottom, light overall lift so the play
   button reads on any poster. These rgba layers sit on a PHOTO, not a theme
   surface — fixed values are the correct text-on-photo pattern. */
body.aibt-universal .universal-video--reel-vertical .universal-video__poster::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.05) 42%, rgba(0, 0, 0, 0.14));
	pointer-events: none;
}

/* Circular play button, centred over the poster (house pattern). */
body.aibt-universal .universal-video--reel-vertical .universal-video__play {
	position: absolute !important;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: clamp(58px, 7vw, 78px);
	height: clamp(58px, 7vw, 78px);
	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--reel-vertical .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--reel-vertical .universal-video__poster:hover .universal-video__play {
	transform: translate(-50%, -50%) scale(1.08);
}

/* Stack on mobile; keep the reel from getting too tall on small screens. */
@media (max-width: 781px) {
	body.aibt-universal .universal-video--reel-vertical .universal-video__grid {
		flex-direction: column !important;
	}
	body.aibt-universal .universal-video--reel-vertical .universal-video__text-col,
	body.aibt-universal .universal-video--reel-vertical .universal-video__media-col {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	body.aibt-universal .universal-video--reel-vertical .universal-video__poster {
		max-width: 300px;
	}
}

@media (max-width: 640px) {
	body.aibt-universal .universal-video--reel-vertical .universal-video__kicker {
		letter-spacing: var(--tracking-wider) !important;
	}
}

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