/**
 * En-tête collant.
 *
 * Le thème enfant rend collante la barre interne d'Astra (.ast-main-header-wrap),
 * mais un élément collant ne sort jamais de son parent : prisonnière de <header>,
 * elle défilait avec lui. C'est donc <header> lui-même qui colle, sous la barre
 * d'administration quand elle est affichée. Le bandeau d'annonce, au-dessus,
 * défile normalement.
 */

#masthead {
	position: sticky;
	top: 0;
	z-index: 99;
}

.admin-bar #masthead {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar #masthead {
		top: 46px;
	}
}

/* En dessous de 600 px, la barre d'administration défile avec la page. */
@media (max-width: 600px) {
	.admin-bar #masthead {
		top: 0;
	}
}

/*
 * La barre interne ne colle plus d'elle-même : menu mobile ouvert, elle
 * glissait dans l'en-tête agrandi et masquait la première entrée.
 */
.site-header .ast-main-header-wrap,
#ast-mobile-header .ast-main-header-wrap,
.admin-bar .site-header .ast-main-header-wrap,
.admin-bar #ast-mobile-header .ast-main-header-wrap {
	position: relative;
	top: auto;
}

/*
 * Fiche produit : quand la barre « Ajouter au panier » d'Astra apparaît en haut
 * (fixe, au-dessus de tout), la navbar cesse de coller, comme avant ; sinon la
 * barre la recouvrirait en partie. Navigateurs sans :has() : la navbar reste
 * simplement dessous.
 */
body:has(.ast-sticky-add-to-cart.top.is-active) #masthead {
	position: relative;
}

/* Menu mobile ouvert : s'il dépasse l'écran, il défile au lieu d'être coupé. */
#ast-mobile-header .ast-mobile-header-content {
	max-height: calc(100vh - 80px);
	overflow-y: auto;
	overscroll-behavior: contain;
}
