/* Correctif définitif : menu mobile fixe en bas type Facebook.
   Interface uniquement : aucune logique métier modifiée. */
.mobile-bottom-nav-facebook{
  display:none;
}

@media (max-width: 768px){
  html, body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    padding-bottom:92px !important;
  }

  .content{
    padding-bottom:112px !important;
  }

  /* Sur téléphone, le menu principal du header ne doit plus être en haut. */
  .modern-topbar .topbar-center,
  .modern-topbar .topbar-center.d-flex,
  .modern-topbar > .topbar-center{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    position:absolute !important;
    left:-9999px !important;
    bottom:auto !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
  }

  /* Barre basse mobile réelle, indépendante du header. */
  .mobile-bottom-nav-facebook{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:3000 !important;
    width:100vw !important;
    min-height:76px !important;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom)) !important;
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0,1fr)) !important;
    align-items:center !important;
    gap:3px !important;
    background:#ffffff !important;
    border-top:1px solid rgba(15,23,42,.12) !important;
    box-shadow:0 -12px 34px rgba(15,23,42,.16) !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item{
    min-width:0 !important;
    height:60px !important;
    padding:5px 2px !important;
    border-radius:16px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    color:#64748b !important;
    background:transparent !important;
    text-decoration:none !important;
    font-weight:800 !important;
    line-height:1 !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item i{
    font-size:21px !important;
    line-height:1 !important;
    color:#64748b !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item span{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:9.5px !important;
    color:#64748b !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item.active{
    background:#e8f3ff !important;
    color:#1877f2 !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item.active i,
  .mobile-bottom-nav-facebook .mobile-bottom-item.active span{
    color:#1877f2 !important;
  }

  .mobile-bottom-nav-facebook .bottom-nav-avatar{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    max-width:24px !important;
    max-height:24px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    overflow:hidden !important;
    border:2px solid #1877f2 !important;
    background:#e8f3ff !important;
    color:#1877f2 !important;
    font-size:9px !important;
    font-weight:900 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
  }
}

@media (max-width: 390px){
  .mobile-bottom-nav-facebook{
    min-height:72px !important;
    padding-left:4px !important;
    padding-right:4px !important;
    gap:2px !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item{
    height:56px !important;
    border-radius:14px !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item i{
    font-size:19px !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item span{
    font-size:8.5px !important;
  }
}

/* Correctif horizontal strict : force la barre mobile en ligne comme Facebook */
@media (max-width: 768px){
  nav.mobile-bottom-nav-facebook,
  .mobile-bottom-nav-facebook{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    z-index:99999 !important;
    width:100% !important;
    height:70px !important;
    min-height:70px !important;
    max-height:78px !important;
    box-sizing:border-box !important;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom)) !important;
    margin:0 !important;
    background:#ffffff !important;
    border-top:1px solid rgba(15,23,42,.12) !important;
    box-shadow:0 -10px 28px rgba(15,23,42,.16) !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-around !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  nav.mobile-bottom-nav-facebook > a.mobile-bottom-item,
  .mobile-bottom-nav-facebook > a.mobile-bottom-item,
  nav.mobile-bottom-nav-facebook .mobile-bottom-item,
  .mobile-bottom-nav-facebook .mobile-bottom-item{
    flex:1 1 20% !important;
    width:20% !important;
    max-width:20% !important;
    min-width:0 !important;
    height:58px !important;
    margin:0 !important;
    padding:4px 1px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    text-align:center !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    border:0 !important;
    border-radius:14px !important;
    background:transparent !important;
    float:none !important;
    position:relative !important;
    overflow:hidden !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item i{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:20px !important;
    line-height:1 !important;
    text-align:center !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-item span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:9px !important;
    line-height:1.05 !important;
    text-align:center !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .mobile-bottom-nav-facebook .mobile-bottom-profile-item .bottom-nav-avatar,
  .mobile-bottom-nav-facebook .bottom-nav-avatar{
    display:block !important;
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    margin:0 auto !important;
    border-radius:50% !important;
    object-fit:cover !important;
  }

  .modern-topbar .topbar-center,
  .topbar-center{
    display:none !important;
  }

  body{
    padding-bottom:90px !important;
  }
}
