/**
 * Variant CSS: hero--full-photo-keyline-frame-center
 * Layer 2 — Variants Library (Path B Recipes architecture).
 * Concept: full-bleed landscape cover photo + a thin INSET KEYLINE FRAME
 *   (1px light border inset from all edges, like a gallery mount / passe-partout)
 *   + an even soft scrim + centered light copy (kicker + H1 + deck + CTA).
 *   Signature device = the inset keyline frame; refined "premium brand film" feel.
 *   Distinct from full-photo-scrim-statement (plain centered statement, gradient scrim).
 * Scoping: body.aibt-universal .universal-hero--full-photo-keyline-frame-center
 * @since 2026-06-11 (Path B Variants Library)
 */

body.aibt-universal .universal-hero--full-photo-keyline-frame-center {
	padding: 0 !important;
	position: relative;
	border-bottom: 1px solid var(--divider-primary, rgba(0, 0, 0, 0.08));
}
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .wp-block-cover__image-background { object-fit: cover; }
/* Even radial scrim — keeps the whole frame legible without a directional gradient. */
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .wp-block-cover__background {
	background-image: radial-gradient(ellipse at center, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.4) 100%);
}

/* === Signature: inset keyline frame (gallery-mount border) === */
body.aibt-universal .universal-hero--full-photo-keyline-frame-center::after {
	content: "";
	position: absolute;
	inset: clamp(16px, 3vw, 40px);
	border: 1px solid color-mix(in srgb, #fff 55%, transparent);
	pointer-events: none;
	z-index: 2;
}

body.aibt-universal .universal-hero--full-photo-keyline-frame-center .wp-block-cover__inner-container {
	width: 100%;
	position: relative;
	z-index: 3;
	padding: clamp(var(--space-7, 48px), 8vw, var(--space-10, 128px)) clamp(var(--space-5, 24px), 7vw, var(--space-9, 96px));
}
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__panel {
	margin: 0 auto;
	text-align: center;
}

/* Kicker — small caps, light, sits above the headline, centered. */
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__kicker {
	display: inline-block;
	font-family: var(--font-body) !important;
	font-size: var(--text-xs, 12px) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-widest, 0.2em) !important;
	text-transform: uppercase !important;
	color: color-mix(in srgb, var(--accent) 42%, #fff) !important;
	margin: 0 auto var(--space-4, 16px) !important;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55);
}

/* Headline — display face, white for guaranteed legibility on the scrim. */
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__headline {
	font-family: var(--font-display) !important;
	color: var(--on-dark, #fff) !important;
	margin: 0 auto var(--space-4, 16px) !important;
	max-width: 16ch;
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.42);
}
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__headline em {
	font-style: italic;
	color: color-mix(in srgb, var(--accent) 70%, #fff);
	font-weight: inherit;
}

/* Deck — supporting line, lighter weight, constrained measure. */
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg, 20px) !important;
	line-height: var(--leading-relaxed, 1.6) !important;
	color: rgba(255, 255, 255, 0.92) !important;
	max-width: 44ch;
	margin: 0 auto clamp(var(--space-6, 32px), 4vh, var(--space-7, 48px)) !important;
	text-shadow: 0 1px 20px rgba(0, 0, 0, 0.42);
}

/* CTA — accent fill; text uses --on-accent (NOT --on-dark) so it stays legible on light accents. */
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__cta--primary .wp-block-button__link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: var(--text-base, 16px);
	letter-spacing: var(--tracking-wide, 0.02em);
	padding: 1.1rem 2.75rem;
	color: var(--cta-text-primary, var(--on-accent, #fff));
	background: var(--cta-bg-primary, var(--accent));
	border: 1px solid var(--cta-bg-primary, var(--accent));
	border-radius: var(--decor-radius, 0);
	min-height: var(--target-min, 44px);
	display: inline-flex;
	align-items: center;
	transition: background var(--duration-base, 250ms) var(--ease-standard, ease), transform var(--duration-base, 250ms) var(--ease-standard, ease);
}
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__cta--primary .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--cta-bg-primary, var(--accent)) 86%, #000);
	border-color: color-mix(in srgb, var(--cta-bg-primary, var(--accent)) 86%, #000);
	transform: translateY(-2px);
}
body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__cta--primary .wp-block-button__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: var(--focus-offset, 4px);
}

/* Tablet — keep the frame elegant but a touch tighter. */
@media (max-width: 959px) {
	body.aibt-universal .universal-hero--full-photo-keyline-frame-center::after {
		inset: clamp(14px, 3vw, 28px);
	}
}

/* Mobile — shrink keyline inset, full-width CTA, no overflow, readable H1. */
@media (max-width: 640px) {
	body.aibt-universal .universal-hero--full-photo-keyline-frame-center::after {
		inset: 12px;
	}
	body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__headline {
		font-size: clamp(2.1rem, 9vw, 3rem) !important;
		max-width: 100%;
	}
	body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__kicker { letter-spacing: 0.08em !important; }
	body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__cta--primary .wp-block-button__link { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-hero--full-photo-keyline-frame-center .wp-block-button__link { transition: none; }
	body.aibt-universal .universal-hero--full-photo-keyline-frame-center .universal-hero__cta--primary .wp-block-button__link:hover { transform: none; }
}
