/* Shared public navigation: keep menus reachable on narrow and short screens. */
.site-navbar .account-menu-panel { max-width: calc(100vw - 1rem); overflow-y: auto; overscroll-behavior: contain; max-height: calc(100vh - 7rem); max-height: calc(100dvh - 7rem); }
.site-navbar .account-menu-identity-text { min-width: 0; overflow-wrap: anywhere; }
.site-navbar .account-menu-identity-text strong { white-space: normal; overflow: visible; }
.site-navbar .dropdown-item { min-height: 2.75rem; white-space: normal; overflow-wrap: anywhere; }
.site-navbar .dropdown-item:focus-visible { outline-offset: -3px; }
@media(max-width:1399.98px) {
  /* Bootstrap navbar dropdowns do not use Popper positioning. The shared script
     measures their trigger and clamps their position to the visual viewport. */
  .site-navbar .dropdown .dropdown-menu {
    position: fixed !important; left: var(--site-dropdown-left, .5rem) !important;
    top: var(--site-dropdown-top, 5rem) !important; right: auto !important; bottom: auto !important;
    transform: none !important; margin: 0 !important; min-width: 0;
    max-width: calc(100vw - 1rem); max-height: var(--site-dropdown-height, calc(100dvh - 7rem));
    overflow-y: auto; overscroll-behavior: contain;
  }
}
@media(max-width:575.98px) {
  :is(.library-pagination,.deck-library-pagination,.deck-list-pagination,.play-pagination,.pagination) {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: .75rem; min-width: 0; max-width: 100%;
  }
  :is(.library-pagination,.deck-library-pagination,.deck-list-pagination,.play-pagination) > :is(a,button), .pagination .page-item { flex: 0 0 auto; max-width: 100%; }
  :is(.library-pagination,.deck-library-pagination,.deck-list-pagination,.play-pagination) > span { min-width: 0; overflow-wrap: anywhere; text-align: center; }
  :is(.library-pagination,.deck-library-pagination,.deck-list-pagination,.play-pagination) .btn, .pagination .page-link { min-height: 2.75rem; white-space: nowrap; }
}
@media(max-width:359.98px) {
  .site-navbar .mt-brand-wordmark { width: 5rem; }
  .site-navbar .brand-tagline { display: none; }
  .site-navbar .account-menu-toggle .account-avatar { width: 1.5rem; height: 1.5rem; }
  .site-navbar .account-menu-toggle { padding: .3rem; min-height: 2.75rem; }
  .site-navbar .site-tcg-toggle img { width: 1.25rem; height: 1.25rem; }
  .site-navbar .brand-lockup { margin-right: .3rem; }
  .site-navbar .site-tcg-toggle, .site-navbar .language-picker-toggle { padding-inline: .3rem; gap: .15rem; }
}
