/*
 * FocusLedger — Shared /story & /changelog stylesheet
 * navy + gold · "Peace of mind" palette
 * 2026
 *
 * Loaded by story.html and changelog.html.
 * Design tokens must be set on :root before this file loads.
 */

/* ── Mobile Nav: Hamburger button ─────────────────────────────────── */
.nav-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: rgba(255,255,255,0.85);
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s;
}
.nav-hamburger:hover {
  background: rgba(255,255,255,0.1);
  color: white;
}
.nav-hamburger svg { width: 22px; height: 22px; }

/* ── Mobile Nav: Overlay ───────────────────────────────────────────── */
.nav-mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(1,30,92,0.55);
}
.nav-mobile-overlay.open { display: block; }

/* ── Mobile Nav: Drawer ───────────────────────────────────────────── */
.nav-mobile-drawer {
  position: absolute;
  top: 0;
  right: 0;
  width: min(280px, 85vw);
  background: var(--trust-blue);
  height: 100%;
  padding: 1.5rem;
  transform: translateX(100%);
  transition: transform 0.25s ease;
  display: flex;
  flex-direction: column;
}
.nav-mobile-overlay.open .nav-mobile-drawer { transform: translateX(0); }

.nav-mobile-drawer-header {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.nav-mobile-close {
  background: none;
  border: none;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  padding: 0.5rem;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: background 0.15s, color 0.15s;
}
.nav-mobile-close:hover {
  background: rgba(255,255,255,0.08);
  color: white;
}
.nav-mobile-close svg { width: 22px; height: 22px; }

.nav-mobile-links { display: flex; flex-direction: column; gap: 0.25rem; }
.nav-mobile-links a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.85rem 0.75rem;
  border-radius: var(--btn-radius);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transition: all 0.15s;
  display: block;
}
.nav-mobile-links a:hover { color: white; background: rgba(255,255,255,0.08); }
.nav-mobile-links a.nav-mobile-cta {
  background: var(--gold);
  color: #1a1a1a;
  text-align: center;
  border-radius: var(--btn-radius);
  border-bottom: none;
  margin-top: 0.75rem;
  font-weight: 700;
}
.nav-mobile-links a.nav-mobile-cta:hover { background: #d4b56a; }

/* ── Responsive: Show hamburger, hide inline nav links ─────────────── */
@media (max-width: 768px) {
  .nav-hamburger { display: flex; }
  .nav-links a:not(.nav-cta) { display: none; }
}

/* ── Scrollbar ────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }