.language-selector {
  display: inline-block;
  margin: 10px;

  &__button {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;

    &:hover {
      background-color: #e0e0e0;
    }

    &:active {
      transform: translateY(1px);
    }
  }

  &__current-lang {
    margin-right: 8px;
    text-transform: capitalize;
  }

  &__icon {
    font-size: 1.2em;
  }
}

// Language-specific styles that will be applied when the body has the corresponding class
:host-context(body.app-theme-light) {
  .language-selector__button {
    background-color: #f8f8f8;
    color: #333;
  }
}

:host-context(body.app-theme-dark) {
  .language-selector__button {
    background-color: #333;
    color: #f8f8f8;
    border-color: #555;
  }
}

:host-context(body.app-theme-funky) {
  .language-selector__button {
    background-color: #ff00ff;
    color: #00ffff;
    border-color: #ffff00;
  }
}
