.language-selector {
  --language-selector-font-size: 0.875rem;
  --language-selector-vertical-spacing: 0.9375rem;

  position: relative;
  display: inline-block;
  font-family: inherit;
}

.language-selector-toggle {
  display: flex;
  align-items: center;
  border: none;
  padding: var(--spacing-0);
  margin: 0 0 var(--spacing-5);
}

.language-selector-toggle,
.language-selector-list {
  color: var(--color-spinach);
  font-family: var(--font-sans);
  font-size: var(--language-selector-font-size);
  font-weight: var(--text-body-lg-mobile-weight);
  line-height: 1.3;
}

.language-selector-toggle,
.language-selector-toggle:hover,
.language-selector-toggle:focus-within {
  background-color: unset;
  border-radius: var(--radius-none);
  box-shadow: none;
}

.language-selector-toggle:focus-visible {
  box-shadow: 0 0 0 3px var(--color-btn-focus-ring);
}

.language-selector-toggle img {
  width: var(--spacing-2-5);
  height: var(--spacing-2-5);
  margin-bottom: calc(var(--spacing-1) * -1);
  transition: transform 0.3s ease;
}

.language-selector-toggle .dropdown-icon {
  margin-left: var(--spacing-2-5);
}

.language-selector-toggle.open .dropdown-icon {
  transform: rotate(180deg);
}

.language-selector-toggle .lang-name {
  margin-left: var(--spacing-4);
}

.lang-flag picture,
.lang-flag img {
  width: var(--spacing-6);
  height: auto;
}

.language-selector-list {
  position: absolute;
  top: 100%;
  left: var(--spacing-10);
  background: var(--color-neutral-light-cream);
  width: max-content;
  list-style: none;
  margin: var(--spacing-0);
  padding: var(--spacing-0);
  z-index: 2;
}

.language-selector-list li {
  display: flex;
  align-items: center;
  padding: var(--spacing-2-5);
  cursor: pointer;
}

.language-selector-list li:focus-visible {
  outline: 2px solid var(--color-spinach);
}

.language-selector-list li:hover {
  background: var(--color-subway-yellow);
}

@media (width >= 1024px) {
  .language-selector-toggle {
    margin: var(--language-selector-vertical-spacing) 0;
  }
}
