/**
 * Language selector — Figma nodes 1:332 (default), 1:336 (open), 1:340 (selected), 1:344 (list)
 */

.fh-language-field {
  position: relative;
  width: auto;
}

.fh-language-field__control {
  position: relative;
  width: var(--fh-language-width);
  min-width: var(--fh-language-width);
}

.fh-language-selector__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fh-space-3);
  width: 100%;
  height: var(--fh-input-height);
  margin: 0;
  padding: var(--fh-language-trigger-padding-y) var(--fh-language-trigger-padding-x);
  font-family: var(--fh-font-family);
  text-align: left;
  color: var(--fh-color-text);
  background-color: var(--fh-color-surface);
  border: var(--fh-border-width) solid var(--fh-color-border-language);
  border-radius: var(--fh-radius-input);
  cursor: pointer;
  transition: border-color var(--fh-transition-fast);
}

.fh-language-selector__trigger:hover {
  border-color: var(--fh-color-text-muted);
}

.fh-language-selector__trigger:focus {
  outline: none;
  border-color: var(--fh-color-border-focus);
}

.fh-language-selector__trigger[aria-expanded="true"],
.fh-language-field:has(.fh-language-selector__label:not(.is-placeholder)) .fh-language-selector__trigger {
  border-color: var(--fh-color-border-language-active);
}

.fh-language-selector__label {
  font-size: var(--fh-font-size-language);
  font-weight: var(--fh-font-weight-language);
  line-height: var(--fh-line-height-tight);
  white-space: nowrap;
}

.fh-language-selector__label.is-placeholder {
  font-weight: var(--fh-font-weight-language);
}

.fh-language-selector__chevron {
  display: block;
  flex-shrink: 0;
  width: var(--fh-language-chevron-width);
  height: var(--fh-language-chevron-height);
  color: var(--fh-color-text);
  transition: transform var(--fh-transition-fast);
}

.fh-language-selector__trigger[aria-expanded="true"] .fh-language-selector__chevron {
  transform: scaleY(-1);
}

.fh-language-selector__list {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
  gap: var(--fh-language-list-gap);
  width: 100%;
  margin: 0;
  padding: var(--fh-language-list-padding);
  list-style: none;
  background-color: var(--fh-color-surface);
  border: var(--fh-border-width) solid var(--fh-color-border-language-active);
  border-top: none;
}

.fh-language-selector__list > li {
  margin: 0;
  padding: 0;
}

.fh-language-selector__list[hidden] {
  display: none;
}

.fh-language-selector__option {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: var(--fh-font-family);
  font-size: var(--fh-font-size-language);
  font-weight: var(--fh-font-weight-language-option);
  line-height: var(--fh-line-height-tight);
  color: var(--fh-color-text);
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
}

.fh-language-selector__option:hover,
.fh-language-selector__option:focus {
  outline: none;
  text-decoration: underline;
}

.fh-language-selector__option[aria-selected="true"] {
  font-weight: var(--fh-font-weight-semibold);
}
