/* ═══ Mobile navigation — shared across app/public/ ═══
   Breakpoint: 767px. Both bars hidden on desktop. z-index: 500.

   body.has-mob-nav  → padding-top + padding-bottom compensation (full-nav pages)
   body.has-mob-top  → padding-top only (top-bar-only pages)
*/

.mob-top,
.mob-nav { display: none; }

@media (max-width: 767px) {

  /* ── Top bar ─────────────────────────────────────────────── */
  .mob-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 56px;
    padding: 0 16px;
    background: var(--ink-deep, var(--deep, #141210));
    border-bottom: 1px solid rgba(255,255,255,.08);
    z-index: 500;
    box-sizing: border-box;
  }
  .mob-top-logo {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    color: var(--gold, #C9A84C);
    letter-spacing: .02em;
    text-decoration: none;
    font-weight: 700;
  }
  .mob-top-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    color: var(--cream, #F2EDE3);
    opacity: .55;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .mob-top-action { width: 32px; }
  .mob-sign-out {
    background: none; border: none; cursor: pointer;
    color: rgba(255,255,255,.38); padding: 4px 0;
    font-family: 'Space Mono', monospace; font-size: 8px;
    letter-spacing: .08em; text-transform: uppercase;
    -webkit-tap-highlight-color: transparent; transition: color .15s;
  }
  .mob-sign-out:active { color: var(--gold, #C9A84C); }

  /* ── Bottom nav ──────────────────────────────────────────── */
  .mob-nav {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    height: 56px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--ink-deep, var(--deep, #141210));
    border-top: 1px solid rgba(255,255,255,.08);
    z-index: 500;
    box-sizing: border-box;
  }
  .mob-nav-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-decoration: none;
    color: rgba(255,255,255,.38);
    font-size: 10px;
    font-family: 'DM Sans', sans-serif;
    letter-spacing: .04em;
    flex: 1;
    padding: 6px 4px;
    transition: color .15s;
    -webkit-tap-highlight-color: transparent;
  }
  .mob-nav-icon .mob-icon {
    font-size: 19px;
    line-height: 1;
  }
  .mob-nav-icon.active,
  .mob-nav-icon:hover { color: var(--gold, #C9A84C); }

  /* ── Content padding compensation ───────────────────────── */
  body.has-mob-nav {
    padding-top: 56px;
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }
  body.has-mob-top {
    padding-top: 56px;
  }
}
