/* Homepage: tighten module spacing, drop stacked rules, and
   collapse reserved add-to-cart space that left a tall gap
   between product rows. Loaded last on the CMS home page. */

html:root body .wsh-section {
  padding: 48px 24px !important;
}

html:root body .wsh-section .lux-section-title {
  margin-bottom: 8px !important;
}

html:root body .wsh-sub {
  margin: 0 auto 24px !important;
}

html:root body .wsh-center {
  margin-top: 24px !important;
}

html:root body .wsh-new .products-grid {
  gap: 28px 20px !important;
  align-items: start !important;
  margin: 0 !important;
}

html:root body .wsh-new .products-grid > li.item,
html:root body .wsh-new .products-grid > li.item.last {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
}

html:root body .wsh-new .products-grid .product-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 12px !important;
  margin-left: 0 !important;
  aspect-ratio: 1 / 1;
  overflow: hidden !important;
  background: #fff !important;
}

html:root body .wsh-new .products-grid .product-image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

html:root body .wsh-new .products-grid .product-info {
  position: relative !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

html:root body .wsh-new .products-grid .price-box {
  margin: 0 !important;
}

html:root body .wsh-new .products-grid .actions,
html:root body .wsh-new .products-grid .actions .button.btn-cart,
html:root body .wsh-new .products-grid .add-to-links,
html:root body .wsh-new .products-grid .ratings {
  display: none !important;
  position: static !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html:root body .wsh-brand {
  border-color: #eee !important;
}

html:root body .wsh-blog .widget-latest li a,
html:root body .wsh-blog .widget-latest li a:hover {
  border: 1px solid #eee !important;
  background: #fff !important;
}

html:root body .wsh-info {
  background: #fff !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding: 24px 24px 8px !important;
}

html:root body .footer-container.lux-footer,
html:root body .lux-footer {
  background: #fff !important;
  border-top: 0 !important;
  padding-top: 0 !important;
}

html:root body .lux-newsletter-band {
  background: #fff !important;
  border-top: 1px solid #eee !important;
  border-bottom: 0 !important;
  padding: 40px 24px !important;
}

html:root body .lux-footer-grid {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

html:root body .lux-footer-bottom {
  border-top: 1px solid #eee !important;
}

@media only screen and (max-width: 770px) {
  html:root body .lux-newsletter-band {
    padding: 28px 16px !important;
  }

  html:root body .lux-footer-grid {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
}

@media only screen and (max-width: 640px) {
  html:root body .wsh-section {
    padding: 28px 16px !important;
  }

  html:root body .wsh-new .products-grid {
    gap: 24px 12px !important;
  }

  html:root body .wsh-info {
    padding: 16px 16px 4px !important;
  }
}
