/* MIM Page Hero — "01 Hero" of every inner page.
   Defaults use :where() so Elementor style controls ({{WRAPPER}} .x) always win. */
.mim-w-page-hero :where(.mim-page-hero) {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 5vh, 48px);
}
.mim-w-page-hero :where(.mim-page-hero__grid) {
	--mim-hero-col: 420px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--mim-hero-col)), 1fr));
	gap: clamp(32px, 5vw, 72px);
	align-items: end;
}
.mim-w-page-hero :where(.mim-page-hero__content) {
	--mim-hero-align: flex-start;
	display: flex;
	flex-direction: column;
	align-items: var(--mim-hero-align);
	gap: 24px;
	min-width: 0;
}
.mim-w-page-hero :where(.mim-page-hero__title) { max-width: 9em; }
.mim-w-page-hero :where(.mim-page-hero__buttons) { justify-content: var(--mim-hero-align); }

/* Breadcrumbs: design uses the mono font's normal line height */
.mim-w-page-hero :where(.mim-page-hero__crumbs ol) { line-height: normal; }

/* Image order */
.mim-w-page-hero.mim-page-hero--image-left .mim-page-hero__media { order: -1; }
.mim-w-page-hero.mim-page-hero--no-image .mim-page-hero__grid { grid-template-columns: minmax(0, 1fr); }

/* Image frame (radius/background come from .mim-media) */
.mim-w-page-hero :where(.mim-page-hero__media) { aspect-ratio: 4 / 3; min-width: 0; width: 100%; }
.mim-w-page-hero .mim-page-hero__media > img { width: 100%; height: 100%; max-width: none; } /* beat `.elementor img { height:auto }` */
.mim-w-page-hero .mim-page-hero__media.is-natural { aspect-ratio: auto; }
.mim-w-page-hero .mim-page-hero__media.is-natural > img { position: relative; height: auto; }

/* Photo credit chip (matches the design's image-slot credit) */
.mim-w-page-hero :where(.mim-page-hero__credit) {
	position: absolute;
	z-index: 2;
	max-width: calc(100% - 12px);
	padding: 3px 7px;
	border-radius: 5px;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font: 10px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.mim-w-page-hero .mim-page-hero__credit a { color: inherit !important; }
.mim-w-page-hero .mim-page-hero__credit a:hover,
.mim-w-page-hero .mim-page-hero__credit a:focus-visible { text-decoration: underline; }
.mim-w-page-hero .mim-page-hero__credit--bottom-left { left: 6px; bottom: 6px; }
.mim-w-page-hero .mim-page-hero__credit--bottom-right { right: 6px; bottom: 6px; }
.mim-w-page-hero .mim-page-hero__credit--top-left { left: 6px; top: 6px; }
.mim-w-page-hero .mim-page-hero__credit--top-right { right: 6px; top: 6px; }

/* Search field */
.mim-w-page-hero :where(.mim-page-hero__search) {
	--mim-search-fg: var(--mim-navy);
	display: flex;
	align-items: center;
	gap: 10px;
	width: min(100%, 440px);
	margin: 0;
	padding: 6px 6px 6px 20px;
	border: 1.5px solid var(--mim-border);
	border-radius: 999px;
	background: var(--mim-white);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.mim-w-page-hero .mim-page-hero__search:focus-within { box-shadow: 0 0 0 3px rgba(31, 155, 184, .18); }
.mim-w-page-hero .mim-page-hero__search .mim-page-hero__search-input {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 8px 0;
	border: 0;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	background: transparent;
	color: var(--mim-search-fg);
	font-size: 15px;
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
}
.mim-w-page-hero .mim-page-hero__search-input::placeholder { color: var(--mim-grey); opacity: 1; }
.mim-w-page-hero .mim-page-hero__search-input::-webkit-search-decoration,
.mim-w-page-hero .mim-page-hero__search-input::-webkit-search-cancel-button,
.mim-w-page-hero .mim-page-hero__search-input::-webkit-search-results-button,
.mim-w-page-hero .mim-page-hero__search-input::-webkit-search-results-decoration { -webkit-appearance: none; appearance: none; display: none; }
.mim-w-page-hero .mim-page-hero__search-input::-ms-clear { display: none; }
.mim-w-page-hero .mim-page-hero__search .mim-page-hero__search-btn {
	width: 38px;
	height: 38px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mim-search-btn-bg, var(--mim-navy));
	color: var(--mim-search-btn-fg, #fff);
	cursor: pointer;
	transition: background-color .2s ease;
}
.mim-w-page-hero .mim-page-hero__search .mim-page-hero__search-btn:hover,
.mim-w-page-hero .mim-page-hero__search .mim-page-hero__search-btn:focus-visible { background: var(--mim-search-btn-hover, var(--mim-teal)); }
.mim-w-page-hero .mim-page-hero__search-btn .mim-icon { stroke-width: 2; }

/* Live filter: items hidden by the hero search */
.mim-site [data-mim-search-hidden] { display: none !important; }
