/* ==========================================================================
   IMSG — Messages de réponse des formulaires
   Panneaux succès / erreur / avertissement pour CF7 (4 formulaires),
   Elementor 6981 et le quiz Orientation. Enqueue : imsg-form-messages.php.
   Le thème enfant affiche la réponse CF7 en texte nu 12px (style.css) —
   ces règles la remplacent par un panneau lisible sur fond sombre ou clair.
   ========================================================================== */

@keyframes imsg-msg-in {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

/* --- Base commune : panneau avec icône --- */
.wpcf7 form .wpcf7-response-output,
.elementor-form .elementor-message,
[data-orient-form-msg].is-success,
[data-orient-form-msg].is-error {
	display: block;
	box-sizing: border-box;
	margin: 18px 0 0 !important;
	padding: 13px 16px 13px 46px !important;
	border: 1px solid !important;
	border-radius: 10px;
	font-family: "Golos Text", Sans-serif;
	font-size: 14px !important;
	line-height: 1.55 !important;
	font-weight: 500;
	font-style: normal;
	text-align: left;
	background-repeat: no-repeat;
	background-position: 16px 13px;
	background-size: 20px 20px;
	animation: imsg-msg-in .25s ease-out;
}

/* CF7 masque sa zone de réponse hors soumission — on le garantit ici aussi. */
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

/* Icône eicons d'Elementor remplacée par la nôtre (base commune). */
.elementor-form .elementor-message:before {
	display: none !important;
}

/* --- Succès --- */
.wpcf7 form.sent .wpcf7-response-output,
.elementor-form .elementor-message.elementor-message-success,
[data-orient-form-msg].is-success {
	background-color: #EAF7EF;
	border-color: #B7E3C8 !important;
	color: #16603A !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23188544' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8.2 12.6 2.6 2.6 5-5.6'/%3E%3C/svg%3E");
}

/* --- Erreur (échec d'envoi, limite de débit / spam, erreur serveur) --- */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.elementor-form .elementor-message.elementor-message-danger,
.elementor-form .elementor-message.elementor-message-error,
[data-orient-form-msg].is-error {
	background-color: #FDEDEC;
	border-color: #F5C6C3 !important;
	color: #A32219 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D6362B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 7.5v5.5'/%3E%3Ccircle cx='12' cy='16.4' r='.7' fill='%23D6362B' stroke='none'/%3E%3C/svg%3E");
}

/* --- Envoi en cours : spinner sur le bouton --------------------------------
   États : CF7 = form.submitting, Elementor = form.elementor-form-waiting,
   quiz Orientation = bouton disabled par le handler AJAX. */

@keyframes imsg-spin {
	to { transform: rotate(360deg); }
}

.wpcf7 form.submitting button[type="submit"],
form.elementor-form-waiting button[type="submit"],
[data-orient-form] button[type="submit"]:disabled {
	pointer-events: none;
	opacity: .75;
	cursor: wait;
}

.wpcf7 form.submitting button[type="submit"]::after,
form.elementor-form-waiting button[type="submit"]::after,
[data-orient-form] button[type="submit"]:disabled::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 10px;
	vertical-align: -2px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: imsg-spin .7s linear infinite;
}

/* Spinner natif CF7 masqué pour éviter le doublon avec le nôtre. */
.wpcf7 .wpcf7-spinner {
	display: none !important;
}

/* --- Avertissement : champs à corriger avant envoi --- */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #FFF6E8;
	border-color: #F5DBB0 !important;
	color: #7A4E0A !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C77B0A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 4.2 2.9 17a2 2 0 0 0 1.7 3h14.8a2 2 0 0 0 1.7-3L13.7 4.2a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9.5v4.5'/%3E%3Ccircle cx='12' cy='16.8' r='.7' fill='%23C77B0A' stroke='none'/%3E%3C/svg%3E");
}
