
/* Cachons la case à cocher */
.PM_ASCriterionGroupCheckbox div.checkbox {
	position: relative; /* permet de positionner la checkbox cachée */
}

.PM_ASCriterionGroupCheckbox  [type="checkbox"]:not(:checked), 
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:checked {
	/* Cache la checkbox sans
	   la désactiver pour les
	   lecteurs d'écran */
	position: absolute;
	left: 0;
	opacity: 0.01;
}

/* on prépare le label */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:not(:checked) + label,
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:checked + label {
	position: relative; /* permet de positionner les pseudo-éléments */
	padding-left: 2.3em; /* fait un peu d'espace pour notre case à venir */
	font-size: 1.05em; /* Label un peu plus gros */
	line-height: 1.7;
	cursor: pointer;    /* affiche un curseur adapté */
}
/* Aspect de la case */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:not(:checked) + label:before,
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:checked + label:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 1.4em;
	height: 1.4em;
	border: 1px solid #aaa;
	background: #FFF;
	border-radius: .2em;
	box-shadow: inset 0 1px 3px rgba(0,0,0, .1), 0 0 0 rgba(203, 34, 237, .2);
	transition: all .275s;
}

/* Aspect de la coche */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:not(:checked) + label:after,
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:checked + label:after {
	content: '✕';
	position: absolute;
	top: .38em;
	left: .18em;
	font-size: 1.6em;
	color: #3b2118;
	line-height: 0;
	transition: all .2s; /* Petite transition */
}

/* Aspect non cochée */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:not(:checked) + label:after {
	opacity: 0;
	transform: scale(0) rotate(45deg);
}

/* Aspect cochée */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:checked + label:after {
	opacity: 1;
	transform: scale(1) rotate(0);
}
/* Disabled checkbox */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:disabled:not(:checked) + label:before,
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:disabled:checked + label:before {
	box-shadow: none;
	border-color: #bbb;
	background-color: #e9e9e9;
}

/* Disabled checked */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:disabled:checked + label:after {
	color: #777;
}

.PM_ASCriterionGroupCheckbox  [type="checkbox"]:disabled + label {
	color: #aaa;
}

/* Accessibility focus */
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:checked:focus + label:before,
.PM_ASCriterionGroupCheckbox  [type="checkbox"]:not(:checked):focus + label:before {
	box-shadow: inset 0 1px 3px rgba(0,0,0, .1), 0 0 0 6px rgba(217, 195, 158, .2);
}