/* ── Shared: mobile navigation (all pages) ── */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  width: 44px;
  height: 44px;
  margin-right: -10px;
  padding: 10px;
  background: none;
  border: none;
  cursor: pointer;
}
.nav-toggle span {
  display: block;
  width: 22px;
  height: 1px;
  background: var(--cream, #f5f0ea);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}
nav.menu-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
nav.menu-open .nav-toggle span:nth-child(2) { opacity: 0; }
nav.menu-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav-toggle:focus-visible { outline: 1px solid var(--gold, #c9a96e); outline-offset: 2px; }

@media (max-width: 768px) {
  nav.menu-open { background: #1a1410; }
  .nav-toggle { display: flex; }
  nav.menu-open .nav-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    padding: 20px 28px 32px;
    background: #1a1410;
    border-bottom: 0.5px solid rgba(201, 169, 110, 0.15);
  }
  nav.menu-open .nav-links a { display: inline-block; padding: 12px 0; font-size: 12px; }
  nav.menu-open .nav-links a.nav-book { margin-top: 12px; padding: 12px 24px; }
}
