/* NIVEAU 1 */
ul.niv1 > li {
    margin-top:30px;
}

/* LIBELLES */
/* Tous les libellés */
form .niv1 .label { text-transform:uppercase }
form .niv2 .label, form .niv3 .label, form .niv4 .label { font-size:90% }

form .label {
    display:inline-block;
    width:max-content; 
    margin-top:5px;
}

/* Libellés des sections */
form input.section + label { 
    cursor:pointer;
    font-size:140%;
    color:#C0C0C0;
    margin-top:30px;
    width:max-content;
}
form input.section:checked + label {
    color:#000000;
}

form input.section + label::before { 
    content:"+";
    font-size:120%;
    font-weight:bold;
    width:30px;
    display:inline-block;
    text-align:center;
}
form input.section:checked + label::before { content:"-" }

/* LIGNES */
form li { 
    width:max-content;
    list-style:none; 
    margin:0;
    padding-left:15px;
}

form ul.niv4 { padding-inline-start:0 }
form ul.niv4 li { border-left:3px solid #C0C0C0 }

/* ELEMENTS INTERACTIFS */
form textarea, form select { 
    width:600px; 
    border:none; 
    border-bottom:1px solid #C0C0C0; 
    outline:none;
    display:block;
}
form input[type=checkbox] {
    width:max-content; 
    transform:scale(1.2,1.2);
    margin-left:10px;
}
form li > textarea, form li > select { margin-left:30px }
form li li > textarea, form li li > select { margin-left:0 }

/* OUVERTURE/FERMETURE DES SECTIONS */
form input.section { display:none }
form input.section + label + ul, 
form input.section + label + ul + button,
form input.section + label + .input { display:none }
form input.section:checked + label + ul, 
form input.section:checked + label + ul + button,
form input.section:checked + label + .input { display:block }

/* BOUTONS */
form .btnadd  { display:block; margin:5px auto 0 auto; }
form .buttons { text-align:right }
form .buttons button { 
    transform:scale(1.2,1.2);
    padding:0; margin:0;
    border-radius:0;
    opacity:0;
}
form li:hover > .buttons button { opacity:1 }
form .buttons .btndel { margin:5px 0 0 10px }
form .btnvalid { 
    position:fixed;
    top:5px; left:19cm; z-index:99;
    padding:0 30px;
    font-size:150%; 
}