/* Highlight the current page in the menu */
.wp-block-navigation-item.current-menu-item > a,
.wp-block-navigation-item.current_page_item > a {
	color: var(--wp--preset--color--primary);
/* or your theme’s accent color */
	font-weight: bold;
}

/* Highlight the parent menu item if a subpage is active */
.wp-block-navigation-item.current-menu-ancestor > a,
.wp-block-navigation-item.current_page_ancestor > a {
	color: var(--wp--preset--color--primary);
	font-weight: bold;
}

/* Make the first Cover block (hero) always fill the viewport */
.wp-block-cover:first-of-type {
	min-height: 100vh !important;
/* full screen height */
	display: flex;
	align-items: center;
/* vertical centering */
	justify-content: center;
/* horizontal centering */
}

/* Ensure inner content stays centered */
.wp-block-cover:first-of-type .wp-block-cover__inner-container {
	text-align: center;
}

/* Remove top gap so hero sits directly under header */
.wp-site-blocks > .wp-block-cover:first-of-type {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Full-screen hero */
.wp-block-cover:first-of-type {
	min-height: 100vh !important;
/* always as tall as the viewport */
	display: flex;
	align-items: center;
/* vertical centering */
	justify-content: center;
/* horizontal centering */
}

/* Remove unwanted space between header and hero */
.wp-site-blocks > .wp-block-cover:first-of-type {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

html {
	scroll-behavior: smooth;
}

/* Offset anchor scroll to account for fixed header */
[id] {
	scroll-margin-top: 180px;
/* height of header */
}

.flush-left-media­text .wp-block-media-text__content {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

/* Change hover color for all outline buttons */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: #008538 !important;
/* your custom color */
	border-color: #008538 !important;
	color: #ffffff !important;
/* text color on hover */
}

/* Only wrap this specific Row block on mobile */
@media (max-width: 768px) {
	.header-mobile-wrap {
		flex-wrap: wrap !important;
		gap: 1rem;
	/* optional: space between wrapped items */
	}
}

/* Only wrap and center this specific Row block on mobile */
@media (max-width: 768px) {
	.header-mobile-wrap {
		flex-wrap: wrap !important;
		justify-content: center;
	/* only applies on mobile now */
		gap: 1rem;
	/* optional spacing between wrapped items */
	}
}

/* Fix left-aligned submenu items on mobile only */
@media (max-width: 782px) {
	/* Force all submenu items in mobile overlay to align right */
	.wp-block-navigation__responsive-container ul.wp-block-navigation__submenu-container li.wp-block-navigation-item {
		text-align: right !important;
		justify-content: flex-end !important;
	}
	
	/* Ensure link text aligns right and removes unintended spacing */
	.wp-block-navigation__responsive-container ul.wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
		text-align: right !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 1.5em !important;
		justify-content: flex-end !important;
	}
}

/* Prevent menu text wrapping on mobile navigation overlay */
@media (max-width: 782px) {
	/* Target all links inside the mobile nav (parent + child items) */
	.wp-block-navigation__responsive-container a.wp-block-navigation-item__content {
		white-space: nowrap !important;
		overflow: hidden;
		text-overflow: ellipsis;
	/* Optional: adds "..." if text is too long */
	}
}

/* Make child menu items align exactly with parent items on mobile */
@media (max-width: 782px) {
	/* Remove indentation and ensure right alignment for submenu items */
	.wp-block-navigation__responsive-container ul.wp-block-navigation__submenu-container li.wp-block-navigation-item,
																												  .wp-block-navigation__responsive-container ul.wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
		text-align: right !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		justify-content: flex-end !important;
	}
	
	/* Match parent items' visual position exactly */
	.wp-block-navigation__responsive-container ul.wp-block-navigation__submenu-container {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	
	/* Optional: if spacing between items is inconsistent, normalize it */
	.wp-block-navigation__responsive-container li.wp-block-navigation-item {
		margin: .4em 0 !important;
	/* adjust if needed */
	}
}

/* Bold only top-level (parent) menu items inside the mobile overlay */
@media (max-width: 782px) {
	/* most common wrapper used by WP block nav overlay */
	.wp-block-navigation__responsive-container
																												    ul.wp-block-navigation__container
																												    > li.wp-block-navigation-item
																												    > a.wp-block-navigation-item__content,
																												  .wp-block-navigation__responsive-container
																												    ul.wp-block-navigation__container
																												    > li.wp-block-navigation-item
																												    > a.wp-block-navigation-item__content
																												    .wp-block-navigation-item__label,
																												  /* alternative wrapper some themes use for the overlay/dialog */
																												  .wp-block-navigation__responsive-dialog
																												    ul.wp-block-navigation__container
																												    > li.wp-block-navigation-item
																												    > a.wp-block-navigation-item__content,
																												  .wp-block-navigation__responsive-dialog
																												    ul.wp-block-navigation__container
																												    > li.wp-block-navigation-item
																												    > a.wp-block-navigation-item__content
																												    .wp-block-navigation-item__label {
		font-weight: 700 !important;
	/* bold */
		font-style: normal !important;
		-webkit-font-smoothing: antialiased !important;
	}
}

/* Ensure mobile dropdown menu text remains legible */
@media (max-width: 782px) {
	.wp-block-navigation__responsive-container a.wp-block-navigation-item__content,
																								  .wp-block-navigation__responsive-container ul.wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
		font-size: 1.1rem !important;
	/* Adjust if still too small (try 1.2rem or 1.3rem) */
		line-height: 1.4 !important;
	}
	
	/* Optional: slightly larger font for parent menu items only */
	.wp-block-navigation__responsive-container
																								    > ul.wp-block-navigation__container
																								    > li.wp-block-navigation-item
																								    > a.wp-block-navigation-item__content {
		font-size: 1.2rem !important;
		font-weight: 700 !important;
	/* preserves your existing bold style */
	}
}

/* ---------- Bulletproof responsive 16:9 YouTube embeds ---------- */
/* 1) Give the wrapper a forced 16:9 aspect ratio (modern browsers) */
.custom-youtube-embed,
.wp-block-embed-youtube,
.wp-block-embed__wrapper,
.wp-block-embed,
.wp-block-video,
.embed-responsive,
.embed-container {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
/* Primary strategy: aspect-ratio */
	aspect-ratio: 16 / 9 !important;
/* Fallback: remove legacy padding-bottom method so aspect-ratio is authoritative */
	padding-bottom: 0 !important;
	height: auto !important;
/* allow aspect-ratio to set the height */
	overflow: hidden !important;
	background: #000 !important;
}

/* 2) Force iframe to fill its wrapper and respect the aspect-ratio */
.custom-youtube-embed iframe,
.wp-block-embed__wrapper iframe,
.wp-block-embed iframe,
.wp-block-video iframe,
iframe[src*="youtube"],
iframe[src*="youtu.be"] {
	width: 100% !important;
	height: 100% !important;
/* fills wrapper's computed height */
	max-width: 100% !important;
	max-height: 100% !important;
	display: block !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	aspect-ratio: 16 / 9 !important;
/* extra safeguard */
	object-fit: cover !important;
/* ensure filling exactly */
}

/* 3) Extra safeguard for themes that forcibly set inline height on the iframe */
.custom-youtube-embed iframe[height],
.wp-block-embed__wrapper iframe[height],
.wp-block-embed iframe[height] {
	height: 100% !important;
}

/* 4) Fallback for older browsers where aspect-ratio is unsupported:
   reintroduce classic padding-bottom trick by using a pseudo-element to keep precedence. */
.no-aspect-ratio .custom-youtube-embed,
.custom-youtube-embed.fallback-aspect {
	position: relative !important;
	padding-bottom: 56.25% !important;
/* 16:9 fallback */
	height: 0 !important;
}

.no-aspect-ratio .custom-youtube-embed iframe,
.custom-youtube-embed.fallback-aspect iframe {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

/* 5) Mobile-specific sanity check: ensure iframes don't get tall due to theme CSS */
@media (max-width: 782px) {
	.wp-block-embed__wrapper,
																						  .wp-block-embed-youtube,
																						  .custom-youtube-embed {
		aspect-ratio: 16 / 9 !important;
		height: auto !important;
	}
	
	iframe[src*="youtube"], iframe[src*="youtu.be"] {
		height: 100% !important;
	}
}

/* 6) Small visual/touch improves */
.custom-youtube-embed iframe,
.wp-block-embed__wrapper iframe {
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

@media (max-width: 782px) {
	.hero-heading-responsive {
		font-size: clamp(2.7rem, 8vw, 3.2rem) !important;
		line-height: 1.1 !important;
	}
}

@media (max-width: 782px) {
	.hero-subheading-responsive {
		font-size: clamp(1.2rem, 5vw, 1.8rem) !important;
		line-height: 1.1 !important;
	}
}

@media (max-width: 782px) {
	.theme-header-responsive {
		font-size: clamp(0.5rem, 4vw, 0.9rem) !important;
		line-height: 1.6 !important;
	}
}

/* === MOBILE HEADER LOGOS: FINAL NORMALIZED VERSION === */
@media (max-width: 781px) {
	/* Use Grid for stable horizontal layout */
	header .header-logos-group > .wp-block-columns {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: max-content;
		justify-content: center;
		align-items: center;
		column-gap: 24px;
	}
	
	/* Prevent column constraints from affecting image sizing */
	header .header-logos-group .wp-block-column {
		width: auto !important;
		max-width: none !important;
	}
	
	/* FORCE identical logo heights */
	header .header-logos-group .wp-block-image img {
		height: 32px;
	/* ← smaller, safer mobile size */
		width: auto !important;
		max-width: none !important;
	/* CRITICAL: disable responsive downscaling differences */
		min-height: 32px;
		object-fit: contain;
		display: block;
	}
}