/* Academia Naval V48.68 · V15 Bottom Navigation
   Una sola navegacion principal. No modifica grids, tarjetas, tipografia ni anchos existentes. */
#academiaBottomNav{display:none}
#bottomNavStudyAnchor{scroll-margin-top:118px}

#academiaBottomNav[data-visible="true"]{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
  position:fixed;
  left:50%;
  bottom:max(8px,env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);
  width:min(calc(100% - 18px),620px);
  min-height:64px;
  box-sizing:border-box;
  padding:6px 7px;
  border:1px solid var(--borde);
  border-radius:20px;
  background:color-mix(in srgb,var(--card) 94%,transparent);
  color:var(--text);
  box-shadow:0 14px 38px rgba(0,0,0,.22);
  z-index:11050;
  isolation:isolate;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.academia-bottom-nav-item{
  position:relative;
  display:flex;
  min-width:0;
  min-height:52px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:3px;
  padding:5px 3px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:var(--gris,var(--muted));
  font:inherit;
  font-size:10px;
  font-weight:850;
  line-height:1.05;
  letter-spacing:.01em;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.academia-bottom-nav-item:focus-visible{outline:2px solid var(--primario);outline-offset:1px}
.academia-bottom-nav-item[aria-current="page"]{background:var(--primarioLight);color:var(--textoAcento)}
.academia-bottom-nav-icon{width:23px;height:23px;display:grid;place-items:center;line-height:1}
.academia-bottom-nav-icon svg{width:23px;height:23px;display:block}
.academia-bottom-nav-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.academia-bottom-nav-badge{
  position:absolute;
  top:3px;
  left:calc(50% + 8px);
  min-width:17px;
  height:17px;
  box-sizing:border-box;
  padding:0 4px;
  border:2px solid var(--card);
  border-radius:999px;
  background:#e53935;
  color:#fff;
  font-size:9px;
  font-weight:950;
  line-height:13px;
  text-align:center;
}
.academia-bottom-nav-badge[hidden]{display:none!important}

/* Solo reserva espacio de desplazamiento al final. No cambia el layout de los bloques existentes. */
body.academia-bottom-nav-on{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important}
body.academia-bottom-nav-on #perfilPanel,
body.academia-bottom-nav-on #socialPanel:not(.social-chat-open):not(.social-section-open),
body.academia-bottom-nav-on #audiolibrosPanel,
body.academia-bottom-nav-on #especialidadPanel,
body.academia-bottom-nav-on #pdfPanel,
body.academia-bottom-nav-on #especificosTomosPanel,
body.academia-bottom-nav-on #marinerosPanel,
body.academia-bottom-nav-on #doctrinaPanel,
body.academia-bottom-nav-on #legislacionPanel,
body.academia-bottom-nav-on #culturaPanel,
body.academia-bottom-nav-on #simulacroPanel,
body.academia-bottom-nav-on #retosPanel,
body.academia-bottom-nav-on #tomosPanel{
  padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
}
body.academia-bottom-nav-on #audiolibroMiniPlayer:not([hidden]){bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
body.academia-bottom-nav-on #avisoRecordatorioEstudio{bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}

@media(max-width:370px){
  #academiaBottomNav[data-visible="true"]{width:calc(100% - 10px);bottom:max(5px,env(safe-area-inset-bottom,0px));padding-left:4px;padding-right:4px;border-radius:17px}
  .academia-bottom-nav-item{padding-left:1px;padding-right:1px;font-size:9px}
  .academia-bottom-nav-icon,.academia-bottom-nav-icon svg{width:21px;height:21px}
}


/* V17 · solo estructura. La capa visual conserva exactamente V15. */
.academia-main-hub[hidden]{display:none!important}
.academia-destination-hub{box-sizing:border-box;width:100%}
#rankingHub{width:min(100%,760px);margin:0 auto}

/* V22 · Chat: el boton primario (+) debe quedar por encima de la Bottom Navigation.
   Solo cambia su separacion inferior mientras la barra principal esta visible. */
body.academia-bottom-nav-on #socialPanel:not(.social-chat-open):not(.social-section-open) .social-primary-action{
  bottom:max(88px,calc(env(safe-area-inset-bottom,0px) + 80px))!important;
}
