/*
 * En-tête fixe (chargé seulement si l'option « Fixierter Kopfbereich » est
 * active). Hauteur mesurée par assets/js/header.js : --kadef-header-h.
 * Vérifié par tests/e2e/header.spec.ts.
 */

.kadef-sticky-header #masthead {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	z-index: 999;
	transition: background-color 0.3s var(--kadef-ease), box-shadow 0.3s var(--kadef-ease);
}

/* Pages à en-tête normal : le contenu commence sous l'en-tête, jamais dessous. */
.kadef-sticky-header:not(.ast-theme-transparent-header) #page {
	padding-top: var(--kadef-header-h, 0px);
}

/* Après défilement : léger relief pour détacher l'en-tête du contenu. */
.kadef-header-scrolled .kadef-sticky-header #masthead {
	box-shadow: 0 4px 18px rgb(0 0 0 / 12%);
}

/*
 * Accueil (en-tête transparent sur l'image) : fond sombre dès que la page
 * défile, sinon le menu blanc serait illisible sur le contenu clair.
 */
.kadef-header-scrolled .kadef-sticky-header.ast-theme-transparent-header #masthead,
.kadef-header-scrolled .kadef-sticky-header.ast-theme-transparent-header #masthead .main-header-bar,
.kadef-header-scrolled .kadef-sticky-header.ast-theme-transparent-header #masthead .ast-primary-header-bar,
.kadef-header-scrolled .kadef-sticky-header.ast-theme-transparent-header #masthead .ast-mobile-header-wrap .ast-primary-header-bar {
	background-color: rgb(28 25 23 / 94%);
}

@supports (backdrop-filter: blur(6px)) {
	.kadef-header-scrolled .kadef-sticky-header.ast-theme-transparent-header #masthead {
		background-color: rgb(28 25 23 / 82%);
		backdrop-filter: blur(6px);
	}
}

/* Menu mobile ouvert : il défile dans l'espace sous l'en-tête. */
@media (max-width: 921px) {
	.kadef-sticky-header .ast-mobile-header-content {
		max-height: calc(100dvh - var(--kadef-header-h, 0px) - var(--wp-admin--admin-bar--height, 0px));
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}

/* Ancres internes (#section) : le titre n'est pas caché sous l'en-tête. */
html {
	scroll-padding-top: calc(var(--kadef-header-h, 0px) + 1rem);
}

@media (prefers-reduced-motion: reduce) {
	.kadef-sticky-header #masthead {
		transition: none;
	}
}
