/* Floating labels for Gravity Forms (classes added by forms.js). */
body .gform_wrapper .gfield.abesco-float,
body .gform_wrapper .abesco-float-sub { position: relative; }

body .gform_wrapper .gfield.abesco-float > .gfield_label,
body .gform_wrapper .abesco-float-sub > label {
	position: absolute;
	z-index: 1;
	left: 15px;
	top: 18px;
	max-width: calc(100% - 30px);
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--wp--preset--color--slate);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
	transform-origin: left top;
	transition: transform .18s, color .18s;
}
/* Lifted: focused, filled, or a select (always shows its value). */
body .gform_wrapper .gfield.abesco-float:focus-within > .gfield_label,
body .gform_wrapper .gfield.abesco-float.is-filled > .gfield_label,
body .gform_wrapper .gfield.abesco-float.is-select > .gfield_label,
body .gform_wrapper .abesco-float-sub:focus-within > label,
body .gform_wrapper .abesco-float-sub.is-filled > label,
body .gform_wrapper .abesco-float-sub.is-select > label {
	transform: translateY(-10px) scale(.76);
	font-weight: 600;
	color: var(--wp--preset--color--secondary);
}
/* Required is announced via aria-required on the control; no visual "(Required)". */
body .gform_wrapper .gfield.abesco-float > .gfield_label .gfield_required { display: none; }

/* Room for the lifted label: text sits low in the field. */
body .gform_wrapper .gfield.abesco-float :is(input, select),
body .gform_wrapper .abesco-float-sub :is(input, select) {
	padding-top: 22px;
	padding-bottom: 8px;
}
body .gform_wrapper .gfield.abesco-float textarea { padding-top: 26px; }

/* Lets forms.js notice browser autofill. */
@keyframes abesco-autofill { from { opacity: 1; } to { opacity: 1; } }
body .gform_wrapper :is(input, select, textarea):autofill { animation-name: abesco-autofill; animation-duration: .01s; }
body .gform_wrapper :is(input, select, textarea):-webkit-autofill { animation-name: abesco-autofill; animation-duration: .01s; }
