/**
 * Header layout presets 1–4.
 */

/* Classic — logo left, nav, actions */
body.hg-header--classic .hg-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
}

body.hg-header--classic .hg-header__nav {
	justify-self: center;
}

@media (max-width: 1024px) {
	body.hg-header--classic .hg-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body.hg-header--classic .hg-header__nav {
		justify-self: stretch;
		grid-column: 1 / -1;
	}
}

/* Centred Brand — logo centre upper, nav below */
body.hg-header--centred .hg-header__row--brand {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	position: relative;
}

body.hg-header--centred .hg-header__brand-centre {
	grid-column: 1 / -1;
	justify-self: center;
	text-align: center;
}

body.hg-header--centred .hg-header__actions {
	grid-column: 2;
	grid-row: 1;
	z-index: 1;
}

body.hg-header--centred .hg-header__row--nav {
	justify-content: center;
	border-top: 1px solid transparent;
	position: relative;
}

body.hg-header--centred .hg-header__row--nav .hg-header__nav .menu {
	justify-content: center;
}

@media (max-width: 1024px) {
	/*
	 * Keep the nav row in the tree so the absolute mobile panel can open.
	 * The panel itself is shown/hidden via .hg-header__nav / .is-open.
	 */
	body.hg-header--centred .hg-header__row--nav {
		display: block;
		min-height: 0;
		padding: 0;
		border: 0;
		position: static;
	}

	body.hg-header--centred .hg-header__row--brand {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body.hg-header--centred .hg-header__brand-centre {
		grid-column: 1;
		justify-self: start;
		text-align: left;
	}

	body.hg-header--centred .hg-header__nav {
		top: 100%;
	}

	body.hg-header--centred .hg-header {
		position: relative;
	}
}

/* Topbar — slim utility + main row */
body.hg-header--topbar .hg-header__inner {
	display: flex;
	justify-content: space-between;
}

body.hg-header--topbar .hg-header__nav {
	margin-left: auto;
	margin-right: var(--hga-space-sm);
}

/* Modern Split — balanced spacing */
body.hg-header--modern-split .hg-header__inner--split {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: var(--hga-space-lg);
	align-items: center;
	min-height: 4.75rem;
}

body.hg-header--modern-split .hg-header__nav .menu {
	justify-content: center;
	gap: 0.25rem 1.75rem;
}

body.hg-header--modern-split .hg-header__cta {
	font-weight: 700;
}

@media (max-width: 1024px) {
	body.hg-header--modern-split .hg-header__inner--split,
	body.hg-header--topbar .hg-header__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.5rem;
	}

	body.hg-header--modern-split .hg-header__nav,
	body.hg-header--topbar .hg-header__nav {
		margin: 0;
		grid-column: 1 / -1;
	}
}
