/* ==========================================================================
   Header
   ========================================================================== */

.dd-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--dd-white);
	border-bottom: 1px solid var(--dd-stone);
	transition: box-shadow 0.3s var(--dd-ease);
}

.admin-bar .dd-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 600px) {
	.admin-bar .dd-header {
		top: 0;
	}
}

.dd-header.is-scrolled {
	box-shadow: 0 6px 24px rgba(41, 58, 70, 0.08);
}

.dd-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	height: var(--dd-header-h);
}

/* Logo */

.dd-header__logo {
	display: block;
	flex-shrink: 0;
}

.dd-header__logo img {
	width: auto;
	height: 112px;
}

.dd-header__logo-text {
	font-family: var(--dd-font-serif);
	font-size: 22px;
	color: var(--dd-slate);
}

/* Nav */

.dd-header__nav {
	display: flex;
	align-items: center;
	gap: 32px;
}

.dd-header__menu {
	display: flex;
	align-items: center;
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dd-header__menu a {
	position: relative;
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--dd-muted);
	transition: color 0.2s var(--dd-ease);
}

.dd-header__menu a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 1px;
	background: var(--dd-teal);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s var(--dd-ease);
}

.dd-header__menu a:hover,
.dd-header__menu .current-menu-item > a {
	color: var(--dd-teal);
}

.dd-header__menu a:hover::after {
	transform: scaleX(1);
}

/* Mobile toggle */

.dd-header__toggle {
	display: none;
	position: relative;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.dd-header__toggle-bars,
.dd-header__toggle-bars::before,
.dd-header__toggle-bars::after {
	position: absolute;
	left: 11px;
	width: 22px;
	height: 2px;
	background: var(--dd-slate);
	transition: transform 0.25s var(--dd-ease), opacity 0.2s;
}

.dd-header__toggle-bars {
	top: 21px;
}

.dd-header__toggle-bars::before,
.dd-header__toggle-bars::after {
	content: "";
	left: 0;
}

.dd-header__toggle-bars::before {
	top: -7px;
}

.dd-header__toggle-bars::after {
	top: 7px;
}

.dd-header__toggle[aria-expanded="true"] .dd-header__toggle-bars {
	background: transparent;
}

.dd-header__toggle[aria-expanded="true"] .dd-header__toggle-bars::before {
	transform: translateY(7px) rotate(45deg);
}

.dd-header__toggle[aria-expanded="true"] .dd-header__toggle-bars::after {
	transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 1023px) {
	.dd-header__logo img {
		height: 72px;
	}

	.dd-header__toggle {
		display: block;
	}

	.dd-header__nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		padding: 24px var(--dd-gutter) 32px;
		background: var(--dd-white);
		border-bottom: 1px solid var(--dd-stone);
		box-shadow: 0 16px 32px rgba(41, 58, 70, 0.08);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity 0.25s var(--dd-ease), transform 0.25s var(--dd-ease), visibility 0.25s;
	}

	.dd-header__nav.is-open {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.dd-header__menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.dd-header__menu a {
		padding: 14px 0;
		border-bottom: 1px solid var(--dd-stone);
	}

	.dd-header__menu a::after {
		display: none;
	}

	.dd-header__cta {
		align-self: stretch;
		padding-block: 14px;
	}
}
