.ts-query-suggest { position: relative; width: 100%; }
.ts-query-suggest input[type="search"] {
  width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 4px;
}
.ts-query-suggest-list {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: #fff; border: 1px solid #ddd; border-radius: 4px; z-index: 9999;
  box-shadow: 0 6px 18px rgba(0,0,0,.08); overflow: hidden;
}
.ts-query-suggest-item { padding: 8px 10px; cursor: pointer; text-align:left; }
.ts-query-suggest-item:hover, .ts-query-suggest-item.active { background: #f5f5f5; }
.ts-query-suggest mark { background: #ffe08a; color: inherit; }

/* INSTANT SEARCH */

.ais-SearchBox-form {
  position: relative;
}

.ais-SearchBox-form button {
  fill: white;
}

.ais-SearchBox-form .ais-SearchBox-input {
  margin-right: 1em;
}

.ais-SearchBox-form .ais-SearchBox-submit {
  display: none;
}

.ais-Panel {
  margin-bottom:0px;
}

.ais-Panel-header {
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
    padding: .5rem 0;
    position: relative;
}

.instantsearch-widget.instantsearch-widget-refinementList {
    border: 1px solid #ccc;
    padding: 20px 24px;
    margin-bottom: 20px;
}

.ais-RefinementList-label {
    align-items: baseline;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 500;
    gap: .35em;
    row-gap: .5em;
}

.ais-Hits-item:not(:last-child) .hit-content {
    border-bottom: 1px solid #ccc;
    padding-bottom: 24px !important;
}

.instantsearch-widget-pagination {
  margin-top: 2em;
}

.ais-Pagination-link {
    border: none;
    color: #3e3e3e;
    padding: .1em .6em;
    text-decoration: none;
}

.ais-Pagination-item--selected .ais-Pagination-link {
    background-color: #e24a01;
    color: #fff;
}

.ais-RefinementList--noRefinement:after {
  content: 'No facets available.';
  font-size: 12px;
  font-style: italic;
}

.ais-SearchBox-loadingIndicator {
  position: absolute;
  right: 100px;
  top: 50%;
  transform: translateY(-50%);
}

.ais-SortBy-select {
    color: dimgray;
    min-width: 200px;
    padding: .85em .6em;
    width: 100%;
}

@media only screen and (min-width: 768px) {
    .ais-SortBy-select {
        border: 1.5px solid #9e9e9e;
        min-width: 200px;
        padding: .6em;
        width: auto;
    }
}

.ais-CurrentRefinements-item {
  padding:0px !important;
}

.ais-CurrentRefinements-category {
  background-color: transparent !important;
}

.ais-CurrentRefinements-categoryLabel {
  margin-right: 15px !important;
  font-weight: 600 !important;
}

.ais-CurrentRefinements-delete {
  padding: 8px 10px !important;
  font-size: 12px !important;
}

.ais-RefinementList-showMore {
  margin-top: 1em;
}