.shop-container {
  margin: 0 auto;
  padding: 0 var(--container-padding);
  width: var(--container-width);
  margin: var(--section-margin) auto;
}
.shop-container .shop-teasers .container {
  padding: 0;
  width: auto;
  max-width: none;
  margin: 0 calc(var(--grid-padding) * -1);
}
@media (max-width: 567px) {
  .shop-container .shop-teasers .container {
    margin: 0 calc(var(--grid-padding) - var(--container-padding));
  }
}

.shop-content {
  position: relative;
  margin: calc(var(--grid-padding) * -1);
}

.product-list-view {
  --items-per-row: 3;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1199px) {
  .product-list-view {
    --items-per-row: 2;
  }
}
@media (max-width: 567px) {
  .product-list-view {
    --items-per-row: 1;
    margin: 0 calc(var(--grid-padding) * 2 - var(--container-padding));
  }
}
.product-list-view:not(.initiated) {
  display: none;
}
.product-list-view .product-item {
  padding: var(--grid-padding);
}
.product-list-view .product-item a {
  position: relative;
  display: flex;
  flex-direction: column;
  color: var(--color-text);
  height: 100%;
  border-radius: var(--border-radius);
}
.product-list-view .product-item a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background-color: var(--white-hex);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  margin: 0;
  transition: 0.3s ease;
  z-index: -1;
}
@media (hover: hover) {
  .product-list-view .product-item a:hover::before, .product-list-view .product-item a:focus::before {
    margin: -10px;
    box-shadow: var(--shadow-dark);
  }
}
.product-list-view .product-title {
  font-size: var(--font-size-sm);
  color: var(--primary-hex);
  margin-top: 0;
  margin-bottom: 0.7em;
}
.product-list-view .image-box {
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.product-list-view .image-box img {
  display: block;
  width: 100%;
  height: auto;
}
.product-list-view .image-box::after {
  content: "";
  position: absolute;
  width: calc(var(--border-radius) * 2);
  aspect-ratio: 1;
  border-radius: var(--border-radius);
  box-shadow: var(--border-radius) var(--border-radius) 0 var(--white-hex);
  right: 0;
  bottom: 2.75em;
}
.product-list-view .text-box {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 1.6em 1.75em 1em;
}
@media (max-width: 767px) {
  .product-list-view .text-box {
    padding: 18px 15px 12px;
  }
}
.product-list-view .text-box p {
  margin: 0 0 1em;
}
.product-list-view .text-box p:has(.arrow-link) {
  margin-top: auto;
}
.product-list-view .categories {
  position: absolute;
  right: 0;
  bottom: 100%;
  padding: 0.75em 0.75em 0;
  background-color: var(--white-hex);
  margin: 0;
  border-top-left-radius: var(--border-radius);
}
.product-list-view .categories::before {
  content: "";
  position: absolute;
  width: calc(var(--border-radius) * 2);
  aspect-ratio: 1;
  border-radius: var(--border-radius);
  box-shadow: var(--border-radius) var(--border-radius) 0 var(--white-hex);
  bottom: 0;
  right: 100%;
}

.categories {
  --badge-size: 2em;
  position: relative;
  display: flex;
  padding: 0;
  margin: 1em -0.25em;
}
.categories li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--badge-size);
  aspect-ratio: 1;
  background-color: var(--icon-color);
  border-radius: 50%;
  margin: 0 calc(var(--badge-size) * 0.075);
  padding: 0;
}
.categories li::before {
  content: "";
  display: inline-block;
  vertical-align: text-top;
  background-color: var(--icon-color, var(--dark-teal));
  width: var(--icon-size, 1em);
  height: var(--icon-size, 1em);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask: var(--icon) no-repeat center;
  mask: var(--icon) no-repeat center;
  --icon-color: var(--white-hex);
  --icon-size: calc(var(--badge-size) * 0.85);
  position: relative;
}
.categories li span {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  max-width: 0;
  overflow: hidden;
  transition: opacity 0.3s ease 0s, visibility 0s ease 0.3s, z-index 0.3s linear 0s, transform 0.3s ease 0s, max-width 0s ease 0.3s;
  content: attr(data-label);
  position: absolute;
  bottom: 100%;
  left: 50%;
  font-size: var(--font-size-xxs);
  background-color: var(--white-hex);
  box-shadow: 0 5px 10px -3px rgba(0, 0, 0, 0.3);
  padding: 0.2em 0.7em;
  border-radius: var(--border-radius-small);
  transform: translate(-50%, -10px);
  z-index: 1;
  font-weight: 500;
  text-transform: uppercase;
  min-width: 0;
}
.categories li:hover span {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  max-width: 100vw;
  overflow: visible;
  transition: opacity 0.3s ease 0s, visibility 0s ease 0s, z-index 0.3s linear 0s, transform 0.3s ease 0s, max-width 0s ease 0s;
  transform: translate(-50%, 0);
}
.categories li.healthcare {
  --icon: var(--icon-healthcare);
  --icon-color: var(--red-healthcare-hex);
}
.categories li.cosmetics {
  --icon: var(--icon-cosmetics);
  --icon-color: var(--orange-cosmetics-hex);
}
.categories li.food {
  --icon: var(--icon-food);
  --icon-color: var(--yellow-food-hex);
}
.categories li.chemicals {
  --icon: var(--icon-chemicals);
  --icon-color: var(--green-chemicals-hex);
}
.categories li.research {
  --icon: var(--icon-research);
  --icon-color: var(--green-research-hex);
}
.categories li.safety {
  --icon: var(--icon-safety);
  --icon-color: var(--blue-safety-hex);
}
.categories li.quality {
  --icon: var(--icon-quality);
  --icon-color: var(--blue-quality-hex);
}
.categories li.diagnostics {
  --icon: var(--icon-diagnostics);
  --icon-color: var(--mint-diagnostics-hex);
}

/*# sourceMappingURL=shop.css.map */
