/* Stella Green: show complete product photography in any WooCommerce catalog */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.wc-block-product-template .wc-block-components-product-image img,
.wp-block-woocommerce-product-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
/* Classic WooCommerce product cards */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link > img {
  height: clamp(180px, 22vw, 280px) !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  background: #fff;
  border: 1px solid #e8ede9;
  border-radius: 14px;
  transition: border-color .2s, transform .2s;
}
.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link > img {
  border-color: #b9d3bc;
}
/* Block-based cards: crop is avoided even for custom theme aspect ratios */
.wc-block-grid__product-image,
.wc-block-components-product-image,
.wp-block-woocommerce-product-image {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.wp-block-woocommerce-product-image img { padding: 12px !important; box-sizing: border-box !important; }
/* Single-product image stage */
.single-product .woocommerce-product-gallery {
  position: relative;
  margin-bottom: 22px !important;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  border: 1px solid #e8ede9;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  background: #fff;
  text-align: center;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  display: block;
  width: 100% !important;
  height: clamp(290px, 42vw, 540px) !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center;
  padding: clamp(12px, 3vw, 28px);
  box-sizing: border-box;
  background: #fff;
}
.single-product .woocommerce-product-gallery .flex-viewport { border-radius: 18px; border: 1px solid #e8ede9; background: #fff; }
.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper { border: 0; border-radius: 0; }
/* Horizontal, touch-friendly thumbnails */
.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px;
  overflow-x: auto;
  margin: 13px 0 0 !important;
  padding: 2px 2px 8px !important;
  list-style: none;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
  float: none !important;
  clear: none !important;
  flex: 0 0 78px;
  width: 78px !important;
  height: 78px;
  margin: 0 !important;
  border: 1px solid #e4eae5;
  border-radius: 11px;
  background: #fff;
  overflow: hidden;
  scroll-snap-align: start;
}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 5px;
  box-sizing: border-box;
  opacity: .75;
  transition: opacity .2s;
}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover { opacity: 1; }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li:has(img.flex-active) { border: 2px solid #337b47; }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  z-index: 5;
  top: 14px !important;
  right: 14px !important;
  border-radius: 50%;
  box-shadow: 0 3px 16px #00000015;
}
/* New gallery navigation complements native WooCommerce zoom/lightbox */
.sg-gallery-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
.sg-gallery-nav__button {
  appearance: none; border: 1px solid #dce7de; background: #fff; color: #245d37;
  height: 40px; min-width: 44px; padding: 0 14px; border-radius: 999px;
  font: inherit; font-weight: 600; cursor: pointer;
  transition: background .15s, border-color .15s;
}
.sg-gallery-nav__button:hover { background: #edf6ef; border-color: #a8c9b0; }
.sg-gallery-nav__button:focus-visible { outline: 2px solid #247c42; outline-offset: 2px; }
.sg-gallery-nav__count { color: #627168; font-size: 13px; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img { height: 190px !important; padding: 9px !important; }
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img { height: 330px !important; }
  .single-product .woocommerce-product-gallery ol.flex-control-thumbs li { flex-basis: 64px; width: 64px !important; height: 64px; }
}

/* v1.3: homepage Bestsellery. Style ONLY images; never turn image links/cards into flex rows. */
body.home img.sg-best-image,
body.front-page img.sg-best-image {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  box-sizing: border-box !important;
  padding: 12px !important;
  margin: 0 auto !important;
  background: white !important;
  transform: none !important;
  clip-path: none !important;
  float: none !important;
}
@media (max-width: 640px) {
  body.home img.sg-best-image, body.front-page img.sg-best-image { height: 180px !important; padding: 8px !important; }
}
