/* Language links use native names; the summary has a translated accessible label. */
.site-language { position: relative; flex-shrink: 0; color: var(--ink, #17324a); font-size: .9rem; }
.site-language summary {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding: .5rem .75rem;
  border: 1px solid var(--line, #b8c6d3);
  border-radius: 12px;
  background: var(--field-soft, #fff);
  color: inherit;
  font: inherit;
  white-space: nowrap;
  cursor: pointer;
  list-style: none;
}
.site-language summary::-webkit-details-marker { display: none; }
.site-language summary:focus-visible,
.site-language a:focus-visible { outline: 3px solid var(--blue, #315e85); outline-offset: 2px; }
.language-chevron { margin-left: .25rem; }
.site-language[open] .language-chevron { transform: rotate(180deg); }
.language-options {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 50;
  width: 190px;
  max-width: calc(100vw - 48px);
  padding: 6px;
  border: 1px solid var(--line, #b8c6d3);
  border-radius: 16px;
  background: var(--paper, #fff);
  box-shadow: 0 12px 32px rgb(0 0 0 / .16);
}
.site-language .language-options a {
  display: flex;
  justify-content: space-between;
  min-height: 44px;
  padding: .6rem .75rem;
  border-radius: 10px;
  color: inherit;
  font-weight: 500;
  text-decoration: none;
}
.site-language .language-options a:hover,
.site-language .language-options a[aria-current] { background: var(--field-soft, #edf3fa); }
.site-language .language-options a[aria-current]::after { content: '✓'; color: var(--blue, #315e85); }
.site-header .site-language { margin-left: 8px; }
@media (max-width: 1400px) {
  .site-header .site-language { margin: 8px 14px; }
  .site-header .site-language summary { justify-content: center; }
  .site-header .language-options { position: static; width: auto; margin-top: 8px; box-shadow: none; }
}
