/**
 * Hero split (AUB / VUX course hero).
 *
 * Layout migration: DS 0.8.0 hero-aub-vux. Full component acceptance remains separate.
 * Columns use the shared `.row` grid (see pattern classNames).
 */

.ya-hero-split {
	--ya-hero-split-max-width: var(--wp--style--global--wide-size, 1440px);
	--ya-hero-split-radius: 1rem;
	--ya-hero-split-image-ratio: 911 / 512.438;
	--ya-hero-split-text-max-width: 44.25rem;
	--ya-hero-split-text-gap: var(--ya-spacing-08);
	--ya-hero-split-content-gap: var(--ya-spacing-40);
	--ya-hero-split-action-gap: var(--ya-spacing-16);
	--ya-hero-split-outer-padding: 0;
	--ya-hero-split-info-inline: var(--ya-spacing-16);
	--ya-hero-split-info-block: 3rem;
	--ya-hero-split-heading-size: 2.125rem;

	box-sizing: border-box;
	margin-block: 0;
	padding-inline: var(--ya-hero-split-outer-padding);
	background-color: var(--wp--custom--color--background-base, #e8e6de);
	color: var(--wp--custom--color--text-primary, #000);
	padding-top: var(--wp--custom--header--height);
}

.ya-hero-split dt {
	width: clamp(9.25rem, 8.751rem + 1.666vi, 10.75rem);
}

.ya-hero-split *,
.ya-hero-split *::before,
.ya-hero-split *::after {
	box-sizing: border-box;
}

/* Seamless card: no gutter between content and media. */
.ya-hero-split__container.row {
	gap: 0;
	width: 100%;
	max-width: var(--ya-hero-split-max-width);
	margin-inline: auto;
	overflow: hidden;
	background-color: var(--wp--custom--color--layer-background, #fff);
}

.ya-hero-split__info {
	display: flex !important;
	flex-direction: column;
	gap: var(--ya-hero-split-content-gap);
	min-width: 0;
	padding: var(--ya-hero-split-info-block) var(--ya-hero-split-info-inline);
}

.ya-hero-split__info.is-layout-flex,
.ya-hero-split__info.is-layout-flow,
.wp-block-group.ya-hero-split__info {
	display: flex !important;
	flex-direction: column;
}

.ya-hero-split__top {
	display: flex !important;
	flex-direction: column;
	gap: var(--ya-hero-split-content-gap);
	min-width: 0;
}

.ya-hero-split__top.is-layout-flex,
.ya-hero-split__top.is-layout-flow,
.wp-block-group.ya-hero-split__top {
	display: flex !important;
	flex-direction: column;
}

.ya-hero-split__text {
	display: flex !important;
	flex-direction: column;
	gap: var(--ya-hero-split-text-gap);
	width: 100%;
	max-width: var(--ya-hero-split-text-max-width);
	min-width: 0;
}

.ya-hero-split__text.is-layout-flex,
.ya-hero-split__text.is-layout-flow,
.wp-block-group.ya-hero-split__text {
	display: flex !important;
	flex-direction: column;
}

.ya-hero-split__title,
.ya-hero-split__title.wp-block-post-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--sora, inherit);
	font-size: var(--ya-hero-split-heading-size);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.ya-hero-split__body,
.ya-hero-split__body.wp-block-post-excerpt {
	margin: 0;
	overflow-wrap: anywhere;
}

.ya-hero-split__body .wp-block-post-excerpt__excerpt,
.ya-hero-split__body p {
	margin: 0;
}

.ya-hero-split__image.wp-block-post-featured-image {
	position: absolute;
	inset: 0;
	margin: 0;
	width: 100%;
	height: 100%;
}

.ya-hero-split__image.wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ya-hero-split__facts {
	display: grid;
	margin: 0;
	font-family: var(--wp--preset--font-family--figtree, inherit);
	font-size: var(--wp--preset--font-size--body-md, 1rem);
	font-weight: 400;
	line-height: 1.5;
}

.ya-hero-split__facts > div {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: var(--ya-spacing-16);
	padding-block: var(--ya-spacing-08);
	border-bottom: 1px solid var(--wp--custom--color--border-subtle, rgba(0, 0, 0, 0.12));
}

.ya-hero-split__facts dt {
	font-weight: 700;
}

.ya-hero-split__facts dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.ya-hero-split__actions,
.ya-hero-split__actions.wp-block-buttons,
.wp-block-group.ya-hero-split__actions {
	display: flex !important;
	flex-direction: column;
	flex-wrap: wrap;
	gap: var(--ya-hero-split-action-gap);
	margin: 0;
	min-width: 0;
}

/* Nested core/buttons inside the actions group — let CTAs share the flex gap. */
.ya-hero-split__actions > .wp-block-buttons {
	display: contents;
}

.ya-hero-split__cta {
	margin: 0;
	width: 100%;
}

/* Editor-only empty state when no product sheet is set. */
.ya-hero-split__cta--secondary-empty .wp-block-button__link {
	opacity: 0.55;
	border-style: dashed;
}

.ya-hero-split__cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	min-height: 3.5rem;
	height: auto;
	padding: 0 1.5rem;
	border-radius: var(--wp--custom--button--radius-full, 999px);
	font-family: var(--wp--preset--font-family--figtree, inherit);
	font-size: var(--wp--preset--font-size--label-lg, 1rem);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
}

.ya-hero-split__cta--primary .wp-block-button__link:hover {
	background-color: var(--wp--custom--color--button-primary-background-hover, #f4b32b) !important;
}

.ya-hero-split__cta--secondary .wp-block-button__link {
	padding-inline-start: 1rem;
	border: 2px solid var(--wp--custom--color--button-tertiary-border, #aba8a0);
	background-color: var(--wp--custom--color--button-tertiary-background, #fff) !important;
}

.ya-hero-split__cta--secondary .wp-block-button__link:hover {
	border-color: var(--wp--custom--color--button-tertiary-border-hover, #000);
}

.ya-hero-split__cta-icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
}

.ya-hero-split__cta-icon svg {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

.ya-hero-split__cta-icon svg path {
	fill: currentColor;
}

.ya-hero-split__cta .wp-block-button__link:focus-visible {
	outline: var(--wp--custom--focus--width, 3px) solid var(--wp--custom--color--focus-border);
	outline-offset: 2px;
}

.ya-hero-split__media {
	position: relative;
	order: -1;
	min-width: 0;
	margin: 0;
	aspect-ratio: var(--ya-hero-split-image-ratio);
	background-color: var(--wp--preset--color--gray-200, #f7f4ed);
}

.ya-hero-split__media.is-layout-flex,
.ya-hero-split__media.is-layout-flow,
.wp-block-group.ya-hero-split__media {
	display: block !important;
}

.ya-hero-split__image {
	position: absolute;
	inset: 0;
	margin: 0;
	width: 100%;
	height: 100%;
}

.ya-hero-split__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* —— Mobile L —— */
@media (min-width: 480px) {
	.ya-hero-split {
		--ya-hero-split-info-inline: var(--ya-spacing-20);
		--ya-hero-split-info-block: 3rem;
		--ya-hero-split-heading-size: 2.125rem;
	}
}

/* —— Tablet —— */
@media (min-width: 768px) {
	.ya-hero-split {
		--ya-hero-split-outer-padding: var(--ya-spacing-40);
		--ya-hero-split-info-inline: var(--ya-spacing-40);
		--ya-hero-split-info-block: var(--ya-spacing-40);
		--ya-hero-split-heading-size: 2.5rem;
	}

	.ya-hero-split__container {
		border-radius: var(--ya-hero-split-radius);
	}

	.ya-hero-split__actions,
	.ya-hero-split__actions.wp-block-buttons,
	.wp-block-group.ya-hero-split__actions {
		flex-direction: row;
		align-items: stretch;
	}

	/* Equal-width CTAs that fill the info column (design: side-by-side full row). */
	.ya-hero-split__cta {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		max-width: none;
	}

	.ya-hero-split__cta .wp-block-button__link {
		width: 100%;
	}
}

/* —— Tablet L remains stacked on the twelve-column grid. —— */
@media (min-width: 992px) {
	.ya-hero-split {
		--ya-hero-split-heading-size: 2.625rem;
	}
}

/* Include saved 5/3-column patterns without rewriting their block markup. */
@media (min-width: 992px) and (max-width: 1279px) {
	.ya-hero-split__container.row > :is(.ya-hero-split__info, .ya-hero-split__media) {
		grid-column: auto / span 12;
	}
}

/* The contract switches to side-by-side at Desktop, not Tablet L. */
@media (min-width: 1280px) {
	.ya-hero-split__media {
		order: initial;
		aspect-ratio: auto;
		align-self: stretch;
		min-height: 100%;
	}

	.ya-hero-split {
		--ya-hero-split-heading-size: 3rem;
	}

	.ya-hero-split__media::before {
		content: "";
		display: block;
		padding-top: 100%;
	}

	.ya-hero-split__info {
		justify-content: space-between;
	}
}

/* —— Mobile: no beige outer frame —— */
@media (max-width: 767px) {
	.ya-hero-split {
		background-color: var(--wp--custom--color--layer-background, #fff);
	}
}
