/* GFC 07/09/2026 — anti-flash Varnish/ESI.
   Le bloc compte (#header_user, via le placeholder #gfc-ph-top dans .gfc-header) arrive par le fragment
   en fin de page : tant qu il n est pas la, le placeholder cache prend sa place (mesures du 07/09 :
   bureau anon 180x0 / connecte 302x27 ; mobile anon 35px / connecte 82px), puis les blocs inseres
   apparaissent en fondu. */
#gfc-ph-top[hidden].gfc-ph-anon { display: block !important; flex: none; width: 180px; height: 0; }
#gfc-ph-top[hidden].gfc-ph-logged { display: block !important; flex: none; width: 302px; height: 27px; }
@media (max-width: 767px) {
    #gfc-ph-top[hidden].gfc-ph-anon { width: 100%; height: 35px; }
    #gfc-ph-top[hidden].gfc-ph-logged { width: 100%; height: 82px; }
}
@keyframes gfcFragIn { from { opacity: 0; } to { opacity: 1; } }
.gfc-frag-in { animation: gfcFragIn .35s ease-out; } /* pas de fill-mode, classe retiree a la fin (animationend) : un ancetre anime en opacite piegeait le badge panier (fixed) sous les tuiles sur iOS */
@media (prefers-reduced-motion: reduce) { .gfc-frag-in { animation: none; } }
