/* ==========================================================================
   header.css — Genva Craft

   Name in the centre, dark mode toggle on the right, menu centred below.
   The header is not fixed, so there is no admin bar offset to manage.
   ========================================================================== */

.site-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-bottom: var(--wp--preset--spacing--40);
}

/* Three columns so the name stays centred whatever the tools column holds.
   A grid, not core's flex layout: flex cannot keep the middle item on the
   page's centre line when the side items differ in width. */
.site-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
}

.site-header__inner > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.site-header .site-header__name {
	grid-column: 2;
	font-family: var(--font-latin);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1.2;
	text-transform: uppercase;
}

.site-header .site-header__name a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.site-header__tools {
	grid-column: 3;
	display: flex;
	justify-content: flex-end;
}

/* --------------------------------------------------------------------------
   Dark mode toggle
   -------------------------------------------------------------------------- */

.dark-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.dark-toggle svg {
	width: 1.25rem;
	height: 1.25rem;
}

.dark-toggle__sun {
	display: none;
}

.is-dark .dark-toggle__moon {
	display: none;
}

.is-dark .dark-toggle__sun {
	display: block;
}

.dark-toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Menu

   Core prints the link colour at 0-3-0
   (.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content),
   so the theme's rule is one class above it.
   -------------------------------------------------------------------------- */

.site-header .site-nav {
	font-family: var(--font-latin);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: 0.14em;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--60);
}

.site-header .site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--secondary);
}

.site-header .site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.site-header .site-nav .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

/* The menu button and the open panel below 600px. Core paints the panel
   white with black text at 0-3-0 to 0-4-0 when the menu has no background,
   so the panel and its links are set together at 0-5-0 and follow dark mode. */
.site-header .site-nav .wp-block-navigation__responsive-container-open,
.site-header .site-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--contrast);
}

.site-header .wp-block-navigation.site-nav .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

.site-header .wp-block-navigation.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--large);
}
