.fl-search-widget {
	width: 100%;
}

.fl-search-form {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
}

.fl-search-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.fl-search-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.fl-search-input-wrap {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	display: grid;
	align-items: center;
}

.fl-search-input-wrap > * {
	grid-column: 1;
	grid-row: 1;
}

.fl-search-input {
	background: transparent;
	font: inherit;
	color: inherit;
}

input[type="search"].fl-search-input {
	width: 100%;
	border: 0;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	box-sizing: border-box;
	padding: 0;
	transition: none;
	-webkit-appearance: none;
	appearance: none;
}

input[type="search"].fl-search-input:focus {
	border: 0;
	box-shadow: none;
}

.fl-search-input::-webkit-search-decoration,
.fl-search-input::-webkit-search-cancel-button,
.fl-search-input::-webkit-search-results-button,
.fl-search-input::-webkit-search-results-decoration {
	-webkit-appearance: none;
}

.fl-search-fake-placeholder {
	pointer-events: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fl-search-input:not(:placeholder-shown) + .fl-search-fake-placeholder {
	display: none;
}

.fl-search-submit {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
