/* ============================================================
 * Site header — full-width, sticky, condenses on scroll (all pages)
 * Nav data: ACF `header_mainmenu`; items with `in-more` in
 * additional_class collapse into the "More" dropdown.
 * Badge classes (.newdot / .newlabel / .jobslabel + .job-badge)
 * are re-styled inline inside the header so they never overlap.
 * ============================================================ */

/* The old fixed header reserved 80px; the new header is in-flow (sticky). */
#page { margin-top: 0 !important; }

.wht-hdr {
	position: sticky;
	top: 0;
	z-index: 1030;
	background: #fff;
	border-bottom: 1px solid #ecebe4;
	transition: box-shadow .28s ease, border-color .28s ease;
}
.wht-hdr.is-scrolled {
	box-shadow: 0 8px 26px rgba(20, 30, 25, .09);
	border-bottom-color: transparent;
}

.wht-hdr__inner {
	max-width: 1340px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 26px;
	padding: 18px 30px;
	transition: padding .28s ease;
}
.wht-hdr.is-scrolled .wht-hdr__inner { padding: 10px 30px; }

/* Logo */
.wht-hdr__logo { display: flex; align-items: center; flex-shrink: 0; }
.wht-hdr__logo img { height: 30px; width: auto; display: block; transition: height .28s ease; }
.wht-hdr.is-scrolled .wht-hdr__logo img { height: 25px; }

/* Nav */
.wht-hdr__nav { display: flex; align-items: center; gap: 28px; margin: 0 auto; flex-wrap: nowrap; }
.wht-hdr__nav a.nav-link,
.wht-hdr__nav .wht-more__btn {
	position: relative;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	color: #5e5e5e !important;
	background: none;
	border: none;
	padding: 6px 1px !important;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.2;
	transition: color .15s ease, background-size .22s ease;
	/* animated underline via background (no pseudo-element — keeps ::after free for badges) */
	background-image: linear-gradient(#1f6e44, #1f6e44);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0% 2px;
	border-radius: 0;
}
.wht-hdr__nav a.nav-link:hover,
.wht-hdr__nav a.nav-link:focus,
.wht-hdr__nav .wht-more__btn:hover { color: #14331f !important; }
.wht-hdr__nav a.nav-link:hover { background-size: 100% 2px; }
.wht-hdr__nav a.nav-link.is-active { color: #14331f !important; font-weight: 700; background-size: 100% 2px; }
.wht-hdr__nav a.nav-link::before { display: none !important; } /* kill theme's default underline */

/* Inline badges inside the header (green dot / "New" / job count) — no overlap */
.wht-hdr__nav .newdot,
.wht-hdr__nav .newlabel,
.wht-hdr__nav .jobslabel { padding-right: 0 !important; }
.wht-hdr__nav .newdot::after {
	position: static; display: inline-block; vertical-align: middle;
	margin-left: 7px; width: 7px; height: 7px; top: auto; right: auto;
}
.wht-hdr__nav .newlabel::after {
	position: static; display: inline-block; vertical-align: middle;
	margin-left: 7px; top: auto; right: auto; content: "New";
	font-size: 10px; line-height: 1; padding: 3px 6px;
}
.wht-hdr__nav .jobslabel .job-badge {
	position: static !important; display: inline-block; vertical-align: middle;
	margin-left: 7px; top: auto !important; right: auto !important;
	font-size: 11px !important; padding: 3px 8px !important;
}

/* More dropdown */
.wht-more { position: relative; }
.wht-more__btn { display: inline-flex; align-items: center; }
.wht-more__caret { font-size: 10px; margin-left: 4px; display: inline-block; transition: transform .18s ease; }
.wht-more.open .wht-more__caret { transform: rotate(180deg); }
.wht-more__pop {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	min-width: 210px;
	background: #fff;
	border: 1px solid #e8e5df;
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(20, 30, 25, .14);
	padding: 8px;
	display: none;
	flex-direction: column;
	gap: 2px;
	z-index: 40;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity .16s ease, transform .16s ease;
}
.wht-more.open .wht-more__pop { display: flex; opacity: 1; transform: translateY(0); }
.wht-hdr__nav .wht-more__pop a.nav-link {
	display: block;
	padding: 10px 12px !important;
	border-radius: 9px;
	font-size: 14px;
	color: #444 !important;
	background-size: 0 0 !important;
}
.wht-hdr__nav .wht-more__pop a.nav-link:hover { background: #f5f4ef; color: #14331f !important; }

/* Actions */
.wht-hdr__actions { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.wht-hdr__search {
	border: none; background: none; cursor: pointer;
	color: #6a6a6a; font-size: 19px; line-height: 1; padding: 7px; border-radius: 9px;
	transition: color .15s ease, background .15s ease;
}
.wht-hdr__search:hover { color: #14331f; background: #f2f0ea; }
.wht-hdr__cta {
	display: inline-flex; align-items: center; gap: 7px;
	background: #FAC775; color: #633806 !important; /* matches homepage "Become a sponsor" (.nhp-sp-cta) */
	font-weight: 700; font-size: 14px;
	border: 1px solid #FAC775; border-radius: 999px;
	padding: 10px 20px; text-decoration: none; white-space: nowrap;
	transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.wht-hdr__cta:hover { background: #f3b85c; border-color: #f3b85c; box-shadow: 0 6px 16px rgba(200, 150, 40, .3); transform: translateY(-1px); color: #633806 !important; }
.wht-hdr__cta:visited { color: #633806 !important; }
.wht-hdr__cta span { transition: transform .16s ease; }
.wht-hdr__cta:hover span { transform: translateX(3px); }

/* Hamburger (mobile only) */
.wht-hdr__burger { display: none; border: none; background: none; color: #333; font-size: 27px; line-height: 1; cursor: pointer; padding: 4px 8px; }

/* Desktop search collapse row */
.wht-hdr__searchbar { max-width: 1340px; margin: 0 auto; }
.wht-hdr__searchbar .searchform-header { padding: 4px 30px 14px; }

/* Responsive */
@media (max-width: 991px) {
	.wht-hdr__nav, .wht-hdr__actions { display: none; }
	.wht-hdr__burger { display: block; margin-left: auto; }
	.wht-hdr__inner { padding: 12px 18px; gap: 14px; }
	.wht-hdr.is-scrolled .wht-hdr__inner { padding: 9px 18px; }
	.wht-hdr__logo img { height: 25px; }
}
