/* Everest Elementor Pro forms — booking + location popups.
   Tokens: bg #FFF, surface #F4F6F8, ink #111827, muted #5C6570, accent #0B6993.

   Select arrows: Elementor paints an eicon on .elementor-select-wrapper:before.
   Native UA also draws a caret unless appearance is none. Never use the
   `background` shorthand with !important on selects — it kills background-image.
   One custom chevron lives on the wrapper ::after only. */

.elementor-widget-form {
	container-type: inline-size;
	container-name: ehf-form;
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 1px 2px rgba(17, 24, 39, 0.06);
}

.elementor-widget-form .elementor-form-fields-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	column-gap: 16px;
	row-gap: 18px;
}

.elementor-widget-form .elementor-field-group,
.elementor-widget-form .elementor-field-group.elementor-column {
	box-sizing: border-box;
	margin-bottom: 0;
	padding: 0 !important;
	min-width: 0;
}

.elementor-widget-form .elementor-field-group.elementor-col-33 {
	flex: 1 1 calc((100% - 32px) / 3);
	width: calc((100% - 32px) / 3);
	max-width: calc((100% - 32px) / 3);
}

.elementor-widget-form .elementor-field-group.elementor-col-50 {
	flex: 1 1 calc((100% - 16px) / 2);
	width: calc((100% - 16px) / 2);
	max-width: calc((100% - 16px) / 2);
}

.elementor-widget-form .elementor-field-group.elementor-col-100,
.elementor-widget-form .elementor-field-group.elementor-field-type-submit,
.elementor-widget-form .elementor-field-group.elementor-field-type-recaptcha_v3 {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
}

.elementor-widget-form .elementor-field-label {
	display: block;
	margin: 0 0 8px;
	font-family: Nunito, "Nunito Sans", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: #111827;
	letter-spacing: 0;
}

.elementor-widget-form .elementor-mark-required .elementor-field-label:after {
	color: #0b6993;
	margin-left: 4px;
}

.elementor-widget-form .elementor-field-textual,
.elementor-widget-form .elementor-field-textual:focus,
.elementor-widget-form select.elementor-field,
.elementor-widget-form select.elementor-field:focus,
.elementor-widget-form textarea.elementor-field-textual {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	background-color: #f4f6f8 !important;
	border: 1px solid #d1d5db !important;
	border-radius: 10px !important;
	box-shadow: none;
	color: #111827;
	font-family: "Nunito Sans", Nunito, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
}

.elementor-widget-form textarea.elementor-field-textual {
	min-height: 128px;
	resize: vertical;
}

.elementor-widget-form .elementor-field-textual::placeholder {
	color: #5c6570;
	opacity: 1;
}

.elementor-widget-form select.elementor-field option[value=""],
.elementor-widget-form select.elementor-field option:disabled {
	color: #5c6570;
}

.elementor-widget-form .elementor-field-textual:hover,
.elementor-widget-form select.elementor-field:hover {
	border-color: #0b6993 !important;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual:focus,
.elementor-widget-form .elementor-select-wrapper select:focus,
.elementor-widget-form textarea.elementor-field-textual:focus {
	outline: 2px solid #0b6993 !important;
	outline-offset: 2px;
	border-color: #0b6993 !important;
	background-color: #ffffff !important;
}

.elementor-widget-form .elementor-select-wrapper {
	display: block;
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 0 !important;
	margin: 0;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	overflow: visible;
}

.elementor-widget-form .elementor-select-wrapper select {
	display: block;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-color: #f4f6f8 !important;
	background-image: none !important;
	padding-block: 12px !important;
	padding-inline: 16px 48px !important;
	cursor: pointer;
}

.elementor-widget-form .elementor-select-wrapper select::-ms-expand {
	display: none;
}

/* Kill Elementor :before eicon AND Pro .select-caret-down-wrapper SVG.
   One custom chevron on ::after. */
.elementor-widget-form .elementor-select-wrapper:before {
	content: none !important;
	display: none !important;
	text-shadow: none !important;
}

.elementor-widget-form .select-caret-down-wrapper {
	display: none !important;
}

.elementor-widget-form .elementor-select-wrapper:after {
	content: "" !important;
	display: block !important;
	position: absolute;
	top: 50%;
	right: auto;
	inset-inline-end: 16px;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	pointer-events: none;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230B6993' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	font-size: 0;
	line-height: 0;
	text-shadow: none;
}

.elementor-widget-form .elementor-field-type-select-multiple .elementor-select-wrapper:after {
	content: none !important;
	display: none !important;
}

.elementor-widget-form .elementor-button[type="submit"],
.elementor-widget-form button[type="submit"],
.elementor-widget-form input[type="submit"] {
	min-height: 48px;
	padding: 14px 28px !important;
	background: #0b6993 !important;
	border: 0 !important;
	border-radius: 10px !important;
	color: #ffffff !important;
	font-family: Nunito, "Nunito Sans", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	box-shadow: none !important;
	width: auto;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit {
	margin-top: 4px;
}

.elementor-widget-form .elementor-message {
	margin-top: 16px;
	padding: 12px 16px;
	border-radius: 10px;
	font-family: "Nunito Sans", Nunito, sans-serif;
	font-size: 16px;
}

@media (max-width: 1024px) {
	.elementor-widget-form .elementor-field-group.elementor-col-33 {
		flex: 1 1 calc((100% - 16px) / 2);
		width: auto;
		max-width: none;
	}
}

@media (max-width: 767px) {
	.elementor-widget-form {
		padding: 24px 16px;
		border-radius: 12px;
	}

	.elementor-widget-form .elementor-field-group.elementor-col-33,
	.elementor-widget-form .elementor-field-group.elementor-col-50 {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	.elementor-widget-form .elementor-button[type="submit"],
	.elementor-widget-form button[type="submit"],
	.elementor-widget-form input[type="submit"] {
		width: 100%;
	}
}

/* Popup / nested column: viewport can be wide while the form is ~480px.
   Selectors are descendants of the container (.elementor-widget-form). */
@container ehf-form (max-width: 640px) {
	.elementor-widget-form .elementor-field-group.elementor-col-33,
	.elementor-widget-form .elementor-field-group.elementor-col-50 {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	.elementor-widget-form .elementor-button[type="submit"],
	.elementor-widget-form button[type="submit"],
	.elementor-widget-form input[type="submit"] {
		width: 100%;
	}
}
