.cart-scan-wrap {
  flex: 1 1 230px;
  min-width: 0;
  position: relative;
}

.cart-scan-wrap > .cart-scan-field {
  width: 100%;
}

.scan-suggestions {
  background: #fff;
  border: 1px solid #b7cceb;
  border-radius: 6px;
  box-shadow: 0 14px 32px #071e4730;
  display: grid;
  gap: 3px;
  left: 0;
  max-height: min(430px, 62vh);
  overflow: auto;
  padding: 5px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 95;
}

.scan-suggestion {
  align-items: center;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 5px;
  cursor: pointer;
  display: grid;
  gap: 9px;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  min-height: 54px;
  padding: 6px;
  text-align: left;
  width: 100%;
}

.scan-suggestion:hover,
.scan-suggestion.is-active {
  background: #eaf3ff;
  border-color: #8ebcff;
}

.scan-suggestion.is-out {
  background: #fff7f6;
}

.scan-suggestion-media {
  align-items: center;
  background: #eaf3ff;
  border-radius: 5px;
  color: #086fff;
  display: flex;
  height: 36px;
  justify-content: center;
  overflow: hidden;
  width: 36px;
}

.scan-suggestion-media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.scan-suggestion-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.scan-suggestion-copy strong,
.scan-suggestion-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scan-suggestion-copy strong {
  color: #070f1f;
  font-size: 13px;
  font-weight: 900;
}

.scan-suggestion-copy small {
  color: #526179;
  font-size: 11px;
  font-weight: 800;
}

.scan-suggestion-meta {
  align-items: flex-end;
  display: grid;
  gap: 4px;
  justify-items: end;
  white-space: nowrap;
}

.scan-suggestion-meta b {
  color: #005bd8;
  font-size: 12px;
  font-weight: 900;
}

.scan-suggestion-meta small {
  background: #e9f9f1;
  border-radius: 4px;
  color: #0f9f6e;
  font-size: 10px;
  font-weight: 900;
  padding: 4px 6px;
}

.scan-suggestion.is-out .scan-suggestion-meta small {
  background: #fff0ee;
  color: #d93025;
}

.scan-suggestion-state {
  color: #526179;
  font-size: 12px;
  font-weight: 800;
  padding: 14px;
  text-align: center;
}

@media (max-width: 480px) {
  .scan-suggestions {
    left: -4px;
    right: -72px;
  }

  .scan-suggestion {
    grid-template-columns: 32px minmax(0, 1fr) auto;
  }

  .scan-suggestion-media {
    height: 32px;
    width: 32px;
  }
}
