/* FD-WEB-037: a stable pair identifies the language of the open volume. */
.book-language-selector {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  min-height: 46px;
  border: 1px solid var(--book-rule);
  background: var(--book-wash);
  color: var(--book-accent);
}
.book-language-selector--desktop { width: 100%; }
.book-language-label {
  padding-inline: 14px;
  font-family: var(--font-serif, Georgia, serif);
  font-size: 12px;
  font-style: italic;
  line-height: 1.5;
}
.book-language-options {
  display: grid;
  grid-template-columns: repeat(2, 44px);
  flex: 0 0 88px;
  min-height: 44px;
}
.book-language-selector .book-language-option {
  display: grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--book-accent);
  background: transparent;
  font: 500 12px/1 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .04em;
  text-decoration: none;
}
.book-language-selector .book-language-option[aria-current='true'] {
  color: #fff;
  background: #00415a;
  font-weight: 700;
}
.book-language-selector a.book-language-option:hover {
  background: var(--book-paper);
  color: var(--book-accent);
}
.book-language-selector a.book-language-option:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--book-accent);
  outline-offset: 3px;
}
.book-language-selector--compact { width: 90px; }
.mobile-header > .book-language-selector--compact { margin-inline-start: auto; }
@media (prefers-reduced-motion: no-preference) {
  .book-language-selector a.book-language-option { transition: background-color 160ms ease-out; }
}
@media print { .book-language-selector { display: none; } }
