/* ══ MOBILE MENU ══════════════════════════════════ */

/* Overlay behind menu */
.mm-overlay {
  position: fixed; inset: 0;
  background: rgba(26,16,8,.45);
  z-index: 190;
  opacity: 0; pointer-events: none;
  transition: opacity .4s;
}
.mm-overlay.open { opacity: 1; pointer-events: auto; }

/* Slide-in panel */
.mobile-menu {
  position: fixed; top: 0; right: -100%; bottom: 0;
  width: min(300px, 82vw);
  background: var(--warm-white);
  z-index: 200;
  transition: right .4s cubic-bezier(0.25,0.46,0.45,0.94);
  padding: 4.5rem 1.75rem 2rem;
  overflow-y: auto;
  box-shadow: -8px 0 40px rgba(0,0,0,.12);
}
.mobile-menu.open { right: 0; }

.mobile-menu-inner {
  display: flex; flex-direction: column; gap: 0;
}
.mobile-menu-inner a {
  font-family: var(--font-display); font-size: 1.4rem;
  font-weight: 300; color: var(--ink);
  padding: .75rem 0; border-bottom: 1px solid var(--parchment);
  display: block; transition: color .3s;
}
.mobile-menu-inner a:hover { color: var(--saffron); }
.mobile-menu-inner a:last-of-type { border-bottom: none; }
.mm-divider {
  height: 1px; background: var(--ivory-deep);
  margin: 1rem 0;
}
.mm-contact {
  margin-top: 1.5rem; display: flex; flex-direction: column; gap: 10px;
}
.mm-contact a {
  font-family: var(--font-body); font-size: .82rem;
  color: var(--mist) !important; font-weight: 300;
  border: none !important; padding: 0 !important;
  font-size: .82rem !important;
}

/* Hamburger animation */
.nav-hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}
.nav-hamburger.active span:nth-child(2) { opacity: 0; }
.nav-hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -4px);
}
