/**
 * Réservation header SITE-WIDE (chantier webperf CLS 2026-07-22) — pendant
 * site 1 du calibrage vente de vam-vente-base.css. Maintenu À LA MAIN.
 *
 * Le thème pose `html { --pib-menu-height: 152px }` (build/css/main.css) sans
 * variante mobile : le réel mobile est 208px (menu 144 + bandeau avis 64 en
 * 2 lignes — calibré Playwright 2026-07-22, identique home/agence/guide).
 * Le JS du menu thème ré-écrit la var tard (~10 s throttlé) → le hero home
 * (padding compensatoire du header transparent) et les pages en flux
 * shiftaient de 152→208 (CLS home 0.076, seul CWV field en échec).
 *
 * Cascade voulue (les 3 fichiers définissent les mêmes vars) :
 *  - thème `html{152px}` (prio 10) < CE fichier `html{...}` (prio 99, même
 *    spécificité → l'ordre gagne) < vam-vente-base `:root{...}` (pseudo-classe
 *    (0,1,0) > type (0,0,1) → les pages vente gardent leur calibrage 172/152).
 *  - `--pib-top-menu-height` statique aussi : même dépendance circulaire que
 *    côté vente (`.menu-grid { margin-top: calc(var(--pib-top-menu-height)/2) }`
 *    → menu 144 = 112 + 64/2 ; sans statique, la 1re écriture JS déclenche
 *    elle-même le +32px qu'elle a raté).
 *
 * Gardes bandeau Splide (le bandeau avis site 1 est aussi un Splide) :
 * slides empilées masquées avant init + min-height (min, pas max — un texte
 * long peut toujours wrapper, le JS thème suit après load).
 */

html {
	--pib-menu-height: 208px;
	--pib-top-menu-height: 64px;
}

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

/* ⚠️ Détection du montage par [class*="splide--"] et PAS par .is-initialized :
 * le Splide du thème site 1 ne pose jamais is-initialized (il monte avec
 * splide--loop/splide--ltr + is-active) — la 1re version de cette règle
 * laissait les slides 2+ masquées à vie côté loc et cassait la rotation
 * (retour Pierre 2026-07-22 soir). Les modificateurs splide--* sont posés
 * au mount par toutes les versions. */
.top-menu .splide:not([class*="splide--"]) .splide__slide:not(:first-child) {
	display: none;
}

.top-menu {
	min-height: 64px;
}

@media (min-width: 1024px) {
	.top-menu {
		min-height: 40px;
	}
}

/* Le CSS anti-FOUC de Splide masque le bandeau (visibility:hidden jusqu'à
 * .is-initialized) : depuis que sa place est réservée dès le 1er rendu, on
 * regardait une barre VIDE pendant tout le chargement JS (~5 s constatés,
 * retour Pierre 2026-07-22). Les slides sœurs étant déjà masquées (règle
 * ci-dessus), la 1re slide est identique au rendu post-init → affichable
 * immédiatement. */
.top-menu .splide:not([class*="splide--"]) {
	visibility: visible;
}
