#newsletter {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-self: center;
	background-color: #E52322;
	height: 285px;
	width: 100%;
	padding: 40px 0;
	font-family: "Helvetica", sans-serif;
	margin: 0;
}

/* Ligne décorative */
#newsletter hr {
	background-color: #100C08;
	border: none;
	height: 5px;
	width: 30px;
}

/* Titre */
#newsletter h2 {
	text-align: center;
	margin: 15px;
	color: #FFFFFF;
}

/* Formulaire (structure globale) */
#newsletter form {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	gap: 10px;
	flex-wrap: wrap;
}

/* Style des champs de type input sauf le champ mCaptcha */
#newsletter form input[type="text"]:not(#mcaptcha__token),
#newsletter form input[type="email"],
#newsletter form input[type="submit"] {
	height: 45px;
	border-radius: 5px;
	text-align: center;
	font-size: 1rem;
	line-height: 1.5;
	padding: 10px 15px;
}

/* Champ email (premier champ) */
#newsletter form input[type="email"] {
	color: #ffffff;
	width: 300px;
	background-color: #100C08;
	border: 1px solid #100C08;
	border-radius: 0.25rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* Placeholder du champ email */
#newsletter form input[type="email"]::placeholder {
	color: #6c757d;
	opacity: 1;
}

/* Champ focus */
#newsletter form input[type="text"]:focus,
#newsletter form input[type="email"]:focus {
	border: 1px solid #100C08;
	outline: 0;
}

/* Bouton submit */
#newsletter form input[type="submit"] {
	color: #FFFFFF;
	background-color: #100C08;
	font-size: 14px;
	text-transform: uppercase;
	cursor: pointer;
	outline: none;
	font-weight: 600;
	letter-spacing: 1px;
	border: 1px solid #100C08;
}

/* Hover bouton */
#newsletter form input[type="submit"]:hover {
	background-color: #E52322;
	color: #100C08;
	border: 1px solid #FFFFFF;
}

#mcaptcha__widget-container {
    margin: 5px auto;
    max-width: 320px;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* Responsive */
@media screen and (max-width: 540px) {
	#newsletter {
		height: fit-content;
	}

	#newsletter form {
		flex-direction: column;
		align-items: center;
		width: 80%;
	}

	#newsletter form input[type="email"],
	#newsletter form input[type="submit"] {
		width: 100%;
		margin: 10px 0;
	}
}
