/* Shop redesign overrides loaded from a dedicated child-theme asset so dev uses local CSS too. */
:root {
  --tge-shop-accent: #8DC63E;
  --tge-shop-accent-dark: #16210e;
  --tge-shop-panel: #efefe8;
  --tge-shop-panel-soft: #f3f3ec;
  --tge-shop-border: #dbe4d0;
  --tge-shop-text: #1a2312;
  --tge-shop-copy: #465540;
  --tge-shop-font-body: 'DM Sans', sans-serif;
  --tge-shop-font-heading: 'DM Sans', sans-serif;
}

.home,
.post-type-archive-product,
.tax-product_cat,
.tax-product_tag,
.single-product,
.woocommerce-page {
  font-family: var(--tge-shop-font-body);
}

.single-product > #custom-header {
  display: none !important;
}

#custom-header.shop-hero {
  background-color: var(--tge-shop-accent) !important;
  background-image: none !important;
  overflow: hidden;
}

.shop-hero__inner {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  min-height: 250px;
  padding: 24px 30px;
  display: flex;
  align-items: center;
}

.shop-hero__text {
  position: relative;
  z-index: 2;
  width: 48%;
  color: #fff;
  margin-left: 0 !important;
}

.shop-hero .title {
  color: #fff;
  font-family: var(--tge-shop-font-heading);
  font-size: 40px;
  margin: 0 0 10px;
  line-height: 1.12;
}

.shop-hero .subtitle {
  color: #fff;
  font-family: var(--tge-shop-font-body);
  font-size: 16px;
  margin: 0;
  opacity: 0.95;
}

.shop-hero__media {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 58%;
  pointer-events: none;
}

.shop-hero__media img {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  height: 150%;
  width: auto;
  max-width: none !important;
  object-fit: contain;
  object-position: right center;
}

.home .page-title:has(.bwp-title),
.post-type-archive-product .page-title:has(.bwp-title),
.tax-product_cat .page-title:has(.bwp-title),
.tax-product_tag .page-title:has(.bwp-title) {
  display: none !important;
}

.home .search-from.shop,
.post-type-archive-product .search-from.shop,
.tax-product_cat .search-from.shop,
.tax-product_tag .search-from.shop {
  max-width: 1180px;
  margin: 0 auto 42px;
  padding: 0 24px 24px;
  border: 0 !important;
  border-bottom: 1px solid #e5ecdc !important;
}

.home .search-from.shop .form-search,
.post-type-archive-product .search-from.shop .form-search,
.tax-product_cat .search-from.shop .form-search,
.tax-product_tag .search-from.shop .form-search {
  display: flex;
  align-items: center;
  justify-content: center !important;
  gap: 16px;
}

.home .search-from.shop .select_category,
.post-type-archive-product .search-from.shop .select_category,
.tax-product_cat .search-from.shop .select_category,
.tax-product_tag .search-from.shop .select_category {
  min-width: 220px;
  border: 1px solid var(--tge-shop-border);
  border-radius: 999px;
  background: #fff;
}

.home .search-from.shop .pwb-dropdown-toggle,
.post-type-archive-product .search-from.shop .pwb-dropdown-toggle,
.tax-product_cat .search-from.shop .pwb-dropdown-toggle,
.tax-product_tag .search-from.shop .pwb-dropdown-toggle {
  min-height: 52px;
  display: flex;
  align-items: center;
  padding: 0 22px;
  color: var(--tge-shop-text);
}

.home .search-from.shop .btnsearchsubmit .btn,
.post-type-archive-product .search-from.shop .btnsearchsubmit .btn,
.tax-product_cat .search-from.shop .btnsearchsubmit .btn,
.tax-product_tag .search-from.shop .btnsearchsubmit .btn {
  min-height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--tge-shop-accent);
  border: 1px solid var(--tge-shop-accent);
  color: var(--tge-shop-accent-dark);
  font-weight: 700;
}

.home .search-from.shop .btnsearchsubmit .btn span,
.post-type-archive-product .search-from.shop .btnsearchsubmit .btn span,
.tax-product_cat .search-from.shop .btnsearchsubmit .btn span,
.tax-product_tag .search-from.shop .btnsearchsubmit .btn span {
  display: none !important;
}

@media (min-width: 992px) {
  .home .bwp-header.header-v2 .header-right,
  .post-type-archive-product .bwp-header.header-v2 .header-right,
  .tax-product_cat .bwp-header.header-v2 .header-right,
  .tax-product_tag .bwp-header.header-v2 .header-right,
  .single-product .bwp-header.header-v2 .header-right {
    padding-right: 92px;
  }

  .home .bwp-header.header-v2 .bootin-topcart,
  .post-type-archive-product .bwp-header.header-v2 .bootin-topcart,
  .tax-product_cat .bwp-header.header-v2 .bootin-topcart,
  .tax-product_tag .bwp-header.header-v2 .bootin-topcart,
  .single-product .bwp-header.header-v2 .bootin-topcart {
    padding-left: 0;
  }

  .home .bwp-header.header-v2 .block-top-link,
  .post-type-archive-product .bwp-header.header-v2 .block-top-link,
  .tax-product_cat .bwp-header.header-v2 .block-top-link,
  .tax-product_tag .bwp-header.header-v2 .block-top-link,
  .single-product .bwp-header.header-v2 .block-top-link {
    padding-left: 18px;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: -15px;
    margin-right: -15px;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb,
  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-actions {
    float: none;
    padding-left: 15px;
    padding-right: 15px;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb {
    flex: 1 1 auto;
    min-width: 0;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .header-right.shop-header-actions {
    flex: 0 0 auto;
    width: auto;
    margin-left: auto;
    padding-right: 92px;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb {
    margin: 0;
    padding: 20px 0;
  }
}

.single-product .page-title {
  display: none !important;
}

.single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb {
  color: #7a8374;
  font-family: var(--tge-shop-font-body);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb a {
  color: #7a8374;
}

.single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb .current,
.single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb .breadcrumb_last,
.single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb .breadcrumb-title {
  color: var(--tge-shop-accent);
}

.single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb .delimiter {
  margin: 0 10px;
}

@media (max-width: 991px) {
  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-row {
    margin-left: -15px;
    margin-right: -15px;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb,
  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-actions {
    padding-left: 15px;
    padding-right: 15px;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb .breadcrumb {
    margin: 0;
    padding: 16px 0 10px;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .header-right.shop-header-actions {
    width: 100%;
  }
}

@media (min-width: 1400px) {
  .single-product .bwp-header.header-v2.shop-header-compact .shop-header-breadcrumb {
    padding-left: 132px !important;
  }

  .single-product .bwp-header.header-v2.shop-header-compact .header-right.shop-header-actions {
    padding-right: 128px !important;
  }
}

.home .wpb_text_column h2,
.home .title-block h2,
.related .title-block h2,
.post-type-archive-product .page-title .bwp-title,
.tax-product_cat .page-title .bwp-title,
.tax-product_tag .page-title .bwp-title {
  color: var(--tge-shop-text);
  text-align: center;
  font-family: var(--tge-shop-font-heading);
  font-size: clamp(32px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.home .featured-publications {
  max-width: 1180px;
  margin: 64px auto 34px !important;
  padding: 0 24px;
}

.home .featured-publications h2 {
  margin: 0;
}

#featuredProducts.vc_row,
#featuredProducts[data-vc-full-width] {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 56px !important;
  padding: 0 24px !important;
  left: auto !important;
  right: auto !important;
  box-sizing: border-box;
}

#featuredProducts,
.home .bwp-filter-heading,
.home .bwp-filter-content,
.post-type-archive-product .products.products-list,
.tax-product_cat .products.products-list,
.tax-product_tag .products.products-list,
.related {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

#featuredProducts > .vc_column_container,
.home .bwp-filter-heading,
.home .bwp-filter-content,
.post-type-archive-product .products.products-list,
.tax-product_cat .products.products-list,
.tax-product_tag .products.products-list,
.related {
  padding-left: 24px;
  padding-right: 24px;
}

#featuredProducts > .vc_column_container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home .bwp-filter-heading {
  display: block !important;
  width: 100%;
  margin: 0 auto 24px !important;
  text-align: center;
}

.home .bwp-filter-content {
  width: 100% !important;
  max-width: 1170px !important;
  box-sizing: border-box;
}

.home .bwp-filter-homepage .bwp-filter-heading ul {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.home .bwp-filter-homepage .bwp-filter-heading ul li {
  font-family: var(--tge-shop-font-body);
  width: auto !important;
  flex: 0 0 auto;
  padding: 9px 16px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5f6c57;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.home .bwp-filter-homepage .bwp-filter-heading ul li.active,
.home .bwp-filter-homepage .bwp-filter-heading ul li:hover {
  background: rgba(141, 198, 62, 0.14);
  color: var(--tge-shop-accent);
}

@media (max-width: 767px) {
  .home .bwp-filter-heading {
    padding-left: 16px;
    padding-right: 16px;
  }

  .home .bwp-filter-homepage .bwp-filter-heading ul {
    gap: 10px;
  }

  .home .bwp-filter-homepage .bwp-filter-heading ul li {
    padding: 8px 14px;
    font-size: 12px;
  }
}

#featuredProducts .woocommerce ul.products.products-list.row.grid,
#featuredProducts ul.products.products-list.row.grid,
.post-type-archive-product ul.products.products-list.row.grid,
.tax-product_cat ul.products.products-list.row.grid,
.tax-product_tag ul.products.products-list.row.grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 26px;
  margin: 0;
}

#featuredProducts .woocommerce ul.products.products-list.row.grid::before,
#featuredProducts .woocommerce ul.products.products-list.row.grid::after,
#featuredProducts ul.products.products-list.row.grid::before,
#featuredProducts ul.products.products-list.row.grid::after,
.home .bwp-filter-content .content.products-list.grid::before,
.home .bwp-filter-content .content.products-list.grid::after,
.related .content-product-list .products-list.grid::before,
.related .content-product-list .products-list.grid::after,
.post-type-archive-product ul.products.products-list.row.grid::before,
.post-type-archive-product ul.products.products-list.row.grid::after,
.tax-product_cat ul.products.products-list.row.grid::before,
.tax-product_cat ul.products.products-list.row.grid::after,
.tax-product_tag ul.products.products-list.row.grid::before,
.tax-product_tag ul.products.products-list.row.grid::after {
  content: none !important;
  display: none !important;
}

#featuredProducts .woocommerce ul.products.products-list.row.grid > li.product,
#featuredProducts ul.products.products-list.row.grid > li.product,
.post-type-archive-product ul.products.products-list.row.grid > li.product,
.tax-product_cat ul.products.products-list.row.grid > li.product,
.tax-product_tag ul.products.products-list.row.grid > li.product {
  width: auto;
  margin: 0;
  padding: 0 !important;
  height: 100%;
  float: none !important;
}

.home .bwp-filter-content .content.products-list.grid,
.related .content-product-list .products-list.grid {
  display: block !important;
  margin: 0 15px !important;
}

.single-product .related .content-product-list .products-list.grid {
  margin: 0 !important;
}

.home .bwp-filter-content .content.products-list.grid .slick-list,
.related .content-product-list .products-list.grid .slick-list {
  width: 100% !important;
  margin: 0 !important;
  overflow: visible;
}

.home .bwp-filter-content .content.products-list.grid .slick-track,
.related .content-product-list .products-list.grid .slick-track {
  width: 100% !important;
  transform: none !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 26px;
}

.home .bwp-filter-content .content.products-list.grid .slick-track::before,
.home .bwp-filter-content .content.products-list.grid .slick-track::after,
.related .content-product-list .products-list.grid .slick-track::before,
.related .content-product-list .products-list.grid .slick-track::after {
  content: none !important;
  display: none !important;
}

.home .bwp-filter-content .slick-list,
.related .content-product-list .slick-list {
  overflow: visible;
}

.home .bwp-filter-content .slick-track,
.related .content-product-list .slick-track {
  width: 100% !important;
  transform: none !important;
}

.home .bwp-filter-content .slick-slide,
.related .content-product-list .slick-slide {
  width: auto !important;
  height: auto !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.single-product .related .content-product-list .slick-slide.products-entry.product-wapper {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 15px !important;
  box-sizing: border-box;
}

.home .bwp-filter-content .slick-slide.slick-cloned,
.related .content-product-list .slick-slide.slick-cloned {
  display: none !important;
}

.home .content-product-list > .fa-chevron-left,
.home .content-product-list > .fa-chevron-right,
.related .content-product-list > .fa-chevron-left,
.related .content-product-list > .fa-chevron-right {
  display: none !important;
}

#featuredProducts ul.products li.product .products-entry,
.home .content-product-list .products-entry,
.related .products-entry,
.post-type-archive-product ul.products.products-list li.product .products-entry,
.tax-product_cat ul.products.products-list li.product .products-entry,
.tax-product_tag ul.products.products-list li.product .products-entry {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  min-height: auto;
  padding: 15px 15px 15px 15px !important;
  background: var(--tge-shop-panel) !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  gap: 8px;
}

#featuredProducts ul.products li.product .products-thumb,
.home .content-product-list .products-thumb,
.related .products-thumb,
.post-type-archive-product ul.products.products-list li.product .products-thumb,
.tax-product_cat ul.products.products-list li.product .products-thumb,
.tax-product_tag ul.products.products-list li.product .products-thumb {
  width: 100%;
  max-width: none !important;
  /* Fixed height slot so every card row aligns — image never clipped, just max-constrained */
  height: 220px;
  min-height: 0;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: var(--tge-shop-panel) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible; /* never clip the image */
}

#featuredProducts .products-thumb .woocommerce-LoopProduct-link,
.home .content-product-list .products-thumb .woocommerce-LoopProduct-link,
.related .products-thumb .woocommerce-LoopProduct-link,
.post-type-archive-product ul.products.products-list .products-thumb .woocommerce-LoopProduct-link,
.tax-product_cat ul.products.products-list .products-thumb .woocommerce-LoopProduct-link,
.tax-product_tag ul.products.products-list .products-thumb .woocommerce-LoopProduct-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 220px;
  min-height: 0;
  overflow: visible;
}

#featuredProducts ul.products li.product .products-thumb img,
.home .content-product-list .products-thumb img,
.related .products-thumb img,
.post-type-archive-product ul.products.products-list li.product .products-thumb img,
.tax-product_cat ul.products.products-list li.product .products-thumb img,
.tax-product_tag ul.products.products-list li.product .products-thumb img {
  /* Show the FULL image — nothing cropped, nothing hidden.
     max-height caps the slot height; width scales proportionally. */
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 220px !important;
  margin: 0 auto;
  object-fit: unset;
}

#featuredProducts ul.products li.product .product-label,
.home .content-product-list .product-label,
.related .product-label,
.post-type-archive-product ul.products.products-list li.product .product-label,
.tax-product_cat ul.products.products-list li.product .product-label,
.tax-product_tag ul.products.products-list li.product .product-label,
#featuredProducts ul.products li.product .product-button,
.home .content-product-list .product-button,
.related .product-button,
.post-type-archive-product ul.products.products-list li.product .product-button,
.tax-product_cat ul.products.products-list li.product .product-button,
.tax-product_tag ul.products.products-list li.product .product-button {
  display: none !important;
}

#featuredProducts ul.products li.product .products-content,
.home .content-product-list .products-content,
.related .products-content,
.post-type-archive-product ul.products.products-list li.product .products-content,
.tax-product_cat ul.products.products-list li.product .products-content,
.tax-product_tag ul.products.products-list li.product .products-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  padding: 0 !important;
  text-align: left;
  background: transparent !important;
}

#featuredProducts ul.products li.product .products-content .product-title,
.home .content-product-list .products-content .product-title,
.related .products-content .product-title,
.post-type-archive-product ul.products.products-list li.product .products-content .product-title,
.tax-product_cat ul.products.products-list li.product .products-content .product-title,
.tax-product_tag ul.products.products-list li.product .products-content .product-title {
  font-family: var(--tge-shop-font-heading);
  min-height: 3.9em !important;
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.24;
}

#featuredProducts ul.products li.product .products-content .product-title a,
.home .content-product-list .products-content .product-title a,
.related .products-content .product-title a,
.post-type-archive-product ul.products.products-list li.product .products-content .product-title a,
.tax-product_cat ul.products.products-list li.product .products-content .product-title a,
.tax-product_tag ul.products.products-list li.product .products-content .product-title a {
  color: var(--tge-shop-text);
}

#featuredProducts ul.products li.product .products-content .price,
.home .content-product-list .products-content .price,
.related .products-content .price,
.post-type-archive-product ul.products.products-list li.product .products-content .price,
.tax-product_cat ul.products.products-list li.product .products-content .price,
.tax-product_tag ul.products.products-list li.product .products-content .price {
  font-family: var(--tge-shop-font-body);
  display: block;
  margin-top: auto;
  color: var(--tge-shop-accent) !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
}

.post-type-archive-product ul.products.products-list.row.grid > li,
.tax-product_cat ul.products.products-list.row.grid > li,
.tax-product_tag ul.products.products-list.row.grid > li {
  width: 100% !important;
  min-width: 0;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-entry,
.tax-product_cat ul.products.products-list.row.grid > li .products-entry,
.tax-product_tag ul.products.products-list.row.grid > li .products-entry,
.post-type-archive-product ul.products.products-list.row.grid > li .product-wapper,
.tax-product_cat ul.products.products-list.row.grid > li .product-wapper,
.tax-product_tag ul.products.products-list.row.grid > li .product-wapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0;
  min-height: 100%;
  margin: 0 !important;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-entry,
.tax-product_cat ul.products.products-list.row.grid > li .products-entry,
.tax-product_tag ul.products.products-list.row.grid > li .products-entry {
  padding: 14px 14px 6px !important;
  background: var(--tge-shop-panel) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-content,
.tax-product_cat ul.products.products-list.row.grid > li .products-content,
.tax-product_tag ul.products.products-list.row.grid > li .products-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: left;
  background: transparent !important;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-content .product-title,
.tax-product_cat ul.products.products-list.row.grid > li .products-content .product-title,
.tax-product_tag ul.products.products-list.row.grid > li .products-content .product-title {
  margin: 0 !important;
  min-height: 0 !important;
  max-height: calc(1.24em * 3) !important;
  overflow: hidden !important;
  font-family: var(--tge-shop-font-heading);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.24;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-content .product-title a,
.tax-product_cat ul.products.products-list.row.grid > li .products-content .product-title a,
.tax-product_tag ul.products.products-list.row.grid > li .products-content .product-title a {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden !important;
  color: var(--tge-shop-text);
  text-overflow: ellipsis;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-content .price,
.tax-product_cat ul.products.products-list.row.grid > li .products-content .price,
.tax-product_tag ul.products.products-list.row.grid > li .products-content .price {
  display: block !important;
  margin: 15px 0 0 !important;
  color: var(--tge-shop-accent) !important;
  font-family: var(--tge-shop-font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-thumb,
.tax-product_cat ul.products.products-list.row.grid > li .products-thumb,
.tax-product_tag ul.products.products-list.row.grid > li .products-thumb {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: 220px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  margin-bottom: 20px !important;
  background: var(--tge-shop-panel) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-thumb .woocommerce-LoopProduct-link,
.tax-product_cat ul.products.products-list.row.grid > li .products-thumb .woocommerce-LoopProduct-link,
.tax-product_tag ul.products.products-list.row.grid > li .products-thumb .woocommerce-LoopProduct-link {
  display: flex !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 220px !important;
  min-width: 0;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.post-type-archive-product ul.products.products-list.row.grid > li .products-thumb img,
.tax-product_cat ul.products.products-list.row.grid > li .products-thumb img,
.tax-product_tag ul.products.products-list.row.grid > li .products-thumb img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 220px !important;
  margin: auto !important;
  object-fit: contain !important;
}

.post-type-archive-product ul.products.products-list.row.grid,
.tax-product_cat ul.products.products-list.row.grid,
.tax-product_tag ul.products.products-list.row.grid,
.post-type-archive-product ul.products.products-list.row.grid > li,
.tax-product_cat ul.products.products-list.row.grid > li,
.tax-product_tag ul.products.products-list.row.grid > li,
.post-type-archive-product ul.products.products-list.row.grid > li .products-entry,
.tax-product_cat ul.products.products-list.row.grid > li .products-entry,
.tax-product_tag ul.products.products-list.row.grid > li .products-entry,
.post-type-archive-product ul.products.products-list.row.grid > li .product-wapper,
.tax-product_cat ul.products.products-list.row.grid > li .product-wapper,
.tax-product_tag ul.products.products-list.row.grid > li .product-wapper,
.post-type-archive-product ul.products.products-list.row.grid > li .products-thumb,
.tax-product_cat ul.products.products-list.row.grid > li .products-thumb,
.tax-product_tag ul.products.products-list.row.grid > li .products-thumb,
.post-type-archive-product ul.products.products-list.row.grid > li .products-thumb img,
.tax-product_cat ul.products.products-list.row.grid > li .products-thumb img,
.tax-product_tag ul.products.products-list.row.grid > li .products-thumb img {
  transition: none !important;
  animation: none !important;
}

.single-product div.product {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.single-product div.product .bwp-single-product {
  display: flex;
  align-items: flex-start;
  gap: 44px;
  margin-bottom: 56px;
}

.single-product div.product .bwp-single-image,
.single-product div.product .bwp-single-info {
  float: none;
}

.single-product .bwp-single-image .images {
  padding: 15px 0;
  background: var(--tge-shop-panel);
  border: 0;
  border-radius: 0;
}

.single-product .bwp-single-image .images > .row {
  display: flex;
  margin: 0;
}

.single-product .bwp-single-image .col-sm-2 {
  width: 108px;
  padding: 0 12px 0 0;
}

.single-product .bwp-single-image .col-sm-10 {
  width: calc(100% - 108px);
  padding: 0;
}

.single-product .bwp-single-image .img-thumbnail {
  margin-bottom: 10px;
  padding: 6px;
  border: 1px solid var(--tge-shop-border);
  border-radius: 0;
  background: #fff;
}

.single-product .bwp-single-image .image-additional {
  position: relative;
  min-height: 560px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent; /* single panel: grey comes from .images wrapper */
  border-radius: 0;
}

.single-product .bwp-single-image .image-additional img {
  width: auto;
  max-width: 100%;
  max-height: 600px;
  margin: 0 auto;
  object-fit: contain;
}

.single-product .bwp-single-image .product-label {
  position: absolute;
  top: -30px;
  right: -60px;
  left: auto;
  width: auto !important;
  display: none;
}

.single-product .bwp-single-image .product-label .onsale {
  display: inline-flex;
  min-height: 32px;
  padding: 6px 12px !important;
  border-radius: 999px;
  background: var(--tge-shop-accent-dark) !important;
  color: #fff !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.single-product .bwp-single-info .summary {
  max-width: 520px;
  padding-top: 18px;
}

.single-product .bwp-single-info .product_title {
  margin: 0 0 16px;
  color: var(--tge-shop-text);
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.single-product .bwp-single-info .price {
  margin: 0 0 20px;
  color: var(--tge-shop-accent) !important;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
}

.single-product .bwp-single-info .description {
  margin-bottom: 26px;
  color: var(--tge-shop-copy);
  font-size: 16px;
  line-height: 1.75;
}

.single-product .bwp-single-info .cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.single-product .bwp-single-info form.cart {
  display: flex !important;
  align-items: center;
  gap: 18px;
}

.single-product .product-type-simple .bwp-single-info .entry-summary > .cart,
.single-product .product-type-variable .bwp-single-info .entry-summary > .cart {
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.single-product .product-type-simple .bwp-single-info .entry-summary > .cart .quantity,
.single-product .product-type-simple .bwp-single-info .entry-summary > .cart .single_add_to_cart_button,
.single-product .product-type-variable .bwp-single-info .entry-summary > .cart .quantity,
.single-product .product-type-variable .bwp-single-info .entry-summary > .cart .single_add_to_cart_button {
  margin-top: 0 !important;
}

.single-product .product-type-simple .bwp-single-info .entry-summary > .cart .single_add_to_cart_button.button,
.single-product .product-type-variable .bwp-single-info .entry-summary > .cart .single_add_to_cart_button.button {
  border-radius: 3px !important;
}

.single-product .bwp-single-info .quantity {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 54px;
  margin: 0 !important;
  padding: 0 6px;
  border: 1px solid var(--tge-shop-border);
  border-radius: 999px;
  background: #fff;
}

.single-product .bwp-single-info .quantity .qty {
  width: 54px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--tge-shop-text);
  font-weight: 700;
  text-align: center;
}

.single-product .bwp-single-info .quantity button {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--tge-shop-text);
  font-size: 22px;
  line-height: 1;
}

.single-product .bwp-single-info .single_add_to_cart_button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  float: none !important;
  min-height: 54px;
  margin-left: 0 !important;
  padding: 0 28px;
  border-radius: 3px;
  background: var(--tge-shop-accent) !important;
  border: 1px solid var(--tge-shop-accent) !important;
  color: var(--tge-shop-accent-dark) !important;
  font-weight: 700;
}

.single-product .bwp-single-info .list-author {
  display: block !important;
  margin: 0 0 16px;
  color: #52614a;
  font-size: 15px;
}

.single-product .bwp-single-info .list-author a,
.single-product .bwp-single-info .product_meta a {
  color: var(--tge-shop-text);
}

.single-product .bwp-single-info .product_meta {
  margin-top: 0;
  padding-top: 0;
  border-top: 0px solid #e5ecdc;
  display: grid;
  gap: 5px;
  color: #52614a;
}

.single-product .bwp-single-info .product_meta > span {
  display: block;
  margin: 0;
  line-height: 1.45;
}

.single-product .bwp-single-info .product_meta .share-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.single-product .bwp-single-info .product_meta .share-label {
  color: var(--tge-shop-text);
  font-weight: 700;
}

.single-product .bwp-single-info .product_meta .share-meta .social-share {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.single-product .bwp-single-info .product_meta .share-meta .social-share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #3c3f42;
  color: #fff !important;
}

.single-product .bwp-single-info .product_meta .share-meta .social-share a svg {
  width: 12px;
  height: 12px;
}

.single-product .bwp-single-info .product_meta .share-meta .social-share a:hover,
.single-product .bwp-single-info .product_meta .share-meta .social-share a:hover i {
  background: var(--tge-shop-text);
  color: #fff !important;
}

.single-product .bwp-single-info .product_meta.product-meta-panel {
  gap: 0;
}

.single-product .bwp-single-info .product_meta.product-meta-panel > .meta-line {
  display: grid;
  grid-template-columns: minmax(88px, auto) 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 0;
  border-top: 1px solid #e5ecdc;
}

.single-product .bwp-single-info .product_meta.product-meta-panel > .meta-line:first-child {
  border-top: 0;
}

.single-product .bwp-single-info .product_meta.product-meta-panel .meta-label {
  color: var(--tge-shop-text);
  font-weight: 700;
}

.single-product .bwp-single-info .product_meta.product-meta-panel .meta-value {
  color: #52614a;
}

.single-product .bwp-single-info .product_meta.product-meta-panel .meta-value a {
  color: #52614a;
}

.single-product .bwp-single-info .product_meta.product-meta-panel .meta-value a:hover {
  color: var(--tge-shop-text);
}

.single-product .bwp-single-info .product_meta.product-meta-panel .meta-value--share,
.single-product .bwp-single-info .product_meta.product-meta-panel .social-share {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.single-product .bwp-single-info .product_meta.product-meta-panel .social-share a {
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 999px;
  background: #3c3f42;
  color: #fff;
}

.single-product .bwp-single-info .product_meta.product-meta-panel .social-share a:hover,
.single-product .bwp-single-info .product_meta.product-meta-panel .social-share a:hover i {
  background: var(--tge-shop-text);
  color: #fff;
}

.single-product .bwp-single-info .product_meta > span {
  margin: 0;
}

.single-product .bwp-single-info .product_meta .posted_in,
.single-product .bwp-single-info .product_meta .tagged_as,
.single-product .bwp-single-info .product_meta .sku_wrapper,
.single-product .bwp-single-info .product_meta .share-meta {
  margin-bottom: 0 !important;
}

.single-product .bwp-single-info .social-icon {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 18px;
}

.single-product .bwp-single-info .social-share {
  display: flex;
  gap: 10px;
}

.single-product .bwp-single-info .social-share > a {
  padding-right: 0 !important;
}

.single-product .bwp-single-info .social-share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--tge-shop-border);
  border-radius: 999px;
  background: #fff;
}

.single-product .woocommerce-tabs {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.single-product .woocommerce-tabs ul.tabs {
  display: none;
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0 !important;
  border: 0;
  background: none;
}

.single-product .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid var(--tge-shop-border);
  border-radius: 999px;
  color: var(--tge-shop-text);
  background: #fff;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li:hover a {
  color: #fff !important;
  background: var(--tge-shop-accent) !important;
  border-color: var(--tge-shop-accent) !important;
}

.single-product .woocommerce-tabs .panel {
  padding: 0;
  border: 0px solid var(--tge-shop-border);
  border-radius: 0;
  background: #fff;
  color: var(--tge-shop-copy);
  line-height: 1.8;
}

.single-product .related {
  margin-top: 72px;
}

@media (max-width: 1199px) {
  #featuredProducts .woocommerce ul.products.products-list.row.grid,
  #featuredProducts ul.products.products-list.row.grid,
  .home .bwp-filter-content .content.products-list.grid,
  .post-type-archive-product ul.products.products-list.row.grid,
  .tax-product_cat ul.products.products-list.row.grid,
  .tax-product_tag ul.products.products-list.row.grid,
  .related .content-product-list .products-list.grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .shop-hero__text {
    width: 54%;
  }

  .shop-hero__media {
    width: 44%;
  }

  .shop-hero__media img {
    height: auto;
    max-width: 100% !important;
    right: 0;
    width: 100%;
  }
}

@media (max-width: 991px) {
  .shop-hero__text {
    width: 56%;
  }

  .shop-hero__media {
    width: 50%;
    opacity: 0.6;
  }

  .home .search-from.shop .form-search,
  .post-type-archive-product .search-from.shop .form-search,
  .tax-product_cat .search-from.shop .form-search,
  .tax-product_tag .search-from.shop .form-search {
    flex-wrap: wrap;
  }

  #featuredProducts .woocommerce ul.products.products-list.row.grid,
  #featuredProducts ul.products.products-list.row.grid,
  .home .bwp-filter-content .content.products-list.grid,
  .post-type-archive-product ul.products.products-list.row.grid,
  .tax-product_cat ul.products.products-list.row.grid,
  .tax-product_tag ul.products.products-list.row.grid,
  .related .content-product-list .products-list.grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-product div.product .bwp-single-product {
    gap: 28px;
  }

  .single-product .bwp-single-image .images > .row {
    display: block;
  }

  .single-product .bwp-single-image .col-sm-2,
  .single-product .bwp-single-image .col-sm-10 {
    width: 100%;
    padding: 0;
  }

  .single-product .bwp-single-image .col-sm-2 {
    margin-bottom: 16px;
  }
}

@media (max-width: 767px) {
  .shop-hero__inner {
    min-height: 0;
    padding: 28px 20px;
  }

  .shop-hero__text {
    width: 100%;
    text-align: center;
  }

  .shop-hero .title {
    font-size: 30px;
  }

  .shop-hero__media {
    display: none;
  }

  .home .search-from.shop,
  .post-type-archive-product .search-from.shop,
  .tax-product_cat .search-from.shop,
  .tax-product_tag .search-from.shop,
  #featuredProducts > .vc_column_container,
  .home .bwp-filter-heading,
  .home .bwp-filter-content,
  .post-type-archive-product .products.products-list,
  .tax-product_cat .products.products-list,
  .tax-product_tag .products.products-list,
  .related {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #featuredProducts .woocommerce ul.products.products-list.row.grid,
  #featuredProducts ul.products.products-list.row.grid,
  .home .bwp-filter-content .content.products-list.grid,
  .post-type-archive-product ul.products.products-list.row.grid,
  .tax-product_cat ul.products.products-list.row.grid,
  .tax-product_tag ul.products.products-list.row.grid,
  .related .content-product-list .products-list.grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  #featuredProducts .products-entry,
  .home .content-product-list .products-entry,
  .related .products-entry,
  .post-type-archive-product ul.products.products-list .products-entry,
  .tax-product_cat ul.products.products-list .products-entry,
  .tax-product_tag ul.products.products-list .products-entry {
    padding: 18px 14px 14px;
  }

  .single-product div.product {
    padding: 0 18px;
  }

  .single-product div.product .bwp-single-product {
    display: block;
    margin-bottom: 42px;
  }

  .single-product .bwp-single-image,
  .single-product .bwp-single-info,
  .single-product .woocommerce-tabs {
    padding-left: 0;
    padding-right: 0;
  }

  .single-product .bwp-single-image .images {
    padding: 16px;
  }

  .single-product .bwp-single-image .image-additional {
    min-height: 360px;
    padding: 18px;
  }

  .single-product .bwp-single-info .summary {
    max-width: none;
    padding-top: 28px;
  }

  .single-product .bwp-single-info .cart,
  .single-product .bwp-single-info .social-icon {
    align-items: flex-start;
  }

  .single-product .product-type-simple .bwp-single-info .entry-summary > .cart,
  .single-product .product-type-variable .bwp-single-info .entry-summary > .cart {
    flex-wrap: wrap;
  }

  .single-product .bwp-single-info .product_meta.product-meta-panel > .meta-line {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .single-product .woocommerce-tabs .panel {
    padding: 22px 20px;
  }
}

/* =====================================================
   SINGLE PRODUCT – hide thumbnail strip (col-sm-2)
   Show only the main cover image, full-width inside the panel.
   ===================================================== */
.single-product .bwp-single-image .col-sm-2 {
  display: none !important;
}

.single-product .bwp-single-image .col-sm-10 {
  width: 100% !important;
  padding: 0 !important;
}

/* =====================================================
   COOKIE CONSENT POPUP ("We value your privacy")
   Plugin: CookieYes / cookie-law-info
   Bottom bar is confirmed fine; only the modal popup
   buttons should be brand green.
   ===================================================== */
.cky-modal [data-cky-tag="accept-button"],
.cky-modal [data-cky-tag="reject-button"],
.cky-modal [data-cky-tag="settings-button"] {
  background-color: #8DC63E !important;
  border-color: #8DC63E !important;
  color: #fff !important;
}

.cky-modal [data-cky-tag="accept-button"]:hover,
.cky-modal [data-cky-tag="reject-button"]:hover,
.cky-modal [data-cky-tag="settings-button"]:hover {
  background-color: #7ab234 !important;
  border-color: #7ab234 !important;
  color: #fff !important;
}

/* =====================================================
   DM SANS – GLOBAL FONT OVERRIDE
   Matches TGE main site typography. Overrides hardcoded
   Roboto / Muli / Open Sans Condensed / Merriweather
   values coming from the parent theme's style.css.
   ===================================================== */
body,
.home,
.post-type-archive-product,
.tax-product_cat,
.tax-product_tag,
.single-product,
.woocommerce-page,
.woocommerce-account,
.woocommerce-cart,
.woocommerce-checkout {
  font-family: 'DM Sans', sans-serif !important;
}

/* Hero titles */
.title,
.subtitle {
  font-family: 'DM Sans', sans-serif !important;
}

/* Buttons that hardcode Open Sans Condensed */
.single_add_to_cart_button,
.btn,
button,
input[type="submit"],
input[type="button"] {
  font-family: 'DM Sans', sans-serif !important;
}

/* Product titles and headings */
h1, h2, h3, h4, h5, h6,
.product_title,
.product-title,
.woocommerce-loop-product__title {
  font-family: 'DM Sans', sans-serif !important;
}

.products-list.grid .product-wapper .products-content .price {
  margin-top: 15px;
}

/* =====================================================
   WOOCOMMERCE PRICE AND CART FONT ALIGNMENT
   Ensures price amounts and cart text use DM Sans font
   matching the TGE main website typography.
   ===================================================== */

/* Price amount and currency symbol – match site font */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.woocommerce-Price-currencySymbol,
.price span,
.price .woocommerce-Price-amount {
  font-family: 'DM Sans', sans-serif !important;
  font-size: inherit;
}

/* Cart items list text sizing */
.woocommerce-cart-form,
.woocommerce-cart-form table,
.woocommerce-cart-form td,
.cart_item,
.mini-cart-items,
.cart-contents,
.cart_table,
.shop_table td {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px;
}

/* Product table/list styling for cart page */
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px;
}

/* Cart/Order total styling */
.cart_totals table.shop_table tbody tr td,
.cart_totals table.shop_table tbody tr th,
.woocommerce .order-review table.shop_table td,
.woocommerce .order-review table.shop_table th {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px;
}
