/* =========================================================
   Zambezi Utilities — header behaviour
   ---------------------------------------------------------
   Deliberately minimal. This file provides positioning and
   state transitions only; colours, spacing and typography
   stay with the theme so the Site Editor remains in charge.
   ========================================================= */

.zc-site-header {
	transition:
		background-color 0.4s var(--zcu-ease-soft, cubic-bezier(0.4, 0, 0.2, 1)),
		box-shadow 0.4s var(--zcu-ease-soft, cubic-bezier(0.4, 0, 0.2, 1)),
		padding 0.4s var(--zcu-ease-soft, cubic-bezier(0.4, 0, 0.2, 1));
}

/* Sticky. Uses position:sticky so the header keeps its place in flow and no
   compensating body padding is needed. */
.zc-sticky-header .zc-site-header.zc-is-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
}

/* Transparent headers overlay the first section, so they must leave flow. */
.zc-transparent-header .zc-site-header.zc-is-transparent {
	position: absolute;
	inset: 0 0 auto 0;
	z-index: 100;
	background-color: transparent;
	box-shadow: none;
}

.zc-transparent-header.zc-sticky-header .zc-site-header.zc-is-transparent {
	position: fixed;
}

/* Solid state, applied past the configured scroll distance. */
.zc-site-header.is-scrolled {
	background-color: var(--zcu-background, #fff);
	box-shadow: 0 1px 0 var(--zcu-border, rgba(27, 33, 19, 0.12));
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

/* Logo scale-down on scroll, matching the reference site. */
.zc-site-header .zc-logo {
	transition: height 0.4s var(--zcu-ease-soft, cubic-bezier(0.4, 0, 0.2, 1));
}

/* Mobile menu toggle is hidden until the mobile breakpoint. */
.zc-site-header .zc-menu-toggle {
	display: none;
}

.zc-is-mobile .zc-site-header .zc-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.zc-menu-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.zc-site-header,
	.zc-site-header .zc-logo {
		transition: none;
	}
}
