.vsf-rebuild.vsf-rebuild-plp .site-content,
.vsf-rebuild.vsf-rebuild-plp .shop-products {
  background: var(--vsf-color-canvas) !important;
  color: var(--vsf-color-ink) !important;
}

.vsf-rebuild.vsf-rebuild-plp .woocommerce-products-header,
.vsf-rebuild.vsf-rebuild-plp .shop-products > header {
  align-items: end;
  border-block-end: var(--vsf-border-width) solid var(--vsf-color-line);
  display: flex;
  gap: var(--vsf-space-4);
  justify-content: space-between;
  margin-block-end: var(--vsf-space-5);
  padding-block-end: var(--vsf-space-5);
}

.vsf-rebuild.vsf-rebuild-plp :is(.woocommerce-products-header__title, .shop-products > header h1, .shop-products > header .page-title) {
  color: var(--vsf-color-ink) !important;
  font-family: var(--vsf-font-display) !important;
  font-size: clamp(2.25rem, 5vw, 4.5rem) !important;
  font-weight: 400 !important;
  letter-spacing: -0.04em;
  line-height: 0.98 !important;
  margin: 0 !important;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products,
.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products.row {
  background: var(--vsf-color-line);
  border: var(--vsf-border-width) solid var(--vsf-color-line);
	display: grid !important;
  gap: var(--vsf-border-width);
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  list-style: none;
  margin-inline: 0 !important;
  padding: 0 !important;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product {
	background: var(--vsf-color-canvas);
	display: grid !important;
	flex: none !important;
	float: none !important;
	gap: var(--vsf-space-3);
	inline-size: auto !important;
	max-inline-size: none !important;
	min-inline-size: 0;
  padding: 0 !important;
  width: auto !important;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .product-inner {
	background: var(--vsf-color-canvas);
	display: grid !important;
	inline-size: 100% !important;
	min-inline-size: 0;
	width: 100% !important;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .product_thumbnail {
  align-items: center;
  aspect-ratio: 1 !important;
  background: var(--vsf-color-soft);
  display: flex;
  justify-content: center;
  min-inline-size: 0;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .product_thumbnail > a {
  block-size: 100%;
  display: block;
  inline-size: 100%;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .product_thumbnail img {
  block-size: 100%;
  inline-size: 100% !important;
  object-fit: contain !important;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .caption {
  display: grid !important;
  gap: var(--vsf-space-3);
  min-inline-size: 0;
  padding: var(--vsf-space-4) var(--vsf-space-3) var(--vsf-space-5) !important;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product :is(.product-title h2, .product_after_shop_loop_price .price) {
  margin: 0;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .product-title h2 {
  font-family: var(--vsf-font-display);
  font-size: clamp(1.25rem, 1.5vw, 1.75rem);
  line-height: 1.1;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .product-title h2 a {
	display: block !important;
	overflow: visible !important;
	text-decoration: none;
	-webkit-line-clamp: unset;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product :is(.product-category, .product-meta, small) {
  color: var(--vsf-color-accent) !important;
  font-family: var(--vsf-font-mono) !important;
  font-size: var(--vsf-font-size-meta) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product .product_after_shop_loop_price .price {
  color: var(--vsf-color-ink);
  font-family: var(--vsf-font-mono);
  font-size: 0.875rem;
}

.vsf-rebuild.vsf-rebuild-plp .shop-products ul.products > li.product :is(a, button, input, select):focus-visible {
  outline: 3px solid var(--vsf-color-accent);
  outline-offset: 3px;
}

@media (min-width: 48rem) {
  .vsf-rebuild.vsf-rebuild-plp .shop-products ul.products.shop_display_list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .vsf-rebuild.vsf-rebuild-plp .shop-products ul.products.shop_display_list > li.product .product-inner {
    align-items: start;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
  }

  .vsf-rebuild.vsf-rebuild-plp .shop-products ul.products.shop_display_list > li.product .product_thumbnail {
    grid-column: 1;
    grid-row: 1;
  }

  .vsf-rebuild.vsf-rebuild-plp .shop-products ul.products.shop_display_list > li.product .caption {
    align-content: start;
    grid-column: 2;
    grid-row: 1;
  }
}

@media (min-width: 75rem) {
  .vsf-rebuild.vsf-rebuild-plp .shop-products ul.products.shop_display_small {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 63.9375rem) {
  .vsf-rebuild.vsf-rebuild-plp .shop-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 47.9375rem) {
  .vsf-rebuild.vsf-rebuild-plp .woocommerce-products-header,
  .vsf-rebuild.vsf-rebuild-plp .shop-products > header {
    align-items: start;
    flex-direction: column;
  }

  .vsf-rebuild.vsf-rebuild-plp .shop-products ul.products {
    gap: var(--vsf-space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
