/* Boutons de commande (tous)
############################################################################################################################################################################### */
input, textarea, select, button {
	display: block;
	margin: 0 auto;
	border: calc(2px * var(--k)) solid rgba(0, 0, 0, 0.5);
	border-radius: calc(3px * var(--k));
	padding: calc(7px * var(--k));
	font-family: Arial, sans-serif;
	font-size: calc(32px * var(--k));
	color: black;
	cursor: pointer;
	background-color: var(--color-plain);
	overflow: hidden;
}
button:hover, button:focus {
	outline: none;
	transition: background 0.2s ease, border 0.2s ease;
}
button:disabled {
	color: grey !important;
	cursor: not-allowed !important;
}
button:hover:disabled, button:focus:disabled {
	outline: none;
}
button:active:enabled {
	outline: calc(5px * var(--k)) solid rgba(0, 0, 0, 0.5);
	color: red;
}
button {
	min-width: 175px;
	font-size: 48px;
}
button.ok {
	background-color: palegreen;
}
button.nok {
	background-color: orangered;
	color: white;
}
textarea {
	width: calc(100% - 24px * var(--k));
}

input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"], input[type="search"], textarea, select {
	margin: unset;
	padding: calc(6px * var(--k)) !important;
}
input[type="date"] {
	padding: 0 6px !important;
}
input[type="number"] {
	text-align: right;
}
input[type="checkbox"], input[type="radio"], input[type="color"] {
	display: inline-block;
	width: calc(28px * var(--k)) !important;
	height: calc(28px * var(--k));
	position: relative;
	cursor: pointer;
}
input[type="checkbox"] {
	-webkit-appearance: none;
	border: calc(1px * var(--k)) solid black;
	border-radius: calc(2px * var(--k));
	box-sizing: content-box;
	color: transparent;
	transition-duration: 300ms;
	transition-property: color;
	transition-timing-function: ease;
}
input[type="checkbox"]:checked, input[type="checkbox"]:indeterminate {
	color: black;
	font-weight: bold;
}
input[type="checkbox"]:checked:after {
	content: "\2714";
}
input[type="checkbox"]:indeterminate:after {
	content: "\268A";
}
input[type="checkbox"]:after {
	font-family: 'Font Awesome 5 Brands';
	margin-left: calc(1.5px * var(--k));
	margin-top: calc(-2px * var(--k));
	display: flex;
}
input[type="radio"] {
	-webkit-appearance: none;
	border: calc(1px * var(--k)) solid;
	border-color: rgba(0, 0, 0, 0.5) rgba(255, 255, 255, 0.5) rgba(255, 255, 255, 0.5) rgba(0, 0, 0, 0.5);
	border-radius: 99px;
	box-sizing: content-box;
	cursor: pointer;
	transition-duration: 300ms;
	transition-property: background-color;
	transition-timing-function: ease;
	margin: calc(1px * var(--k)) calc(5px * var(--k)) calc(3px * var(--k)) calc(5px * var(--k));
	white-space: nowrap;
}
input[type="radio"]:checked {
	background-color: black !important;
	box-shadow: 0 0 0 calc(2px * var(--k)) rgba(255, 255, 255, 0.75) inset;
}
input[type="color"] {
	width: calc(22px * var(--k));
	height: calc(22px * var(--k));
	padding: 0 calc(2px * var(--k));
	border: calc(1px * var(--k)) solid var(--color-elements-dark);
}
input:not([disabled]):hover, textarea:not([disabled]):hover, select:not([disabled]):hover {
	background-color: var(--color-elements-plain);
}
input:focus, textarea:focus, select:focus {
	background-color: var(--color-elements-light) !important;
	outline: none;
}
input[disabled], input[disabled]:hover, textarea[disabled], textarea[disabled]:hover, select[disabled], select[disabled]:hover {
	color: grey !important;
	cursor: not-allowed !important;
}
img[id='img_captcha'] {
	zoom: 2;
}
input[name="txt_captcha"] {
	width: calc((150px - 4px - 16px) * 2);
	height: calc((50px - 4px) * 2);
	font-size: calc(32px * 2);
	letter-spacing: calc(14px * 2);
	padding: 0 calc(8px * 2) !important;
	border-width: calc(2px * 2);
	font-family: monospace;
	text-transform: uppercase;
}


/* Formulaires
############################################################################################################################################################################### */

div.form-container.cols {
	display: flex;
	flex-flow: row wrap;
}
div.form-container > div {
	width: 100%;
}
div.form-container > div > div {
	background-color: var(--color-plain);
	margin: calc(2px * var(--k));
	padding: calc(10px * var(--k));
	width: calc(50% - 24px * var(--k));
	white-space: nowrap;
}
div.form-container.rows > div > div {
	width: 100%;
	white-space: normal;
}
div.form-container.rows > div {
	margin-bottom: calc(20px * var(--k));
}
div.form-container.cols > div > div {
	float: left;
}
div.form-container.cols > div > div:first-child {
	height: calc(100% - calc(24px * var(--k)));
	text-align: right;
}
div.form-container > div > div:last-child {
	text-align: left;
	display: flex;
	flex-flow: wrap;
}
div.form-container input, div.form-container textarea, div.form-container select, div.form-container > div > div:last-child > div { /* div utilisé pour les MS */
	width: 110%;
	margin: calc(-8px * var(--k));
}
div.form-container input[type="checkbox"], div.form-container input[type="radio"], div.form-container input[type="color"] {
	margin: calc(-11px * var(--k)) calc(10px * var(--k)) !important;
	vertical-align: baseline;
}

.div_cp_commune > div > div {
	zoom: 2;
}

.div_action_img_seule { /* Bouton image (dépourvue de l'élément bouton) */
	position: relative;
	cursor: pointer;
	transition: box-shadow 0.5s ease-out;
}
.div_action_img_seule:hover {
	box-shadow: 0 0 calc(8px * var(--k)) black;
}
.div_action_img_seule:active {
	transform: scale(1.1, 1.1);
}
.div_action_img_seule.disabled {
	box-shadow: none;
	transform: scale(1, 1);
	cursor: not-allowed;
}
.div_action_img_seule.vignette {
	width: calc(400px * var(--k) * var(--k2));
	height: calc(400px * var(--k) * var(--k2) + 1.5em);
	margin: 0 0.5em 1.5em 0;
	text-align: center;
	font-size: calc(26px * var(--k) * var(--k2));
	font-weight: bold;
	line-height: 1.5em;
}
.div_action_img_seule.vignette > img {
	max-width: calc(400px * var(--k) * var(--k2));
	max-height: calc(400px * var(--k) * var(--k2));
}
.div_action_img_seule.vignette > span {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

/* ==========================================================================
	LARGEURS INTERMÉDIAIRES
	========================================================================== */

@media all and (min-width: 1000px) {

	input, textarea, select, button {
		font-size: calc(24px * var(--k));
	}

	input[type="text"], input[type="password"], input[type="number"], input[type="tel"], input[type="email"], input[type="search"], textarea, select {
		padding: calc(3px * var(--k)) !important;
	}

	input[type="date"] {
		font-size: calc(26px * var(--k));
		padding: 0 calc(3px * var(--k)) !important;
	}

	input[type="checkbox"], input[type="radio"], input[type="color"] {
		width: calc(14px * var(--k)) !important;
		height: calc(14px * var(--k));
	}
	input[type="checkbox"] {
		border: calc(1px * var(--k)) solid black;
		border-radius: calc(2px * var(--k));
	}
	input[type="checkbox"]::after {
		margin-left: calc(-3px * var(--k));
		margin-top: calc(-11px * var(--k));
	}
	input[type="radio"] {
		border: calc(1px * var(--k)) solid black;
		border-radius: 99px;
	}
	img[id='img_captcha'] {
		zoom: 1;
	}
	input[name="txt_captcha"] {
		width: calc(150px - 4px - 16px);
		height: calc(50px - 4px);
		font-size: 32px;
		letter-spacing: 14px;
		padding: 0 0 0 8px !important;
		border-width: 2px;
		font-family: monospace;
		text-transform: uppercase;
	}

	button {
		background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.15));
		box-shadow:
			calc(2px * var(--k)) calc(2px * var(--k)) 0 rgba(255, 255, 255, 0.3) inset,
			calc(-1px * var(--k)) calc(-1px * var(--k)) 0 rgba(0, 0, 0, 0.3) inset,
		  calc(2px * var(--k)) calc(2px * var(--k)) calc(8px * var(--k)) rgba(0, 0, 0, 0.3)
		;
	}

	button:hover, button:focus {
		background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.05));
	}

	button:hover:disabled, button:focus:disabled {
		background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.15));
	}

	button:active:enabled {
		color: black;
		outline: none;
		padding: calc(8px * var(--k)) calc(14px * var(--k)) calc(6px * var(--k)) calc(16px * var(--k));
		box-shadow:
			calc(1px * var(--k)) calc(1px * var(--k)) 0 rgba(0, 0, 0, 0.3) inset,
			calc(-1px * var(--k)) calc(-1px * var(--k)) 0 rgba(255, 255, 255, 0.3) inset,
			0 0 0 rgba(255, 255, 255, 0)
		;
		transition: box-shadow 0.2s ease;
	}

	button.selected {
		box-shadow:
			calc(2px * var(--k)) calc(2px * var(--k)) 0 rgba(255, 255, 255, 0.3) inset,
			calc(-1px * var(--k)) calc(-1px * var(--k)) 0 rgba(0, 0, 0, 0.3) inset,
			calc(2px * var(--k)) calc(2px * var(--k)) calc(8px * var(--k)) rgba(0, 0, 0, 0.3),
			0 0 calc(1px * var(--k)) calc(1px * var(--k)) black
		;
	}

	div.form-container.cols > div {
		width: 50%;
	}
	div.form-container input, div.form-container textarea, div.form-container select, div.form-container > div > div:last-child > div { /* div utilisé pour les MS */
		width: 110%;
		margin: calc(-5px * var(--k));
	}
	div.form-container input[type="checkbox"], div.form-container input[type="radio"], div.form-container input[type="color"] {
		margin: calc(-6px * var(--k)) calc(15px * var(--k)) !important;
		vertical-align: baseline;
	}

	.div_cp_commune > div > div {
		zoom: 1;
	}

}