.product-page {
  background: #ebebeb;
  /* border: 10px solid var(--white); */
}

.product-main {
  background: #ebebeb;
  min-height: calc(100vh - 20px);
  padding: 32.5rem 2rem 13rem;
}

.product-article {
  margin: 0 auto;
  max-width: 120rem;
}

.product-article h1,
.product-article h2 {
  color: #000;
  font-family: "Lusitana", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}

.product-article h1 {
  font-size: 5rem;
  margin-bottom: 8.2rem;
}

.product-overview {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  max-width: 120rem;
}

.product-overview .category-item {
  align-content: flex-start;
  align-items: flex-start;
  display: flex;
  flex: 1 0 35rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 5rem;
  min-height: 20rem;
  padding: 0 4rem;
}

.product-overview .category-item:not(:last-child) {
  border-right: 1px solid #828282;
}

.product-overview h2 {
  flex: 0 0 100%;
  font-size: 3.2rem;
  margin-bottom: 2.8rem;
}

.typ-list,
.typ-item {
  display: block;
}

.product-button {
  background-color: var(--blue);
  border: 1px solid var(--blue);
  color: var(--white);
  display: block;
  font-family: "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 1.7rem;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  min-width: 30rem;
  padding: 0.9rem 4rem;
  transition:
    background 0.4s linear,
    color 0.4s linear;
}

.product-button span {
  color: lightgrey;
  font-size: 0.7em;
  line-height: 0.7em;
  transition: color 0.4s linear;
  vertical-align: middle;
}

.product-button:hover {
  background-color: var(--white);
  color: var(--blue);
}

.product-button:hover span {
  color: var(--blue);
}

@media (max-width: 900px) {
  .product-main {
    padding-bottom: 6rem;
  }

  .product-overview .category-item {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 0 2rem;
  }

  .product-overview .category-item:not(:last-child) {
    border-right: 0;
  }
}

@media (max-width: 600px) {
  .product-main {
    padding: 19.8rem 0 5rem;
  }

  .product-article h1 {
    font-size: 5rem;
    margin-bottom: 8rem;
    padding: 0 2rem;
  }

  .product-overview h2 {
    font-size: 3rem;
    margin-bottom: 2.4rem;
    max-width: 100%;
    padding: 0 1rem;
  }

  .product-overview .category-item {
    flex: 1 1 100%;
    margin-bottom: 6.2rem;
    min-height: 0;
    max-width: 100%;
    padding: 0 1rem;
  }

  .product-button {
    min-width: min(32rem, calc(100vw - 8rem));
    padding: 0.9rem 2.5rem;
  }
}
