.list-search {
	display: flex;
	gap: 1em;
}

.list-tools {
	display: flex;
	gap: 2em;
	text-transform: uppercase;
	font-size: .75em;
	font-weight: 600;
}

.list-tools #searchFilterBtn {
	display: flex;
	gap: .75em;
}

.list-tools #searchFilterBtn::before {
	content: '\E833';
	font-family: 'shiro-icon';
}

.list-tools select{
	padding: .1em .5em;
}

.listSearch-form-item{
	display: grid;
    grid-template-columns: minmax(120px, 1fr) 6fr;
	gap: 0.2em 3em;
	align-items: center;
	@media (width < 600px) {
		display: block;
	}
}

.listSearch-form-field {
	width: 100%;
}

.listSearch-form-label{
    text-transform: uppercase;
    font-size: .75em;
    font-weight: 600;
    letter-spacing: .5px;
}

.listSearch-form-field > div{
	display: flex;
	align-items: center;
	gap: .75em;
}


.listSearch-form-field .operator{
	font-size: .8em;
    white-space: nowrap;
}

.listSearch-form-field input[type=text],
.listSearch-form-field select{
	width: 100%;
}

.listSearch-form-field select[data-search] {
	all: revert;
}

.listSearch-form-field input[data-search],
.listSearch-form-field select[data-search],
.js-pillbox-containter{
	width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
	gap: .5em;
    width: 100%;
    padding: 0.5em 0.75em;
    box-sizing: border-box;
    font-family: inherit;
    font-weight: 600;
	background-color: #fff;
    border: 1px solid var(--color-lightgray);
    border-radius: .5em;
	font-size: .9em;
    line-height: 1;
}

.listSearch-form-field input[data-search]:focus,
.listSearch-form-field select[data-search]:focus{
    border-color: var(--color-darkgray);
}

.filter-fields-row {
	display: grid;
	grid-template-columns: minmax(200px, 1fr) 4fr;
	gap: .2em 6em;
}

.filter-fields-row .filter-fields-item {
	width: 100%;
	max-width: none;
}

.filter-fields {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: .25em 1em;
	display: none;
	margin-top: 1em;
    margin: 1em 0 2em 0;
}

.filter-fields.show {
	display: grid;
}

.listSearch-form-wrap{
    margin: 1em 0 1.5em 0;
	background-color: var(--color-white);
	padding: 1em;
	border-radius: .5em;
	border: 1px solid var(--color-lightgray);
    display: none;
}

.listSearch-form-wrap.show{
	display: flex;
	flex-direction: column;
	gap: .5em;
}

.listSearch-form{
	display: flex;
    flex-direction: column;
    gap: .5em;
}

.listSearch-submit{
	display: flex;
	gap: .5em;
	justify-content: space-between;
    align-self: center;
    margin-top: .5em;
}

.listSearch-submit .listSearch-tools{
	flex-grow: 10;
	text-align: end;
}

.listSearch-submit button {
    cursor: pointer;
    background-color: transparent;
    border: 0;
    border-radius: 2em;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1em;
    transition: opacity .3s ease;
}

.listSearch-submit button:hover {
    opacity: .75;
}

.listSearch-submit button.help {
    border: 0;
    padding: .5em;
    color: var(--color-lightgray);
}

.listSearch-submit button.help::before{
	content: '\E81D';
	font-family: 'shiro-icon';
	font-weight: 400;
    font-size: 1.25em;
}

.listSearch-submit button.submit {
    background-color: var(--color-theme);
    color: #ffffff;
    padding: .25em 1.5em;
}

.listSearch-submit button.reset {
    border: 1px solid var(--color-theme);
    color: var(--color-theme);
    padding: .25em 1.5em;
}

.filter-fields .filter-fields-item {
	display: flex;
	flex-direction: column;
	gap: .5em;
	border: 1px solid var(--lightgray);
	border-radius: .5em;
	position: relative;
}

#search-help{
	width: 95%;
    max-width: 800px;
    padding: 1.5em 3em 2em 3em;
}
    #search-help > div{
        width: 95%;
        max-width: 800px;
        display: flex;
        flex-direction: column;
        gap: .75em;
        font-size: .8em;
    }

    #search-help h3{
        font-weight: 900;
        font-size: 2.1em;
        color: var(--color-theme);
        margin-bottom: .25em;
    }
    #search-help b{
        font-weight: 700;
    }

.form-component,
.autocomplete-component {
	border: 1px solid var(--lightgray);
	border-radius: .75em;
	position: relative;
	display: flex;
	margin-right: 10%;
	width: 100%;
	max-width: 480px;
	background-color: #fff;
}

.form-component.paragraph,
.autocomplete-component.paragraph {
	border-color: var(--gray);
	margin-top: 1.5em;
}

.form-component select,
.autocomplete-component select {
	padding: .25rem 0 .25rem .75em;
	font-weight: 600;
	flex-grow: 1.4;
	width: 60%;
	white-space: nowrap;
}

.form-component input,
.autocomplete-component input {
	width: 100%;
	padding: .25rem 1.5rem .25rem .75em;
	flex-grow: 3.6;
}

.autocomplete-component .autocomplete-component-results {
	position: absolute;
	bottom: 0;
	width: 100%;
	transform: translateY(100%);
	z-index: 12;
	background-color: #fff;
	border-color: var(--lightgray);
	border-style: solid;
	border-width: 0 1px 1px 1px;
	border-radius: 0 .25em .25em 0;
	display: none;
}

.autocomplete-component.open .autocomplete-component-results {
	display: block;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.form-component .autocomplete-icon,
.autocomplete-component .autocomplete-icon {
	position: absolute;
	z-index: 1;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .15s ease-out;
	padding: .25em .5em;
}

.form-component .autocomplete-icon::before,
.autocomplete-component .autocomplete-icon::before {
	color: var(--gray);
	font-family: 'Material Symbols Outlined';
	font-weight: 500;
	font-style: normal;
	font-size: 1em;
	line-height: 2;
	display: inline-block;
	letter-spacing: normal;
	white-space: nowrap;
	text-transform: none;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
	content: '\e8b6';
}

.autocomplete-component .autocomplete-icon:hover::before {
	color: #000;
}

.autocomplete-component:not([data-open-search="true"]) .autocomplete-icon,
.autocomplete-component.load-all .autocomplete-icon {
	pointer-events: none;
}

.autocomplete-component.load-all .autocomplete-icon::before {
	content: '\e313';
}

.autocomplete-component.loading .autocomplete-icon::before {
	content: '\e863';
	-webkit-animation: spin 1s linear infinite;
	-moz-animation: spin 1s linear infinite;
	animation: spin 1s linear infinite;
}

@-moz-keyframes spin {
	100% {
		-moz-transform: rotate(360deg);
	}
}

@-webkit-keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

         .autocomplete-component .autocomplete-component-results .i-autocomplete-item {
            padding: .25em .5em;
            display: flex;
            gap: .5em;
            justify-content: space-between;
            align-items: baseline;
            border-top: 1px var(--lightgray) dotted;
        }

        .autocomplete-component .autocomplete-component-results .i-autocomplete-item:hover,
        .autocomplete-component .autocomplete-component-results .i-autocomplete-item.selected {
            /* background-color: var(--lightergray); */
            background-color: red;
            cursor: pointer;
        }

        .autocomplete-component .autocomplete-component-results .label {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .autocomplete-component .autocomplete-component-results .i-autocomplete-item .type,
        .autocomplete-component .autocomplete-component-results .i-autocomplete-item .item-section {
            font-size: .55em;
            text-transform: uppercase;
            font-weight: 600;
            white-space: nowrap;
        }

/* ---- */

.list-filter {
	display: flex;
	flex-wrap: wrap;
	gap: .25em 1em;
	font-size: .8em;
	margin-bottom: 2em;
    line-height: 1;
    align-items: center;
}

.list-filter:empty{
	display: none;
}

.list-filter .list-filter-item {
	display: flex;
	gap: .5em;
	border: 1px solid var(--color-lightgray);
	/* border-radius: 1em; */
    padding: .25em .75em;
    align-items: center;
}

.list-filter .list-filter-add {
	line-height: 1;
    border: 1px solid var(--color-lightergray);
    background: var(--color-lightergray);
    /* border-radius: 1em; */
	padding: .15em .75em .2em .35em;
    color: var(--darkgray);
    font-weight: 500;
    transition: all .3s ease;
    display: block;
    align-self: center;
}

.list-filter .list-filter-add::before {
	content: '\E80E';
	font-family: 'shiro-icon';
	padding: 0em .35em .25em .35em;
	margin-right: .25em;
}

.list-filter .list-filter-add:hover {
	border-color: var(--color-lightgray);
	background-color: var(--color-lightgray);
	color: var(--white);
}

.list-filter .list-filter-label {
	text-transform: lowercase;
}

.list-filter .list-filter-label-separator {
	font-weight: 400;
}

.list-filter .list-filter-value {
	font-weight: 600;
}

.list-filter .list-filter-remove {
	color: var(--color-gray);
	transition: all .3s ease;
}

.list-filter .list-filter-remove:hover {
	color: var(--darkgray);
}

.list-filter .list-filter-remove::after {
	font-family: 'shiro-icon';
	content: '\E820'
}

.list-filter .active-filter-reset {
	font-style: italic;
}

/* ------------------------------------------------------- */

.js-pillbox-items{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: .5em;
	align-items: center;
}

.js-pillbox-items:empty{
	display: none;
}

.js-pillbox-items input{
	display: inline-flex;
}

.js-pillbox-item{
	background-color: var(--color-lightgray);
    padding: 0.15em 0.65em;
	border-radius: 1em;
	white-space: nowrap;
    display: flex;
	align-items: center;
}

.js-pillbox-item.str{
    background-color: var(--white);
    border: 1px solid var(--color-lightgray);
}

.js-pillbox-label{
	font-size: .9em;
	line-height: 1;
}

.js-pillbox-item-remove{
	outline: 0;
	border: 0;
	padding-left: .5em;
	margin-left: .5em;
	color: var(--color-gray);
	background-color: transparent;
	font-size: .75em;
	cursor: pointer;
	transition: all .3s ease;
}

.js-pillbox-item-remove::before{
	font-family: 'shiro-icon';
	content: '\E820';
	transition: all .3s	ease;
}

.js-pillbox-item-remove:hover::before{
	color: var(--gray);
}

.js-pillbox-autocomplete{
	flex-grow: 1;
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	position: relative;
}

.js-pillbox-autocomplete.loading::before{
	position: absolute;
	display: block;
	content: '';
	top: 50%;
	right: 0;
	width: 25px;
	height: 20px;
	background-color: #fff;
	transform: translateY(-50%);
	z-index: 2;
}

.js-pillbox-autocomplete.loading::after{
	position: absolute;
	display: block;
	content: '';
	top: 50%;
	right: 0;
	width: 1em;
	height: 1em;
	border-width: 2px;
	border-style: solid;
	border-color: var(--color-gray) transparent transparent transparent;
	border-radius: 50%;
	z-index: 5;
	
	-webkit-animation: rotatingAutocomplete .5s linear infinite;
	-moz-animation: rotatingAutocomplete .5s linear infinite;
	-ms-animation: rotatingAutocomplete .5s linear infinite;
	-o-animation: rotatingAutocomplete .5s linear infinite;
	animation: rotatingAutocomplete .5s linear infinite;
}

@keyframes rotatingAutocomplete {
	from {
		-ms-transform: translate(0, -50%) rotate(0deg);
		-moz-transform: translate(0, -50%) rotate(0deg);
		-webkit-transform: translate(0, -50%) rotate(0deg);
		-o-transform: translate(0, -50%) rotate(0deg);
		transform: translate(0, -50%) rotate(0deg);
	}
	to {
		-ms-transform: translate(0, -50%) rotate(360deg);
		-moz-transform: translate(0, -50%) rotate(360deg);
		-webkit-transform: translate(0, -50%) rotate(360deg);
		-o-transform: translate(0, -50%) rotate(360deg);
		transform: translate(0, -50%) rotate(360deg);
	}
}

.js-pillbox-autocomplete[data-load-all] .input-wrap{
	position: relative;
}

.js-pillbox-autocomplete[data-load-all] .input-wrap::after{
	content:"\E800";
	font-size: .9em;
	font-family: 'shiro-icon';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
    margin: 0 .25em;
	cursor: pointer;
    pointer-events: none;
}

.js-pillbox-containter[data-total="0"] .js-pillbox-operator,
.js-pillbox-containter[data-total="1"] .js-pillbox-operator{
	display: none;
}

.js-pillbox-operator{
	width: 3em !important;
	border: 0 !important;
	outline: 0 !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-weight: 600;
	font-size: .75em;
	align-self: center;
    padding: 0 .25em;
	cursor: pointer;
}

.js-pillbox-operator option{
	direction: rtl;
}

.js-pillbox-containter .autocomplete-component-results {
	border-radius: .5em;
	display: none;
	position: absolute;
	top: 100%;
	left: 0px;
	right: 0px;
	padding-top: .25em;
	padding-bottom: .25em;
	background-color: rgba(255, 255, 255, 0.95);
	z-index: 999;
	max-height: 75vh;
	overflow-y: auto;
	overflow-x: none;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.js-pillbox-containter .autocomplete-component-results.open  {
	display: flex;
	flex-direction: column;
}

.js-pillbox-containter .autocomplete-component-results:empty  {
	display: none;
}

.js-pillbox-containter .autocomplete-component-results:before,
.js-pillbox-containter .autocomplete-component-results:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 100%;
	width: 24px;
	height: 12px;
	background-color: inherit;
}

.js-pillbox-containter .autocomplete-component-results:before {
	left: 0;
}

.js-pillbox-containter .autocomplete-component-results:after {
	right: 0;
}

.js-pillbox-containter .i-autocomplete-item {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: nowrap;
	padding: .25em .5em;
	cursor: pointer;
	gap: 1em;
}

.js-pillbox-containter .i-autocomplete-item .type{
	font-size: .7em;
	font-weight: 600;
	color: var(--color-theme);
	text-transform: uppercase;
	flex-shrink: 0;
}

.js-pillbox-containter .i-autocomplete-item.selected,
.js-pillbox-containter .i-autocomplete-item:hover {
	background-color: var(--color-gray);
}

.js-pillbox-containter .i-autocomplete-item>* {
	max-width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.js-pillbox-containter .i-autocomplete-item .item-section {
	order: -1;
	font-size: 0.8em;
}

.js-pillbox-autocomplete input{
	border: 0;
	outline: 0;
}

.js-pillbox-autocomplete input::placeholder {
    font-size: .9em;
    font-weight: 400;
	color: var(--color-gray);
    font-style: italic;
	opacity: 0;
	transition: all .5s ease;
}

.js-pillbox-autocomplete input:focus::placeholder,
.js-pillbox-containter:hover input::placeholder {
	opacity: 1;
}

.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item{
    display: flex;
    justify-content: space-between;
    padding: .15em .5em;
    border-top: 1px dotted var(--color-gray) ;
}

.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item:hover,
.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item.selected {
    background-color: var(--color-lightergray);
    cursor: pointer;
}

.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item .label{
    font-size: 1.1em;
    font-weight: 600;
}
.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item .item-section{
    font-size: .8em;
    color: var(--color-orange);
    text-transform: uppercase;
    margin-left: 2em;
}
.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item .type{
    font-weight: 400;
    opacity: .8;
}

.js-pillbox-text{
	flex-grow: 1;
	display: grid;
	grid-template-columns: 1fr auto;
	position: relative;
}

.js-pillbox-text .input-wrap {
    width: 100%;
    display: flex;
}
.js-pillbox-text input {
    border: 0;
    outline: 0;
    width: 100%;
}
