/* ═══════════════════════════════════════════════════════════════════════════
   Barra inferior en mobile (spec 0043, bloque B)
   Parcial: partials/_bottom_nav.html — se incluye en base.html.
   Al tocar este archivo, bumpear el ?v=N en base.html.
   ═══════════════════════════════════════════════════════════════════════════ */

:root { --bottom-nav-h: 60px; }

.bottom-nav { display: none; }

/* Solo en mobile: en escritorio manda la barra de arriba. */
@media (max-width: 768px) {
  body.has-bottom-nav {
    padding-bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px));
  }

  .bottom-nav {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 900; /* debajo de modales (≥1000) y del cronómetro de pausas */
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: rgba(9, 9, 13, .96);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--border);
  }

  .bottom-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    padding: 0 2px;
    color: rgba(244,246,241, .55);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .bottom-nav__item:hover { text-decoration: none; color: var(--text); }
  .bottom-nav__item.is-active { color: var(--primary); }

  .bottom-nav__icon {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bottom-nav__label {
    max-width: 100%;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* El menú de arriba (hamburguesa) sigue siendo el de siempre; solo se acorta
     para no quedar debajo de la barra. */
  body.has-bottom-nav .nav__links {
    max-height: calc(100vh - 57px - var(--bottom-nav-h) - env(safe-area-inset-bottom, 0px));
  }
  /* Lo que ya está en la barra no se repite en el panel. */
  body.has-bottom-nav .nav__links .is-in-bar { display: none; }

  /* La sesión manda: con el cronómetro corriendo o el teclado abierto, la barra se va. */
  body.has-pause-timer .bottom-nav,
  body.kb-open .bottom-nav { display: none; }
  body.has-pause-timer.has-bottom-nav,
  body.kb-open.has-bottom-nav { padding-bottom: 0; }

  /* Lo que ya estaba fijo abajo sube por encima de la barra. */
  body.has-bottom-nav:not(.has-pause-timer):not(.kb-open) #scroll-top {
    bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 16px) !important;
  }
  body.has-bottom-nav:not(.kb-open) #pwa-banner {
    bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px)) !important;
  }
  body.has-bottom-nav:not(.has-pause-timer):not(.kb-open) .rp-actions--sticky {
    bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px));
  }
}

/* Ítems del menú que solo van en mobile (en escritorio están en la barra de
   arriba o en el pie). */
.nav__more-only { display: none !important; }
@media (max-width: 768px) {
  body.has-bottom-nav .nav__more-only { display: flex !important; }
  .nav__links .nav__more-sep {
    height: 1px;
    margin: var(--s-2) 0;
    background: var(--border);
  }
}
