/**
 * Form — what Elementor's own stylesheet does not already cover.
 *
 * The markup uses Elementor Pro's class names, and Elementor core's frontend stylesheet ships
 * the base styles for them: the field grid, the textual fields and their sizes, labels, the
 * select wrapper, the option lists, the message colours, the button sizes. None of that is
 * repeated here. A copy of those rules in this file loaded after Site Settings' stylesheet and,
 * at equal specificity, took over from it, so the Theme Style → Form Fields values (background,
 * border, colour, radius) never reached the fields. What remains is the kit's own: the SVG
 * caret, the step indicators, the sending state, the honeypot and the captcha box.
 */

.elementor-form {
	position: relative;
}

/* The select's caret is the SVG in the wrapper, not the icon-font glyph Elementor's base
   styles put on ::before; the markup carries `remove-before` to say so, as Pro's does. */
.elementor-select-wrapper.remove-before::before {
	content: "" !important;
}

.elementor-select-wrapper .select-caret-down-wrapper {
	align-items: center;
	display: flex;
	font-size: 12px;
	inset-inline-end: 10px;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.elementor-select-wrapper .select-caret-down-wrapper svg,
.elementor-select-wrapper .select-caret-down-wrapper i {
	display: block;
	font-size: inherit;
	height: 1em;
	width: 1em;
}

/* Native <select> dropdown list: the field's text colour cascades into the <option>s and tints
   the OS popup (near-white text on a white menu, say). The open list keeps the system colours;
   the closed select keeps the field's. */
.elementor-form select option {
	background-color: initial;
	color: initial;
}

/* ---------------------------------------------------------------- buttons */
.elementor-widget-bvl-form .e-form__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.elementor-widget-bvl-form .elementor-button {
	cursor: pointer;
}

.elementor-widget-bvl-form .elementor-button:disabled {
	cursor: progress;
	opacity: 0.7;
}

.elementor-widget-bvl-form .e-form__buttons__wrapper__button-previous {
	background-color: transparent;
	box-shadow: inset 0 0 0 1px currentcolor;
	color: inherit;
}

/* ---------------------------------------------------------------- steps */
.bvl-form__step {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.bvl-form__indicators {
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 20px;
	width: 100%;
}

.bvl-form__indicators__indicator {
	align-items: center;
	display: flex;
	flex-basis: 0;
	flex-grow: 1;
	flex-direction: column;
	gap: 6px;
	justify-content: center;
	text-align: center;
	transition: color 0.3s;
}

.bvl-form__indicators__indicator__icon {
	align-items: center;
	background-color: #c2cbd2;
	color: #fff;
	display: flex;
	font-size: 14px;
	height: 2.4em;
	justify-content: center;
	width: 2.4em;
}

.e-form__indicators__indicator__icon--shape-circle {
	border-radius: 50%;
}

.e-form__indicators__indicator__icon--shape-rounded {
	border-radius: 6px;
}

.e-form__indicators__indicator__icon--shape-none {
	background-color: transparent;
	color: inherit;
}

.bvl-form__indicators__indicator--state-active .bvl-form__indicators__indicator__icon,
.bvl-form__indicators__indicator--state-completed .bvl-form__indicators__indicator__icon {
	background-color: #69727d;
}

.e-form__indicators--type-progress_bar {
	background-color: #c2cbd2;
	border-radius: 100em;
	display: block;
	height: 8px;
	overflow: hidden;
}

.e-form__indicators--type-progress_bar .bvl-form__indicators__indicator {
	background-color: #69727d;
	display: block;
	height: 100%;
	transition: width 0.3s;
}

.e-form__indicators--type-progress_bar .bvl-form__indicators__indicator__progress__meter {
	color: #fff;
	font-size: 10px;
	padding-inline-end: 6px;
	float: inline-end;
	line-height: 8px;
}

/* ---------------------------------------------------------------- messages */
/* Elementor's base gives a message its size and the danger colour; the success class this form
   uses is Pro's, which Elementor core does not colour, and a hidden message stays hidden. */
.elementor-widget-bvl-form .elementor-message {
	display: block;
	width: 100%;
}

.elementor-widget-bvl-form .elementor-message[hidden] {
	display: none;
}

.elementor-widget-bvl-form .elementor-message-success {
	color: #4caf50;
}

.elementor-widget-bvl-form .elementor-help-inline {
	font-size: 0.9em;
	margin-top: 4px;
}

.elementor-form--sending {
	opacity: 0.75;
}

/* The honeypot is a trap for form-filling bots and must never reach a person, including one
   listening with a screen reader. */
.bvl-form-trap {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Captcha. The provider draws a fixed-width box inside ours, so it is allowed to shrink rather
   than push the form sideways on a narrow screen. */
.bvl-form__captcha {
	max-width: 100%;
	overflow: hidden;
}

.bvl-form__captcha iframe {
	max-width: 100%;
}

/* reCAPTCHA v3 shows nothing: it scores the visitor in the background. */
.elementor-field-type-recaptcha_v3 {
	display: none;
}

.bvl-form__captcha-missing {
	background: #fef3c7;
	border-radius: 3px;
	color: #78350f;
	font-size: 12px;
	line-height: 1.5;
	padding: 8px 10px;
}

.bvl-form__captcha-missing a {
	color: inherit;
}

@media (prefers-reduced-motion: reduce) {
	.bvl-form__indicators__indicator,
	.e-form__indicators--type-progress_bar .bvl-form__indicators__indicator {
		transition: none;
	}
}
