/* Shared navigation additions; page content keeps its own responsive rules. */
.site-navigation .site-nav-more { position:relative; }
.site-navigation .site-nav-more-toggle { font:inherit; font-size:13px; letter-spacing:1.5px; color:var(--text-secondary); background:none; border:0; cursor:pointer; white-space:nowrap; padding:8px 0; }
.site-navigation .site-nav-more-panel { position:absolute; top:100%; right:0; min-width:230px; list-style:none; margin:0; padding:8px 20px; background:var(--bg-elevated); border:1px solid var(--border-gold); max-height:calc(100dvh - 110px); overflow-y:auto; }
.site-navigation .site-nav-more-panel[hidden] { display:none !important; }
.site-navigation .site-nav-more-panel li { width:100%; }
.site-navigation .site-nav-more-panel a { display:block; padding:12px 0; font-size:13px; border-bottom:1px solid var(--border-subtle); }
.site-navigation .site-nav-more-panel li:last-child a { border-bottom:0; }
.site-navigation .site-nav-more-panel .nav-cta { background:transparent !important; border:0 !important; border-radius:0 !important; padding:12px 0; }
.site-navigation button:focus-visible, .site-navigation a:focus-visible { outline:2px solid var(--accent-gold); outline-offset:3px; }
@media (min-width:1280px) { .site-navigation .nav-links { gap:24px; } }
@media (max-width:1279px) {
    .site-navigation .theme-toggle-mobile { display:inline-flex; margin-left:auto; }
    .site-navigation .nav-links li:has(> .theme-toggle) { display:none; }
    .site-navigation .nav-links.open { max-height:calc(100vh - 100px); max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; }
}
/* Sponsor pages use the same logo, hamburger and drawer as vendors / events. */
.sponsor-page .site-nav { height:64px; padding:0 40px; gap:24px; background:var(--fx-nav-bg); z-index:100; }
.sponsor-page .nav-logo { font:600 18px 'Cormorant Garamond',serif; letter-spacing:3px; color:var(--accent-gold); position:relative; white-space:nowrap; }
.sponsor-page .nav-logo::after { content:''; position:absolute; top:-3px; right:-10px; width:7px; height:7px; background:var(--accent-rose); border-radius:50%; }
.sponsor-page .nav-links { font-size:13px; letter-spacing:1.5px; font-weight:400; line-height:1.7; }
.sponsor-page .nav-links a { color:var(--text-secondary); }
.sponsor-page .nav-links a.active { color:var(--accent-gold); }
.sponsor-page .nav-hamburger { flex-direction:column; justify-content:center; align-items:center; gap:5px; padding:8px; flex-shrink:0; }
.sponsor-page .nav-hamburger span { display:block; width:18px; height:1.5px; background:var(--text-secondary); border-radius:2px; transition:all .3s; }
.sponsor-page .nav-hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); background:var(--accent-gold); }
.sponsor-page .nav-hamburger.open span:nth-child(2) { opacity:0; }
.sponsor-page .nav-hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); background:var(--accent-gold); }
@media (max-width:1279px) {
    .sponsor-page .site-nav { padding:0 24px; }
    .sponsor-page .nav-hamburger { display:flex; }
    .sponsor-page .nav-links { padding:.5rem 1.5rem 1rem; border-top:1px solid var(--border-gold); }
    .sponsor-page .nav-links a { padding:.8rem 0; font-size:.82rem; letter-spacing:1.5px; }
}

.sponsor-page .nav-btn { font:inherit; font-size:13px; letter-spacing:1.5px; color:var(--accent-gold); background:none; border:1px solid var(--border-gold); padding:8px 20px; border-radius:4px; }
@media (max-width:1279px) { .sponsor-page .nav-btn { display:block; width:100%; text-align:left; border:0; border-bottom:1px solid var(--border-subtle); padding:.8rem 0; font-size:.82rem; } }

/* Reserved homepage member slots must not leave blank rows inside the popup. */
.site-navigation .site-nav-more-panel .nav-member-only { display:none; }
.site-navigation .nav-links[data-auth="active"] .site-nav-more-panel .nav-member-only { display:block; visibility:visible; }
