main .search-filter-wrapper {
  position: relative;
  border-bottom: 2px solid #D60D47;
  margin: 3em 2rem;
}
main .search-filter-wrapper #search-filter {
  all: unset;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 1.5em;
  display: block;
  font-family: "Voltaire", sans-serif;
  color: #030303;
  text-transform: uppercase;
}
main .search-filter-wrapper svg {
  position: absolute;
  right: 0;
  top: 50%;
  height: 80%;
  transform: translateY(-50%);
  fill: #D60D47;
}
main .product-list {
  margin: 0;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8em, 1fr));
  grid-gap: 1.5em 2.8vw;
  gap: 1.5em 2.8vw;
  list-style: none;
}
main .product-list article {
  padding: 1em;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  text-align: center;
}
main .product-list article figure {
  order: 1;
  flex: 1;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  margin: 0;
}
main .product-list article figure img {
  border-radius: 50%;
  width: 5em;
  height: 5em;
  display: inline-block;
  background: #FFEDF2;
  -o-object-fit: cover;
     object-fit: cover;
}
main .product-list article figure figcaption {
  flex: 1;
  margin: 0.8em 0;
  max-width: 10em;
  font-size: 0.8em;
}
main .product-list article h2 {
  order: 2;
  margin: 0;
  padding: 0 0.5em;
  font-family: "Voltaire", sans-serif;
  font-weight: 400;
  font-size: 1em;
  text-align: center;
  text-transform: uppercase;
}
main .product-list article h2 a:hover, main .product-list article h2 a:focus {
  color: inherit;
}
main > .boxed-button {
  margin: 4em auto;
  display: block;
}

body.secondary-color-palette main .search-filter-wrapper {
  border-color: #C7C0C0;
}
body.secondary-color-palette main .search-filter-wrapper svg {
  fill: #030303;
}
body.secondary-color-palette main .product-list article .boxed-element figure img {
  background: #F2ECEC;
}
body.secondary-color-palette main .product-list article .boxed-element .read-more {
  color: #030303;
}

@media (min-width: 600px) {
  main {
    --page-side-padding: 2rem;
  }
  main .header-with-image .introduction {
    width: 30rem;
  }
  main .search-filter-wrapper {
    margin: 5em var(--page-side-padding);
    margin-bottom: 4em;
    width: 30rem;
  }
  main .product-list {
    padding: 0 var(--page-side-padding);
    grid-template-columns: repeat(auto-fill, minmax(12em, 1fr));
    grid-gap: 3em;
    gap: 3em;
  }
  main .product-list article .boxed-element {
    padding-top: 2em;
  }
  main .product-list article .boxed-element figure img {
    margin-bottom: 0.8em;
    width: 6em;
    height: 6em;
  }
  main .product-list article .boxed-element figure figcaption {
    font-size: 1em;
  }
  main > .boxed-button {
    margin: 5em auto;
  }
}
@media (min-width: 900px) {
  main {
    --page-side-padding: calc(25vw - 12rem);
  }
}
