/* FOBAK V129.6.65 — correction racine du grand vide + menu public réellement fixe.
   Cause : v129650 appliquait position:relative à presque tous les enfants directs du body,
   ce qui faisait participer le page-loader invisible au flux et créait une grande hauteur fantôme. */

/* Le loader ne doit JAMAIS occuper de place dans le flux, même une fois masqué. */
body > #page-loader,
body > .page-loader{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  z-index:99999!important;
}
body > #page-loader.hidden,
body > .page-loader.hidden{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}

@media screen and (max-width:860px){
  :root{--v129665-public-mobile-h:72px;}
  html,body{margin:0!important;padding:0!important;}
  body.public-layout{
    margin:0!important;
    padding:var(--v129665-public-mobile-h) 0 0!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
  }

  /* Barre publique : toujours collée en haut de l'écran. */
  body.public-layout > .public-mobile-bar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    height:var(--v129665-public-mobile-h)!important;
    min-height:var(--v129665-public-mobile-h)!important;
    max-height:var(--v129665-public-mobile-h)!important;
    margin:0!important;
    padding:7px 12px!important;
    transform:none!important;
    z-index:20000!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) auto!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  /* Ancien header desktop totalement neutralisé sur téléphone. */
  body.public-layout > .site-header.public-header{
    display:none!important;
    position:fixed!important;
    width:0!important;height:0!important;min-height:0!important;max-height:0!important;
    margin:0!important;padding:0!important;border:0!important;
  }

  /* Le menu est un tiroir fixe; il ne réserve aucune hauteur dans la page. */
  body.public-layout > #public-main-nav,
  body.public-layout > .top-nav.public-nav{
    position:fixed!important;
    top:var(--v129665-public-mobile-h)!important;
    bottom:0!important;
    left:0!important;
    right:auto!important;
    height:calc(100dvh - var(--v129665-public-mobile-h))!important;
    max-height:calc(100dvh - var(--v129665-public-mobile-h))!important;
    margin:0!important;
    transform:translateX(-105%)!important;
    z-index:19990!important;
  }
  body.public-layout > #public-main-nav.is-open,
  body.public-layout > .top-nav.public-nav.is-open{
    transform:translateX(0)!important;
  }

  /* Aucun deuxième décalage : le padding du body est l'unique réserve pour l'en-tête fixe. */
  body.public-layout > .public-content,
  body.public-layout > .main-content.public-content{
    position:relative!important;
    top:auto!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding-top:0!important;
    transform:none!important;
  }
  body.public-layout > .public-content > :first-child,
  body.public-layout > .public-content > :first-child > :first-child{
    margin-top:0!important;
  }

  /* Accueil : le carrousel arrive immédiatement sous l'en-tête. */
  body.page-index.public-layout .home-premium-v129663,
  body.page-index.public-layout .home-premium-v129663 > .home-hero-carousel{
    margin-top:0!important;
    padding-top:0!important;
    top:auto!important;
    transform:none!important;
  }

  html{scroll-padding-top:calc(var(--v129665-public-mobile-h) + 8px)!important;}
}
