/*
 * Feedback messages for Elementor forms.
 *
 * Elementor injects <div class="elementor-message elementor-message-success|danger">
 * as a direct child of .elementor-form only after a submission, so these rules never
 * appear in the static HTML. They must stay on the WP Rocket "Remove Unused CSS"
 * safelist or they get stripped and the visitor sees unstyled text.
 */

.elementor-form .elementor-message {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 18px 0 0;
	padding: 16px 18px;
	border: 1px solid transparent;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.75;
	direction: rtl;
	text-align: right;
	animation: mz-msg-in .4s cubic-bezier(.16, 1, .3, 1) both;
}

.elementor-form .elementor-message::before {
	content: "";
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
}

.elementor-form .elementor-message.elementor-message-success {
	color: #0b6b3f;
	background-color: #eaf8f0;
	background-image: linear-gradient(180deg, #f2fcf6, #e4f6ec);
	border-color: #b3e2c6;
	box-shadow: 0 8px 20px -14px rgba(15, 122, 74, .6);
}

.elementor-form .elementor-message.elementor-message-success::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7a4a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8.4 12.4 2.4 2.4 4.8-5.2'/%3E%3C/svg%3E");
}

.elementor-form .elementor-message.elementor-message-danger {
	color: #9b1c1c;
	background-color: #fdeeec;
	background-image: linear-gradient(180deg, #fef3f2, #fce8e5);
	border-color: #f2c1bb;
	box-shadow: 0 8px 20px -14px rgba(178, 32, 26, .55);
}

.elementor-form .elementor-message.elementor-message-danger::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b3261e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M15 9l-6 6M9 9l6 6'/%3E%3C/svg%3E");
}

/* Errors printed under a single field stay compact, not full banners. */
.elementor-form .elementor-field-group .elementor-message {
	margin-top: 7px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-size: 13px;
	font-weight: 600;
	color: #b3261e;
	animation: none;
}

.elementor-form .elementor-field-group .elementor-message::before {
	flex-basis: 16px;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	background-size: 16px 16px;
}

/* Point at the field that actually failed. */
.elementor-form .elementor-field-group.elementor-error .elementor-field-textual {
	border-color: #e5534b !important;
	box-shadow: 0 0 0 3px rgba(229, 83, 75, .14) !important;
}

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

@media (prefers-reduced-motion: reduce) {
	.elementor-form .elementor-message { animation: none; }
}

/* CTA buttons jump to the request form; keep it clear of the sticky header. */
#form {
	scroll-margin-top: 140px;
}

@media (max-width: 767px) {
	#form {
		scroll-margin-top: 90px;
	}
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* Free-visit reassurance printed under every request form. */
.mz-form-note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.7;
	color: #0b6b3f;
	direction: rtl;
	text-align: right;
}

.mz-form-note::before {
	content: "";
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7a4a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8.4 12.4 2.4 2.4 4.8-5.2'/%3E%3C/svg%3E") center / 17px 17px no-repeat;
}
