.language-picker {
  position: relative;
  width: 82px;
}

.language-trigger {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  padding: 8px 10px;
  border: 1px solid var(--gray-200);
  border-radius: 7px;
  background: var(--white);
  color: var(--gray-700);
  font: 600 0.75rem/1.2 inherit;
  cursor: pointer;
  text-align: left;
}

.language-trigger::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid var(--gray-600);
  border-bottom: 1.5px solid var(--gray-600);
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.15s ease;
}

.language-trigger[aria-expanded="true"]::after {
  transform: translateY(-25%) rotate(225deg);
}

.language-trigger:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.1);
  outline-offset: 1px;
}

.language-current-flag,
.language-menu img {
  width: 20px;
  height: auto;
  display: block;
  flex-shrink: 0;
}

.language-current-code {
  flex: 1;
}

.language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 120;
  display: grid;
  width: 166px;
  padding: 6px;
  border: 1px solid var(--gray-200);
  border-radius: 7px;
  background: var(--white);
  box-shadow: var(--shadow-md);
}

.language-menu[hidden] {
  display: none;
}

.language-menu button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 9px 8px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--gray-700);
  font: 500 0.8125rem/1.2 inherit;
  cursor: pointer;
  text-align: left;
}

.language-menu button:hover,
.language-menu button[aria-selected="true"] {
  background: var(--gray-100);
}

.language-menu button[aria-selected="true"] {
  font-weight: 700;
}

.language-menu button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: -2px;
}
