.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.woocommerce-page .site-main ul.products {
  display: grid !important;
  gap: var(--peek-space-4) !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  padding: var(--peek-space-4) !important;
  margin-top: var(--peek-space-5) !important;
  max-width: 62rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.post-type-archive-product ul.products::before,
.tax-product_cat ul.products::before,
.tax-product_tag ul.products::before,
.woocommerce-page .site-main ul.products::before {
  content: "Available now";
  display: block !important;
  grid-column: 1 / -1;
  margin-bottom: var(--peek-space-2);
  color: var(--peek-color-accent-dark);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.post-type-archive-product ul.products::after,
.tax-product_cat ul.products::after,
.tax-product_tag ul.products::after,
.woocommerce-page .site-main ul.products::after {
  display: none !important;
  content: none !important;
}

.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header {
  margin-bottom: var(--peek-space-4);
  padding-bottom: 0 !important;
}

.post-type-archive-product .woocommerce-products-header__title,
.tax-product_cat .woocommerce-products-header__title,
.tax-product_tag .woocommerce-products-header__title {
  display: none !important;
}

.post-type-archive-product .page-description,
.tax-product_cat .page-description,
.tax-product_tag .page-description {
  display: block !important;
  max-width: 44rem;
  margin: 0 auto var(--peek-space-5);
  color: var(--peek-color-text-soft);
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  line-height: 1.8;
  text-align: center;
}

.post-type-archive-product .page-description .pp-page,
.tax-product_cat .page-description .pp-page,
.tax-product_tag .page-description .pp-page {
  gap: var(--peek-space-4);
}

.post-type-archive-product .page-description .pp-shop-page,
.tax-product_cat .page-description .pp-shop-page,
.tax-product_tag .page-description .pp-shop-page {
  display: grid;
  gap: var(--peek-space-5);
}

.post-type-archive-product .page-description .pp-page-hero,
.tax-product_cat .page-description .pp-page-hero,
.tax-product_tag .page-description .pp-page-hero {
  max-width: 42rem;
  margin-inline: auto;
  display: grid;
  gap: var(--peek-space-3);
}

.post-type-archive-product .page-description .pp-page-eyebrow,
.tax-product_cat .page-description .pp-page-eyebrow,
.tax-product_tag .page-description .pp-page-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0.45rem 0.8rem;
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--peek-color-accent) 14%, white);
  border-radius: var(--peek-radius-pill);
  color: var(--peek-color-accent-dark);
  letter-spacing: 0.12em;
}

.post-type-archive-product .page-description .pp-page-title,
.tax-product_cat .page-description .pp-page-title,
.tax-product_tag .page-description .pp-page-title {
  max-width: 12ch;
  margin: 0 auto;
  text-wrap: balance;
}

.post-type-archive-product .page-description .pp-page-lead,
.tax-product_cat .page-description .pp-page-lead,
.tax-product_tag .page-description .pp-page-lead {
  max-width: 36rem;
  margin: 0 auto;
  font-size: clamp(1rem, 2vw, 1.08rem);
  line-height: 1.7;
}

.post-type-archive-product .page-description .pp-page-callout,
.tax-product_cat .page-description .pp-page-callout,
.tax-product_tag .page-description .pp-page-callout {
  max-width: 34rem;
  margin: 0 auto;
  padding: 1rem 1.15rem;
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--peek-color-accent) 12%, white);
  border-radius: var(--peek-radius-lg);
  box-shadow: none;
}

.post-type-archive-product .page-description .pp-page-callout p,
.tax-product_cat .page-description .pp-page-callout p,
.tax-product_tag .page-description .pp-page-callout p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
}

.post-type-archive-product .page-description .pp-page-card-grid,
.tax-product_cat .page-description .pp-page-card-grid,
.tax-product_tag .page-description .pp-page-card-grid {
  display: grid;
  gap: var(--peek-space-4);
  max-width: 62rem;
  margin: 0 auto;
}

.post-type-archive-product .page-description .pp-page-card,
.tax-product_cat .page-description .pp-page-card,
.tax-product_tag .page-description .pp-page-card {
  text-align: left;
  background: transparent;
  border: 1px solid var(--peek-color-border-soft);
  box-shadow: none;
}

.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count {
  margin-bottom: var(--peek-space-4);
  color: var(--peek-color-text-soft);
  font-size: var(--peek-font-size-100);
}

.post-type-archive-product .site-main > .woocommerce-ordering,
.post-type-archive-product .site-main > .woocommerce-result-count,
.tax-product_cat .site-main > .woocommerce-ordering,
.tax-product_cat .site-main > .woocommerce-result-count,
.tax-product_tag .site-main > .woocommerce-ordering,
.tax-product_tag .site-main > .woocommerce-result-count {
  float: none;
  max-width: 62rem;
  margin-left: auto;
  margin-right: auto;
  display: inline-flex;
  align-items: center;
  min-height: 2.8rem;
}

.post-type-archive-product .storefront-sorting,
.tax-product_cat .storefront-sorting,
.tax-product_tag .storefront-sorting {
  max-width: 62rem;
  margin: 0 auto var(--peek-space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--peek-space-3);
}

.woocommerce .woocommerce-ordering select {
  min-height: 2.8rem;
  padding: 0.7rem 2.3rem 0.7rem 0.95rem;
  border: 1px solid var(--peek-color-border);
  border-radius: var(--peek-radius-pill);
  background: transparent;
  box-shadow: none;
  color: var(--peek-color-text);
}

.woocommerce .woocommerce-result-count {
  padding: 0.72rem 0;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.woocommerce-page .site-main ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding: var(--peek-space-3) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: transparent;
  border: 1px solid var(--peek-color-border-soft);
  border-radius: calc(var(--peek-radius-lg) + 0.15rem);
  box-shadow: none;
}

.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page .site-main ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  width: 100% !important;
  color: inherit;
  text-decoration: none;
}

.post-type-archive-product ul.products li.product img,
.tax-product_cat ul.products li.product img,
.tax-product_tag ul.products li.product img,
.woocommerce-page .site-main ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--peek-radius-md);
  margin-bottom: var(--peek-space-3);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: clamp(1rem, 1.8vw, 1.15rem) !important;
  margin-bottom: var(--peek-space-2) !important;
  line-height: 1.3 !important;
  text-align: left !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.woocommerce ul.products li.product .price {
  margin-top: auto !important;
  margin-bottom: var(--peek-space-2) !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.45rem 0.7rem;
  align-items: baseline;
  justify-content: flex-start !important;
  font-size: 0.98rem !important;
}

.woocommerce ul.products li.product .peek-loop-packaging-note {
  margin-bottom: var(--peek-space-3);
}

.woocommerce ul.products li.product .star-rating {
  margin-bottom: var(--peek-space-3);
}

.woocommerce ul.products li.product .button {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: var(--peek-space-3) !important;
  margin-bottom: 0 !important;
  justify-content: center !important;
  min-height: 2.75rem !important;
  padding-inline: 1rem !important;
  font-size: 0.76rem !important;
  align-self: stretch !important;
  border-radius: var(--peek-radius-pill) !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product.product-type-variable .button {
  background: var(--peek-gradient-brand);
}

.woocommerce ul.products li.product .onsale {
  left: var(--peek-space-4);
  top: var(--peek-space-4);
  right: auto;
}

.woocommerce ul.products li.product .peek-view-details {
  display: none !important;
}

.woocommerce ul.products li.product .added_to_cart {
  display: inline-flex;
  margin-top: var(--peek-space-2);
  font-size: var(--peek-font-size-100);
}

.woocommerce .woocommerce-result-count:last-of-type {
  margin-top: var(--peek-space-5);
}

.post-type-archive-product .site-main > ul.products + .storefront-sorting,
.tax-product_cat .site-main > ul.products + .storefront-sorting,
.tax-product_tag .site-main > ul.products + .storefront-sorting {
  display: none !important;
}

.post-type-archive-product .storefront-sorting:last-of-type,
.tax-product_cat .storefront-sorting:last-of-type,
.tax-product_tag .storefront-sorting:last-of-type {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 40rem) {
  .post-type-archive-product .page-description .pp-page-card-grid,
  .tax-product_cat .page-description .pp-page-card-grid,
  .tax-product_tag .page-description .pp-page-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce-page .site-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--peek-space-5) !important;
    padding: var(--peek-space-5) !important;
  }
}

@media (min-width: 62rem) {
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce-page .site-main ul.products {
    gap: var(--peek-space-6) !important;
    padding: var(--peek-space-5) !important;
  }

  .post-type-archive-product .site-main > .woocommerce-ordering,
  .tax-product_cat .site-main > .woocommerce-ordering,
  .tax-product_tag .site-main > .woocommerce-ordering {
    float: left;
    margin-bottom: var(--peek-space-5);
  }

  .post-type-archive-product .site-main > .woocommerce-result-count,
  .tax-product_cat .site-main > .woocommerce-result-count,
  .tax-product_tag .site-main > .woocommerce-result-count {
    float: right;
    margin-bottom: var(--peek-space-5);
    padding-top: 0.72rem;
  }

  .post-type-archive-product .woocommerce-products-header,
  .tax-product_cat .woocommerce-products-header,
  .tax-product_tag .woocommerce-products-header {
    margin-bottom: var(--peek-space-5);
  }
}

@media (max-width: 39.99rem) {
  .post-type-archive-product .storefront-sorting,
  .tax-product_cat .storefront-sorting,
  .tax-product_tag .storefront-sorting {
    flex-direction: column;
    align-items: stretch;
    gap: var(--peek-space-2);
  }

  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce-page .site-main ul.products {
    padding: var(--peek-space-3) !important;
  }

  .post-type-archive-product ul.products li.product,
  .tax-product_cat ul.products li.product,
  .tax-product_tag ul.products li.product,
  .woocommerce-page .site-main ul.products li.product {
    max-width: 100% !important;
  }

  .woocommerce ul.products li.product .button {
    min-height: 2.6rem !important;
    font-size: 0.74rem !important;
  }

  .woocommerce .woocommerce-result-count {
    padding-top: 0;
  }

  .post-type-archive-product .page-description .pp-page-title,
  .tax-product_cat .page-description .pp-page-title,
  .tax-product_tag .page-description .pp-page-title {
    max-width: 10ch;
  }

  .post-type-archive-product .page-description .pp-page-callout,
  .tax-product_cat .page-description .pp-page-callout,
  .tax-product_tag .page-description .pp-page-callout {
    border-radius: var(--peek-radius-lg);
  }
}

/* Shop refinement */
.post-type-archive-product .storefront-sorting,
.tax-product_cat .storefront-sorting,
.tax-product_tag .storefront-sorting {
  padding: 0.9rem 1rem;
  border: 1px solid var(--peek-color-border);
  border-radius: var(--peek-radius-xl);
  background: rgba(255, 255, 255, 0.58);
  backdrop-filter: blur(8px);
}

.post-type-archive-product .page-description .pp-page-title,
.tax-product_cat .page-description .pp-page-title,
.tax-product_tag .page-description .pp-page-title {
  max-width: 16ch;
}

@media (min-width: 72rem) {
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce-page .site-main ul.products {
    max-width: 72rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
