/** Store Locator Plugin */

#wpsl-wrap {
  display: flex;
  flex-flow: column;
  background: var(--bs-neutral-50);
  margin-bottom: 0;
  max-height: 660px;
}

@media only screen and (min-width: 1280px) {
  #wpsl-wrap {
    display: grid;
    grid-template-columns: 35% 1fr;
  }
}

#wpsl-gmap {
  float: none;
  width: auto;
  max-height: 360px;
}

@media only screen and (max-width: 1280px) {
  #wpsl-gmap {
    order: 2;
  }
}

@media only screen and (min-width: 1280px) {
  #wpsl-gmap {
    max-height: none;
  }
}

#wpsl-gmap a[target="_blank"]::after {
  display: none;
}

#wpsl-gmap .wpsl-info-window a {
  color: var(--bs-primary);
}

#wpsl-gmap .wpsl-info-window a.store-title {
  display: block;
  margin-bottom: 0.5rem;
  font: normal 400 1.5rem/1.1 var(--heading-theme-font);
  letter-spacing: -0.02em;
  color: var(--bs-dark-900);
}

#wpsl-gmap .wpsl-info-window span {
  color: var(--bs-neutral-500);
}

#wpsl-stores {
  height: auto!important;
}

#wpsl-stores ul {
  max-height: 545px;
  padding-right: 0.75rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--bs-primary) var(--bs-neutral-50);
}

#wpsl-stores ul::-webkit-scrollbar-track {
  box-shadow: none;
  border-radius: 10px;
  background-color: var(--bs-neutral-50);
}

#wpsl-stores ul::-webkit-scrollbar {
  width: 8px;
  background-color: var(--bs-neutral-50);
  -webkit-overflow-scrolling: auto;
}

#wpsl-stores ul::-webkit-scrollbar-thumb {
  border-radius: 10px;
  box-shadow: none;
  background-color: var(--bs-primary);
}

#wpsl-stores ul li {
  color: var(--bs-neutral-500);
  background: var(--bs-shades-0);
  border: 1px solid var(--bs-neutral-100);
  border-radius: 8px;
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.25rem;
}

#wpsl-stores ul li header a {
  font: normal 400 1.1875rem/1.1 var(--heading-theme-font);
  letter-spacing: -0.02em;
  color: var(--bs-dark-900);
}

#wpsl-stores ul li .wpsl-contact-details {
  margin: 1rem 0;
}

#wpsl-stores ul li .wpsl-contact-details .contact__row {
  display: flex!important;
  margin-bottom: 0.5rem;
  gap: 1.5rem;
}

#wpsl-stores ul li .wpsl-contact-details .contact__row > svg {
  flex: 0 0 16px;
}

#wpsl-stores ul li .wpsl-contact-details .contact__row a {
  font: normal 400 0.875rem/1.3 var(--body-theme-font);
  color: var(--bs-neutral-500);
}

#wpsl-stores ul li .wpsl-contact-details .contact__row .address__text {
  display: inline-block!important;
  font: normal 400 0.875rem/1.3 var(--body-theme-font);
  color: var(--bs-neutral-500);
}

#wpsl-stores ul li .wpsl-contact-details .contact__row .address__text a {
  color: var(--bs-primary);
}

#wpsl-stores ul li .btn-link {
  color: var(--bs-primary);
}

#wpsl-stores ul li .btn-link::after {
  border-color: var(--bs-primary);
}

#wpsl-search-wrap {
  position: relative;
  float: none;
}

#wpsl-search-wrap .wpsl-input,
#wpsl-search-wrap .wpsl-select-wrap {
  display: block;
}

#wpsl-search-wrap .wpsl-input input,
#wpsl-search-wrap .wpsl-input label {
  display: block;
}

#wpsl-search-wrap .wpsl-input label {
  width: auto;
  font: normal 400 1.125rem/1.4 var(--body-theme-font);
  color: var(--bs-neutral-500);
  /* background: var(--bs-shades-0); */
  padding: 0.25rem;
  /* transform: translateY(10px); */
}

#wpsl-search-wrap .wpsl-input label.focussed {
  width: auto;
  opacity: 1;
  background: linear-gradient(to bottom, var(--bs-neutral-50), var(--bs-shades-0) 50%, var(--bs-shades-0) 100% );
  /* transform: translateY(-8px) scale3d(0.7, 0.7, 1); */
}

#wpsl-search-wrap .wpsl-input input {
  font: normal 400 1.125rem/1.4 var(--body-theme-font);
  color: var(--bs-neutral-500);
  background: var(--bs-shades-0);
  border: 1px solid var(--bs-neutral-100);
  border-radius: 6.25rem;
  padding-left: 1.5em;
  width: 100%;
}

@media only screen and (min-width: 1024px) {
  #wpsl-search-wrap .wpsl-input input {
    background: var(--bs-shades-0);
  }
}

#wpsl-search-wrap div {
  float: none;
}

#wpsl-search-wrap div label {
  float: none;
}

#wpsl-result-list {
  grid-area: 1/1/1/1;
  width: auto;
  margin: 0;
  /* padding: 1.25rem 0.75rem 0 1.25rem; */
  padding: 0rem 0.75rem 0 0rem;
}

@media only screen and (max-width: 1280px) {
  #wpsl-result-list {
    order: 1;
  }
}

#wpsl-search-wrap .wpsl-search-btn-wrap {
  margin-top: 0;
  position: absolute;
  top: 2em;
  right: 1em;
}

#wpsl-search-btn {
  float: none;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

table.wpsl-opening-hours td {
  padding: 0.375rem 15px 0.375rem 0;
}

table.wpsl-opening-hours td:first-child {
  padding-right: 50px;
}