.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%;
}

.theme-black .listSearch-form-field {
	color:var(--black);
}

.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-gray-300);
    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(--shiro-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-gray-100);
	padding: 1.5em;
    position: absolute;
    top: 0.5em;
    right: 0;
	z-index: 99;

    display: none;

    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;

}

.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;
    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: .25em;
    font-weight: 800;
    text-transform: uppercase;
    font-size: .75em;
    transition: opacity .3s ease;
}

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

.listSearch-submit a.help {
    border: 0;
    padding: .5em;
	opacity: .5;
}

.listSearch-submit a.help::before{
	content: '';
	display: block;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 40 40'><path d='M19.78,0C8.74,0-.22,8.95-.22,20s8.95,20,20,20,20-8.95,20-20S30.83,0,19.78,0ZM21.19,32.72c-.54.54-1.22.81-2.03.81s-1.49-.27-2.03-.81c-.54-.54-.81-1.22-.81-2.03s.26-1.49.79-2.02c.53-.53,1.21-.79,2.05-.79s1.52.26,2.05.79c.53.53.79,1.2.79,2.02s-.27,1.49-.81,2.03ZM27.07,17.64c-.34.76-.74,1.37-1.22,1.85-.48.48-1.09,1.01-1.84,1.58-.79.6-1.37,1.12-1.73,1.55-.36.43-.54.96-.54,1.58v.83c0,.12-.04.22-.13.31-.08.08-.19.13-.3.13h-4.18c-.12,0-.22-.04-.31-.13-.08-.08-.13-.19-.13-.31v-1.15c0-1.2.28-2.17.83-2.92.55-.74,1.36-1.51,2.41-2.3.84-.65,1.46-1.22,1.87-1.73s.61-1.12.61-1.84c0-.77-.23-1.39-.7-1.85-.47-.47-1.1-.7-1.89-.7-.84,0-1.51.25-2.02.74-.5.49-.76,1.15-.76,1.96v.58c0,.26-.14.4-.43.4l-4.21-.18c-.12,0-.22-.04-.31-.13-.08-.08-.13-.19-.13-.31v-.36c0-1.44.34-2.72,1.01-3.83.67-1.12,1.61-1.98,2.83-2.59,1.21-.61,2.6-.92,4.16-.92,2.3,0,4.14.64,5.52,1.93,1.38,1.28,2.07,2.98,2.07,5.09,0,1.06-.17,1.96-.5,2.72Z'/></svg>");
    width: 1em;
    height: 1em;
}

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

.listSearch-submit button.reset {
    background-color: var(--color-gray-400);
    color: var(--black);
    padding: .25em 1.5em;
}

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

.help-box{
	width: 95%;
    max-width: 800px;
    padding: 1.5em 3em 2em 3em;
	background-color: var(--color-white);
}
    .help-box > div{
        width: 95%;
        max-width: 800px;
        display: flex;
        flex-direction: column;
        gap: .75em;
        font-size: .8em;
    }

    .help-box h3{
        font-weight: 900;
        font-size: 2.1em;
        color: var(--color-theme);
        margin-bottom: .25em;
    }
    .help-box 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-order select{
	appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* ---- */

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

	flex-grow: 200;
}

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

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

.list-filter .list-filter-add {
	line-height: 1;
    border: 1px solid var(--color-gray-400);
    background: var(--color-gray-400);
    border-radius: 1em;
	padding: .15em .75em .2em .35em;
    color: var(--color-gray-700);
    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-gray-500);
	background-color: var(--color-gray-500);
	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-500);
	transition: all .3s ease;
}

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

.list-filter .list-filter-remove::after {
	content: '';
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 40 40'><polygon points='39.16 3.66 36.34 .84 20 17.17 3.66 .84 .84 3.66 17.17 20 .84 36.34 3.66 39.16 20 22.83 36.34 39.16 39.16 36.34 22.83 20 39.16 3.66'/></svg>");
    background-size: cover;
	width: 0.7em;
    height: 0.7em;
    display: block;
}

.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-gray-300);
    padding: 0.15em 0.65em;
	border-radius: 1em;
	white-space: nowrap;
    display: flex;
	align-items: center;
}

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

.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-500);
	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(--color-gray-500);
}

.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: var(--color-white);
	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-500) 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-500);
}

.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-500);
    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-500) ;
}

.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item:hover,
.js-pillbox-autocomplete .autocomplete-component-results .i-autocomplete-item.selected {
    background-color: var(--color-gray-300);
    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-theme);
    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%;
}
