/* Self-hosted flags, native disclosure and real language URLs. */
.site-header { gap: 8px; overflow: visible; }
.site-header .brand-mark { margin-right: auto; min-width: 0; }
.site-header .main-navigation { order: 2; }
.site-header .menu-toggle { order: 4; flex-shrink: 0; }
.locale-switch { position: relative; order: 3; flex-shrink: 0; color: #f2f7ff; }
.locale-switch summary {
  display: flex; min-height: 44px; align-items: center; justify-content: center;
  gap: 7px; padding: 8px 11px; border: 1px solid rgba(180, 218, 255, .24);
  border-radius: 999px; background: rgba(130, 174, 231, .09); cursor: pointer;
  list-style: none; font-size: .72rem; font-weight: 750;
}
.locale-switch summary::-webkit-details-marker { display: none; }
.locale-switch summary::marker { content: ""; }
.locale-switch summary > svg { transition: transform .18s ease; }
.locale-switch[open] summary > svg { transform: rotate(180deg); }
.locale-switch img { display: block; width: 24px; height: 18px; border-radius: 3px; object-fit: cover; flex-shrink: 0; box-shadow: 0 0 0 1px rgba(255,255,255,.14); }
.locale-switch ul {
  position: absolute; top: calc(100% + 12px); right: 0; z-index: 10;
  width: 218px; max-width: calc(100vw - 40px); margin: 0; padding: 7px;
  list-style: none; border: 1px solid rgba(180,218,255,.28); border-radius: 18px;
  background: rgba(10, 22, 41, .97); box-shadow: 0 18px 48px rgba(0,0,0,.4);
  -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
}
.locale-switch a { display: flex; min-height: 50px; gap: 12px; align-items: center; padding: 8px 12px; color: #f2f7ff; text-decoration: none; border-radius: 11px; font-size: .86rem; line-height: 1.4; }
.locale-switch small { display: block; color: #b8c9dc; font-size: .69rem; }
.locale-switch a[aria-current="page"] { background: rgba(71, 153, 238, .18); }
.locale-switch a[aria-current="page"]::after { content: "✓"; margin-left: auto; color: #56dfcc; }
.locale-switch a:hover, .locale-switch summary:hover { background-color: rgba(119,179,236,.2); }
.locale-switch :focus-visible { outline: 2px solid #79d5ff; outline-offset: 3px; }
.error-page > .locale-switch { position: fixed; top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); z-index: 1001; }
@media (min-width: 821px) and (max-width: 1100px) {
  .site-header .brand-mark__text { display: none; }
  .site-header .main-navigation a { padding-inline: 10px; }
}
@media (max-width: 820px) {
  .site-header .locale-switch { order: 3; }
  .locale-switch ul { right: -48px; }
  .error-page > .locale-switch ul { right: 0; }
}
@media (prefers-reduced-motion: reduce) { .locale-switch summary > svg { transition: none; } }
@media (prefers-reduced-transparency: reduce) { .locale-switch ul { background: #0a1629; backdrop-filter: none; } }
@media print { .locale-switch { display: none; } }
