@import "../../../../themes/recast2025/style.css";

.header-product {
	background: var(--primary-royal-blue, #1f289c);
	padding: var(--margins-base-vert, 100px) var(--margins-base-hori, 100px);
	position: relative;
}

/* Background decorative elements in corners */
.header-product::before,
.header-product::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	max-width: var(--global-digital-grid-maxwidth, 400px);
	background-image: url("../../../../themes/recast2025/assets/bg-pattern.png");
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.5;
}

/* Top-left corner */
.header-product::before {
	top: 0;
	left: 0;
	transform: rotate(0deg);
}

/* Bottom-right corner */
.header-product::after {
	bottom: 0;
	right: 0;
	transform: rotate(180deg);
}

.header-product__stage {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: var(--gap-base, 56px);
	max-width: var(--global-maxwidth-maxwidth-m, 1200px);
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.header-product__left {
	display: flex;
	flex-direction: column;
	gap: var(--gap-l, 32px);
	color: var(--neutrals-white, #ffffff);
}

.header-product__eyebrow-wrap {
	display: flex;
	align-items: center;
	gap: var(--gap-s, 16px);
}

.header-product__eyebrow-image {
	width: var(--icon-maxwidth-s, 64px);
	height: auto;
}

.header-product__eyebrow {
	font-weight: 500;
	color: var(--neutrals-white, #ffffff);
	letter-spacing: calc(var(--size-heading-xs, 20px) * 0.03);
}

.header-product__content {
	display: flex;
	flex-direction: column;
	gap: var(--gap-m, 24px);
}

.header-product__title {
	position: relative;
	margin: 0;
	padding-bottom: var(--gap-m, 24px);
	color: var(--neutrals-white, #ffffff);
	letter-spacing: calc(var(--size-heading-xl, 72px) * 0.02);
}

.header-product__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 64px;
	height: 4px;
	background: var(--secondary-orange, #f05928);
}

.header-product__description {
	font-weight: 300;
	line-height: 100%;
}

.header-product__ctas {
	display: flex;
	gap: var(--gap-s, 16px);
}

.header-product__right {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

/* Anchor rows */
.header-product__anchors-row {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.header-product__anchor {
	width: var(--home-hero-anchor-maxwidth, 40px);
	height: var(--home-hero-anchor-maxwidth, 40px);
	background: url("../../../../themes/recast2025/assets/anchor.svg") center center / contain no-repeat;
	display: inline-block;
	opacity: 0;
	transform: scale(0.2);
	transition: transform 500ms, opacity 1000ms ease;
}

.header-product__anchor.is-visible {
	opacity: 1;
	transform: scale(1);
}

.header-product__anchor:hover {
	transform: scale(1.5);
}

.header-product__image {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 820px) {
	.header-product__secondary .header-product__stage {
		grid-template-columns: 1fr;
	}

	.header-product__stage {
		grid-template-columns: 1fr;
	}

	.header-product__left {
		order: 2;
	}
}

/* @media (max-width: 600px) {
	.header-product__stage {
		grid-template-columns: 1fr;
	}

	.header-product__left {
		order: 2;
	}
} */

/* Header Secondary */
.header-product__secondary .header-product__left {
	gap: var(--gap-m, 24px);
}

.header-product__secondary .header-product__content {
	gap: var(--gap-s, 16px);
}

.header-product__secondary .header-product__eyebrow {
	color: var(--primary-recast-teal, #31d1ff);
}

.header-product__secondary .header-product__title {
	padding-bottom: var(--gap-s, 16px);
}

.header-product__secondary .header-product__image {
	width: 100%;
}

/* Header with Animated Anchors */
.header-product__animated-anchors .header-product__image {
	width: 80%;
}

/* Elementor editor: show animated elements without waiting for JS */
.e-preview--show-hidden-elements .header-product .header-product__anchor {
	opacity: 1 !important;
	transform: scale(1) !important;
}

/* mobile adjustments */
@media (max-width: 920px) {
	.header-product__ctas {
		flex-direction: column;
		text-align: center;
	}
}