/* Catalog and product-card polish shared by WooCommerce and Elementor grids. */
.woocommerce ul.products,
.elementor-widget-woocommerce-products ul.products,
.elementor-widget-lpc-editorial-products ul.products,
.lpc-editorial-products ul.products {
  row-gap: clamp(30px, 4vw, 58px) !important;
}

.elementor-widget-lpc-editorial-products ul.products,
.lpc-editorial-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  column-gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.elementor-widget-lpc-editorial-products ul.products::before,
.elementor-widget-lpc-editorial-products ul.products::after,
.lpc-editorial-products ul.products::before,
.lpc-editorial-products ul.products::after {
  display: none !important;
  content: none !important;
}

.elementor-widget-lpc-editorial-products ul.products li.product,
.lpc-editorial-products ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.lait-product-card__title,
.lait-product-card__price,
.lait-product-card__meta {
  font-family: inherit;
}

.lait-product-card__title {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.lait-product-card__meta,
.lait-product-card__price {
  font-size: 11px;
  line-height: 1.35;
}

.lait-product-card__price {
  font-size: 11px;
  font-weight: 300;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-lpc-editorial-products ul.products li.product .woocommerce-loop-product__title,
.lpc-editorial-products ul.products li.product .woocommerce-loop-product__title,
.lait-product-card__title,
.lait-product-card__title a {
  font-size: var(--lpc-product-title-size, 10px);
  font-weight: var(--lpc-product-title-weight, 700);
  line-height: var(--lpc-product-title-line-height, 1.25);
  letter-spacing: var(--lpc-product-title-letter-spacing, .03em);
  text-transform: var(--lpc-product-title-transform, uppercase);
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
.elementor-widget-woocommerce-products ul.products li.product .price,
.elementor-widget-woocommerce-products ul.products li.product .price .amount,
.elementor-widget-woocommerce-products ul.products li.product .price .woocommerce-Price-currencySymbol,
.elementor-widget-lpc-editorial-products ul.products li.product .price,
.elementor-widget-lpc-editorial-products ul.products li.product .price .amount,
.elementor-widget-lpc-editorial-products ul.products li.product .price .woocommerce-Price-currencySymbol,
.lpc-editorial-products ul.products li.product .price,
.lpc-editorial-products ul.products li.product .price .amount,
.lpc-editorial-products ul.products li.product .price .woocommerce-Price-currencySymbol,
.lait-product-card__price,
.lait-product-card__price .amount,
.lait-product-card__price .woocommerce-Price-currencySymbol {
  font-size: var(--lpc-product-price-size, 11px);
  font-weight: var(--lpc-product-price-weight, 300);
  line-height: var(--lpc-product-price-line-height, 1.35);
}

@media (max-width: 767px) {
  .woocommerce ul.products,
  .elementor-widget-woocommerce-products ul.products,
  .elementor-widget-lpc-editorial-products ul.products,
  .lpc-editorial-products ul.products {
    column-gap: 12px !important;
    row-gap: 30px !important;
  }

  .lait-product-card__content {
    padding-top: 10px;
  }

  .lait-product-card__title-row,
  .lait-product-card__meta,
  .lait-product-card__price,
  .lait-product-card__swatches {
    padding-left: 0;
    padding-right: 0;
  }

  .woocommerce ul.products,
  .elementor-widget-woocommerce-products ul.products,
  .elementor-widget-lpc-editorial-products ul.products,
  .lpc-editorial-products ul.products,
  .elementor-widget-wc-archive-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 28px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .woocommerce ul.products li.product,
  .elementor-widget-woocommerce-products ul.products li.product,
  .elementor-widget-lpc-editorial-products ul.products li.product,
  .lpc-editorial-products ul.products li.product,
  .elementor-widget-wc-archive-products ul.products li.product {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
  }

  body:has(.lpc-editorial-products) main.site-main,
  body:has(.lpc-editorial-products) #content.site-main,
  body:has(.lpc-editorial-products) .page-content {
    position: relative;
    z-index: 1;
    padding-bottom: 120px !important;
    background: var(--lpc-color-background, #fff);
  }

  body:has(.lpc-editorial-products) .elementor-widget-lpc-editorial-products,
  body:has(.lpc-editorial-products) .elementor-widget-lpc-editorial-products .elementor-widget-container,
  body:has(.lpc-editorial-products) .lpc-editorial-products {
    height: auto !important;
    min-height: max-content;
    overflow: visible !important;
  }

  body:has(.lpc-editorial-products) .lpc-editorial-products ul.products {
    margin-bottom: 0 !important;
    padding-bottom: 48px !important;
  }

  .lait-product-card,
  .lait-product-card__content,
  .lait-product-card__title-row,
  .lait-product-card__meta {
    min-width: 0;
  }

  .lait-product-card__title,
  .lait-product-card__title a,
  .woocommerce-loop-product__title {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .lait-product-card__wishlist {
    flex: 0 0 auto;
  }

  .lpc-collection-toolbar {
    width: 100%;
  }

  .lpc-search-filters-container,
  .lpc-filters-container {
    gap: 12px;
    min-width: 0;
  }

  .lpc-indexable-filters ul {
    scroll-snap-type: x proximity;
  }

  .lpc-indexable-filters li {
    scroll-snap-align: start;
  }

  .lpc-filter-panel--sidebar,
  .lpc-filter-panel--popup {
    width: 100vw;
    max-width: 100vw;
  }

  .lpc-filter-panel--sidebar .lpc-filter-panel__inner,
  .lpc-filter-panel--popup .lpc-filter-panel__inner {
    padding: 22px 18px;
  }

  .lpc-filter-price > div,
  .lpc-filter-actions {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-lpc-editorial-products ul.products,
  .lpc-editorial-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 420px) {
  .woocommerce ul.products,
  .elementor-widget-woocommerce-products ul.products,
  .elementor-widget-lpc-editorial-products ul.products,
  .lpc-editorial-products ul.products,
  .elementor-widget-wc-archive-products ul.products {
    column-gap: 6px !important;
  }

  .lait-product-card__content {
    padding-top: 8px;
  }

  .lait-product-card__title,
  .lait-product-card__title a,
  .lait-product-card__price,
  .lait-product-card__price .amount,
  .woocommerce-loop-product__title {
    font-size: 10px !important;
    line-height: 1.25;
  }
}
