
@media (max-width: 63.9375rem) {
	:root {
		--input-size: 2.5em;
	}
	/*
    classe .tiny-input sur le container parent : taille réduite
     */
	:root .input-tiny {
		--input-size: 1.8125em;
	}
}
@media (min-width: 64rem) {
	:root {
		--input-size: 3.125em;
	}
	/*
    classe .tiny-input sur le container parent : taille réduite
     */
	:root .input-tiny {
		--input-size: 2.0625em;
	}
}
:root:not([class*="contrast"]) {
	--input-radius: var(--input-size);
}
:root[class*="contrast"] {
	--input-radius: 0;
}
/*
 Sélecteur pour capturer les inputs 'radio' et 'checkbox'
 [type*="o"]:not([type*="t"]):not([type*="w"])
 match 'o' des deux types en excluant les 'button'/'password'
 */
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]) {
	position: absolute;
	width: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]) + label {
	position: relative;
	display: inline-block;
	line-height: calc(var(--input-size) / 2);
	border-radius: var(--radius);
}
@media (any-pointer: fine) {
	.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]) + label {
		cursor: pointer;
	}
	.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):not(:checked) + label:hover {
		color: var(--heading-color);
		text-decoration: underline;
		text-underline-position: under;
		text-decoration-style: var(--text-decoration-style);
		text-decoration-color: currentColor;
		text-decoration-thickness: var(--text-decoration-thickness);
	}
}
.customCheckRadio [type="checkbox"] + label {
	padding-left: calc(var(--input-size) + 0.9375em);
}
.customCheckRadio [type="radio"] + label {
	padding-left: calc(var(--input-size) / 2 + 0.9375em);
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):checked + label {
	color: var(--link-color, #1A3989);
}
.customCheckRadio [type="checkbox"] + label:before {
	border-radius: var(--input-radius);
	background-color: currentColor;
	box-shadow: 0 0 0 0.0625rem currentColor;
	content: "\20";
	display: inline-block;
	font-family: sans-serif !important;
	height: calc(var(--input-size) / 2);
	left: 0.125em;
	position: absolute;
	top: 0;
	width: var(--input-size);
}
.customCheckRadio [type="radio"] + label:before {
	border-radius: var(--input-radius);
	box-shadow: 0 0 0 0.125rem currentColor;
	content: "\20";
	display: inline-block;
	font-family: sans-serif !important;
	height: calc(var(--input-size) / 2);
	left: 0.125em;
	position: absolute;
	top: 0;
	width: calc(var(--input-size) / 2);
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]) + label:after {
	height: calc(var(--input-size) / 2);
	width: calc(var(--input-size) / 2);
	content: "\20";
	position: absolute;
	left: 0.125em;
	border-radius: var(--input-radius);
	font-family: sans-serif !important;
}
.customCheckRadio [type="checkbox"] + label:after {
	--mask-image: url('data:image/svg+xml,\
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">\
    <path d="m0,0v32h32V0H0Zm24.14,24.13h0c-.48.49-1.24.49-1.72.01l-6.42-6.43-6.42,6.42c-.48.48-1.24.47-1.72,0-.48-.47-.47-1.25,0-1.72l6.42-6.41-6.41-6.42c-.48-.48-.48-1.25,0-1.72.48-.48,1.24-.48,1.72,0l6.41,6.42,6.42-6.42c.48-.48,1.24-.47,1.72,0,.48.47.47,1.25,0,1.72l-6.42,6.41,6.42,6.42c.48.48.48,1.25,0,1.72Z"/>\
  </svg>');
	background-color: var(--background-color-page, white);
	top: 0;
	-webkit-mask-size: contain;
	-webkit-mask-image: var(--mask-image);
	mask-size: contain;
	mask-image: var(--mask-image);
}
.customCheckRadio [type="radio"] + label:after {
	background-color: transparent;
	top: 0;
}
.customCheckRadio [type="radio"]:checked + label:after {
	background-color: currentColor;
	box-shadow: 0 0 0 0.1875rem var(--background-color-page, white) inset;
}
.customCheckRadio [type="checkbox"]:checked + label:after {
	left: calc(var(--input-size) / 2 + 0.125em) !important;
	--mask-image: url('data:image/svg+xml,\
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">\
    <path d="m0,0v32h32V0H0Zm26.45,10.5v.02l-13.38,13.63c-.45.46-1.19.46-1.64,0l-5.89-5.99c-.43-.45-.43-1.16,0-1.61l1.04-1.07c.44-.46,1.18-.46,1.63,0l3.22,3.26c.44.46,1.18.46,1.63,0l10.7-10.91c.45-.45,1.19-.45,1.64,0l1.05,1.07c.43.44.43,1.16,0,1.6Z"/>\
  </svg>');
}
@media (prefers-reduced-motion: no-preference) {
	.customCheckRadio [type="radio"] + label:after {
		transition: background .2s ease-in-out;
	}
	.customCheckRadio [type="checkbox"] + label:after {
		transition: left .2s ease-in-out;
	}
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):focus-visible {
	outline: none;
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):focus-visible + label {
	outline-offset: var(--outline-offset);
	outline: var(--outline-color) var(--outline-style) var(--outline-width);
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):not(:checked):focus-visible + label {
	color: var(--heading-color);
	text-decoration: underline;
	text-underline-position: under;
	text-decoration-style: var(--text-decoration-style);
	text-decoration-color: currentColor;
	text-decoration-thickness: var(--text-decoration-thickness);
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):focus:not(:focus-visible) + label:before {
	outline-color: transparent;
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):focus-visible + label:before {
	outline-color: var(--outline-color, #1A3989);
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):disabled + label {
	opacity: .6;
}
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]):disabled + label:after {
	background-color: var(--lightgray, lightgrey);
}
/* Gestion des label en erreur si implémenté */
.customCheckRadio [type*="o"]:not([type*="t"]):not([type*="w"]).error + label {
	color: var(--error-color, orangered);
}