/* Auth-only enhancement; desktop and no-JavaScript footers retain their layout. */
.auth-menu-trigger, .auth-info-menu, .auth-menu-register { display: none; }
@media (max-width: 800px) {
  .auth-menu-ready .legal-footer, .auth-menu-ready .native-auth-footer,
  .auth-menu-ready .auth-demo-link { display: none; }
  .auth-menu-ready .site-header > nav:not(.auth-info-menu),
  .auth-menu-ready .site-header > .auth-help { display: none; }
  .auth-menu-ready .site-header, .auth-menu-ready .native-auth-header { position: relative; flex-wrap: nowrap; gap: 8px; }
  .auth-menu-ready .site-header .brand { min-width: 0; margin-right: auto; }
  .auth-menu-ready .site-header .brand span { font-size: 16px; line-height: 1.2; }
  .auth-menu-ready .native-auth-header .native-switch { margin-left: auto; }
  .auth-menu-ready .auth-menu-register { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid #d9d7cc; border-radius: 24px; background: #fff; color: #18202b; font-size: 14px; font-weight: 700; text-decoration: none; }
  .auth-menu-ready .auth-menu-trigger { display: inline-flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 10px; border: 1px solid #d9d7cc; border-radius: 50%; background: #ffffffb3; color: #18202b; box-shadow: none; cursor: pointer; }
  .auth-menu-trigger svg { width: 24px; height: 24px; fill: currentColor; }
  .auth-menu-ready .auth-info-menu:not([hidden]) { display: block; position: fixed; z-index: 1000; box-sizing: border-box; width: min(310px, calc(100vw - 24px)); overflow-y: auto; overscroll-behavior: contain; padding: 12px 16px; border: 1px solid #fff; border-radius: 28px; background: #f9f9f5f5; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 12px 44px #17202b26, 0 2px 8px #17202b0d; text-align: left; }
  .auth-menu-ready .auth-info-menu .auth-info-link { display: flex; align-items: center; gap: 13px; min-height: 56px; padding: 12px 10px; border: 0; border-top: 1px solid #deded8; border-radius: 0; background: transparent; color: #20252d; font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: normal; text-transform: none; text-decoration: none; white-space: normal; }
  .auth-menu-ready .auth-info-menu .auth-info-link:first-child { border-top: 0; }
  .auth-info-link svg { flex: 0 0 21px; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .auth-info-link > span:not(.auth-info-chevron) { min-width: 0; overflow-wrap: anywhere; }
  .auth-info-chevron { margin-left: auto; color: #747a82; font-size: 22px; }
  .auth-menu-ready .auth-info-link:hover { background: #eaece780; }
  .auth-menu-ready .auth-menu-trigger:focus-visible, .auth-menu-ready .auth-info-link:focus-visible,
  .auth-menu-ready .auth-menu-register:focus-visible { outline: 3px solid #2753ae; outline-offset: 2px; border-radius: 12px; }
}

/* Keep the source link for the mobile menu, but omit it from the desktop footer. */
@media (min-width: 801px) { .auth-demo-link { display: none; } }
