/**
 * Socle CSS vente (lot 0) — le bundle possédé complet arrive au chantier CSS (spec-css §7).
 * Chargé « registered only » par vam_register_socle_assets() ; enqueue au lot 1.
 */
:root {
	/*
	 * Réservation --pib-menu-height AVANT le JS du menu (view.js la confirme
	 * ensuite via ResizeObserver) : la première rangée de la grid du wrapper
	 * vaut var(--pib-menu-height--flow) — une valeur fausse ici = layout shift
	 * de tout le contenu (CLS vente 0,25 constaté avec l'ancien 90px approx.).
	 * Valeurs calibrées sur le rendu final prod (diag webperf 2026-07-22,
	 * tools/recette/diag-cls-header.js) :
	 *  - mobile  172px = menu 132px + bandeau promo 40px
	 *  - desktop 152px = menu 112px + bandeau promo 40px (breakpoint lg 1024px)
	 * Si le bandeau promo change de hauteur (contenu éditable), le JS corrige —
	 * seul le delta résiduel shiftera.
	 */
	--pib-menu-height: 172px;
	/*
	 * --pib-top-menu-height statique aussi : le bundle scopé contient
	 * `.menu-grid { margin-top: calc(var(--pib-top-menu-height)/2) }` — sans
	 * valeur avant le JS, le margin vaut 0 puis saute à 20px à la PREMIÈRE
	 * écriture JS (dépendance circulaire mesure→style→mesure : la pose des
	 * vars déclenchait elle-même le +20px du bloc, donc la première mesure
	 * était toujours fausse de 20px → shift 172→152→172 incompressible).
	 * 40px = bandeau une slide (calibré diag 2026-07-22).
	 */
	--pib-top-menu-height: 40px;
}

@media (min-width: 1024px) {
	:root {
		--pib-menu-height: 152px;
	}
}
