/* Shared navigation of the public front pages (2026-10-03, Dorian: one nav for all, taken from the landing page).
   Loaded after each page's own <style>, so these rules win where a page still has an older copy. */
.nav { position: fixed; top: 0; left: 0; right: 0; background: rgba(10, 6, 5, 0.95); border-bottom: 1px solid #3a2a20; padding: 15px 30px; display: flex; justify-content: space-between; align-items: center; z-index: 1000; backdrop-filter: blur(10px); }
.nav-logo { font-family: 'Times New Roman', serif; font-size: 1.8em; color: #daa520; text-decoration: none; letter-spacing: 2px; }
.nav-logo img { height: 32px; vertical-align: middle; margin-right: 8px; margin-bottom: 4px; border-radius: 50%; }
.nav-links { display: flex; gap: 30px; align-items: center; }
.nav-links a { color: #b8a080; text-decoration: none; font-size: 0.95em; transition: color 0.3s; }
.nav-links a:hover, .nav-links a:focus-visible, .nav-links a[aria-current="page"] { color: #daa520; }
.nav-links a.lang-switch { font-size: 0.85em; padding: 6px 12px; border: 1px solid #5a4a3a; border-radius: 4px; }
.nav-btn { background: linear-gradient(135deg, #8b6914 0%, #6b4914 100%); color: #fff !important; padding: 10px 24px; border-radius: 6px; font-weight: 600; }
.nav-btn:hover { background: linear-gradient(135deg, #9b7924 0%, #7b5924 100%); }
.mobile-menu-btn { display: none; background: none; border: 1px solid #5a4a3a; color: #daa520; font-size: 1.3em; padding: 6px 12px; border-radius: 4px; cursor: pointer; transition: all 0.3s; }
.mobile-menu-btn:hover { border-color: #8b6914; }
.mobile-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: rgba(10, 6, 5, 0.98); border-bottom: 1px solid #3a2a20; padding: 10px 30px 20px; flex-direction: column; gap: 0; backdrop-filter: blur(10px); }
.mobile-menu.open { display: flex; }
.mobile-menu a { color: #b8a080; text-decoration: none; font-size: 1em; padding: 12px 0; border-bottom: 1px solid #2a1a10; transition: color 0.3s; }
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu a:hover, .mobile-menu a[aria-current="page"] { color: #daa520; }
@media (max-width: 900px) {
    .nav { padding: 12px 15px; }
    .nav-links { gap: 12px; }
    .nav-btn { padding: 8px 16px; font-size: 0.9em; }
    .nav-links a:not(.nav-btn):not(.lang-switch) { display: none; }
    .mobile-menu-btn { display: block; }
    .nav .nav-links a.lang-switch { display: inline-block; }   /* older page rules hid every nav link but the login button */
}
@media (max-width: 480px) {
    .nav-logo { font-size: 1.35em; letter-spacing: 1px; white-space: nowrap; }
    .nav-logo img { height: 26px; margin-right: 6px; }
    .nav-links { gap: 8px; }
    .nav .nav-links a.lang-switch { white-space: nowrap; padding: 5px 8px; }
    .nav-btn { padding: 7px 12px; }
    .mobile-menu-btn { padding: 4px 10px; font-size: 1.15em; }
}
.front-nav-spacer { height: 78px; }
@media (max-width: 900px) { .front-nav-spacer { height: 66px; } }
