body.single-product .eps-product-page-shell {
  width: min(1240px, 96vw) !important;
  max-width: 1240px !important;
  margin: 18px auto 0 !important;
}

body.single-product .eps-product-page-shell.woocommerce div.product,
body.single-product .woocommerce div.product.product {
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px auto 0 !important;
  grid-template-columns: minmax(0, 52%) minmax(360px, 48%) !important;
  column-gap: 22px !important;
  row-gap: 18px !important;
}

body.single-product .eps-product-page-shell div.product div.images,
body.single-product .woocommerce div.product div.images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

body.single-product .eps-product-page-shell div.product div.summary,
body.single-product .woocommerce div.product div.summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

body.single-product .eps-product-page-shell div.product > .woocommerce-tabs,
body.single-product .eps-product-page-shell div.product > .related.products,
body.single-product .eps-product-page-shell div.product > .upsells.products,
body.single-product .woocommerce div.product > .woocommerce-tabs,
body.single-product .woocommerce div.product > .related.products,
body.single-product .woocommerce div.product > .upsells.products {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 14px 0 0 !important;
  clear: both !important;
}

body.single-product .woocommerce-tabs {
  padding: 16px !important;
  border-radius: 12px !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  float: none !important;
}

body.single-product .woocommerce-tabs .panel {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #26364f;
  line-height: 1.85;
}

body.single-product .woocommerce-Tabs-panel ul,
body.single-product .woocommerce-Tabs-panel ol {
  margin: 0 18px 0 0;
  padding: 0;
}

body.single-product .related.products,
body.single-product .upsells.products {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  width: 100%;
  margin: 0 0 12px !important;
  padding: 10px 14px;
  border-radius: 10px;
  background: #0d2b5c;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.4;
}

body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.single-product .eps-product-promos {
  grid-column: auto !important;
}

body.single-product div.product div.images .flex-control-thumbs {
  align-items: stretch !important;
}

body.single-product div.product div.images .flex-control-thumbs:empty {
  display: none !important;
}

@media (max-width: 1024px) {
  body.single-product .eps-product-page-shell.woocommerce div.product,
  body.single-product .woocommerce div.product.product {
    grid-template-columns: 1fr !important;
  }

  body.single-product .eps-product-page-shell div.product div.images,
  body.single-product .woocommerce div.product div.images,
  body.single-product .eps-product-page-shell div.product div.summary,
  body.single-product .woocommerce div.product div.summary {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body.single-product .eps-product-page-shell {
    width: min(100%, 94vw) !important;
  }

  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products {
    grid-template-columns: 1fr !important;
  }
}
