.lang-switcher {
    padding: 5px;
    border: #2c3a4d solid 1px;
    background-color: transparent;
    border-radius: 8px;
    font-size: 14px;
    cursor: pointer;
    color: #e6edf3;
}

.switch {
  --switch-width: 44px;
  --switch-height: 24px;
  --switch-gap: 3px;
  --switch-off: #51637a;
  --switch-on: #2196f3;
  --switch-knob: #ffffff;

  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  font-size: 14px;
  color: #e0eaf5;
  margin-bottom: 20px;
}

.switch__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.switch__track {
  position: relative;
  flex: 0 0 auto;
  width: var(--switch-width);
  height: var(--switch-height);
  border-radius: var(--switch-height);
  background-color: var(--switch-off);
  transition: background-color 0.25s ease;
}

.switch__track::before {
  content: "";
  position: absolute;
  top: var(--switch-gap);
  left: var(--switch-gap);
  width: calc(var(--switch-height) - 2 * var(--switch-gap));
  height: calc(var(--switch-height) - 2 * var(--switch-gap));
  border-radius: 50%;
  background-color: var(--switch-knob);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  transition: transform 0.25s ease;
}

.switch__input:checked + .switch__track {
  background-color: var(--switch-on);
}

.switch__input:checked + .switch__track::before {
  transform: translateX(calc(var(--switch-width) - var(--switch-height)));
}

.switch__input:focus-visible + .switch__track {
  box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.45);
}

.switch__text {
  line-height: 1.2;
}