/* Language switcher (release phase 3): a globe and the current language code next to the search icon in the desktop
   header, and a row of languages at the bottom of the phone menu. Markup is written by tools/release/build.py. */
.inst-lang { position: relative; font: inherit; }
.inst-lang > summary { list-style: none; display: inline-flex; align-items: center; gap: .35em; cursor: pointer;
  padding: .35em .4em; border-radius: 6px; font-size: .8em; font-weight: 600; letter-spacing: .04em; color: inherit; }
.inst-lang > summary::-webkit-details-marker { display: none; }
.inst-lang > summary svg { width: 1.25em; height: 1.25em; flex: none; }
.inst-lang > summary:hover, .inst-lang[open] > summary { background: rgba(19, 141, 205, .08); }
.inst-lang > summary:focus-visible { outline: 2px solid #138dcd; outline-offset: 2px; }
.inst-lang ul { position: absolute; right: 0; top: calc(100% + 8px); z-index: 1000; margin: 0; padding: 6px;
  list-style: none; min-width: 12rem; background: #fff; border: 1px solid rgba(0, 0, 0, .08); border-radius: 10px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .14); }
.inst-lang li { margin: 0; }
.inst-lang li a { display: block; padding: .5rem .75rem; border-radius: 6px; color: #1c1c1c; text-decoration: none;
  font-size: .95rem; font-weight: 500; white-space: nowrap; }
.inst-lang li a:hover, .inst-lang li a:focus-visible { background: rgba(19, 141, 205, .08); color: #0b6fa8; }
.inst-lang li a[aria-current="true"] { color: #138dcd; font-weight: 600; }
.inst-lang-item { display: flex; align-items: center; }
/* phone menu: the list opens inline, full width */
.inst-lang--mobile { margin-top: .75rem; }
.inst-lang--mobile > summary { font-size: 1rem; padding: .5rem 0; }
.inst-lang--mobile ul { position: static; box-shadow: none; border: 0; padding: 0 0 0 .25rem; min-width: 0; background: transparent; }
.inst-lang--mobile li a { padding: .45rem 0; }
