
/* Apolo v0.25 - Mobile sidebar/topbar fix
   Restaura barra móvil visible y menú lateral sin romper desktop. */
:root{
  --apolo-sidebar-width:300px;
  --apolo-sidebar-mobile-width:292px;
  --apolo-mobile-topbar:64px;
  --apolo-gold:#d4af37;
  --apolo-gold-soft:#f2cf6b;
  --apolo-bg:#050505;
}

/* Desktop: conserva layout v24 */
@media (min-width:769px){
  .apolo-mobile-sidebar-backdrop{display:none!important;}
}

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

  /* Barra superior móvil real */
  .nav-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:var(--apolo-mobile-topbar)!important;
    min-height:var(--apolo-mobile-topbar)!important;
    z-index:5000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:linear-gradient(180deg,#050505 0%,#0b0905 100%)!important;
    border-bottom:1px solid rgba(212,175,55,.25)!important;
    border-right:0!important;
    box-shadow:0 12px 28px rgba(0,0,0,.42)!important;
    overflow:visible!important;
    padding:0 64px!important;
  }
  .nav-header::before{
    content:'♛';
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-52%);
    font-size:38px;
    line-height:1;
    color:var(--apolo-gold)!important;
    text-shadow:0 0 18px rgba(212,175,55,.55),0 8px 20px rgba(0,0,0,.65);
    pointer-events:none;
  }
  .nav-header .brand-logo{
    display:none!important;
  }

  /* Botón hamburguesa siempre visible y tocable */
  .nav-control{
    position:absolute!important;
    left:12px!important;
    right:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:5010!important;
    width:44px!important;
    height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:14px!important;
    background:rgba(212,175,55,.10)!important;
    border:1px solid rgba(212,175,55,.25)!important;
    box-shadow:0 10px 22px rgba(0,0,0,.25)!important;
    cursor:pointer!important;
  }
  .nav-control .hamburger{
    width:22px!important;
    height:18px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    padding:0!important;
    margin:0!important;
  }
  .nav-control .hamburger .line,
  .nav-control .hamburger span{
    display:block!important;
    width:22px!important;
    height:2px!important;
    min-height:2px!important;
    border-radius:4px!important;
    background:var(--apolo-gold-soft)!important;
    opacity:1!important;
    margin:0!important;
    transform:none!important;
  }

  /* Header principal debajo de la barra móvil */
  .header{
    position:fixed!important;
    top:var(--apolo-mobile-topbar)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    min-height:0!important;
    z-index:1200!important;
    background:rgba(5,5,5,.92)!important;
    border-bottom:1px solid rgba(212,175,55,.14)!important;
    backdrop-filter:blur(12px)!important;
  }
  .header .header-content{
    min-height:48px!important;
    padding:6px 12px!important;
  }
  .header .navbar,
  .header .navbar-collapse{
    min-height:42px!important;
  }
  .header-left{max-width:calc(100vw - 24px)!important;}
  .header-right{display:none!important;}

  /* Contenido debajo de topbar/header */
  .content-body{
    margin-left:0!important;
    padding-top:122px!important;
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  #main-wrapper{padding-top:0!important;overflow-x:hidden!important;}

  /* Sidebar overlay móvil */
  .deznav{
    position:fixed!important;
    top:var(--apolo-mobile-topbar)!important;
    left:calc(-1 * var(--apolo-sidebar-mobile-width) - 18px)!important;
    width:var(--apolo-sidebar-mobile-width)!important;
    min-width:var(--apolo-sidebar-mobile-width)!important;
    height:calc(100vh - var(--apolo-mobile-topbar))!important;
    max-height:calc(100vh - var(--apolo-mobile-topbar))!important;
    z-index:4990!important;
    background:linear-gradient(180deg,#050505 0%,#090806 62%,#050505 100%)!important;
    border-right:1px solid rgba(212,175,55,.24)!important;
    box-shadow:18px 0 46px rgba(0,0,0,.55)!important;
    transform:none!important;
    transition:left .24s ease!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.apolo-mobile-menu-open .deznav,
  body.menu-toggle .deznav,
  .deznav.show{
    left:0!important;
  }
  .deznav .deznav-scroll{
    height:100%!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:12px 12px 18px!important;
  }
  .deznav .metismenu{display:flex!important;flex-direction:column!important;gap:3px!important;padding:0!important;margin:0!important;}
  .deznav .metismenu>li>a{
    display:flex!important;
    align-items:center!important;
    min-height:46px!important;
    width:100%!important;
    padding:8px 10px!important;
    gap:10px!important;
    border-radius:14px!important;
    white-space:normal!important;
  }
  .deznav .nav-text{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:190px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
  .deznav .menu-icon{
    width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;
  }
  .apolo-crown-menu-title{margin:2px 0 12px!important;padding:8px 0!important;}
  .apolo-crown-icon{font-size:42px!important;}

  /* Fondo para cerrar menú */
  .apolo-mobile-sidebar-backdrop{
    position:fixed!important;
    inset:var(--apolo-mobile-topbar) 0 0 0!important;
    z-index:4980!important;
    background:rgba(0,0,0,.52)!important;
    backdrop-filter:blur(2px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .2s ease, visibility .2s ease!important;
  }
  body.apolo-mobile-menu-open .apolo-mobile-sidebar-backdrop,
  body.menu-toggle .apolo-mobile-sidebar-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Cuando el menú está abierto, evita scroll de fondo pero deja scroll del menú */
  body.apolo-mobile-menu-open{overflow:hidden!important;}
}
