/* Wrapper must be positioned and block-level */
.efe-field-input-wrapper {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}

/* Icon positioning inside wrapper */
.efe-field-input-wrapper .input-icons,
.efe-field-input-wrapper .input-icons.efe-form-icon {
	position: absolute !important;
	z-index: 100 !important;
	pointer-events: none !important;
}

/* Select wrapper icons */
.elementor-select-wrapper .input-icons,
.elementor-select-wrapper .input-icons.efe-form-icon {
	position: absolute !important;
	z-index: 100 !important;
	pointer-events: none !important;
}

/* Ensure input/textarea inside wrapper is full width */
.efe-field-input-wrapper input,
.efe-field-input-wrapper textarea {
	width: 100% !important;
	display: block !important;
}

/* Label icon alignment - Use flexbox for perfect vertical centering */
.elementor-field-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}

/* Prevent label icon from shrinking */
.elementor-field-label svg.label-icons,
.elementor-field-label i.label-icons {
	flex-shrink: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.3s ease !important;
}

/* Label icons should be visible and move with the label */
label[data-efe-label-in-field="yes"] .label-icons {
	display: inline-flex !important;
}

/* Ensure input field icons are always visible and stay in place */
.efe-field-input-wrapper .input-icons {
	display: block !important;
	position: absolute !important;
}

/* Floating label styles */
.elementor-field-group {
	position: relative;
}

/* Label inside field - floating label behavior */
label[data-efe-label-in-field="yes"] {
	position: absolute !important;
	left: 35px;
	top: 50% !important;
	transform: translateY(-50%) !important;
	transition: all 0.3s ease !important;
	pointer-events: none !important;
	background: transparent !important;
	padding: 0 4px !important;
	z-index: 10 !important;
	opacity: 0.7 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px;
}

/* When input has icon, adjust label position - controlled by Elementor slider */

/* Floating label when field is focused or has value */
.elementor-field-group:focus-within label[data-efe-label-in-field="yes"],
label[data-efe-label-in-field="yes"].efe-floating {
	top: -10px !important;
	transform: translateY(0) scale(0.85) !important;
	transform-origin: left center !important;
	opacity: 1 !important;
	background: white !important;
	padding: 0 6px !important;
}

/* Override any hiding of labels with data-efe-label-in-field */
label[data-efe-label-in-field="yes"].efe-label-hidden {
	display: inline-flex !important;
}

/* Placeholder styles */
.efe-label-in-field-input::placeholder {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.efe-label-in-field-input:focus::placeholder {
	opacity: 0.5;
}
