/**
 * IMS Academy Header & Hero Fix
 * Styles are applied only after the companion script marks exact elements.
 */

.ims-hhf-hidden-menu,
.ims-hhf-hidden-menu-label,
.ims-hhf-hidden-menu-wrapper {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.ims-hhf-header {
	background: #fff !important;
}

.ims-hhf-header .ims-hhf-logo,
img.ims-hhf-logo {
	display: block !important;
	width: clamp(250px, 28vw, 390px) !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 145px !important;
	object-fit: contain !important;
	object-position: left center !important;
	background: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
	filter: none !important;
}

.ims-hhf-header .custom-logo-link,
.ims-hhf-header .site-logo,
.ims-hhf-header .site-branding,
.ims-hhf-logo-link {
	background: #fff !important;
}

.ims-hhf-hero-shell {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	min-height: 0 !important;
	background: #fff !important;
	border-radius: clamp(20px, 2.6vw, 36px) !important;
	overflow: hidden !important;
	line-height: 0 !important;
}

.ims-hhf-hero-shell picture {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

img.ims-hhf-hero-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	object-position: center center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: inherit !important;
	box-shadow: none !important;
	transform: none !important;
}

@media (max-width: 980px) {
	.ims-hhf-header .ims-hhf-logo,
	img.ims-hhf-logo {
		width: clamp(230px, 48vw, 360px) !important;
		max-height: 128px !important;
	}
}

@media (max-width: 782px) {
	.ims-hhf-header .ims-hhf-logo,
	img.ims-hhf-logo {
		width: min(300px, 76vw) !important;
		max-height: 108px !important;
	}

	.ims-hhf-hero-shell {
		max-width: 680px !important;
		margin-inline: auto !important;
		border-radius: 22px !important;
	}
}
