.autocomplete {
  background-color: map(colors, bgPrimary);
  height: 50px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: map(zIndex, menu);
}

@media (min-width: map(mq, min, 768)) {
  .autocomplete {
    height: 130px;
  }
}

.autocompleteWithResults {
  height: 100vh;
}

@media (min-width: map(mq, min, 768)) {
  .autocompleteWithResults {
    overflow: auto;
  }
}

@media (min-width: map(mq, min, 1024)) {
  .autocompleteWithResults {
    max-height: 720px;
  }
}

.autocompleteSearchForm {
  grid-column: container;
  position: relative;
  width: 100%;
}

@media (max-width: map(mq, max, 768)) {
  .autocompleteSearchForm::after {
    background-image: linear-gradient(to left, #fff 0%, rgba(255, 255, 255, 0) 100%);
    bottom: 0;
    content: "";
    height: 100%;
    position: absolute;
    right: 29px;
    top: 0;
    width: 30px;
  }
}

.autocompleteInputLabel {
  bottom: 0;
  display: block;
  font-size: 18px;
  height: 18px;
  left: -1px;
  line-height: map(typography, lineHeightReset);
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
  width: 18px;
}

@media (min-width: map(mq, min, 768)) {
  .autocompleteInputLabel {
    left: 0;
    top: -4px;
  }
}

:global(.lp-global-searchInputCancelButton) {
  bottom: 0;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: -10px;
  top: 0;
}

@media (min-width: map(mq, min, 768)) {
  :global(.lp-global-searchInputCancelButton) {
    right: 0;
    top: -4px;
  }
}

.autocompleteResultsContainer {
  background-color: map(colors, bgPrimary);
}

@media (min-width: map(mq, min, 1024)) {
  .autocompleteResultsContainer {
    margin-top: 64px;
  }

  @supports (display: grid) {
    .autocompleteResultsContainer {
      margin-top: 32px;
    }
  }
}

@supports (display: grid) {
  .autocompleteResults {
    grid-column: container;
  }
}

@media (min-width: map(mq, min, 1024)) {
  .autocompleteResults {
    float: left;
  }

  .autocompleteResults:nth-of-type(1),
  .autocompleteResults:nth-of-type(2) {
    width: span(3 fluid);
  }

  .autocompleteResults:nth-of-type(3),
  .autocompleteResults:nth-of-type(4),
  .autocompleteResults:nth-of-type(5) {
    width: span(2 fluid);
  }

  @supports (display: grid) {
    .autocompleteResults {
      float: none;
      width: 100%;
    }

    .autocompleteResults:nth-of-type(1),
    .autocompleteResults:nth-of-type(2) {
      grid-column-end: span 3;
      width: 100%;
    }

    .autocompleteResults:nth-of-type(1) {
      grid-column-start: column-start 1;
    }

    .autocompleteResults:nth-of-type(2) {
      grid-column-start: column-start 4;
    }

    .autocompleteResults:nth-of-type(3),
    .autocompleteResults:nth-of-type(4),
    .autocompleteResults:nth-of-type(5) {
      grid-column-end: span 2;
      width: 100%;
    }

    .autocompleteResults:nth-of-type(3) {
      grid-column-start: column-start 7;
    }

    .autocompleteResults:nth-of-type(4) {
      grid-column-start: column-start 9;
    }

    .autocompleteResults:nth-of-type(5) {
      grid-column-start: column-start 11;
    }
  }
}

.autocompleteHeading {
  margin-bottom: 16px !important; /* Override inline style */
}

@media (min-width: map(mq, min, 768)) {
  .autocompleteHeading {
    margin-bottom: 32px !important; /* Override inline style */
  }
}

.autocompleteLinkContainer {
  margin-top: 32px;
}

.autocompleteLink {
  border-top: 1px solid map(colors, borderPrimary);
  align-items: center;
  display: flex;
  justify-content: center;
  padding-bottom: 34px;
  padding-top: 34px;
  text-align: center;
  width: 100%;
}

@supports (display: grid) {
  .autocompleteLink {
    grid-column: container;
  }
}
