/* Header buttons that carry the hidden attribute must really be hidden —
   several button styles use display:inline-flex, which would otherwise win
   over the browser default for [hidden]. */
.nav-actions [hidden],.nav-links [hidden],.nav-actions .btn[hidden]{display:none!important}
/* Header upgrade: always-visible account + admin buttons, tidy on mobile. */
.nav-actions{gap:8px;flex-wrap:nowrap}
.nav-actions .btn{white-space:nowrap}
.nav-actions .lang-select{max-width:150px}
#oftOptin input:focus{outline:2px solid #4f8cff;outline-offset:1px}
.oft-admin-link{background:#1d2740;border-color:#2b3550}
.oft-admin-link:hover{background:#243050}
@media(max-width:1180px){.nav-actions .lang-select{max-width:110px}}
@media(max-width:980px){
  .nav-actions{gap:6px}
  .nav-actions .btn{padding:7px 10px;font-size:.85rem}
  .nav-actions [data-oft-btn="invite"] span.lbl,.nav-actions .lbl-long{display:none}
  .nav-actions .lang-select{max-width:88px}
  .nav-actions .admin-lbl{display:none}
}
@media(max-width:620px){
  .nav-actions{gap:5px}
  .nav-actions .btn{padding:6px 9px;font-size:.8rem}
  .nav-actions [data-oft-btn="login"]{display:none}          /* sign-in lives in the mobile menu */
  .nav-actions .lang-select{max-width:74px;font-size:.8rem}
  #oftOptin{left:8px;right:8px;bottom:8px;padding:12px}
}
@media(max-width:380px){ .nav-actions .lang-select{display:none} }

/* The mobile-menu copies exist on every screen size but only show in the drawer,
   so the desktop bar never doubles up on the same buttons. */
@media(min-width:981px){ .nav-links > a[data-oft-menu]{display:none} }
@media(max-width:980px){ .nav-links > a[data-oft-menu]{display:block} }
