/*
 * Sphera — header
 */

/* En-tête site — classe .sphera-header sur le groupe racine (Gutenberg ou bloc dynamique) */
.sphera-header {
	position: relative;
	z-index: 40;
	overflow: visible !important;
	box-sizing: border-box;
}
/* Header fixé en haut (spacer .sphera-header-spacer injecté en JS après le bloc racine) */
html.has-sphera-sticky-header .wp-site-blocks > header.wp-block-template-part {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 50;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
}

html.has-sphera-sticky-header .wp-site-blocks > header.wp-block-template-part .sphera-header {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	width: 100%;
	z-index: 50;
	background-color: var(--wp--preset--color--network-dark-blue, #00133a);
}

/* Fallback sans wrapper template-part FSE */
html.has-sphera-sticky-header .sphera-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 50;
	background-color: var(--wp--preset--color--network-dark-blue, #00133a);
}

html.admin-bar.has-sphera-sticky-header .wp-site-blocks > header.wp-block-template-part,
html.admin-bar.has-sphera-sticky-header .sphera-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	html.admin-bar.has-sphera-sticky-header .wp-site-blocks > header.wp-block-template-part,
	html.admin-bar.has-sphera-sticky-header .sphera-header {
		top: 46px;
	}
}

.sphera-header-spacer {
	display: block;
	width: 100%;
	height: 90px;
	margin: 0;
	padding: 0;
	border: 0;
	pointer-events: none;
	flex-shrink: 0;
}

/* Rangée principale + colonne nav — même hauteur, contenu centré */
.sphera-header > .wp-block-group > .wp-block-group.is-layout-flex,
.sphera-header .wp-block-group.is-layout-flex:has(> .hover-border-bottom) {
	align-items: stretch;
}

.sphera-header .hover-border-bottom {
	display: inline-flex !important;
	align-items: center !important;
	align-self: stretch;
	gap: var(--wp--preset--spacing--micro, 6px);
	margin: 0 !important;
	border-bottom: var(--wp--preset--spacing--micro, 6px) solid transparent;
	box-sizing: border-box;
}

.sphera-header .hover-border-bottom .wp-block-image {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.sphera-header .hover-border-bottom .wp-block-image img {
	display: block;
	width: auto;
	height: auto;
	max-height: 22px;
}

.sphera-header .hover-border-bottom .wp-block-paragraph {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3;
}

/* Liens du menu header — pas de soulignement (trait bleu au survol du bloc) */
.sphera-header .hover-border-bottom a {
	color: inherit;
	text-decoration: none !important;
}

.sphera-header .hover-border-bottom a:hover,
.sphera-header .hover-border-bottom a:focus {
	color: inherit;
	text-decoration: none !important;
}

/* Sauf liens dans le panneau accordéon Network */
.sphera-header .hover-border-bottom .wp-block-accordion-panel a:hover,
.sphera-header .hover-border-bottom .wp-block-accordion-panel a:focus-visible {
	text-decoration: underline !important;
}

/* Séparateur vertical — 1px × 30px, 24px de chaque côté */
.sphera-header .wp-block-group.is-layout-flex > .wp-block-separator {
	align-self: center;
	flex: 0 0 auto;
	width: 0 !important;
	min-width: 0;
	max-width: none !important;
	height: 30px !important;
	margin: 0 var(--wp--preset--spacing--regulier, 24px) !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	transform: none !important;
	opacity: 1;
	position: relative;
	overflow: visible;
}

.sphera-header .wp-block-group.is-layout-flex > .wp-block-separator::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 30px;
	background: var(--wp--preset--color--network-light-blue, #e4eeff);
}

/* Sélecteur de langue Polylang (widget / shortcode natif) */

.wp-block-polylang-language-switcher {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

.wp-block-polylang-language-switcher::after {
	content: "";
	flex-shrink: 0;
	width: 13px;
	height: 8px;
	background: url("../svg/Vector.svg") center / contain no-repeat;
	cursor: pointer;
}

.pll-switcher-select {
	background: none !important;
	border: none !important;
	color: white !important;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	padding: 0.35rem 0 0.35rem 0.1rem;
	font-family: var(--wp--preset--font-family--massilia);
	font-size: 17px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%;
}

/* Icône globe (bloc Image séparé, si présent) */
.wp-block-group:has(.wp-block-polylang-language-switcher) > .wp-block-image img {
	filter: brightness(0) invert(1);
}

/* Item de menu header — Figma : padding Moyen (36px), trait Micro (6px) en bas au survol */
.hover-border-bottom {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--micro, 6px);
	padding: var(--wp--preset--spacing--moyen, 36px) 0;
	border-bottom: var(--wp--preset--spacing--micro, 6px) solid transparent;
	box-sizing: border-box;
	transition: border-color 180ms ease-out;
}

.hover-border-bottom:hover {
	border-bottom-color: var(--wp--preset--color--network-deep-blue, #1352ff);
}

/* Libellé « Menu » cliquable — classe : sphera-menu-open sur le paragraphe */
.sphera-menu-open {
	margin: 0;
	cursor: pointer;
	user-select: none;
	transition: opacity 160ms ease;
}

.sphera-menu-open:hover,
.sphera-menu-open:focus-visible {
	opacity: 0.85;
	outline: none;
}

.sphera-menu-open:focus-visible {
	box-shadow: none;
	border-radius: 0;
}
