/*
 * Site header — koredesigngroup.com: logo, menu, "Give us a call". Solid
 * white by default; transparent over the Hero on body.has-overlay-header until
 * the page scrolls (.is-scrolled from assets/js/header.js).
 */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--background, #ffffff);
	box-shadow: 0 1px 0 var(--kore-mist, #e8e8e8);
	transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
.has-overlay-header .site-header { position: fixed; left: 0; right: 0; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) { background: transparent; box-shadow: none; }

.site-announcement { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; padding: var(--spacing-2, 8px) 48px; background: var(--kore-slate, #333d47); color: #ffffff; }
.site-announcement[hidden] { display: none; }
.site-announcement__text { margin: 0; text-align: center; }
.site-announcement__close { --icon-size: 18px; position: absolute; top: 50%; right: var(--spacing-4, 16px); display: inline-flex; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; transform: translateY(-50%); }

.site-header__inner {
	display: flex;
	align-items: center;
	gap: var(--spacing-8, 32px);
	max-width: var(--container-max-width, 1440px);
	margin-inline: auto;
	padding: var(--spacing-4, 16px) var(--section-hr-padding, 64px);
}
.site-header__logo { display: inline-flex; flex: none; border: 0 !important; }
.site-header__logo-img { display: block; width: auto; height: 64px; }
.site-header__logo-img--light { display: none; }
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) .site-header__logo-img--color { display: none; }
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) .site-header__logo-img--light { display: block; }
.site-header__site-name { color: var(--kore-slate, #333d47); }

.site-header__nav { margin-left: auto; }
.site-header__menu { display: flex; gap: var(--spacing-8, 32px); margin: 0; padding: 0; list-style: none; }
.site-header__link { color: var(--kore-slate, #333d47); border-bottom: 2px solid transparent !important; padding: var(--spacing-2, 8px) 0; }
.site-header__link:hover,
.current-menu-item > .site-header__link { color: var(--brand-700, #21735c); border-bottom-color: var(--brand-500, #7dcab0) !important; }
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) .site-header__link { color: #ffffff; }
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) .current-menu-item > .site-header__link,
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) .site-header__link:hover { color: #ffffff; border-bottom-color: var(--brand-500, #7dcab0) !important; }
.site-header__link:focus-visible { outline: 2px solid var(--ring, #21735c); outline-offset: 4px; }
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) .site-header__link:focus-visible { outline-color: #ffffff; }

.site-header__actions { display: flex; align-items: center; gap: var(--spacing-3, 12px); }
.site-header__call--menu { display: none; }
.site-header__toggle { --icon-size: 28px; display: none; padding: var(--spacing-2, 8px); border: 0; background: transparent; color: var(--kore-slate, #333d47); cursor: pointer; }
.site-header__toggle:focus-visible { outline: 2px solid var(--ring, #21735c); outline-offset: 2px; }
.has-overlay-header .site-header:not(.is-scrolled):not(.is-open) .site-header__toggle { color: #ffffff; }
.site-header__toggle-close { display: none; }
.site-header.is-open .site-header__toggle-open { display: none; }
.site-header.is-open .site-header__toggle-close { display: inline-block; }

@media (max-width: 1023px) {
	.site-header__inner { gap: var(--spacing-4, 16px); }
	.site-header__logo-img { height: 52px; }
	.site-header__toggle { display: inline-flex; }
	.site-header__actions .site-header__call { display: none; }
	.site-header__actions { margin-left: auto; }
	.site-header.has-js .site-header__nav { display: none; }
	.site-header.has-js.is-open .site-header__nav {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: var(--spacing-4, 16px) var(--section-hr-padding, 64px) var(--spacing-8, 32px);
		background: var(--background, #ffffff);
		box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
	}
	.site-header__menu { flex-direction: column; gap: 0; }
	.site-header__menu li { border-bottom: 1px solid var(--kore-mist, #e8e8e8); }
	.site-header__link { display: block; padding: var(--spacing-4, 16px) 0; }
	.site-header__call--menu { display: inline-flex; margin-top: var(--spacing-6, 24px); }
}
@media (prefers-reduced-motion: reduce) { .site-header { transition: none; } }
