/* MBS Complaint Form submit feedback — scoped by JS-added class only. */
.mbs-complaint-form .elementor-message,
.mbs-complaint-form .form-message-success {
	box-sizing: border-box;
	width: 100%;
	margin: 14px 0 0;
	padding: 14px 16px;
	border-radius: 8px;
	font-weight: 600;
	line-height: 1.45;
}

.mbs-complaint-form .form-message-success,
.mbs-complaint-form .elementor-message-success {
	border: 1px solid #b8d9c2;
	background: #f4fbf6;
	color: #1f6b36;
}

.mbs-complaint-form .elementor-message-danger {
	border: 1px solid #efc1c1;
	background: #fff7f7;
	color: #9d2020;
}

.mbs-complaint-form.mbs-complaint-is-submitting .elementor-button {
	cursor: wait;
	opacity: .88;
}

.mbs-complaint-form.mbs-complaint-is-submitting .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
}

.mbs-complaint-form.mbs-complaint-is-submitting .elementor-button-content-wrapper::before {
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: mbsComplaintSpin .7s linear infinite;
}

.mbs-complaint-form.mbs-complaint-is-submitting .elementor-button-icon {
	display: none;
}

@keyframes mbsComplaintSpin {
	to { transform: rotate(360deg); }
}

@media (max-width: 767px) {
	.mbs-complaint-form .elementor-message,
	.mbs-complaint-form .form-message-success {
		padding: 12px 13px;
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mbs-complaint-form.mbs-complaint-is-submitting .elementor-button-content-wrapper::before {
		animation: none;
	}
}
