/* Formulaire de contact (contact.php).
   Feuille complémentaire écrite pour Cuisine & Co, chargée après la feuille d'origine,
   qu'elle ne modifie pas. Couleurs reprises de la charte : noir, blanc, gris clair, rouge #d93732. */

.formContact {
	margin-left: 14.3%;
	margin-right: 14.3%;
	max-width: 62em;
	padding-bottom: 6em;
	color: #fff;
	font-weight: 300;
}

.formContact-titre {
	position: relative;
	margin: 0 0 0.6em 0;
	padding-top: 0.55em;
	font-size: 3.4em;
	line-height: 1.1em;
	font-weight: 300;
	color: #fff;
}
.formContact-titre::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2.9em;
	height: 3px;
	background-color: #d93732;
}

.formContact-intro {
	margin: 0 0 2.5em 0;
	font-size: 1.5em;
	line-height: 1.6em;
	color: #cbcbcb;
}

.formContact-form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.formContact-champ {
	width: 47%;
	margin-bottom: 2.2em;
}
.formContact-large {
	width: 100%;
}

.formContact-champ label {
	display: block;
	margin-bottom: 0.5em;
	font-size: 1.25em;
	letter-spacing: 0.03em;
	color: #cbcbcb;
}

.formContact-champ input,
.formContact-champ select,
.formContact-champ textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.5em 0;
	border: 0;
	border-bottom: 1px solid #6b6b6b;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-family: 'kum', sans-serif;
	font-size: 1.5em;
	font-weight: 300;
	line-height: 1.5em;
	outline: none;
	transition: border-color 0.3s;
}
.formContact-champ select {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, #cbcbcb 50%), linear-gradient(135deg, #cbcbcb 50%, transparent 50%);
	background-position: calc(100% - 0.75em) 55%, calc(100% - 0.4em) 55%;
	background-size: 0.35em 0.35em, 0.35em 0.35em;
	background-repeat: no-repeat;
}
.formContact-champ select option {
	color: #1d1c1b;
	background-color: #fff;
}
.formContact-champ textarea {
	min-height: 8em;
	resize: vertical;
	border: 1px solid #6b6b6b;
	padding: 0.6em 0.7em;
	margin-top: 0.3em;
}
.formContact-champ input:focus,
.formContact-champ select:focus,
.formContact-champ textarea:focus {
	border-color: #fff;
}

.formContact-erreur input,
.formContact-erreur textarea {
	border-color: #d93732;
}
.formContact-aide {
	display: block;
	margin-top: 0.5em;
	font-size: 1.1em;
	color: #ff7a75;
}

/* Champ piège : hors de l'écran pour les visiteurs, rempli par les robots. */
.formContact-piege {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.formContact-pied {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2em;
}
.formContact-mention {
	margin: 0;
	max-width: 30em;
	font-size: 1.1em;
	line-height: 1.6em;
	color: #8f8f8f;
}

.formContact-bouton {
	display: inline-flex;
	align-items: center;
	gap: 1.2em;
	flex-shrink: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	font-family: 'kum', sans-serif;
	font-size: 1.6em;
	font-weight: 400;
	letter-spacing: 0.025em;
	cursor: pointer;
}
.formContact-bouton b {
	display: block;
	width: 2.6em;
	height: 2.6em;
	border-radius: 50%;
	background-color: #d93732;
	transition: transform 0.4s;
}
.formContact-bouton b img {
	display: block;
	width: 100%;
	height: auto;
}
.formContact-bouton:hover b,
.formContact-bouton:focus-visible b {
	transform: rotate(-45deg);
}

.formContact-bilan {
	margin: 0 0 2.5em 0;
	padding: 1em 1.2em;
	font-size: 1.4em;
	line-height: 1.6em;
	border-left: 3px solid #d93732;
	background-color: #151515;
}
.formContact-ok {
	border-left-color: #fff;
}
.formContact-bilan a {
	color: #fff;
}

@media screen and (max-width: 1200px) {
	.formContact {
		margin-left: 12%;
		margin-right: 12%;
	}
}

@media screen and (max-width: 990px) {
	.formContact {
		margin-left: 4.7%;
		margin-right: 4.7%;
	}
}

@media screen and (max-width: 710px) {
	.formContact {
		font-size: 1.15em;
		padding-bottom: 4em;
	}
	.formContact-titre {
		font-size: 2.6em;
	}
	.formContact-champ {
		width: 100%;
	}
	.formContact-pied {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Case Cloudflare Turnstile : invisible pour la plupart des visiteurs (data-appearance
   « interaction-only ») ; elle n'apparaît, et ne prend de place, qu'en cas de doute. */
.formContact-turnstile {
	min-height: 0;
	margin-bottom: 0;
}
.formContact-turnstile iframe {
	margin-bottom: 1.5em;
}
