/**
 * SMI Page Header Module Styles
 */

/* Base container */
.smi-page-header {
	position: relative;
	overflow: hidden;
	color: white;
	min-height: 400px;
	display: flex;
	align-items: center;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Brand gradient backgrounds */
.smi-page-header.bg-gradient-brand-blue {
	background: linear-gradient(to bottom, #4e76a6 28%, #1e4877 100%);
}

.smi-page-header.bg-gradient-brand-red {
	background: linear-gradient(to bottom, #c61a28 0%, #97002e 100%);
}

/* Background overlay for images */
.smi-page-header__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 1);
	pointer-events: none;
	z-index: 1;
}

/* Inner container */
.smi-page-header__inner {
	position: relative;
	z-index: 2;
	padding: 4rem 1rem;
	width: 100%;
}

@media (min-width: 768px) {
	.smi-page-header__inner {
		padding: 6rem 2rem;
	}
}

@media (min-width: 1024px) {
	.smi-page-header__inner {
		padding: 8rem 2rem;
	}
}

/* Centered layout */
.smi-page-header--centered .smi-page-header__content {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

/* Split layout container - full width grid */
.smi-page-header__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: stretch;
	width: 100%;
}

@media (min-width: 768px) {
	.smi-page-header__split {
		grid-template-columns: 1fr 1fr;
		gap: 0;
	}
}

/* Remove inner container padding for split layout */
.smi-page-header--split .smi-page-header__inner {
	padding: 0;
}

/* When full width, extend the split layout to edges */
.smi-page-header--width-full.smi-page-header--split .smi-page-header__inner {
	max-width: 100%;
	padding: 0;
}

/* Full width split layout should extend to viewport edges */
.smi-page-header--width-full .smi-page-header__split {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

/* Eliminate all padding for full width split */
.smi-page-header .w-full .smi-page-header__split {
	padding: 0;
}

/* Add padding only to text content side */
.smi-page-header__content--split {
	padding: 4rem 2rem;
}

@media (min-width: 768px) {
	.smi-page-header__content--split {
		padding: 6rem 3rem;
	}

	/* When image is on the right (default), remove right padding on desktop */
	.smi-page-header--width-full
		.smi-page-header__split:not(.smi-page-header__split--reversed)
		.smi-page-header__content--split {
		padding-left: 4rem;
		padding-right: 4rem;
	}

	/* When image is on the left (reversed), remove left padding on desktop */
	.smi-page-header--width-full
		.smi-page-header__split--reversed
		.smi-page-header__content--split {
		padding-right: 4rem;
		padding-left: 4rem;
	}
}

@media (min-width: 1024px) {
	.smi-page-header__content--split {
		padding: 8rem 4rem;
	}

	/* Larger padding on desktop for text side */
	.smi-page-header--width-full
		.smi-page-header__split:not(.smi-page-header__split--reversed)
		.smi-page-header__content--split {
		padding-left: 6rem;
		padding-right: 6rem;
	}

	.smi-page-header--width-full
		.smi-page-header__split--reversed
		.smi-page-header__content--split {
		padding-right: 6rem;
		padding-left: 6rem;
	}
}

/* Reversed split layout (image on left) */
.smi-page-header__split--reversed {
	direction: rtl;
}

.smi-page-header__split--reversed > * {
	direction: ltr;
}

/* Content styles */
.smi-page-header__content--split {
	text-align: left;
}

/* Eyebrow text */
.smi-page-header__eyebrow {
	font-family: "Montserrat", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 1rem;
	opacity: 0.9;
}

/* Headline */
.smi-page-header__headline {
	font-family: "EB Garamond", serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 0;
	color: white;
}

@media (min-width: 768px) {
	.smi-page-header__headline {
		font-size: 34px;
	}
}

@media (min-width: 1024px) {
	.smi-page-header__headline {
		font-size: 40px;
	}
}

/* Subheadline */
.smi-page-header__subheadline {
	font-size: 1.125rem;
	line-height: 1.6;
	margin-bottom: 2rem;
	opacity: 0.95;
}

@media (min-width: 768px) {
	.smi-page-header__subheadline {
		font-size: 1.25rem;
	}
}

/* CTA wrapper */
.smi-page-header__cta-wrapper {
	margin-top: 2rem;
}

/* CTA Button styles */
.smi-page-header__cta {
	display: inline-flex;
	align-items: center;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 1rem 2rem;
	text-decoration: none;
	transition: all 0.3s ease;
}

/* Blue CTA button */
.smi-page-header__cta.btn-cta-blue {
	background: linear-gradient(to bottom, #4e76a6 28%, #1e4877 100%);
	color: white;
	border: none;
}

.smi-page-header__cta.btn-cta-blue:hover {
	background: linear-gradient(to bottom, #466a95 28%, #1b416b 100%);
	color: white !important;
}

.smi-page-header__cta.btn-cta-blue:hover .fa-chevron-right {
	color: white !important;
}

/* Red CTA button */
.smi-page-header__cta.btn-cta-red {
	background: linear-gradient(to bottom, #c61a28 0%, #97002e 100%);
	color: white;
	border: none;
}

.smi-page-header__cta.btn-cta-red:hover {
	background: linear-gradient(to bottom, #b31724 0%, #870029 100%);
	color: white !important;
}

.smi-page-header__cta.btn-cta-red:hover .fa-chevron-right {
	color: white !important;
}

/* White outline CTA button */
.smi-page-header__cta.btn-cta-white {
	background: transparent;
	color: white;
	border: 2px solid white;
}

.smi-page-header__cta.btn-cta-white:hover {
	background: white;
	color: #1e4877 !important;
}

.smi-page-header__cta.btn-cta-white:hover .fa-chevron-right {
	color: #1e4877 !important;
}

/* Side image container - full grid cell coverage */
.smi-page-header__image {
	position: relative;
	overflow: hidden;
	border-radius: 0;
	width: 100%;
	height: 100%;
	min-height: 400px;
	margin: 0;
	display: flex;
}

/* Ensure image extends to edge in full-width mode */
.smi-page-header--width-full .smi-page-header__image {
	border-radius: 0;
}

@media (min-width: 768px) {
	.smi-page-header__image {
		min-height: 500px;
	}
}

@media (min-width: 1024px) {
	.smi-page-header__image {
		min-height: 600px;
	}
}

/* Image element - absolute positioning for full coverage */
.smi-page-header__image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Image overlay using pseudo-element like media-section */
.smi-page-header__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, var(--smi-image-overlay, 0));
	pointer-events: none;
	z-index: 1;
}

/* Both sides of split should fill their grid cells */
.smi-page-header__split > * {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Image background is handled by the container itself */

/* Container width variants */
.smi-page-header .container {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 2rem;
	padding-right: 2rem;
}

.smi-page-header .w-full {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* Add padding to content when full width */
.smi-page-header .w-full .smi-page-header__content {
	padding-left: 2rem;
	padding-right: 2rem;
}

@media (min-width: 1024px) {
	.smi-page-header .w-full .smi-page-header__content {
		padding-left: 4rem;
		padding-right: 4rem;
	}
}

/* Position-specific padding for split layout - only on desktop */
@media (min-width: 768px) {
	/* When image is on right (default), only pad the left side */
	.smi-page-header
		.w-full
		.smi-page-header__split:not(.smi-page-header__split--reversed) {
		padding-left: 2rem;
		padding-right: 0;
	}

	/* When image is on left (reversed), only pad the right side */
	.smi-page-header .w-full .smi-page-header__split--reversed {
		padding-left: 0;
		padding-right: 2rem;
	}
}

@media (min-width: 1024px) {
	.smi-page-header
		.w-full
		.smi-page-header__split:not(.smi-page-header__split--reversed) {
		padding-left: 4rem;
		padding-right: 0;
	}

	.smi-page-header .w-full .smi-page-header__split--reversed {
		padding-left: 0;
		padding-right: 4rem;
	}
}

/* Editor preview adjustments */
.editor-styles-wrapper .smi-page-header {
	margin: 0;
}

/* Accessibility: Focus states */
.smi-page-header__cta:focus {
	outline: 3px solid rgba(255, 255, 255, 0.8);
	outline-offset: 2px;
}

/* Ensure proper contrast for AAA compliance */
.smi-page-header__eyebrow,
.smi-page-header__headline,
.smi-page-header__subheadline {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Print styles */
@media print {
	.smi-page-header {
		background: none !important;
		color: black !important;
		min-height: auto;
	}

	.smi-page-header__overlay,
	.smi-page-header__image-overlay {
		display: none;
	}

	.smi-page-header__headline,
	.smi-page-header__subheadline,
	.smi-page-header__eyebrow {
		color: black !important;
		text-shadow: none;
	}
}
