.predictive-search {
  pointer-events: none;
  z-index: 3;
  position: absolute;
  top: calc(100% + 3px);
  left: -24px;
  width: calc(100% + 2 * 24px);
  border: 0;
  background-color: var(--color-background-body);
  color: var(--color-typography-primary);
  font-size: 13px;
  opacity: 0;
}
.predictive-search--nav-mobile {
  height: 100vh;
}
.predictive-search--nav-mobile .predictive-search__results-wrapper,
.predictive-search--nav-mobile .predictive-search__results-list {
  height: 100%;
}
.predictive-search--nav-mobile
  .predictive-search__results-wrapper.is-empty
  .predictive-search__results-item--terms {
  margin-top: 0;
}
.predictive-search__results-list {
  display: flex;
  flex-direction: column;
}
predictive-search {
  display: block;
}
predictive-search .predictive-search {
  opacity: 0;
}
predictive-search.is-animated-in .predictive-search,
predictive-search.is-animated-out .predictive-search {
  opacity: 1;
  transition: opacity 0.3s;
}
predictive-search.animate-in .predictive-search {
  animation: fade-in-down 0.5s forwards;
}
predictive-search.animate-out .predictive-search {
  animation: fade-out-up 0.5s forwards;
}
predictive-search[open] .predictive-search,
predictive-search[loading] .predictive-search {
  display: block;
  pointer-events: all;
}
.predictive-search__heading {
  margin: 0 auto;
  padding: 21px 24px 6px;
  width: 100%;
  display: flex;
  font-weight: 600;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-body-family);
  color: var(--color-typography-primary);
}
predictive-search .spinner {
  width: 15px;
  height: 15px;
  line-height: 0;
  display: none;
}
predictive-search .spinner circle {
  fill: var(--color-background-bg-1);
}
.predictive-search__heading .spinner {
  margin: 0 2px 0 20px;
}
.predictive-search__loading-state,
.predictive-search__heading .spinner,
predictive-search:not([loading]) .predictive-search__heading .spinner,
predictive-search:not([loading]) .predictive-search__loading-state {
  display: none;
}
predictive-search[loading]
  .predictive-search__heading
  ~ .predictive-search__loading-state,
predictive-search[loading] .predictive-search__results-list:first-child {
  display: none;
}
.predictive-search__list-item[aria-selected="true"] > * {
  color: var(--color-typography-primary);
  background-color: var(--color-background-bg-1);
  text-decoration: none;
}
.predictive-search__list-item--terms[aria-selected="true"] > *,
.predictive-search__list-item--terms:hover > * {
  background-color: var(--color-border-2);
}
.predictive-search__results-item--terms:hover {
  border-top-color: var(--color-border-2);
  background-color: var(--color-border-2);
}
.predictive-search__item {
  display: flex;
  align-items: center;
  padding: 8px 24px;
  text-align: left;
  text-decoration: none;
  width: 100%;
  color: inherit;
}
.predictive-search__item-content {
  display: flex;
  flex-direction: column;
}
.predictive-search__item-content--centered {
  justify-content: center;
}
.predictive-search__item-vendor {
  margin-bottom: 3px;
  color: var(--color-typography-primary);
}
.predictive-search__item-heading {
  margin: 0;
  font-family: var(--font-body-family);
  font-weight: 400;
  color: var(--color-typography-primary);
}
.predictive-search__item-vendor + .predictive-search__item-heading,
.predictive-search .price {
  margin-top: 0;
}
.predictive-search__results-item--terms {
  position: sticky;
  bottom: 0;
  z-index: 6;
  border: 0;
  margin: auto 0 0;
  padding: 0;
  font-family: var(--font-body-family);
  font-weight: 600;
  backface-visibility: hidden;
  box-shadow: 0 -1px 0 var(--color-border-2);
  background: var(--color-background-bg-1);
}
.predictive-search__item--term {
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  word-break: break-all;
  line-height: calc(1 + 0.4 / var(--font-body-scale));
}
.predictive-search__item--term svg {
  width: calc(var(--font-heading-scale) * 14px);
  height: calc(var(--font-heading-scale) * 14px);
  flex-shrink: 0;
  margin-left: calc(var(--font-heading-scale) * 20px);
  color: rgb(var(--color-link));
}
.predictive-search__item-image {
  position: relative;
  margin-right: 16px;
  flex: 0 0 22.6%;
  max-width: 22.6%;
  height: auto;
  padding-top: 30.25%;
}
.predictive-search__item-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 1;
}
.predictive-search__item:hover {
  text-decoration: none;
}
@media screen and (max-width: 989px) {
  .predictive-search {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .predictive-search__results-item
    + .predictive-search__results-item
    .predictive-search__heading {
    padding-top: 24px;
  }
  .predictive-search__results-item
    + .predictive-search__results-item:not(
      .predictive-search__results-item--terms
    ) {
    position: relative;
    padding-bottom: 16px;
    margin-top: 16px;
  }
  .predictive-search__results-item
    + .predictive-search__results-item:not(
      .predictive-search__results-item--terms
    ):before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100% - 2 * 24px);
    height: 1px;
    background: var(--color-border-2);
    transform: translateX(-50%);
  }
  .predictive-search__item--link {
    font-size: 13px;
  }
  .predictive-search__item-badge {
    display: none;
  }
}
@media screen and (min-width: 750px) {
  .header predictive-search {
    position: relative;
  }
  .predictive-search__results-item--products .predictive-search__list {
    display: flex;
    flex-flow: row wrap;
  }
  .predictive-search__list-item--product {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media screen and (min-width: 990px) {
  .predictive-search {
    top: 100%;
    border-top: 1px solid var(--color-border-1);
    box-shadow: 0px 1px 0px var(--color-border-1);
  }
  .predictive-search__results-list {
    flex-flow: row wrap;
    align-items: stretch;
  }
  .predictive-search__results-item {
    padding: 40px 40px 27px;
  }
  .predictive-search__results-item--terms {
    position: relative;
    box-shadow: none;
    border-top: 1px solid var(--color-border-2);
    margin: 0;
    padding: 0;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .predictive-search__results-item--products {
    flex: 2.15;
  }
  .predictive-search__results-item--products .predictive-search__list {
    margin-left: -10px;
    margin-right: -10px;
    flex-flow: row nowrap;
  }
  .predictive-search__results-item--pages {
    flex: 1;
  }
  .predictive-search__results-item--pages .predictive-search__list {
    margin-left: -10px;
    margin-right: -10px;
    padding-top: 16px;
  }
  .predictive-search__results-item--pages .predictive-search__item {
    padding: 12px 10px;
  }
  .predictive-search__results-item
    + .predictive-search__results-item:not(
      .predictive-search__results-item--terms
    ) {
    border-left: 1px solid var(--color-border-2);
  }
  .predictive-search__list-item--product {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .predictive-search__heading {
    position: relative;
    margin-bottom: 7px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .predictive-search__heading:after {
    content: "";
    display: block;
    width: 60px;
    height: 1px;
    margin-left: 23px;
    flex-shrink: 0;
    background-color: var(--color-typography-primary);
  }
  .predictive-search__item {
    padding: 16px 10px;
    align-items: flex-start;
    flex-direction: column;
  }
  .predictive-search__item-image {
    margin: 0 0 8px;
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    padding-top: 135%;
  }
  .predictive-search__item .price {
    margin-top: 3px;
    font-size: 13px;
  }
  .predictive-search__item--term {
    display: flex;
    flex-flow: row wrap;
    padding: 16px 24px;
    justify-content: center;
    align-items: center;
  }
  .predictive-search__item--term svg {
    margin-left: 36px;
  }
}
@media screen and (min-width: 1200px) {
  .predictive-search {
    left: 0;
    width: 100%;
  }
  .predictive-search__results-item {
    padding: 45px 64px 27px;
  }
  .predictive-search__results-item--terms {
    padding: 0;
  }
  .predictive-search__results-item--products {
    padding-right: 96px;
  }
  .predictive-search__results-item--products .predictive-search__list {
    margin-left: -16px;
    margin-right: -16px;
  }
  .predictive-search__results-item--pages {
    padding-left: 96px;
  }
  .predictive-search__results-item--pages .predictive-search__list {
    margin-left: -16px;
    margin-right: -16px;
  }
  .predictive-search__item,
  .predictive-search__results-item--pages .predictive-search__item {
    padding-left: 16px;
    padding-right: 16px;
  }
}
