/**
 * Elementor contact / enquiry forms — isolate from theme + HS filter CSS.
 *
 * Theme (Materialize) styles:
 *   [type="checkbox"] + label { padding-left: 35px; }  ← space for fake square
 *   [type="checkbox"] + label::before { ... }          ← fake square
 * Elementor also paints the real input (appearance:none).
 *
 * We keep the real input, hide ::before, and REMOVE the 35px padding so no
 * invisible clickable gap remains between the box and the text.
 *
 * IMPORTANT: never use .elementor-hidden-* class matching here — those classes
 * mark breakpoint containers that are VISIBLE on the active breakpoint.
 *
 * Loaded on property detail + Contact page (and translated contact slugs).
 */

/* Remove Materialize/theme fake checkbox squares next to Elementor labels. */
.elementor-form input[type="checkbox"] + label::before,
.elementor-form input[type="checkbox"]:checked + label::before,
.elementor-form input[type="checkbox"]:indeterminate + label::before,
.elementor-form input[type="checkbox"]:disabled + label::before,
.elementor-form input[type="checkbox"]:disabled:checked + label::before,
.elementor-form input[type="checkbox"]:disabled:not(:checked) + label::before,
.elementor-form input[type="checkbox"]:disabled:indeterminate + label::before,
.elementor-form input[type="checkbox"] + label::after,
.elementor-form input[type="checkbox"]:checked + label::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	transform: none !important;
	pointer-events: none !important;
}

/*
 * Critical: Materialize reserves 35px padding-left for the fake ::before.
 * That padding is the invisible clickable gap between the real checkbox and text.
 */
.elementor-form input[type="checkbox"] + label,
.elementor-form .elementor-field-option > label,
.elementor-form .elementor-field-option label,
.elementor-form span label[for="form-field-aceptance"],
.elementor-form span label[for="form-field-aceptance_2"],
.elementor-form .elementor-field-group-service .elementor-field-option label {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 8px !important;
	margin-bottom: 0 !important;
	height: auto !important;
	line-height: 1.35 !important;
	display: inline !important;
	position: static !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.elementor-form .elementor-field-option {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	column-gap: 0 !important;
	pointer-events: auto;
}

/* Undo global inmolink.css `input[type=checkbox]` bleed inside Elementor forms. */
.elementor-form input[type="checkbox"],
.elementor-form input.elementor-acceptance-field {
	pointer-events: auto !important;
	cursor: pointer !important;
	flex-shrink: 0;
	place-content: unset;
	left: auto;
	position: relative;
	z-index: auto;
	margin: 0 !important;
}

/*
 * intl-tel-input (.iti) overflow: Elementor fields use content-box + fixed width,
 * while the flag adds ~52px padding-left, so the tel input spills past the card.
 * Force border-box + 100% width so it aligns with email/name fields.
 */
.elementor-form .elementor-field-type-tel,
.elementor-form .elementor-field-group-tel {
	max-width: 100%;
	box-sizing: border-box;
}

.elementor-form .iti,
.elementor-form .cfefp-intl-container {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	box-sizing: border-box !important;
}

.elementor-form .iti__tel-input,
.elementor-form input.iti__tel-input {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	/* Match outer height of sibling content-box fields (40px + vertical padding). */
	height: 58px !important;
	line-height: normal !important;
}
