:root {
  --sd-wc-gallery-thumb-gap: .3125em;
  --sd-wc-gallery-thumb-width: 91px;
  --sd-wc-gallery-thumb-outer-width: calc( var(--sd-wc-gallery-thumb-width) + ( 2 * var(--sd-wc-gallery-thumb-gap) ) );
  --sd-wc-gallery-global-padding: 20px;
  --sd-wc-gallery-flex-viewport-width: calc( 37.5rem + var(--sd-wc-gallery-thumb-outer-width) + var(--sd-wc-gallery-global-padding) );
}

.woocommerce > .single-product,
.banner-for-single h1.pickup-heading {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}
.banner-for-single {
  max-height: none !important;
  padding: 6rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.banner-for-single > [id*="post_widget"],
.banner-for-single > .content_block {
  position: absolute;
  width: 100%;
  height: 100%;
}
.banner-for-single h1.pickup-heading {
  position: relative;
  z-index: 1;
  top: initial;
  transform: none;
  margin: 0;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.pickup-heading > * {
  margin-left: 0;
  margin-right: 0;
}
.banner-for-single > [id*="post_widget"] img,
.banner-for-single > .content_block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.woocommerce div.product div.images .flex-control-thumbs {
  width: auto !important;
  top: 100%;
  gap: 3%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 100px));
}
.woocommerce div.product div.images .flex-control-thumbs li {
  width: auto !important;
  max-width: 100%;
  margin: 0;
}

.flex-viewport {
  width: auto;
  position: relative;
  float: none;
  margin-bottom: .5em;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  background-color: white;
  max-height: 100%;
}
.woocommerce div.product {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 2.5em 0;
  padding-top: 5em;
  padding-bottom: 5em;
}
.woocommerce .woocommerce-breadcrumb ~ div.product {
  padding-top: 0;
}
.woocommerce .status-publish .woocommerce-product-gallery.images {
  flex: 1 1 81%;
  width: auto !important;
  max-width: 100%;
  padding: 1rem var(--sd-wc-gallery-global-padding);
  margin: 0;
  align-self: flex-start;
}
.woocommerce .status-publish .summary.entry-summary {
  width: auto !important;
  flex: 1 1 21%;
  padding-left: var(--sd-wc-gallery-global-padding);
  padding-right: var(--sd-wc-gallery-global-padding);
}
.woocommerce-tabs.wc-tabs-wrapper {
  flex: 100%;
  max-width: 100%;
}
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  height: auto;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  display: flex;
  flex-direction: column;
}
.bottom-fix {
  position: static;
  margin-top: auto;
}
.flex-control-nav {
  position: relative;
}
.woocommerce div.product div.images.woocommerce-product-gallery[class*="woocommerce-product-gallery"] {
  background-color: transparent;
}

.flex-viewport .flex-active-slide a {
  cursor: zoom-in;
}
.flex-viewport {
  width: 100%;
}
.flex-viewport .woocommerce-product-gallery__image {
  position: relative;
}
.flex-viewport .woocommerce-product-gallery__image:before {
  content: '';
  width: 100%;
  display: block;
  padding-bottom: 56.25%;
  padding-bottom: 70.5%;
}
.flex-viewport .woocommerce-product-gallery__image > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.woocommerce div.product div.images.woocommerce-product-gallery img {
  max-height: 100%;
  background-color: white;
}
.pswp__item {
  cursor: zoom-out;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  visibility: hidden;
}

.variations_form:not(.invalid) #drop-downs-error {
  display: none;
}

@media (min-width: 768px) {
  .flex-viewport {
    margin-bottom: 0;
  }
  .woocommerce .status-publish .woocommerce-product-gallery.images {
    display: flex;
    flex-direction: row-reverse;
    gap: var(--sd-wc-gallery-thumb-gap);
    padding-left: var(--sd-wc-gallery-thumb-outer-width);
    padding-top: 0;
    padding-bottom: 0;
  }
  .woocommerce div.product div.images .flex-control-thumbs {
    width: var(--sd-wc-gallery-thumb-width) !important;
    flex: 0 auto;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    margin-bottom: auto;
    position: static;
    align-items: center;
    overflow: auto;
    position: absolute;
    left: 0;
    top: 0;
    justify-content: flex-start;
    margin-left: var(--sd-wc-gallery-thumb-gap);
  }
}
@media (min-width: 1100px) {
  .woocommerce .status-publish .woocommerce-product-gallery.images {
    max-width: var(--sd-wc-gallery-flex-viewport-width);
  }
}