.tbm-post-search-wrap {
	display: block;
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

.tbm-post-search-wrap *,
.tbm-post-search-wrap *::before,
.tbm-post-search-wrap *::after {
	box-sizing: border-box;
}

.tbm-post-search-form {
	margin: 0;
	width: 100%;
	position: relative;
}

.tbm-post-search-form.has-icon,
.tbm-post-search-form.has-input-icon,
.tbm-post-search-form.has-submit,
.tbm-post-search-form.is-popup {
	display: flex;
	align-items: center;
}

.tbm-post-search-input {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	box-sizing: border-box;
}

.tbm-post-search-form.has-icon .tbm-post-search-input,
.tbm-post-search-form.has-input-icon .tbm-post-search-input,
.tbm-post-search-form.has-submit .tbm-post-search-input,
.tbm-post-search-form.is-popup .tbm-post-search-input {
	flex: 1 1 auto;
}

.tbm-post-search-icon,
.tbm-post-search-input-icon,
.tbm-post-search-submit,
.tbm-post-search-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	line-height: 1;
	cursor: pointer;
}

span.tbm-post-search-icon,
.tbm-post-search-input-icon {
	cursor: default;
}

.tbm-post-search-submit {
	white-space: nowrap;
}

.tbm-post-search-form.is-submit-absolute .tbm-post-search-submit {
	position: absolute;
}

.tbm-post-search-icon svg,
.tbm-post-search-trigger-icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

.tbm-post-search-input-icon img,
.tbm-post-search-input-icon svg {
	display: block;
}

.tbm-post-search-trigger {
	width: 100%;
}

.tbm-post-search-trigger-icon,
.tbm-post-search-trigger-text {
	display: inline-flex;
	align-items: center;
}

.tbm-post-search-popup {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 999;
	width: min(320px, 90vw);
}

.tbm-post-search-popup[hidden] {
	display: none;
}

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

.tbm-post-search-input::-ms-clear,
.tbm-post-search-input::-ms-reveal {
	display: none;
	width: 0;
	height: 0;
}
