/* ========== Title & header (keep) ========== */
.page .entry-title {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 15px;
}

.site-header {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* ========== Sticky top header & primary menu ========== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: inherit;
}

/* For block-based navigation (WordPress menus) */
.wp-site-blocks > header,
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 9999;
}

/* ========== Sticky header: prevent overlap with content ========== */
/* 1) Make the sticky bar opaque (no see-through overlap) */
.site-header,
.wp-site-blocks > header,
header.wp-block-template-part {
	background-color: #d7e8e5 !important;
/* match your page tint */
	box-shadow: 0 2px 0 rgba(0,0,0,.08);
}

/* 2) Push the page content down so it never sits under the sticky bar */
.site-content,
#content,
main {
	padding-top: 64px;
/* adjust: 56 / 64 / 72 depending on your header height */
}

/* ========== Anchor offset for sticky header ========== */
:target {
	scroll-margin-top: 72px;
/* must be >= sticky header height */
}

/* ========== Right-side menu: fix overflow, pin, and scroll ========== */
@media (min-width:782px) {
	/* Catch ALL common navigation overlay wrappers */
	body .wp-block-navigation__responsive-container.is-menu-open,
					  body .wp-block-navigation__responsive-container-open,
					  body .wp-block-navigation__responsive-container-content,
					  body .wp-block-navigation__responsive-dialog,
					  body .main-navigation.toggled-on > ul,
					  body #site-navigation.toggled-on > ul,
					  body .navigation-top.toggled-on > ul {
		width: 520px !important;
		max-width: 520px !important;
		position: fixed !important;
	/* pin to viewport */
		top: 20px !important;
		right: 20px !important;
		left: auto !important;
		bottom: auto !important;
		max-height: calc(100vh - 40px) !important;
	/* keep on-screen */
		overflow-y: auto !important;
	/* scroll long menus */
		z-index: 99999 !important;
		background: #fff !important;
	/* ensure solid background */
		box-shadow: 0 12px 40px rgba(0,0,0,.18);
	/* (visual cue) */
	}
	
	/* Inner containers that sometimes hold the scrollable content */
	body .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content,
					  body .wp-block-navigation__responsive-dialog .wp-block-navigation__container,
					  body .wp-block-navigation__responsive-container .wp-block-navigation__container {
		max-height: inherit !important;
		overflow-y: auto !important;
	}
	
	/* Menu item spacing (slightly tighter) */
	body .wp-block-navigation__responsive-container .wp-block-navigation__container a,
					  body .main-navigation.toggled-on a,
					  body #site-navigation.toggled-on a,
					  body .navigation-top.toggled-on a {
		line-height: 1.25 !important;
		padding: 8px 16px !important;
		font-size: 15px !important;
	/* drop to 14px if items still wrap */
		white-space: normal !important;
	}
	
	/* Remove gaps between items */
	body .wp-block-navigation__responsive-container .wp-block-navigation__container li,
					  body .main-navigation.toggled-on li,
					  body #site-navigation.toggled-on li,
					  body .navigation-top.toggled-on li {
		margin: 0 !important;
	}
}

/* Optional: nicer scrollbar for long lists (WebKit) */
.wp-block-navigation__responsive-container-content::-webkit-scrollbar,
.wp-block-navigation__responsive-dialog::-webkit-scrollbar,
.main-navigation.toggled-on > ul::-webkit-scrollbar {
	width: 8px;
}

.wp-block-navigation__responsive-container-content::-webkit-scrollbar-thumb,
.wp-block-navigation__responsive-dialog::-webkit-scrollbar-thumb,
.main-navigation.toggled-on > ul::-webkit-scrollbar-thumb {
	border-radius: 8px;
	background: rgba(0,0,0,.25);
}