.products {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: -0.5em;
  margin-right: -0.5em; }
  .products .product {
    margin: 0.5em;
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.07);
    border-radius: 0.8em;
    position: relative;
    transition: 0.3s; }
    .products .product .button {
      position: absolute;
      max-width: 90%;
      bottom: 0;
      left: 50%;
      transform: translate(-50%);
      opacity: 0;
      pointer-events: none;
      transition: 0.3s;
      z-index: 1; }
    .products .product:before {
      content: '';
      display: block;
      background: #fff;
      position: absolute;
      transition: 0.3s;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 80px;
      box-shadow: 0 1em 1em rgba(0, 0, 0, 0.1);
      border-radius: 0 0 0.8em 0.8em;
      z-index: 1;
      opacity: 0; }
    .products .product:hover {
      z-index: 1;
      box-shadow: 0 0 1em rgba(0, 0, 0, 0.1); }
      .products .product:hover .button {
        bottom: -50px;
        opacity: 1;
        pointer-events: auto; }
      .products .product:hover:before {
        bottom: -65px;
        opacity: 1; }
  .products.columns-3 .product {
    width: calc(33.333% - 1em); }
  .products.columns-4 .product {
    width: calc(25% - 1em); }

.woocommerce-loop-product__link {
  padding: 1em;
  text-decoration: none;
  color: inherit;
  display: block;
  text-align: center;
  position: relative; }
  .woocommerce-loop-product__link:hover {
    color: inherit; }
  .woocommerce-loop-product__link img {
    width: 100%;
    height: 250px;
    object-fit: contain;
    margin-bottom: 1em; }

.orderby,
.onsale {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 0.5em;
  font-weight: normal;
  font-size: 0.8em;
  padding: 0.3em;
  font-family: inherit;
  white-space: nowrap;
  max-width: 100%;
  text-decoration: none; }

.orderby {
  position: static; }

.added_to_cart {
  display: none; }

.woocommerce-loop-product__title {
  font-size: 1.2em;
  font-weight: bold; }

.woocommerce-error {
  background: #f88;
  padding: 0.5em; }

.woocommerce-products-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap; }

.woocommerce-result-count {
  margin: 0.5em; }

.woocommerce-notices-wrapper {
  width: 100%; }

.woocommerce-ordering {
  margin: 0.5em; }

.wc-block-product-categories-list {
  list-style: none;
  padding: 0;
  line-height: 1.6; }
  .wc-block-product-categories-list a {
    text-decoration: none;
    color: inherit; }
  .wc-block-product-categories-list-item-count {
    opacity: 0.5; }

.widget-area {
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.07);
  border-radius: 0.8em;
  padding: 1em 1em;
  transition: 0.3s; }
  .widget-area h2 {
    margin-bottom: 0.5em;
    font-size: 1.5em; }
  .widget-area:hover {
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.1); }

.woocommerce-products-header {
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.07);
  border-radius: 0.8em;
  padding: 0.5em;
  transition: 0.3s;
  margin-bottom: 0.5em; }
  .woocommerce-products-header:hover {
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.1); }

.woocommerce-message {
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.07);
  margin-bottom: 1em;
  padding: 1em;
  border-radius: 0.8em; }

.price {
  font-weight: bold; }

@media (max-width: 1199px) {
  .products.columns-3 .product {
    width: calc(50% - 1em); }
  .products.columns-4 .product {
    width: calc(33% - 1em); } }

@media (max-width: 991px) {
  .products .product {
    display: flex;
    flex-direction: column; }
    .products .product .button {
      position: static;
      opacity: 1;
      transform: none;
      margin-left: auto;
      margin-right: auto;
      display: flex;
      margin-bottom: 0.4em;
      flex-wrap: wrap;
      white-space: normal;
      line-height: 1;
      padding-left: 1em;
      padding-right: 1em;
      margin-top: auto; }
    .products .product:before {
      content: none; }
  .woocommerce-loop-product__link img {
    height: 200px; }
  .woocommerce-loop-product__title {
    font-size: 1em; }
  .widget-area h2 {
    font-size: 1.2em; } }

@media (max-width: 767px) {
  .products.columns-4 .product {
    width: calc(50% - 1em); }
  .widget-area .widget:nth-child(even) {
    display: none; }
  .widget-area h2 {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .widget-area h2:after {
      content: '';
      display: inline-block;
      width: 12px;
      height: 12px;
      transform: translate(0, -5px) rotate(45deg);
      border: 2px solid #000;
      border-left: none;
      border-top: none; } }

@media (max-width: 575px) {
  .products .product {
    margin: 0.25em; }
  .products.columns-3 .product {
    width: calc(50% - 0.5em); }
  .products.columns-4 .product {
    width: calc(50% - 0.5em); }
  .woocommerce-loop-product__link {
    padding: 0.5em; }
    .woocommerce-loop-product__link img {
      height: calc(50vw - 2em); }
  .woocommerce-products-header {
    justify-content: center; } }
