/* Shared header/footer chrome — mobile menu + nav toggle.
   (Ported from the old components.js injectComponentStyles.) */

/* no italics anywhere — matches the original brand rule */
em, i, cite { font-style: normal; }

/* WordPress nav-menu <li> wrapper — keep the original link look */
.nav-links { display: flex; align-items: center; gap: 36px; list-style: none; margin: 0; padding: 0; }
.nav-links li { list-style: none; }
.nav-links a.active,
.nav-links .current-menu-item > a { color: var(--color-bone, #fff); }

.nav-actions { display: flex; align-items: center; gap: 14px; }

.nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; cursor: pointer; }
.nav-toggle span { display: block; width: 24px; height: 2px; margin: 0 auto; background: var(--color-bone, #fff); transition: transform .3s ease, opacity .3s ease; }
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.55); opacity: 0; visibility: hidden; transition: opacity .4s ease; z-index: 110; }
.mobile-backdrop.open { opacity: 1; visibility: visible; }

.mobile-menu { position: fixed; top: 0; right: 0; bottom: 0; width: min(330px, 84vw); background: rgba(8,8,8,.98); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-left: 1px solid var(--color-line, rgba(255,255,255,.1)); transform: translateX(100%); transition: transform .4s cubic-bezier(.22,1,.36,1); z-index: 115; display: flex; flex-direction: column; padding: 104px 32px 40px; }
.mobile-menu.open { transform: translateX(0); }
.mobile-menu ul.mobile-menu-list { list-style: none; margin: 0; padding: 0; display: contents; }
.mobile-menu ul.mobile-menu-list li { list-style: none; }
.mobile-menu a, .mobile-menu a.m-link { font-size: 16px; font-weight: 500; letter-spacing: .02em; color: var(--color-mute, rgba(255,255,255,.82)); padding: 18px 0; border-bottom: 1px solid var(--color-line, rgba(255,255,255,.08)); transition: color .3s ease; }
.mobile-menu a:hover, .mobile-menu a.m-link:hover, .mobile-menu .current-menu-item > a, .mobile-menu a.m-link.active { color: var(--color-gold, #b59064); }
.mobile-menu .m-cta { margin-top: 28px; justify-content: center; border-bottom: 0; }
body.menu-open { overflow: hidden; }

@media (max-width: 1024px) { .nav-toggle { display: flex; } }
@media (max-width: 520px) { .nav-cta { display: none; } }
@media (min-width: 1025px) { .mobile-menu, .mobile-backdrop { display: none; } }
