[Tex/LaTex] How to define the indentation for the second line of a multiline item with custom label

enumitemindentationitemizelistsspacing

I have a multicolumn list and I am a little limited in vertical space, for that reason I used the property leftmargin=* of itemize to get rid of some of the white space between the custom label and the actual text. But for some reason after a line break the indentation is wrong (see the first column). If I leave out leftmargin, then the indentation is right, but the space between label and text is too big.
I tried to set everything manually how described in the documentation, but it never applies to the second line.

I try to avoid forced line breaks and the use of empty items item[]. How to solve this problem? Less space but correct indentation?

my minimal example:

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\noindent texttexttexttext...
\hfill \\

\noindent\begin{minipage}[t]{0.45\textwidth}
{\centering \subsection*{Header 1}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}
\kern.1\textwidth
\begin{minipage}[t]{0.45\textwidth}
{\centering \subsection*{Header 2}}
\begin{itemize}[align=left,labelsep=1ex]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two.one \\ two.two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}

\end{document}

enter image description here

Best Answer

I guess this is what you want:

\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe} % just for the example

\begin{document}

\noindent\begin{minipage}[t]{0.45\textwidth}
\subsection*{Header 1}
\begin{itemize}[
  align=left,
  leftmargin=2em,
  itemindent=0pt,
  labelsep=0pt,
  labelwidth=2em
]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two.one \\ two.two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}\hfill
\begin{minipage}[t]{0.45\textwidth}
\subsection*{Header 2}
\begin{itemize}[align=left,labelsep=1ex]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two.one \\ two.two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}

\end{document}

enter image description here

Use whatever length you think fit instead of 2em.