How can I get the width of the rule equal to the text for each item paragraph ? Any advice ? 

```
\documentclass[french,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{kpfonts}    
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,positioning}

\usepackage{babel}
\usepackage{enumitem}
\usepackage{lipsum}
%-----------------------------------------------------
%macro puce
%-----------------------------------------------------
\newcommand{\mapuce}[2]{%
\begin{tikzpicture}[baseline=(a.base),overlay]
\node[rectangle,inner sep=5pt,text centered,text=white,fill=#1,font=\bfseries](a){#2};
\draw[#1,line width=1pt](a.north west)--(a.north east)--++(4em,0em);
\end{tikzpicture}%
}

\setenumerate[1]{label=\protect\mapuce{red}{\arabic*},labelsep=1em,itemsep=1.1\baselineskip}

\begin{document}

\section{}
\lipsum[1]

\begin{enumerate}[label=\protect\mapuce{cyan}{\arabic*}]
\item  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
\item Curabitur dictum gravida mauris. 
\item  eget sem vel leo ultrices bibendum. Aenean
\end{enumerate}  

\end{document}

```