/* A shared rounded bar built from the native header Group and Navigation. */
/* The homepage's sky composition keeps its own established spacing. */
.outloud-wave-header {
	--wp--custom--header--padding-top: var(--wp--custom--header--decorated--padding-top);
	--wp--custom--header--padding-bottom: var(--wp--custom--header--decorated--padding-bottom);
	--wp--custom--header--bar-padding-block: var(--wp--custom--header--decorated--bar-padding-block);
	--wp--custom--header--compact--padding-top: var(--wp--preset--spacing--40);
	--wp--custom--header--compact--padding-bottom: var(--wp--preset--spacing--40);
	--wp--custom--header--compact--bar-padding-block: var(--wp--preset--spacing--30);
}
.outloud-header { border-bottom: 0; }
.outloud-header .outloud-header-row {
	align-items: center;
	gap: 1.5rem;
	border-radius: 999rem;
	/* A crisp lower edge: no horizontal offset, blur or spread. */
	box-shadow: 0 .375rem 0 color-mix(in srgb, var(--wp--preset--color--outloud-header-sky) 80%, var(--wp--preset--color--auris-navy));
}

/* The wordmark sits below the SVG's geometric centre: centre it optically. */
.outloud-header .wp-block-site-logo {
	transform: translateY(-.25rem);
}

.outloud-header .outloud-header-actions {
	align-items: center;
	gap: 1rem;
}
.outloud-header .outloud-language-choice {
	margin: 0;
	gap: 0;
	flex-wrap: nowrap;
	padding-inline-start: .25rem;
}
.outloud-header .outloud-language-choice .lang-item + .lang-item::before {
	content: "";
	align-self: center;
	height: 1em;
	border-inline-start: 1px solid var(--wp--preset--color--auris-navy);
}
.outloud-header .outloud-language-choice .lang-item { display: inline-flex; align-items: center; }
.outloud-header .outloud-language-choice .wp-block-navigation-item__content {
	box-sizing: border-box;
	min-height: var(--wp--custom--button--control--min-height);
	min-width: 2.75rem;
	padding: .5rem .4rem;
	border: 0;
	border-bottom: var(--wp--custom--navigation--marker-width) solid transparent;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--auris-navy);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
}
.outloud-header .outloud-language-choice [aria-current] {
	border-bottom-color: var(--wp--custom--navigation--current-marker);
	font-weight: 700;
}
.outloud-header .outloud-language-choice .wp-block-navigation-item__content:is(:hover, :active) {
	background: var(--wp--custom--navigation--hover);
}
.outloud-header .outloud-language-choice .wp-block-navigation-item__content::after { display: none; }
.outloud-header .outloud-language-choice .wp-block-navigation__container {
	gap: 0;
	flex-wrap: nowrap;
}

.outloud-header .wp-block-navigation,
.outloud-header .wp-block-navigation__container {
	gap: var(--wp--custom--navigation--item-gap);
	flex-wrap: wrap;
	max-width: 100%;
}

.outloud-header .wp-block-navigation-item__content {
	box-sizing: border-box;
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	max-width: 100%;
	padding: .8rem 1.15rem;
	border: 0;
	border-bottom: var(--wp--custom--navigation--marker-width) solid transparent;
	border-radius: 999rem;
	background: transparent;
	color: var(--wp--preset--color--auris-navy);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}

.outloud-header .wp-block-navigation-item__content:hover,
.outloud-header .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--custom--navigation--hover);
	text-decoration: none;
}

.outloud-header .wp-block-navigation-item__content[aria-current="page"],
.outloud-header .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: none;
}
.outloud-header .wp-block-navigation-item__content[aria-current="page"]::after,
.outloud-header .current-menu-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	inset-inline: 1.15rem;
	bottom: .3rem;
	height: var(--wp--custom--navigation--marker-width);
	background: var(--wp--custom--navigation--current-marker);
	border-radius: 0;
	pointer-events: none;
}

.outloud-header .wp-block-navigation-item__content:focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--custom--focus--color);
	outline-offset: var(--wp--custom--focus--offset);
	box-shadow: 0 0 0 var(--wp--custom--focus--offset) var(--wp--preset--color--auris-white);
}

/* Retain the page width when core locks scrolling for its modal navigation. */
@media (max-width: 75rem) { html { scrollbar-gutter: stable; } }
/* The native overlay owns focus trapping, Escape and background scroll locking. */
.outloud-header .wp-block-navigation__responsive-container-open,
.outloud-header .wp-block-navigation__responsive-container-close {
 min-height: var(--wp--custom--button--control--min-height);
 padding: .625rem 1rem;
 border: 2px solid var(--wp--custom--button--control--border);
 border-radius: var(--wp--custom--radius--pill);
 background: var(--wp--preset--color--auris-white);
 color: var(--wp--preset--color--auris-navy);
 line-height: 1.3;
 align-items: center;
 justify-content: center;
 gap: .5rem;
}
.outloud-header :is(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close) svg {
 display: block;
 width: 1.5rem;
 height: 1.5rem;
 flex: 0 0 1.5rem;
 align-self: center;
}
.outloud-header .wp-block-navigation__responsive-container-open:hover,
.outloud-header .wp-block-navigation__responsive-container-close:hover {
 background: var(--wp--custom--navigation--hover);
}
.outloud-header .wp-block-navigation__responsive-container.is-menu-open {
 background: transparent;
 color: var(--wp--preset--color--auris-navy);
 padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
 animation: none;
 scroll-behavior: auto;
}
body.admin-bar .outloud-header .wp-block-navigation__responsive-container.is-menu-open {
 padding-top: calc(var(--wp--preset--spacing--30) + var(--wp-admin--admin-bar--height, 46px));
}
.outloud-header .is-menu-open .wp-block-navigation__responsive-close { max-width: 40rem; margin-inline: auto; }
.outloud-header .is-menu-open .wp-block-navigation__responsive-dialog {
 padding: var(--wp--preset--spacing--40);
 border-radius: var(--wp--custom--radius--card);
 background: var(--wp--preset--color--auris-white);
 box-shadow: var(--wp--custom--card--interactive--shadow);
}
.outloud-header .is-menu-open .wp-block-navigation__responsive-container-close {
 top: var(--wp--preset--spacing--40);
 right: var(--wp--preset--spacing--40);
}
.outloud-header .is-menu-open .wp-block-navigation__responsive-container-content {
 padding-top: 0;
 align-items: stretch;
 gap: var(--wp--preset--spacing--20);
}
.outloud-header .is-menu-open .wp-block-navigation__container,
.outloud-header .is-menu-open .wp-block-navigation-item {
 width: 100%;
 align-items: stretch;
}
.outloud-header .is-menu-open .wp-block-navigation-item__content {
 width: 100%;
 justify-content: flex-start;
 text-align: left;
 padding: .5rem .75rem;
 font-size: var(--wp--preset--font-size--medium);
}
.outloud-header .is-menu-open .wp-block-navigation__container { gap: .25rem; }
.outloud-header .is-menu-open .outloud-menu-title {
 display: flex;
 align-items: center;
 min-height: var(--wp--custom--button--control--min-height);
 margin: 0 0 var(--wp--preset--spacing--30);
 padding-inline-end: 7rem;
 color: var(--wp--preset--color--auris-navy);
}
@media (max-width: 75rem) {
 .outloud-header {
  padding-block: var(--wp--custom--header--compact--padding-top) var(--wp--custom--header--compact--padding-bottom) !important;
 }
 .outloud-header .outloud-header-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--wp--preset--spacing--30);
  padding-block: var(--wp--custom--header--compact--bar-padding-block) !important;
  border-radius: var(--wp--custom--radius--card);
 }
 .outloud-header .wp-block-site-logo img { width: 9rem; }
 .outloud-header .outloud-header-actions { display: contents; }
 .outloud-header .outloud-language-choice {
  grid-column: 1 / -1;
  justify-content: flex-end;
  padding: 0;
 }
 .outloud-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
 .outloud-header .wp-block-navigation:not(.outloud-language-choice) .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) { display: none; }
}

@media (min-width: 30rem) and (max-width: 75rem) {
 .outloud-header .outloud-header-row { grid-template-columns: minmax(0, 1fr) auto auto; }
 .outloud-header .outloud-language-choice { grid-column: auto; }
}
/* Centre the phone identity/action pair, with languages centred beneath it. */
@media (max-width: 30rem) {
 .outloud-header {
  --wp--custom--header--compact--padding-top: var(--wp--custom--header--phone--padding-top);
  --wp--custom--header--compact--padding-bottom: var(--wp--custom--header--phone--padding-bottom);
  --wp--custom--header--compact--bar-padding-block: var(--wp--custom--header--phone--bar-padding-block);
 }
 .outloud-header .outloud-header-row {
  grid-template-columns: auto auto;
  justify-content: center;
  gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
 }
 .outloud-header .wp-block-site-logo { min-width: 0; transform: none; }
 .outloud-header .wp-block-site-logo img { width: var(--wp--custom--header--phone--logo-width); }
 .outloud-header nav.outloud-language-choice {
  grid-column: 1 / -1;
  justify-self: center;
  justify-content: center;
 }
 .outloud-header .outloud-language-choice .wp-block-navigation__container { justify-content: center; }
}
.outloud-header .is-menu-open .wp-block-navigation__overlay-container { width: 100%; }
.outloud-header .is-menu-open .wp-block-navigation__overlay-container .wp-block-navigation__container { flex-direction: column; }
/* Keep core's return-focus target available if an open overlay is resized. */
@media (min-width: 75.001rem) {
 html.has-modal-open .outloud-header .wp-block-navigation__responsive-container-open,
 .outloud-header .wp-block-navigation__responsive-container-open:focus { display: flex; }
}
/* Without scripting, retain direct access to the native list. */
@media (scripting: none) and (max-width: 75rem) {
 .outloud-header .wp-block-navigation { grid-column: 1 / -1; }
 .outloud-header .wp-block-navigation__responsive-container-open:not(.always-shown),
 .outloud-header .wp-block-navigation__responsive-container-close { display: none; }
 .outloud-header .wp-block-navigation:not(.outloud-language-choice) .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) {
  display: block;
  position: static;
 }
 .outloud-header .wp-block-navigation:not(.outloud-language-choice) .wp-block-navigation__container { flex-direction: column; align-items: stretch; width: 100%; }
 .outloud-header .wp-block-navigation-item__content { justify-content: flex-start; text-align: left; }
}

@media (forced-colors: active) {
	.outloud-header .wp-block-navigation-item__content[aria-current="page"]::after,
	.outloud-header .current-menu-item > .wp-block-navigation-item__content::after { background: Highlight; forced-color-adjust: none; }
	.outloud-header .outloud-language-choice [aria-current] { border-bottom-color: Highlight; forced-color-adjust: none; }

	.outloud-header .wp-block-navigation-item__content:focus-visible {
		outline-color: Highlight;
	}
}
