select,
textarea,
input:is([type='url'], [type='tel'], [type='text'], [type='time'], [type='date'], [type='datetime'], [type='datetime-local'], [type='email'], [type='number'], [type='search'], [type='password']),
.ct-pseudo-input,
fieldset .wc-stripe-elements-field,
.ff-inherit-theme-style .ff-el-form-control:not([size]):not([multiple]) {
	appearance: none;
	width: var(--has-width, var(--theme-form-field-width, 100%));
	height: var(--has-height, var(--theme-form-field-height, 40px));
	color: var(--theme-form-text-initial-color, var(--theme-text-color));
	padding: var(--has-classic-forms, var(--theme-form-field-padding, 0 15px));
	border-width: var(--theme-form-field-border-width, 1px);
	border-style: var(--theme-form-field-border-style, solid);
	border-color: var(--theme-form-field-border-initial-color);
	border-radius: var(--has-classic-forms, var(--theme-form-field-border-radius, 3px));
	background-color: var(--has-classic-forms, var(--theme-form-field-background-initial-color));
	transition: color 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
				outline 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
				border-color 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
				background-color 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);


	outline: max(2px, var(--theme-form-field-border-width, 1px)) solid transparent;
	outline-offset: calc(var(--theme-form-field-border-width, 1px) * -1);

	&:focus {
		color: var(--theme-form-text-focus-color, var(--theme-text-color));
		outline-color: var(--theme-form-field-border-focus-color);
		border-color: var(--theme-form-field-border-focus-color);
		background-color: var(--has-classic-forms, var(--theme-form-field-background-focus-color));
	}

	&::placeholder {
		opacity: 0.7;
		color: inherit;
	}
}

input[type='date'] {
	min-height: var(--has-height, var(--theme-form-field-height, 40px));
	
	&::-webkit-date-and-time-value {
		text-align: inherit;
	}
}


input[type="search"] {

	&::-webkit-search-cancel-button {
		-webkit-appearance: none;
	}
}


select {
	padding-inline-end: 25px;
	background-image: url("data:image/svg+xml,%3Csvg width='21' height='13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5.379L20.621 2.5 10.5 12.621.379 2.5 2.5.379l8 8z' fill='%234F5D6D' fill-rule='nonzero'/%3E%3C/svg%3E");
	background-repeat: no-repeat, repeat;
	background-size: 8px auto, 100%;
	background-position: right 10px top 50%, 0 0;

	option {
		color: initial;
	}
}


textarea {
	line-height: 1.5;
	resize: vertical;
	--theme-form-field-padding: 12px 15px;
}