/* Shared header layout, applied after page styles on every route. */
.nav-shell, .nav-shell.is-compact {
  width: min(calc(100vw - 1.25rem), 38rem);
  gap: .75rem;
  background: rgba(255,255,255,.9);
  color: #111318;
}
.nav-shell .brand { flex: 0 0 auto; }
.nav-shell .brand strong { display: block; }
.nav-actions { gap: .5rem; flex-shrink: 0; }
.nav-menu-button { flex-shrink: 0; }
.get-app-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; white-space: nowrap; }
.get-app-button .icon { width: 1.1rem; height: 1.1rem; }
.get-app-short { display: none; }
.language-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  width: auto;
  min-width: 2.8rem;
  padding-inline: .8rem;
  border-radius: 999px;
}
.language-globe { width: 1.15rem; height: 1.15rem; }
.language-code { font: 700 .75rem/1 var(--sans, sans-serif); letter-spacing: .04em; }
.language-button[aria-expanded="true"] { background: rgba(75,63,209,.14); }
.language-panel { display: block; width: min(calc(100vw - 1.25rem), 24rem); color: #111318; }
.language-panel h2 { margin: .3rem .6rem 1rem; font: 700 1.05rem/1.3 var(--sans, sans-serif); }
.language-options { display: grid; gap: .3rem; }
.language-panel .language-options a { display: flex; align-items: center; gap: .9rem; min-height: 3.5rem; padding: .6rem .75rem; color: #111318; }
.language-panel .language-options a[aria-current="true"] { background: #efedff; }
.language-panel .language-badge { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: .65rem; background: rgba(17,19,24,.06); color: #676b74; font: 700 .75rem/1 var(--sans, sans-serif); }
.language-panel .language-name { color: #111318; font: 600 .95rem/1.4 var(--sans, sans-serif); }
.language-panel .language-check { margin-left: auto; color: #4b3fd1; font-weight: 800; }
.site-menu .menu-col > p { margin: .4rem .6rem; color: #676b74; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 600px) {
  .nav-shell, .nav-shell.is-compact { gap: .4rem; padding: .4rem; }
  .get-app-label { display: none; }
  .get-app-short { display: inline; }
  .get-app-button { padding-inline: .8rem; }
  .language-button { width: 2.75rem; height: 2.75rem; min-width: 0; padding: 0; border-radius: 50%; }
  .language-code { display: none; }
}
@media (max-width: 360px) {
  .nav-shell .brand strong { display: none; }
  .nav-actions { gap: .35rem; }
}
