/**
 * Plug&Sign — Forms (formulaires contact / newsletter / commentaires uniquement)
 */

.et_pb_contact_form input,
.et_pb_contact_form textarea,
.et_pb_contact_form select,
.et_pb_newsletter_field input,
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select,
#commentform input,
#commentform textarea {
	font-family: var(--ps-font-body) !important;
	border: 1px solid var(--ps-border) !important;
	border-radius: var(--ps-radius) !important;
	transition: border-color var(--ps-transition), box-shadow var(--ps-transition) !important;
}

.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
#commentform input:focus,
#commentform textarea:focus {
	border-color: var(--ps-primary) !important;
	box-shadow: var(--ps-shadow-focus) !important;
	outline: none;
}

#commentform textarea {
	min-height: 120px;
}

.logged-in #respond .comment-form-comment {
	width: 100% !important;
	margin-right: 0;
}

@media (max-width: 767px) {
	#respond .comment-form-comment {
		width: 100%;
		float: none;
		margin-right: 0;
	}
}

/* -------------------------------------------------------------------------
   Contact Form 7 (layout Molti / DSM)
   ------------------------------------------------------------------------- */

.wpcf7-form .wpcf7-form-control-wrap-bloc {
	display: block;
}

.wpcf7-form .wpcf7-form-control-wrap-bloc .wpcf7-form-control-wrap {
	display: inline-block;
	vertical-align: top;
	width: 50%;
}

.wpcf7-form .wpcf7-form-control-wrap-bloc .wpcf7-form-control-wrap:first-child {
	padding-right: 2%;
}

.wpcf7-form input,
.wpcf7-form select,
.wpcf7-form textarea {
	margin-bottom: 15px !important;
}

.wpcf7-form p {
	margin: 0;
	padding: 0;
}

.wpcf7-form .dsm-contact-form-7-select::after {
	top: 40%;
	right: 30px;
}

.wpcf7-form .rgpd {
	text-align: left;
	display: block;
}

.wpcf7-form h2 {
	margin: 10px 0 15px;
	font-weight: bold;
	color: var(--ps-primary);
	text-transform: uppercase;
	font-size: 20px;
}

@media screen and (max-width: 950px) {
	.wpcf7-form .wpcf7-form-control-wrap-bloc .wpcf7-form-control-wrap {
		display: block;
		width: 100%;
	}

	.wpcf7-form .wpcf7-form-control-wrap-bloc .wpcf7-form-control-wrap:first-child {
		padding-right: 0;
	}

	.wpcf7-form .dsm-contact-form-7-select::after {
		right: 10px;
	}
}

.grecaptcha-badge {
	display: none !important;
}

/* Bouton Envoyer — CF7 / DSM (dégradé bleu legacy → orange) */
body.et_pb_button_helper_class #page-container .dsm_contact_form_7 .wpcf7-form-control.wpcf7-submit,
body.et_pb_button_helper_class #page-container .dsm_contact_form_7 button.wpcf7-submit.et_pb_button,
body #page-container .dsm_contact_form_7 .wpcf7-form-control.wpcf7-submit.et_pb_button.et_pb_bg_layout_light,
.dsm_contact_form_7 .wpcf7-form-control.wpcf7-submit,
.dsm_contact_form_7 button.wpcf7-submit.et_pb_button {
	background: var(--ps-primary) !important;
	background-color: var(--ps-primary) !important;
	background-image: none !important;
	border-color: var(--ps-primary) !important;
	color: #fff !important;
}

body.et_pb_button_helper_class #page-container .dsm_contact_form_7 .wpcf7-form-control.wpcf7-submit:hover,
body.et_pb_button_helper_class #page-container .dsm_contact_form_7 button.wpcf7-submit.et_pb_button:hover,
body #page-container .dsm_contact_form_7 .wpcf7-form-control.wpcf7-submit.et_pb_button.et_pb_bg_layout_light:hover,
.dsm_contact_form_7 .wpcf7-form-control.wpcf7-submit:hover,
.dsm_contact_form_7 button.wpcf7-submit.et_pb_button:hover {
	background: var(--ps-primary-hover) !important;
	background-color: var(--ps-primary-hover) !important;
	background-image: none !important;
	border-color: var(--ps-primary-hover) !important;
	color: #fff !important;
}

/* -------------------------------------------------------------------------
   Modal contact latéral (#contactModalForm)
   ------------------------------------------------------------------------- */

#contactModalForm.dsm_contact_form_7 {
	transform: translatex(0);
}

#contactModalForm.dsm_contact_form_7 .wpcf7-form-control.wpcf7-submit {
	color: #fff !important;
}

#contactModalForm.dsm_contact_form_7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
	margin-top: -16px;
	padding-left: 5px;
	padding-bottom: 10px;
}

#contactModalForm.dsm_contact_form_7 .wpcf7-form-control-wrap input[type="checkbox"] {
	margin: 0;
}

#contactModalForm.dsm_contact_form_7 .wpcf7-form-control-wrap .wpcf7-list-item {
	margin: 0;
	text-align: justify;
	line-height: 110%;
}

#contactModalForm.dsm_contact_form_7 .icoToogle {
	transition: all 0.3s;
}

#contactModalForm.dsm_contact_form_7 .icoToogle:hover {
	color: #666 !important;
}

#contactModalForm.dsm_contact_form_7 .icoToogle .et-pb-icon {
	font-size: 17px !important;
	font-weight: bold !important;
}

#contactModalForm.dsm_contact_form_7.menuClose {
	transform: translatex(316px);
	cursor: pointer;
	background-color: rgba(255, 255, 255, 0.3) !important;
	max-height: 183px !important;
	padding-left: 50px !important;
	transition: all 0.5s;
}

#contactModalForm.dsm_contact_form_7.menuClose:hover {
	transform: translatex(306px) !important;
}

#contactModalForm.dsm_contact_form_7.menuClose .icoToogle {
	margin-left: -25px;
}

#contactModalForm.dsm_contact_form_7.menuClose .icoToogle:after {
	content: 'Contactez-nous';
	display: block;
	transform: rotate(90deg);
	transform-origin: top left;
	margin-left: -19px;
	font-weight: bold;
}

#contactModalForm.dsm_contact_form_7.menuClose .icoToogle .et-pb-icon {
	transform: rotate(180deg);
	margin-left: -18px;
	font-size: 27px !important;
}

@media screen and (max-width: 767px) {
	body:not(.single-landing) #contactModalForm.dsm_contact_form_7 {
		top: 133px !important;
	}
}

/* Modal contact TB — bordure bleue legacy */
.dsm_contact_form_7_0_tb_footer.dsm_contact_form_7 .wpcf7-form-control:hover,
.dsm_contact_form_7_0_tb_footer.dsm_contact_form_7 .wpcf7-form-control:focus {
	border-color: var(--ps-primary) !important;
}

.dsm_contact_form_7_0_tb_footer {
	border-radius: var(--ps-radius-lg) !important;
	box-shadow: var(--ps-shadow-lg) !important;
}
