/* Ethereal Printing UK v0.4 — Elementor Free / WooCommerce polish. */
/* WooCommerce shortcode product grids in Elementor. Woo's old float/clearfix layout
   can otherwise stack the cards vertically in third-party themes. */
.elementor-widget-shortcode .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.elementor-widget-shortcode .woocommerce ul.products::before,
.elementor-widget-shortcode .woocommerce ul.products::after { display: none !important; content: none !important; }
.elementor-widget-shortcode .woocommerce ul.products li.product,
.elementor-widget-shortcode .woocommerce ul.products[class*="columns-"] li.product {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  min-width: 0;
}
/* Vertical product-card rhythm; applicable to shop archives too. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 14px 14px 16px;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block;
  width: 100%;
}
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  width: 100%;
  display: block;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 0 0 9px;
  line-height: 1.4;
  min-height: 2.8em;
  color: var(--charcoal, #454F4B);
}
.woocommerce ul.products li.product .price {
  display: block;
  margin: 0 0 12px;
  font-size: .95rem;
  font-weight: 800;
  color: var(--purple, #777F7B);
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-self: flex-start;
  text-align: center;
  margin-top: auto;
  line-height: 1.25;
  max-width: 100%;
  white-space: normal;
}
.woocommerce ul.products li.product .star-rating { margin-bottom: 10px; }
.woocommerce ul.products li.product .onsale { z-index: 2; }
/* Respect smaller viewports — two on tablet, one on mobile. */
@media(max-width: 1024px) {
  .elementor-widget-shortcode .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media(max-width: 600px) {
  .elementor-widget-shortcode .woocommerce ul.products { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}

/* V1.0: stable AJAX add-to-basket confirmation in Elementor product shortcodes. */
.elementor-widget-shortcode .woocommerce ul.products li.product a.added_to_cart.wc-forward{display:none!important}
.elementor-widget-shortcode .woocommerce ul.products li.product a.button.add_to_cart_button{min-height:44px;transition:background-color .18s,color .18s}
.elementor-widget-shortcode .woocommerce ul.products li.product a.button.eth-added-confirmation{background:#EFF1EB!important;color:#586660!important;border:1px solid #c9b7e8!important;cursor:pointer}

/* V1.1: global AJAX basket buttons and native WooCommerce view-basket links. */
.woocommerce a.added_to_cart.wc-forward { display:none!important; }
.woocommerce .button.ajax_add_to_cart,
.woocommerce .button.add_to_cart_button,
.woocommerce button.single_add_to_cart_button {min-height:44px;}
.woocommerce .button.eth-added-confirmation,
.woocommerce button.eth-added-confirmation {background:#EFF1EB!important;color:#586660!important;border:1px solid #c9b7e8!important;}


/* V1.17: Native Shop & product-category archives must use the same grid as Elementor. */
body.woocommerce-shop .woocommerce ul.products,
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products,
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  list-style:none!important;
  padding:0!important;
  margin:0 0 35px!important;
  width:100%!important;
  clear:both;
}
body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,
body.tax-product_tag ul.products::after {display:none!important;content:none!important;}
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  width:auto!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column;
  background:#fff;
  border:1px solid #eee5ef;
  border-radius:18px;
  padding:13px 13px 17px;
  box-shadow:0 8px 24px #6556710a;
  transition:box-shadow .18s ease,transform .18s ease;
}
body.woocommerce-shop ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {box-shadow:0 13px 26px #6556711b;transform:translateY(-2px)}
body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
body.tax-product_cat ul.products li.product img,
body.tax-product_tag ul.products li.product img {
  display:block!important;width:100%!important;height:auto!important;
  max-height:none!important;aspect-ratio:1/1!important;object-fit:contain!important;
  padding:12px;background:#f8f7f7;border-radius:12px;margin:0 0 13px!important;
}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
  font-family:Manrope,Arial,sans-serif;font-size:.94rem;line-height:1.45;
  min-height:2.8em;margin:0 0 9px;
}
body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button {
  margin-top:auto!important;align-self:stretch!important;display:flex!important;
  align-items:center;justify-content:center;min-height:44px;padding:11px 12px;
  border-radius:12px;text-align:center;white-space:normal;
}
/* Result count and sort select share a single row, without changing WooCommerce sorting. */
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {float:left;margin:0 0 25px;line-height:43px;color:#626D67;font-size:.86rem;}
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {float:right;margin:0 0 25px;}
body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select {
  background:#fff;border:1px solid #dfd2e6;border-radius:10px;
  padding:10px 32px 10px 13px;min-height:43px;max-width:100%;color:#382f3d;
}
body.post-type-archive-product .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination,
body.tax-product_tag .woocommerce-pagination {clear:both;margin-top:30px;}
@media(max-width:1100px) {
  body.woocommerce-shop ul.products,body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,body.tax-product_tag ul.products {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:19px!important;}
}
@media(max-width:800px) {
  body.woocommerce-shop ul.products,body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,body.tax-product_tag ul.products {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
}
@media(max-width:520px) {
  body.woocommerce-shop ul.products,body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,body.tax-product_tag ul.products {grid-template-columns:minmax(0,1fr)!important;gap:16px!important;}
  body.post-type-archive-product .woocommerce-result-count,body.tax-product_cat .woocommerce-result-count,body.tax-product_tag .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-ordering,body.tax-product_cat .woocommerce-ordering,body.tax-product_tag .woocommerce-ordering {float:none;display:block;margin:0 0 12px;line-height:1.5;}
  body.post-type-archive-product .woocommerce-ordering select,body.tax-product_cat .woocommerce-ordering select,body.tax-product_tag .woocommerce-ordering select {width:100%;}
}
@media(prefers-reduced-motion:reduce) {
  body.woocommerce-shop ul.products li.product,body.post-type-archive-product ul.products li.product,
  body.tax-product_cat ul.products li.product,body.tax-product_tag ul.products li.product {transition:none;transform:none!important;}
}
