/* ==========================================================================
   Subnautica2.fr — V24 notifications + menu mobile
   ========================================================================== */

/* Dropdown notifications au-dessus de tous les blocs hero/cartes. */
.site-header,
.site-header .nav,
.site-header .auth-menu{
  overflow:visible!important;
}

.site-header{
  z-index:200000!important;
}

.notif-dropdown{
  position:relative!important;
  z-index:200010!important;
}

.notif-dropdown[open]{
  z-index:200020!important;
}

.notif-dropdown summary{
  list-style:none!important;
}
.notif-dropdown summary::-webkit-details-marker{display:none!important}

.notif-popover{
  position:absolute!important;
  top:calc(100% + 12px)!important;
  right:0!important;
  z-index:200030!important;
  width:min(380px, calc(100vw - 24px))!important;
  max-height:min(70vh, 520px)!important;
  overflow:auto!important;
  pointer-events:auto!important;
  padding:14px!important;
  border:1px solid rgba(84,235,255,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(3,36,54,.97),rgba(0,17,29,.98))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 0 1px rgba(105,242,255,.08) inset!important;
}

.notif-mini-item{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  padding:10px!important;
  border-radius:14px!important;
  border:1px solid rgba(80,226,255,.12)!important;
  background:rgba(0,20,33,.34)!important;
  pointer-events:auto!important;
}

.notif-mini-item:hover{
  background:rgba(26,218,245,.12)!important;
  border-color:rgba(80,226,255,.32)!important;
}

.notif-mini-body strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.notif-mini-body small{
  display:block!important;
  color:#aeeaf2!important;
  line-height:1.25!important;
}

.notif-mini-reason{
  color:#31f0ff!important;
  font-weight:950!important;
}

.notif-popover-foot .btn{
  pointer-events:auto!important;
  position:relative!important;
  z-index:2!important;
}

/* Menu mobile robuste. */
@media(max-width:980px){
  body.mobile-menu-open{
    overflow:hidden!important;
  }

  .site-header{
    height:76px!important;
    padding:0 14px!important;
    gap:10px!important;
  }

  .site-brand-logo{
    max-width:210px!important;
    height:auto!important;
  }

  .nav-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
    border-radius:16px!important;
    border:1px solid rgba(92,232,255,.24)!important;
    background:rgba(0,22,35,.74)!important;
    color:#eaffff!important;
    font-size:1.45rem!important;
    font-weight:950!important;
    z-index:200050!important;
  }

  .site-header .nav[data-nav],
  .site-header nav[data-nav],
  [data-nav].nav{
    display:none!important;
    position:fixed!important;
    top:82px!important;
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    z-index:200040!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:16px!important;
    overflow:auto!important;
    border:1px solid rgba(87,232,255,.22)!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(3,33,50,.98),rgba(0,14,25,.99))!important;
    box-shadow:0 28px 90px rgba(0,0,0,.55)!important;
  }

  body.mobile-menu-open .site-header .nav[data-nav],
  body.mobile-menu-open .site-header nav[data-nav],
  .site-header .nav[data-nav].mobile-nav-open,
  .site-header nav[data-nav].mobile-nav-open,
  [data-nav].mobile-nav-open{
    display:flex!important;
  }

  .site-header .nav[data-nav] > a,
  .site-header nav[data-nav] > a{
    width:100%!important;
    justify-content:flex-start!important;
    min-height:46px!important;
    padding:0 14px!important;
    border-radius:14px!important;
  }

  .site-header .auth-menu{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
    margin-top:8px!important;
  }

  .site-header .auth-menu > *{
    min-width:0!important;
  }

  .site-header .auth-link,
  .site-header .logout-form,
  .site-header .logout-form button{
    width:100%!important;
  }

  .site-header .notif-dropdown,
  .site-header .header-icon-btn,
  .site-header .nav-circle-link,
  .site-header .social-avatar-btn{
    justify-self:stretch!important;
  }

  .site-header .notif-dropdown .notif-trigger,
  .site-header .header-icon-btn,
  .site-header .nav-circle-link,
  .site-header .social-avatar-btn{
    width:100%!important;
    min-height:48px!important;
    border-radius:16px!important;
  }

  .notif-popover{
    position:fixed!important;
    top:88px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-height:calc(100vh - 110px)!important;
  }
}

@media(min-width:981px){
  .nav-toggle{display:none!important;}
}

