

body.single-product .storefront-product-breadcrumb {
  width: 100vw !important;
  height: 42px !important;
  padding: 10px 15px !important;
  margin-bottom: 0 !important;
  font-size: 13px !important;
  line-height: 22px !important;
}

body.single-product .product-summary-wrap {
  width: calc(100vw - 30px) !important;
  margin-top: 3px !important;
  margin-right: 0 !important;
  margin-left: 15px !important;
}

body.single-product .product-summary-wrap > .row {
  align-items: flex-start !important;
}

body.single-product .product-summary-wrap > .row > .summary-before,
body.single-product .product-summary-wrap > .row > .summary.entry-summary {
  flex: 0 0 50% !important;
  width: 50% !important;
  max-width: 50% !important;
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 90px !important;
}

body.single-product .product-summary-wrap > .row > .summary-before {
  padding-right: 30px !important;
  padding-left: 0 !important;
}

body.single-product .product-summary-wrap > .row > .summary.entry-summary {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.single-product .woocommerce-product-gallery {
  width: 100% !important;
  height: auto !important;
}

body.single-product .woocommerce-product-gallery .product-images {
  width: calc(100% - 30px) !important;
  height: auto !important;
  margin-bottom: 0 !important;
  aspect-ratio: 1 / 1;
}

body.single-product .woocommerce-product-gallery .product-image-slider,
body.single-product .woocommerce-product-gallery .product-image-slider > .owl-stage-outer,
body.single-product .woocommerce-product-gallery .product-image-slider > .owl-stage-outer > .owl-stage,
body.single-product .woocommerce-product-gallery .product-image-slider .owl-item,
body.single-product .woocommerce-product-gallery .product-image-slider .img-thumbnail,
body.single-product .woocommerce-product-gallery .product-image-slider .img-thumbnail > .inner,
body.single-product .woocommerce-product-gallery .product-image-slider .img-thumbnail img {
  height: 100% !important;
  min-height: 0 !important;
}

body.single-product .woocommerce-product-gallery .product-image-slider {
  width: 100% !important;
  aspect-ratio: 1 / 1;
}

body.single-product .woocommerce-product-gallery .product-thumbnails {
  width: calc(100% - 30px) !important;
  height: auto !important;
  margin-top: 20px !important;
}

body.single-product .woocommerce-product-gallery .product-thumbs-slider,
body.single-product .woocommerce-product-gallery .product-thumbs-slider > .owl-stage-outer,
body.single-product .woocommerce-product-gallery .product-thumbs-slider > .owl-stage-outer > .owl-stage,
body.single-product .woocommerce-product-gallery .product-thumbs-slider .owl-item,
body.single-product .woocommerce-product-gallery .product-thumbs-slider .img-thumbnail {
  height: auto !important;
  min-height: 0 !important;
}

body.single-product .summary.entry-summary > .storefront-product-info > .storefront-product-info__row--sku {
  display:block!important;
}

body.single-product .summary.entry-summary > .storefront-product-info {
  width: auto !important;
}

body.single-product .storefront-product-unavailable-form {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  grid-template-rows: 22px 50px;
  column-gap: 15px;
  row-gap: 4px;
  width: 100%;
  height: 86px;
  margin: 11px 0 0;
  padding: 10px 0 0;
  order: 6;
}

body.single-product .storefront-product-unavailable-form__label {
  grid-column: 1 / -1;
  color: #232323;
  font: 500 13px / 22px Montserrat, Arial, sans-serif;
}

body.single-product .storefront-product-unavailable-form__quantity {
  box-sizing: border-box;
  width: 80px;
  height: 50px;
  padding: 12px 16px;
  border: 1px solid #cbcbcb;
  border-radius: 0;
  color: #232323;
  background: #fff;
  font: 400 13px / 22px Montserrat, Arial, sans-serif;
  text-align: center;
}

body.single-product .storefront-product-unavailable-form__button {
  box-sizing: border-box;
  width: 100%;
  height:50px;
  margin-top: 2px;
  padding: 13px 15px;
  border:1px solid var(--storefront-color-primary-border, #000);
  border-radius: 0;
  color:var(--storefront-color-primary-text, #000);
  background:var(--storefront-color-primary, #ffc107);
  font: 700 14px / 22px Montserrat, Arial, sans-serif;
  letter-spacing: .05em;
  text-align: center;
  text-transform: uppercase;
  cursor: not-allowed;
  opacity: .6;
}

body.single-product .summary.entry-summary > .storefront-product-purchase-extras {
  order: 7;
}

body.single-product .woocommerce-tabs {
  box-sizing: border-box;
  width: 100vw !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 15px;
  padding-left: 15px;
}

body.single-product .woocommerce-tabs > .resp-tabs-list {
  display: flex !important;
  justify-content: center;
  width: 100%;
  height: 52px;
  margin: 0;
  padding: 0;
  border: 0;
}

body.single-product .woocommerce-tabs > .resp-tabs-list > .description_tab {
  display: block;
  height: 52px;
  margin: 0;
  padding: 15px;
  border: 0;
  color: #232323;
  background: transparent;
  font: 600 24px / 22px Montserrat, Arial, sans-serif;
  text-transform: none;
}

body.single-product .woocommerce-tabs > .resp-tabs-list > .additional_information_tab,
body.single-product .woocommerce-tabs .resp-accordion[data-target="tab_item-1"],
body.single-product .woocommerce-tabs #tab-additional_information {
  display: none !important;
}

body.single-product .woocommerce-tabs .resp-tabs-container > .resp-accordion[data-target="tab_item-0"] {
  display: none !important;
}

body.single-product .woocommerce-tabs #tab-description {
  display: block !important;
  width: 100% !important;
  margin-top: 21px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.single-product .woocommerce-tabs #tab-description > h2:first-child {
  display: none !important;
}

body.single-product .woocommerce-tabs #tab-description h2 {
  margin: 0 0 7px !important;
  color: #232323 !important;
  font:700 20px / 28px Jost, Arial, sans-serif!important;
}

body.single-product .woocommerce-tabs #tab-description > p:first-of-type + h2 {
  margin-top: 25px !important;
}

body.single-product .woocommerce-tabs #tab-description table {
  width: 100% !important;
  margin: 0 0 22px !important;
  table-layout: fixed;
}

body.single-product .woocommerce-tabs #tab-description table td {
  padding: 11px 15px 8px !important;
  font: 400 13px / 22px Montserrat, Arial, sans-serif !important;
}

body.single-product .woocommerce-tabs #tab-description table td:first-child {
  width: 44.5% !important;
}

body.single-product .woocommerce-tabs #tab-description table td:last-child {
  width: 55.5% !important;
}

body.single-product .storefront-recently-viewed-products {
  width: 100vw !important;
  margin-top: 80px !important;
}

body.single-product .storefront-recently-viewed-products > .container {
  width: calc(100vw - 30px) !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 15px !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.single-product .storefront-recently-viewed-products > .container > .porto-products > .slider-title {
  height: auto !important;
  margin: 28px 0 3px !important;
  padding: 0 !important;
  color: #232323 !important;
  font: 700 18px / 22px Jost, Montserrat, Arial, sans-serif !important;
  letter-spacing: .02em !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 1200px) {
  body.single-product .storefront-product-breadcrumb {
    width: 1170px !important;
    margin-top: -15px !important;
    margin-left: calc((100vw - 1170px) / 2) !important;
  }

  body.single-product .product-summary-wrap {
    width: 1170px !important;
    margin-top: 23px !important;
    margin-left: calc((100vw - 1170px) / 2) !important;
  }

  body.single-product .product-summary-wrap > .row > .summary-before {
    flex-basis: 730px !important;
    width: 730px !important;
    max-width: 730px !important;
    padding-right: 0 !important;
  }

  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    flex-basis: 440px !important;
    width: 440px !important;
    max-width: 440px !important;
  }

  body.single-product .woocommerce-product-gallery .product-images,
  body.single-product .woocommerce-product-gallery .product-thumbnails {
    width: 671px !important;
  }

  body.single-product .woocommerce-tabs {
    width: 1200px !important;
    margin-left: calc((100vw - 1200px) / 2) !important;
  }

  body.single-product .storefront-recently-viewed-products > .container {
    width: 1170px !important;
    margin-left: calc((100vw - 1170px) / 2) !important;
  }
}

@media (max-width: 767px) {
  body.single-product .product-summary-wrap > .row > .summary-before,
  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .product-summary-wrap > .row > .summary-before {
    margin-bottom: 10px !important;
    padding-right: 0 !important;
  }

  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    margin-top: 0 !important;
    margin-bottom: 90px !important;
  }

  body.single-product .woocommerce-product-gallery .product-images,
  body.single-product .woocommerce-product-gallery .product-thumbnails {
    width: 100% !important;
  }
}

@media (max-width: 550px) {
  

  body.single-product .storefront-product-breadcrumb {
    padding-right: 15px !important;
    padding-left: 10px !important;
    font-size: 11px !important;
  }

  body.single-product .product-summary-wrap {
    width: calc(100vw - 20px) !important;
    margin-left: 10px !important;
  }

  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    margin-bottom: 45px !important;
  }

  body.single-product .summary.entry-summary > h1.product_title {
    font-size: 18px !important;
  }

  body.single-product .storefront-product-unavailable-form {
    grid-template-columns: 80px;
    grid-template-rows: 22px 50px 48px;
    width: 100%;
    height: 134px;
    row-gap: 4px;
  }

  body.single-product .storefront-product-unavailable-form__button {
    grid-column: 1 / -1;
    width: calc(100vw - 20px);
    margin-top: 6px;
  }

  body.single-product .woocommerce-tabs {
    width: 100vw !important;
    height: 53px;
    padding-right: 10px;
    padding-left: 10px;
  }

  body.single-product .woocommerce-tabs > .resp-tabs-list {
    display: none !important;
  }

  body.single-product .woocommerce-tabs .resp-tabs-container > .resp-accordion[data-target="tab_item-0"] {
    display: flex !important;
    position: relative;
    align-items: center;
    width: 100%;
    height: 53px;
    margin: 0;
    padding: 15px 45px 15px 0;
    border: 0;
    color: #232323;
    background: transparent;
    font: 600 17px / 22px Montserrat, Arial, sans-serif;
    text-transform: none;
    cursor: pointer;
  }

  body.single-product .woocommerce-tabs .resp-tabs-container > .resp-accordion[data-target="tab_item-0"] .resp-arrow {
    display: block !important;
    position: absolute !important;
    top: 26px !important;
    right: 0 !important;
    width: 16px !important;
    height: 22px !important;
    margin: 0 !important;
    border: 0 !important;
    background: #232323 !important;
    -webkit-mask: url("images/storefront/description-chevron.svg") center / 16px 14px no-repeat !important;
    mask: url("images/storefront/description-chevron.svg") center / 16px 14px no-repeat !important;
    transform: translateY(-50%) rotate(-90deg) !important;
  }

  body.single-product .woocommerce-tabs .resp-tabs-container > .resp-accordion[data-target="tab_item-0"]::before {
    content: none !important;
    display: none !important;
  }

  body.single-product .woocommerce-tabs #tab-description {
    display: none !important;
    margin: 0 !important;
  }

  body.single-product.storefront-product-description-open {
    overflow: hidden !important;
  }

  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup {
    display: block !important;
    position: fixed;
    z-index: 100000;
    inset: 0;
    box-sizing: border-box;
    width: 100vw !important;
    height: 100vh;
    margin: 0 !important;
    padding: 57px 20px 20px !important;
    overflow: auto;
    color: #232323;
    background: #fff;
  }

  body.single-product .storefront-product-description-popup__bar {
    position: fixed;
    z-index: 100001;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    height: 57px;
    padding: 17px 20px;
    border-bottom: 1px solid #e6e6e6;
    color: #232323;
    background: #fff;
    font: 700 13px / 22px Montserrat, Arial, sans-serif;
    text-transform: uppercase;
  }

  body.single-product .storefront-product-description-popup__close {
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: 0;
    color: #232323;
    background: transparent;
    font: 400 22px / 22px Arial, sans-serif;
  }

  body.single-product .woocommerce-tabs #tab-description h2 {
    font-size: 20px !important;
    line-height: 28px !important;
  }

  body.single-product .storefront-recently-viewed-products > .container {
    width: calc(100vw - 20px) !important;
    margin-left: 10px !important;
  }
}

/* Product page shell, carousel and sticky-cart contract. */

/* Porto sets overflow on both root elements. The layout keeps the document root
 * visible so the summary's sticky position resolves against the page scroller. */
html.storefront-single-product-document {
  overflow-x: visible !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

/* The summary contains one final layout pixel above 320 px. Keeping it
 * in the flow preserves the exact column height and sticky release boundary. */
@media (min-width: 321px) {
  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    padding-bottom: 1px !important;
  }
}
body.single-product {
  overflow-x: hidden !important;
}



body.single-product .storefront-language-selector::after {
  display: none !important;
  content: none !important;
}

body.single-product .storefront-product-breadcrumb {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product .product-summary-wrap {
  box-sizing: border-box !important;
  width: calc(100% - 30px) !important;
  margin: 3px 0 0 15px !important;
}

body.single-product .product-summary-wrap > .row > .summary-before {
  padding-right: 30px !important;
  padding-left: 0 !important;
}

body.single-product .product-summary-wrap > .row > .summary.entry-summary {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.single-product .summary.entry-summary > .storefront-product-info {
  box-sizing: border-box !important;
  width: 100% !important;
  height:auto!important;
  margin: 0 0 18px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e6e6e6 !important;
  letter-spacing: .02em !important;
}

body.single-product .summary.entry-summary > .storefront-product-info > .storefront-product-info__row {
  display: block !important;
  width: 100% !important;
  color: #3c3c3c !important;
  letter-spacing: .02em !important;
}

body.single-product .storefront-product-info__row--brand .storefront-product-info__label,
body.single-product .storefront-product-info__row--brand .storefront-product-info__value,
body.single-product .storefront-product-info__row--brand .storefront-product-info__value a {
  color: #3c3c3c !important;
  font-weight: 700 !important;
}

body.single-product .summary.entry-summary > p.price,
body.single-product .summary.entry-summary > p.price .amount {
  min-height: 25.5px !important;
  letter-spacing: .02em !important;
}

body.single-product .storefront-product-unavailable-form {
  position: relative !important;
  margin-bottom: 28px !important;
}

body.single-product .storefront-product-unavailable-form__quantity {
  padding: 10px 15px !important;
  border-color: #c7c7c7 !important;
  text-align: left !important;
  cursor: default !important;
  appearance: textfield;
}

body.single-product .storefront-product-unavailable-form__quantity::-webkit-inner-spin-button,
body.single-product .storefront-product-unavailable-form__quantity::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

body.single-product .storefront-product-unavailable-form__spinner {
  position: absolute;
  z-index: 2;
  top: 30px;
  left: 60px;
  width: 20px;
  height: 50px;
  pointer-events: none;
}

body.single-product .storefront-product-unavailable-form__spinner::before,
body.single-product .storefront-product-unavailable-form__spinner::after {
  position: absolute;
  left: 7px;
  width: 0;
  height: 0;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  opacity: .75;
  content: "";
}

body.single-product .storefront-product-unavailable-form__spinner::before {
  top: 15px;
  border-bottom: 6px solid #767676;
}

body.single-product .storefront-product-unavailable-form__spinner::after {
  top: 29px;
  border-top: 6px solid #767676;
}

body.single-product .storefront-product-unavailable-form__button {
  background:var(--storefront-color-primary, #ffc107)!important;
}

body.single-product .storefront-product-promise__icon {
  color: #232323 !important;
}

body.single-product .storefront-product-promise__title {
  display: flex !important;
  align-items: flex-start !important;
  height: 26px !important;
  margin: 0 0 4px !important;
  font: 500 12px / 22px Jost, Montserrat, Arial, sans-serif !important;
  letter-spacing: .05em !important;
}

body.single-product .storefront-product-promise__description {
  height: 22px !important;
  padding: 0 !important;
  font: 400 12px / 22px Montserrat, Arial, sans-serif !important;
  letter-spacing: normal !important;
}

body.single-product .woocommerce-product-gallery .product-images {
  position: relative !important;
}

body.single-product .storefront-product-image-status {
  position: absolute !important;
  z-index: 5 !important;
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  height: 20px !important;
  padding: 0 8px !important;
  color: #fff !important;
  background: #c1c1c1 !important;
  font: 400 12px / 20px Montserrat, Arial, sans-serif !important;
  letter-spacing: .02em !important;
  text-transform: capitalize !important;
}

body.single-product .woocommerce-tabs {
  box-sizing: border-box !important;
  width: calc(100% - 30px) !important;
  margin-right: 0 !important;
  margin-left: 15px !important;
}

body.single-product .woocommerce-tabs > .resp-tabs-container {
  padding-top: 21px !important;
}

body.single-product .woocommerce-tabs #tab-description {
  margin-top: 0 !important;
  padding: 5px 0 15px !important;
}

body.single-product .woocommerce-tabs #tab-description > h2:first-of-type {
  display: none !important;
}

body.single-product .woocommerce-tabs #tab-description > p,
body.single-product .woocommerce-tabs #tab-description > ul,
body.single-product .woocommerce-tabs #tab-description > table {
  letter-spacing: .02em !important;
}

body.single-product .woocommerce-tabs #tab-description > ul {
  margin: 0 0 10px 17px !important;
  padding: 0 0 22px 22px !important;
}

body.single-product .woocommerce-tabs #tab-description h2 {
  font-family: Jost, Montserrat, Arial, sans-serif !important;
}

body.single-product .woocommerce-tabs #tab-description table {
  display: table !important;
  margin-bottom: 22px !important;
  border-collapse: collapse !important;
}

body.single-product .woocommerce-tabs #tab-description table > tbody {
  width: 100% !important;
}

body.single-product .woocommerce-tabs #tab-description table td {
  padding-right: 13px !important;
  padding-left: 13px !important;
}

body.single-product .woocommerce-tabs #tab-description table td:first-child {
  width: 44.64% !important;
}

body.single-product .storefront-product-description-popup__bar {
  display: none !important;
}

body.single-product .storefront-recently-viewed-products {
  box-sizing: border-box !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding-bottom: 80px !important;
}

/* Recently Viewed appears immediately after the description surface.
 * Porto contributes a 40px main-content bottom pad and a separate related
 * margin, so neutralize both on single-product pages. */
body.single-product .main-content {
  padding-bottom: 0 !important;
}

body.single-product .storefront-recently-viewed-products > .container {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
}

body.single-product .storefront-recently-viewed-products > .container > .porto-products > .slider-title {
  box-sizing: border-box !important;
  height: 50px !important;
  margin: 0 0 30px !important;
  padding: 27px 0 0 !important;
  border-top: 1px solid #e8e8e8 !important;
  border-bottom: 0 !important;
  color: #232323 !important;
  font: 700 18px / 22px Jost, Montserrat, Arial, sans-serif !important;
  letter-spacing: .05em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

body.single-product .storefront-recently-viewed-products .slider-wrapper {
  position: relative !important;
}

body.single-product .storefront-recently-viewed-products .products-slider {
  width: calc(100% + 16px) !important;
  margin-left: -8px !important;
}

body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage::after {
  display: none !important;
  content: none !important;
}

body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
  box-sizing: border-box !important;
  position: relative !important;
  left: auto !important;
  margin: 0 !important;
  padding: 0 8px 13px !important;
}

body.single-product .storefront-recently-viewed-products .owl-item > .product-col,
body.single-product .storefront-recently-viewed-products .owl-item .product-inner,
body.single-product .storefront-recently-viewed-products .owl-item .product-image,
body.single-product .storefront-recently-viewed-products .owl-item .product-content,
body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title,
body.single-product .storefront-recently-viewed-products .owl-item .woocommerce-loop-product__title,
body.single-product .storefront-recently-viewed-products .owl-item .price,
body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap,
body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap > .add-links,
body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap .button {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product .storefront-recently-viewed-products .owl-item > .product-col,
body.single-product .storefront-recently-viewed-products .owl-item .product-inner {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-inner {
  container-type: inline-size;
  position: relative !important;
  display: block !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-image {
  position: relative !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-image img {
  width: 100% !important;
  height: 100% !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-content {
  display: block !important;
  height: auto !important;
  padding: 15px 0 0 !important;
  text-align: center !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title {
  display: block !important;
  height: auto !important;
  max-height: 44px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #232323 !important;
  text-decoration: none !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .woocommerce-loop-product__title {
  display: flow-root !important;
  height: auto !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font: 400 16px / 22px Montserrat, Arial, sans-serif !important;
  letter-spacing: .02em !important;
  text-align: center !important;
  transition: .3s !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title:hover .woocommerce-loop-product__title,
body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title:focus-visible .woocommerce-loop-product__title {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .price {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  height: 23px !important;
  margin: 0 0 13px !important;
  padding: 0 !important;
  color: #232323 !important;
  font: 700 13px / 22px Montserrat, Arial, sans-serif !important;
  letter-spacing: .02em !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap > .add-links {
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: var(--storefront-button-height, 44px) !important;
  margin: 0 !important;
  padding: var(--storefront-button-padding, 10px 15px) !important;
  border:1px solid var(--storefront-color-primary-border, #000)!important;
  border-radius: 0 !important;
  color:var(--storefront-color-primary-text, #000)!important;
  background:var(--storefront-color-primary, #ffc107)!important;
  font: 700 14px / 22px Montserrat, Arial, sans-serif !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  transition:color .5s cubic-bezier(.25,.46,.45,.94), background .5s cubic-bezier(.25,.46,.45,.94), background-color .5s cubic-bezier(.25,.46,.45,.94), border .5s cubic-bezier(.25,.46,.45,.94)!important;
}

body.single-product .storefront-recently-viewed-products .owl-item .outofstock .add-links-wrap .button {
  opacity: .6 !important;
  pointer-events: none !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-image img:first-child {
  opacity: 1 !important;
  transition: opacity .8s !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-image img.storefront-product-card__hover-image {
  opacity: 0 !important;
  transform: none !important;
  transition: opacity .5s, transform 2s cubic-bezier(0, 0, .44, 1.18) !important;
}

body.single-product .storefront-recently-viewed-products .products-slider .owl-dots {
  position: absolute !important;
  top: calc(100% + 18px) !important;
  right: auto !important;
  left: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .storefront-recently-viewed-products .products-slider .owl-dots .owl-dot {
  width: 12px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 5px 0 !important;
}

/* Desktop/touch boundary is 1025/1024 in the configured layout. */
@media (min-width: 1025px) {
  

  body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap {
    position: absolute !important;
    z-index: 6 !important;
    top: calc(100% - 131px) !important;
    left: 0 !important;
    display: block !important;
    height:44px!important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(15px) !important;
    transition: transform .5s, opacity .35s !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-inner:hover .add-links-wrap,
  body.single-product .storefront-recently-viewed-products .owl-item .product-inner:focus-within .add-links-wrap {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-inner:hover .product-image img:first-child,
  body.single-product .storefront-recently-viewed-products .owl-item .product-inner:focus-within .product-image img:first-child {
    opacity: 0 !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-inner:hover .product-image img.storefront-product-card__hover-image,
  body.single-product .storefront-recently-viewed-products .owl-item .product-inner:focus-within .product-image img.storefront-product-card__hover-image {
    opacity: 1 !important;
    transform: scale(1.05) !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-content {
    height: 90px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1199px) {
  body.single-product .product-summary-wrap {
    margin-top: 33px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider {
    width: calc(100% + 30px) !important;
    margin-left: -15px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
}

@media (max-width: 1024px) {
  

  body.single-product .storefront-recently-viewed-products .owl-item .product-content {
    display: flex !important;
    flex-direction: column !important;
    padding-top: 0 !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap {
    position: relative !important;
    z-index: 1 !important;
    order: -1 !important;
    display: block !important;
    height:49px!important;
    margin: 0 !important;
    padding: 0 0 5px !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(10px) !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title {
    margin: 15px 0 8px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .price {
    margin-bottom: 0 !important;
  }
}

@media (min-width: 1200px) {
  body.single-product .storefront-product-breadcrumb {
    width: 1200px !important;
    margin-top: -10px !important;
    margin-left: 0 !important;
  }

  body.single-product .product-summary-wrap {
    width: 1170px !important;
    margin-top: 23px !important;
    margin-left: 15px !important;
  }

  body.single-product .product-summary-wrap > .row > .summary-before {
    flex-basis: 730px !important;
    width: 730px !important;
    max-width: 730px !important;
    padding-right: 0 !important;
  }

  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    flex-basis: 440px !important;
    width: 440px !important;
    max-width: 440px !important;
  }

  body.single-product .woocommerce-product-gallery .product-images,
  body.single-product .woocommerce-product-gallery .product-thumbnails {
    width: 671px !important;
  }

  body.single-product .woocommerce-tabs {
    width: 1170px !important;
    margin-left: 15px !important;
  }

  body.single-product .storefront-recently-viewed-products {
    margin-top: 0 !important;
  }

  body.single-product .storefront-recently-viewed-products > .container {
    width: 1200px !important;
    max-width: 1200px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider,
  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer {
    height: 373px !important;
    min-height: 373px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider {
    width: 1200px !important;
    margin-left: -15px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
    height: 373px !important;
    padding: 0 15px 13px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item > .product-col,
  body.single-product .storefront-recently-viewed-products .owl-item .product-inner {
    height: 360px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-image {
    height: 270px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-content {
    height: 90px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .price {
    font-size: 16px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider .owl-dots {
    display: none !important;
  }
}

@media (min-width: 992px) {
  body.single-product .storefront-recently-viewed-products .products-slider .owl-dots {
    display: none !important;
  }
}

@media (min-width: 551px) {
  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    margin-bottom: 45px !important;
  }

  body.single-product .woocommerce-tabs {
    margin-top: 45px !important;
  }
}

@media (min-width: 768px) {
  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    position: sticky !important;
    top: 30px !important;
  }

  body.single-product .product-summary-wrap > .row > .summary-before {
    margin-bottom: 45px !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.single-product .woocommerce-product-gallery .product-images,
  body.single-product .woocommerce-product-gallery .product-thumbnails {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  body.single-product .product-summary-wrap > .row > .summary-before,
  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .product-summary-wrap > .row > .summary-before {
    margin-bottom: 10px !important;
    padding-right: 0 !important;
  }

  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    margin-top: 0 !important;
    margin-bottom: 45px !important;
  }

  body.single-product .woocommerce-product-gallery .product-images,
  body.single-product .woocommerce-product-gallery .product-thumbnails {
    width: 100% !important;
  }

  body.single-product .storefront-recently-viewed-products {
    margin-top: 0 !important;
    padding-bottom: 30px !important;
  }
}

@media (max-width: 575px) {
  body.single-product .storefront-recently-viewed-products > .container {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider {
    width: calc(100% + 10px) !important;
    margin-left: -5px !important;
  }

  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
    padding: 0 5px 13px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap {
    height:43px!important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap .button {
    height: var(--storefront-button-height, 44px) !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title {
    margin-top: 8px !important;
  }
}

@media (max-width: 550px) {
  body.single-product .woocommerce-tabs > .resp-tabs-container {
    padding-top: 1px !important;
  }

  body.single-product .woocommerce-tabs .resp-tabs-container > .resp-accordion[data-target="tab_item-0"] {
    height: 52px !important;
    padding: 15px 45px 15px 0 !important;
  }

  body.single-product .storefront-product-breadcrumb {
    padding-right: 15px !important;
    padding-left: 10px !important;
    font-size: 11px !important;
  }

  body.single-product .product-summary-wrap {
    width: calc(100% - 20px) !important;
    margin-left: 10px !important;
  }

  body.single-product .summary.entry-summary > h1.product_title {
    font-size: 18px !important;
  }

  body.single-product .storefront-product-unavailable-form {
    margin-top: 21px !important;
    padding-top: 0 !important;
  }

  body.single-product .woocommerce-tabs {
    width: calc(100% - 20px) !important;
    height: 53px;
    margin-top: 0 !important;
    margin-left: 10px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.single-product .woocommerce-tabs #tab-description table td:first-child {
    width: 44.88% !important;
  }

  body.single-product .woocommerce-tabs #tab-description h2 {
    font-size: 20px !important;
    line-height: 28px !important;
  }

  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup {
    padding: 57px 20px 20px !important;
  }

  body.single-product .storefront-product-description-popup__bar {
    display: flex !important;
  }

  body.single-product .storefront-recently-viewed-products {
    margin-top: 0 !important;
  }
}

@media (max-width: 320px) {
  body.single-product .summary.entry-summary > .storefront-product-purchase-extras {
    height: 88px !important;
  }

  body.single-product .storefront-recently-viewed-products > .container > .porto-products > .slider-title {
    height: 72px !important;
  }
}

/* Native sticky product purchase surface. */
body.single-product .storefront-product-sticky-cart {
  box-sizing: border-box;
  position: fixed;
  z-index: 98;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  height: 80px;
  margin: 0;
  padding: 10px 0;
  color: #232323;
  background: #fff;
  font: 13px / 22px Montserrat, Arial, sans-serif;
  letter-spacing: .02em;
  visibility: hidden;
  opacity: 0;
  transition: .3s;
  box-shadow: 0 1px 20px rgba(0, 0, 0, .1);
}

body.single-product .storefront-product-sticky-cart.is-visible {
  visibility: visible;
  opacity: 1;
}

body.single-product .storefront-product-sticky-cart__container {
  box-sizing: border-box;
  position: relative;
  width: 1200px;
  height: 60px;
  margin: 0 auto;
  padding: 0 15px;
}

body.single-product .storefront-product-sticky-cart__wrapper {
  display: flex;
  width: 1170px;
  height: 60px;
}

body.single-product .storefront-product-sticky-cart__left {
  display: flex;
  align-items: center;
  width: 520px;
  height: 60px;
  font-size: 0;
}

body.single-product .storefront-product-sticky-cart__image {
  flex: 0 0 45px;
  position: relative;
  width: 45px;
  height: 60px;
  overflow: hidden;
}

body.single-product .storefront-product-sticky-cart__image img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 45px;
  height: 150px;
  max-width: 100%;
  object-fit: contain;
  object-position: 50% 50%;
}

body.single-product .storefront-product-sticky-cart__info {
  box-sizing: border-box;
  width: 475px;
  height: 44px;
  padding-left: 20px;
}

body.single-product .storefront-product-sticky-cart__title {
  display: flow-root;
  width: 455px;
  height: 22px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #232323;
  font: 400 16px / 22px Montserrat, Arial, sans-serif;
  letter-spacing: .02em;
  white-space: nowrap;
}

body.single-product .storefront-product-sticky-cart__price {
  display: inline-block;
  height: 22px;
  margin: 0;
  color: #232323;
  font: 700 16px / 22px Montserrat, Arial, sans-serif;
  letter-spacing: .02em;
}

body.single-product .storefront-product-sticky-cart__price del,
body.single-product .storefront-product-sticky-cart__price ins {
  color: inherit;
  font: inherit;
}

body.single-product .storefront-product-sticky-cart__right {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-self: center;
  align-items: center;
  justify-content: flex-end;
  width: 650px;
  height:45px;
  padding-left: 20px;
}

body.single-product .storefront-product-sticky-cart__actions {
  display: block;
  width: 160px;
  height:45px;
  margin: 0;
}

body.single-product .storefront-product-sticky-cart__button,
body.single-product .storefront-product-sticky-cart__expand {
  display: block;
  width: 160px;
  height:45px;
  margin: 0;
  padding: 10px 15px 11px;
  border:1px solid var(--storefront-color-primary-border, #000);
  border-radius: 0;
  color:var(--storefront-color-primary-text, #000);
  background:var(--storefront-color-primary, #ffc107);
  font: 700 14px / 22px Montserrat, Arial, sans-serif;
  letter-spacing: .05em;
  text-align: center;
  text-transform: uppercase;
  transition:color .5s cubic-bezier(.25,.46,.45,.94), background .5s cubic-bezier(.25,.46,.45,.94), background-color .5s cubic-bezier(.25,.46,.45,.94), border .5s cubic-bezier(.25,.46,.45,.94);
}

body.single-product .storefront-product-sticky-cart__button:disabled {
  opacity: .6;
  cursor: not-allowed;
}

body.single-product .storefront-product-sticky-cart__expand:disabled {
  opacity: .6;
  cursor: not-allowed;
}

body.single-product .storefront-product-sticky-cart__expand,
body.single-product .storefront-product-sticky-cart__mobile-panel {
  display: none;
}

@media (max-width: 1200px) and (min-width: 992px) {
  body.single-product .storefront-product-sticky-cart__container {
    width: 100%;
  }

  body.single-product .storefront-product-sticky-cart__wrapper {
    width: 100%;
  }

  body.single-product .storefront-product-sticky-cart__left {
    width: calc(100% - 650px);
  }

  body.single-product .storefront-product-sticky-cart__right {
    width: 650px;
  }

  body.single-product .storefront-product-sticky-cart__info {
    width: calc(100% - 45px);
  }

  body.single-product .storefront-product-sticky-cart__title {
    width: 100%;
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  body.single-product .storefront-product-sticky-cart__container,
  body.single-product .storefront-product-sticky-cart__wrapper {
    width: 100%;
  }

  body.single-product .storefront-product-sticky-cart__left {
    width: calc(100% - 445px);
  }

  body.single-product .storefront-product-sticky-cart__right {
    width: 445px;
    height:45px;
  }

  body.single-product .storefront-product-sticky-cart__info {
    width: calc(100% - 45px);
  }

  body.single-product .storefront-product-sticky-cart__title {
    width: 100%;
  }

  body.single-product .storefront-product-sticky-cart__actions {
    width: auto;
    height:45px;
  }

  body.single-product .storefront-product-sticky-cart__button {
    width: auto;
    height:45px;
  }
}

@media (max-width: 1024px) {
  body.single-product .storefront-product-sticky-cart {
    bottom: 62px;
  }
}

@media (max-width: 767px) {
  body.single-product .storefront-product-sticky-cart {
    height: 63px;
    padding: 10px 0;
  }

  body.single-product .storefront-product-sticky-cart__container {
    width: 100%;
    height: 43px;
    padding: 0 10px;
  }

  body.single-product .storefront-product-sticky-cart__wrapper,
  body.single-product .storefront-product-sticky-cart__right,
  body.single-product .storefront-product-sticky-cart__actions {
    width: 100%;
    height:45px;
    padding: 0;
  }

  body.single-product .storefront-product-sticky-cart__actions {
    display: block;
  }

  body.single-product .storefront-product-sticky-cart__left,
  body.single-product .storefront-product-sticky-cart__button {
    display: none !important;
  }

  body.single-product .storefront-product-sticky-cart__expand {
    display: block;
    width: 100%;
    opacity: 1;
  }

  body.single-product .storefront-product-sticky-cart__mobile-panel {
    box-sizing: border-box;
    position: fixed;
    z-index: -1;
    right: 0;
    bottom: 80px;
    left: 0;
    display: block;
    max-height: calc(100vh - 120px);
    border-bottom: 1px solid #e8e8e8;
    overflow: visible;
    background: #fff;
    transform: translateY(100%);
    transition: transform .45s ease-in-out;
  }

  body.single-product.storefront-product-sticky-open .storefront-product-sticky-cart__mobile-panel {
    transform: none;
  }

  html.storefront-product-sticky-open,
  body.single-product.storefront-product-sticky-open {
    overflow: hidden !important;
  }

  html.storefront-product-sticky-open {
    scrollbar-gutter: auto !important;
  }

  body.single-product.storefront-product-sticky-open .storefront-product-sticky-cart {
    z-index: 101;
    bottom: 0;
  }

  body.single-product.storefront-product-sticky-open .storefront-product-sticky-cart__expand {
    display: none;
  }

  body.single-product.storefront-product-sticky-open .storefront-product-sticky-cart__button {
    display: block !important;
    width: 100%;
    height:45px;
  }

  body.single-product .storefront-product-sticky-cart__mobile-header {
    position: relative;
    height: 40px;
    border-bottom: 1px solid #f5f5f5;
  }

  body.single-product .storefront-product-sticky-cart__close {
    position: absolute;
    top: 13px;
    right: 15px;
    width: 13px;
    height: 13px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0;
    line-height: 0;
  }

  body.single-product .storefront-product-sticky-cart__close svg {
    display: block;
    width: 13px;
    height: 13px;
  }

  body.single-product .storefront-product-sticky-cart__mobile-content {
    box-sizing: border-box;
    max-height: calc(100vh - 160px);
    padding: 10px;
    overflow: hidden auto;
  }

  body.single-product .storefront-product-sticky-cart__mobile-images {
    display: flex;
    align-items: stretch;
    width: var(--storefront-sticky-strip-width, calc(100% - 26px));
    height: auto;
    margin: 0 0 0 var(--storefront-sticky-strip-offset, auto);
    overflow: hidden;
  }

  body.single-product .storefront-product-sticky-cart__mobile-images img {
    flex: 0 0 var(--storefront-sticky-image-width, calc(50% - 8px));
    width: var(--storefront-sticky-image-width, calc(50% - 8px));
    height: auto;
    margin: 0 4px;
    aspect-ratio: .675675 / 1;
    object-fit: contain;
  }

  body.single-product .storefront-product-sticky-cart__mobile-info {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 10px 0 0;
    padding: 0;
    font: 13px / 19.5px Montserrat, Arial, sans-serif;
  }

  body.single-product .storefront-product-sticky-cart__mobile-info h4 {
    display: flow-root;
    margin: 0 0 1px;
    overflow: hidden;
    font: 400 18px / 22px Montserrat, Arial, sans-serif;
  }

  body.single-product .storefront-product-sticky-cart__mobile-price {
    display: inline-block;
    width: auto;
    margin: 0;
    font: 700 16px / 22px Montserrat, Arial, sans-serif;
  }
}

/* Product geometry and interaction-state refinement. */

body.single-product .woocommerce-product-gallery .product-thumbnails .product-thumbs-slider {
  width: var(--storefront-thumb-strip-width) !important;
}

body.single-product .woocommerce-product-gallery .product-thumbnails .product-thumbs-slider > .owl-stage-outer {
  width: 100% !important;
}

body.single-product .woocommerce-product-gallery .product-thumbnails .product-thumbs-slider > .owl-stage-outer > .owl-stage {
  display: flex !important;
  width: var(--storefront-thumb-stage-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.single-product .woocommerce-product-gallery .product-thumbnails .product-thumbs-slider .owl-item {
  flex: 0 0 var(--storefront-thumb-slide-width) !important;
  width: var(--storefront-thumb-slide-width) !important;
}

body.single-product .woocommerce-product-gallery .product-thumbnails .img-thumbnail {
  box-sizing: border-box !important;
  width: 100% !important;
  height: var(--storefront-thumb-image-height) !important;
  padding-right: 10px !important;
  padding-left: 10px !important;
}

body.single-product .woocommerce-product-gallery .product-thumbnails .img-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

body.single-product .woocommerce-tabs {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.single-product #tab-description h2 {
  letter-spacing: 0.05em !important;
}

body.single-product .storefront-product-purchase-extras {
  box-sizing: border-box !important;
  padding-bottom: 11px !important;
}

body.single-product .storefront-product-promises {
  margin-top: 0 !important;
}

body.single-product .storefront-product-unavailable-form__label {
  grid-column: 1 / -1 !important;
  width: 80px !important;
}

body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer {
  height: auto !important;
  min-height: 0 !important;
}

body.single-product .storefront-recently-viewed-products > .container > .porto-products > .slider-title {
  height: auto !important;
  min-height: 50px !important;
}

body.single-product .storefront-recently-viewed-products .products-slider {
  container-type: inline-size;
}

body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage {
  display: flex !important;
}

@media (min-width: 1200px) {
  body.single-product .product-summary-wrap {
    width: calc(100% - 30px) !important;
    max-width: 1170px !important;
  }

  body.single-product .product-summary-wrap > .row > .summary-before {
    flex-basis: 62.4% !important;
    width: 62.4% !important;
    max-width: 62.4% !important;
  }

  body.single-product .product-summary-wrap > .row > .summary.entry-summary {
    flex-basis: 37.6% !important;
    width: 37.6% !important;
    max-width: 37.6% !important;
  }

  body.single-product .woocommerce-product-gallery .product-images {
    width: calc(100% - 60px) !important;
  }

  body.single-product .woocommerce-product-gallery .product-thumbnails {
    width: calc(100% - 59.92px) !important;
  }

  body.single-product .woocommerce-tabs {
    width: calc(100% - 30px) !important;
    max-width: 1170px !important;
  }

  body.single-product .storefront-recently-viewed-products > .container {
    width: 100% !important;
    max-width: 1200px !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item > .product-col,
  body.single-product .storefront-recently-viewed-products .product-inner,
  body.single-product .storefront-recently-viewed-products .product-image {
    height: auto !important;
    min-height: 0 !important;
  }

  body.single-product .storefront-recently-viewed-products .product-image {
    aspect-ratio: 1 / 1 !important;
  }
}

@media (min-width: 1025px) {
  body.single-product .storefront-recently-viewed-products .products-slider {
    width: calc(100% + 30px) !important;
    margin-left: -15px !important;
  }
}

@media (min-width: 992px) {
  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
    flex: 0 0 round(up, 25cqw, 1px) !important;
    width: round(up, 25cqw, 1px) !important;
  }
}

@media (min-width: 992px) and (max-width: 1024px) {
  body.single-product .storefront-recently-viewed-products {
    padding-bottom: 50px !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
    flex: 0 0 round(up, calc(100cqw / 3), 1px) !important;
    width: round(up, calc(100cqw / 3), 1px) !important;
  }
}

@media (max-width: 991px) {
  body.single-product .storefront-recently-viewed-products {
    padding-bottom: 100px !important;
  }
}

@media (min-width: 321px) and (max-width: 767px) {
  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
    flex: 0 0 round(up, 50cqw, 1px) !important;
    width: round(up, 50cqw, 1px) !important;
  }
}

@media (max-width: 575px) {
  body.single-product .product-summary-wrap,
  body.single-product .woocommerce-tabs {
    width: calc(100% - 20px) !important;
    margin-left: 10px !important;
  }

  body.single-product #tab-description h2 {
    font-size: 20px !important;
    line-height: 28px !important;
  }
}

@media (max-width: 550px) {
  body.single-product .storefront-product-unavailable-form__label,
  body.single-product .storefront-product-unavailable-form__button {
    width: 100% !important;
  }
}

@media (max-width: 360px) {
  body.single-product .storefront-recently-viewed-products > .container > .porto-products > .slider-title {
    height: 72px !important;
  }
}

@media (max-width: 320px) {
  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
    flex: 0 0 100cqw !important;
    width: 100cqw !important;
  }
}

/* Product-description typography and intrinsic table sizing remain stable
 * at the 551px handoff as well as at desktop widths. */
body.single-product .woocommerce-tabs #tab-description h2 {
  letter-spacing: 0.05em !important;
}

body.single-product .woocommerce-tabs #tab-description {
  letter-spacing: 0.02em !important;
}

body.single-product .woocommerce-tabs #tab-description table td:first-child {
  width: 43.248% !important;
}

/* Recently viewed card paint and interaction metrics. */
body.single-product .storefront-recently-viewed-products .owl-item .stock {
  font: 400 12px / 20px Montserrat, Arial, sans-serif !important;
  letter-spacing: 0.24px !important;
  transition: all 0s ease !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap {
  font: 400 13px / 22px Montserrat, Arial, sans-serif !important;
  letter-spacing: normal !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap .button {
  visibility: inherit !important;
  transition-property: color, background, background-color, border !important;
  transition-duration: 0.5s !important;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-image img:first-child {
  transform: none !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title {
  margin-bottom: 8px !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .woocommerce-loop-product__title {
  transition: all 0.3s ease !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .price {
  font: 700 13px / 22px Montserrat, Arial, sans-serif !important;
  letter-spacing: normal !important;
}

/* Between 1200px and the 1200px content-shell threshold (the vertical
 * scrollbar consumes the remaining pixels), card heights must remain fluid. */
@media (min-width: 1200px) and (max-width: 1214px) {
  body.single-product .storefront-recently-viewed-products .products-slider,
  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer,
  body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item,
  body.single-product .storefront-recently-viewed-products .owl-item > .product-col,
  body.single-product .storefront-recently-viewed-products .owl-item .product-inner,
  body.single-product .storefront-recently-viewed-products .owl-item .product-image {
    height: auto !important;
    min-height: 0 !important;
  }

  body.single-product .storefront-recently-viewed-products .owl-item .product-image {
    aspect-ratio: 1 / 1 !important;
  }
}

@media (max-width: 551px) {
  body.single-product .woocommerce-tabs #tab-description h2 {
    font-size: 20px !important;
    line-height: 28px !important;
  }

  body.single-product .storefront-product-unavailable-form__button {
    height:50px!important;
    margin-top: 14px !important;
    padding-top:13px!important;
    padding-bottom:13px!important;
  }
}

@media (min-width: 551px) and (max-width: 551px) {
  body.single-product .woocommerce-tabs #tab-description table td:first-child {
    width: 43.62% !important;
  }
}

@media (max-width: 550px) {
  body.single-product .storefront-product-unavailable-form {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    grid-template-rows: 22px 50px 48px !important;
  }

  body.single-product .storefront-product-unavailable-form__label,
  body.single-product .storefront-product-unavailable-form__button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body.single-product .storefront-product-unavailable-form__button {
    height:50px!important;
    margin-top: 6px !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1214px) {
  body.single-product .woocommerce-product-gallery .product-images {
    width: calc(100% - 60px) !important;
  }
}

@media (max-width: 320px) {
  body.single-product .summary.entry-summary .storefront-product-promises,
  body.single-product .summary.entry-summary .storefront-product-promises .storefront-product-promise {
    height: 76px !important;
    min-height: 76px !important;
  }

  body.single-product .summary.entry-summary .storefront-product-promises .storefront-product-promise .storefront-product-promise__description {
    height: 44px !important;
    min-height: 44px !important;
  }
}


/* Owl's inline item width uses its pre-padding container and is one pixel too
 * wide at several fractional thirds. The runtime value is measured from the
 * actual visible viewport so the carousel keeps its configured card count. */
body.single-product .storefront-recently-viewed-products .products-slider > .owl-stage-outer > .owl-stage > .owl-item {
  flex: 0 0 var(--storefront-recently-viewed-slide-width) !important;
  width: var(--storefront-recently-viewed-slide-width) !important;
}


/* The layout rounds the square main media frame up to a whole CSS pixel. */
body.single-product .woocommerce-product-gallery .product-image-slider,
body.single-product .woocommerce-product-gallery .product-image-slider > .owl-stage-outer,
body.single-product .woocommerce-product-gallery .product-image-slider > .owl-stage-outer > .owl-stage,
body.single-product .woocommerce-product-gallery .product-image-slider .owl-item,
body.single-product .woocommerce-product-gallery .product-image-slider .img-thumbnail,
body.single-product .woocommerce-product-gallery .product-image-slider .img-thumbnail > .inner,
body.single-product .woocommerce-product-gallery .product-image-slider img {
  height: var(--storefront-main-media-size) !important;
}


/* Recently viewed image-swap and controls share one state machine. */
body.single-product .storefront-recently-viewed-products .owl-item .product-image img:first-of-type {
  transition: all 0.8s ease !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-image img.storefront-product-card__hover-image,
body.single-product .storefront-recently-viewed-products .owl-item .product-image img:nth-of-type(2) {
  transition: all 0.8s ease !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-inner:hover .product-image img.storefront-product-card__hover-image,
body.single-product .storefront-recently-viewed-products .owl-item .product-inner:hover .product-image img:nth-of-type(2) {
  transition: opacity 0.5s ease, transform 2s cubic-bezier(0, 0, 0.44, 1.18) !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-loop-title,
body.single-product .storefront-recently-viewed-products .owl-item .woocommerce-loop-product__title {
  transition: all 0.3s ease !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .add-links-wrap .button {
  visibility: inherit !important;
}

body.single-product .storefront-recently-viewed-products .owl-item .product-inner:hover .add-links-wrap .button {
  visibility: inherit !important;
}

/* Lock page scrolling while the mobile sticky purchase panel is expanded.
 * That removes the scrollbar gutter and exposes the native sold-out
 * action in the 43px bar. */
@media (max-width: 767px) {
  body.single-product.storefront-product-sticky-open {
    overflow: hidden !important;
  }

  body.single-product.storefront-product-sticky-open .storefront-product-sticky-cart__expand {
    display: none !important;
  }

  body.single-product.storefront-product-sticky-open .storefront-product-sticky-cart__button {
    display: block !important;
    width: 100% !important;
  }
}


@media (max-width: 550px) {
  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup {
    right: auto !important;
    width: calc(100vw - var(--storefront-page-scrollbar-width, 0px)) !important;
    padding: 62px 20px 15px !important;
  }

  body.single-product .storefront-product-description-popup__bar {
    top: 5px !important;
    right: auto !important;
    left: 0 !important;
    width: calc(100vw - var(--storefront-page-scrollbar-width, 0px)) !important;
    height: 42px !important;
    padding: 10px 20px !important;
    border: 0 !important;
    background: transparent !important;
    font: 600 14px / 22px Jost, Montserrat, Arial, sans-serif !important;
  }

  body.single-product .storefront-product-description-popup__bar > span {
    font: inherit !important;
    text-transform: uppercase !important;
  }

  body.single-product .storefront-product-description-popup__close {
    display: none !important;
  }
}

@media (max-width: 550px) {
  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup table td:first-child {
    width: 50.6% !important;
  }
}




/* The layout disables main-gallery arrows on desktop. Porto may reveal its
 * Owl controls on image hover, so suppress the entire control surface above
 * the one-column breakpoint instead of hiding individual icon layers. */
@media (min-width: 768px) {
  body.single-product .woocommerce-product-gallery .product-image-slider .owl-nav {
    display: none !important;
  }
}

/* Mobile main-gallery arrows follow the authored gallery component: 35px
 * white squares at bottom 2px, right 39px/2px. Owl remains the controller. */
@media (max-width: 767px) {
  /* Mobile media follows the current container width directly. This avoids a
   * one-layout-frame lag when DevTools emulation crosses adjacent widths. */
  body.single-product .woocommerce-product-gallery .product-images,
  body.single-product .woocommerce-product-gallery .product-image-slider {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.single-product .woocommerce-product-gallery .product-image-slider > .owl-stage-outer,
  body.single-product .woocommerce-product-gallery .product-image-slider > .owl-stage-outer > .owl-stage,
  body.single-product .woocommerce-product-gallery .product-image-slider .owl-item,
  body.single-product .woocommerce-product-gallery .product-image-slider .img-thumbnail,
  body.single-product .woocommerce-product-gallery .product-image-slider .img-thumbnail > .inner,
  body.single-product .woocommerce-product-gallery .product-image-slider img {
    height: 100% !important;
  }

  body.single-product .woocommerce-product-gallery .product-image-slider .owl-nav {
    position: absolute !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 0 !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button.owl-prev,
  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button.owl-next {
    box-sizing: border-box !important;
    position: absolute !important;
    top: auto !important;
    bottom: 2px !important;
    left: auto !important;
    display: block !important;
    width: 35px !important;
    height: 35px !important;
    margin: 0 !important;
    padding: 11px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #000 !important;
    background: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    transition: all .3s ease !important;
    font-size: 0 !important;
    line-height: 0 !important;
    z-index: 1 !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button.owl-prev {
    right: 39px !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button.owl-next {
    right: 2px !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button.owl-prev::before,
  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button.owl-next::before {
    content: none !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button svg {
    display: none !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button::after {
    content: "" !important;
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    max-width: 100% !important;
    max-height: 100% !important;
    background: #323232 !important;
    -webkit-mask: url("images/storefront/gallery-carousel-arrow.svg") center / 17px 17px no-repeat !important;
    mask: url("images/storefront/gallery-carousel-arrow.svg") center / 17px 17px no-repeat !important;
    transition: all .3s ease !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button.owl-prev::after {
    transform: rotate(180deg) !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button:is(:disabled, .disabled) {
    pointer-events: none !important;
  }

  html body.single-product .woocommerce-product-gallery .product-images .product-image-slider .owl-nav > button:is(:disabled, .disabled)::after {
    opacity: .4;
  }
}

/* At 550px and below the layout also exposes a 36px bottom-left expand
 * control. Porto's existing zoom trigger and PhotoSwipe handler remain native. */
@media (max-width: 550px) {
  body.single-product .woocommerce-product-gallery .product-images > .zoom[data-index="0"] {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 2 !important;
    top: auto !important;
    right: auto !important;
    bottom: 5px !important;
    left: 5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #232323 !important;
    background: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.single-product .woocommerce-product-gallery .product-images > .zoom[data-index="0"] > i {
    display: none !important;
  }

  body.single-product .woocommerce-product-gallery .product-images > .zoom[data-index="0"]::before {
    content: "" !important;
    display: block !important;
    width: 14px !important;
    height: 16px !important;
    background: #232323 !important;
    -webkit-mask: url("images/storefront/gallery-expand.svg") center / 14px 16px no-repeat !important;
    mask: url("images/storefront/gallery-expand.svg") center / 14px 16px no-repeat !important;
  }
}

/* Simple in-stock products use the same summary order and purchase-form
 * configured geometry. Variable products keep their native variation
 * controller and the dedicated order rule in product-detail-layout.css. */
body.single-product .summary.entry-summary > form.cart:not(.variations_form) {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 80px minmax(0, 1fr) !important;
  grid-template-rows: 22px 50px !important;
  column-gap: 15px !important;
  row-gap: 4px !important;
  align-items: start !important;
  width: 100% !important;
  height: 86px !important;
  min-height: 86px !important;
  margin: 11px 0 28px !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  order: 6 !important;
}

body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .storefront-product-quantity-label {
  box-sizing: border-box !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  display: block !important;
  width: 80px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #232323 !important;
  font: 500 13px / 22px Montserrat, Arial, sans-serif !important;
  letter-spacing: normal !important;
}

body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .quantity.buttons_added {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start !important;
  width: 80px !important;
  min-width: 80px !important;
  max-width: 80px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
}

body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button {
  box-sizing: border-box !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: end !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height:50px!important;
  min-height:50px!important;
  margin: 0 !important;
  padding: 13px 15px !important;
  position: relative !important;
  top: 0 !important;
  outline: none !important;
  outline-offset: 0 !important;
}

body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button:hover,
body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button:active {
  box-shadow: 0 0 0 0 rgba(0, 0, 0, .5) !important;
}

@media (max-width: 551px) {
  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button {
    height:50px!important;
    min-height:50px!important;
    padding-top:13px!important;
    padding-bottom:13px!important;
  }

  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button:not(:disabled):hover,
  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button:not(:disabled):focus,
  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button:not(:disabled):focus-visible,
  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button:not(:disabled):active {
    border-color:var(--storefront-color-primary-border, #000)!important;
    background:var(--storefront-color-primary-hover, #000)!important;
    color:var(--storefront-color-primary-hover-text, #ffc107)!important;
    box-shadow: none !important;
    outline: none !important;
  
  outline-offset: 0 !important;
}
}

@media (max-width: 550px) {
  body.single-product .summary.entry-summary > form.cart:not(.variations_form) {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    grid-template-rows: 22px 50px 54px !important;
    height: 144px !important;
    min-height: 144px !important;
  }

  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .storefront-product-quantity-label,
  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body.single-product .summary.entry-summary > form.cart:not(.variations_form) > .single_add_to_cart_button {
    grid-row: 3 !important;
    height:50px!important;
    min-height:50px!important;
    top: 0 !important;
    margin-top: 0 !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
}


/* Recently Viewed keeps its responsive top breathing room. Keep the existing
 * lower whitespace because it belongs to the carousel's external footer gap. */
body.single-product .storefront-recently-viewed-products {
  padding-top: 80px !important;
}

@media (max-width: 1199px) {
  body.single-product .storefront-recently-viewed-products {
    padding-top: 50px !important;
  }
}

@media (max-width: 1024px) {
  body.single-product .storefront-recently-viewed-products {
    padding-bottom: 100px !important;
  }
}

@media (max-width: 767px) {
  body.single-product .storefront-recently-viewed-products {
    padding-top: 30px !important;
  }
}

/* Description uses WooCommerce's native tab content. The wrapper separates
 * the mobile scroll surface from the fixed title bar without duplicating the
 * product description or its specification table. */
body.single-product .storefront-product-description-popup__content {
  display: contents;
}

body.single-product .woocommerce-tabs #tab-description .storefront-product-description-popup__content > h2:first-child {
  display: none !important;
}

body.single-product .woocommerce-tabs #tab-description .storefront-product-description-popup__content > p,
body.single-product .woocommerce-tabs #tab-description .storefront-product-description-popup__content > ul,
body.single-product .woocommerce-tabs #tab-description .storefront-product-description-popup__content > table {
  letter-spacing: .02em !important;
}

body.single-product .woocommerce-tabs #tab-description .storefront-product-description-popup__content > p:first-of-type + h2 {
  margin-top: 25px !important;
}

body.single-product .woocommerce-tabs #tab-description .storefront-product-description-popup__content > ul {
  margin: 0 0 10px 17px !important;
  padding: 0 0 22px !important;
}

body.single-product .woocommerce-tabs #tab-description .storefront-product-description-popup__content > ul > li {
  position: relative;
  letter-spacing: .02em !important;
}

body.single-product .woocommerce-tabs #tab-description table {
  margin-bottom: 0 !important;
  table-layout: auto !important;
}

body.single-product .woocommerce-tabs #tab-description table td:first-child,
body.single-product .woocommerce-tabs #tab-description table td:last-child {
  width: auto !important;
}

body.single-product .woocommerce-tabs #tab-description table td,
body.single-product .woocommerce-tabs #tab-description table td * {
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body.single-product .woocommerce-tabs #tab-description table tr:nth-child(odd) {
  background: #f1f1f1 !important;
}

body.single-product .woocommerce-tabs > .resp-tabs-list > .description_tab {
  margin-right: 50px !important;
  color: #000 !important;
  letter-spacing: .48px !important;
}

@media (max-width: 550px) {
  body.single-product .woocommerce-tabs .resp-tabs-container > .resp-accordion[data-target="tab_item-0"] {
    letter-spacing: .02em !important;
  }

  body.single-product .woocommerce-tabs .resp-tabs-container > .resp-accordion[data-target="tab_item-0"] .resp-arrow {
    display: none !important;
  }

  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup {
    right: auto !important;
    width: 100vw !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.single-product .storefront-product-description-popup__content {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: calc(100vh - 40px);
    margin-top: 42px;
    padding: 15px 20px 30px;
    overflow: hidden auto;
    scrollbar-width: none;
  }

  body.single-product .storefront-product-description-popup__content::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  body.single-product .storefront-product-description-popup__bar {
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 20px !important;
    border-bottom: 1px solid #e6e6e6 !important;
    background: #fff !important;
    font: 700 13px / 22px Montserrat, Arial, sans-serif !important;
  }

  body.single-product .storefront-product-description-popup__close {
    display: block !important;
    position: absolute !important;
    top: 14px !important;
    right: 12px !important;
    width: 16px !important;
    height: 16px !important;
    font-size: 0 !important;
    text-transform: none !important;
    transform: rotate(-45deg) !important;
  }

  body.single-product .storefront-product-description-popup__close::before,
  body.single-product .storefront-product-description-popup__close::after {
    content: "";
    display: block;
    position: absolute;
    background: #232323;
  }

  body.single-product .storefront-product-description-popup__close::before {
    top: 0;
    left: 8px;
    width: 1px;
    height: 16px;
    transform: translateX(-.5px);
  }

  body.single-product .storefront-product-description-popup__close::after {
    top: 8px;
    left: 0;
    width: 16px;
    height: 1px;
    transform: translateY(-.5px);
  }

  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup table {
    table-layout: auto !important;
  }

  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup table td:first-child,
  body.single-product .woocommerce-tabs #tab-description.storefront-product-description-popup table td:last-child {
    width: auto !important;
  }
}

@media (min-width: 551px) and (max-width: 551px) {
  body.single-product .woocommerce-tabs {
    padding-bottom: 0 !important;
  }

  body.single-product .woocommerce-tabs > .resp-tabs-list > .description_tab {
    margin: 0 30px 9px 0 !important;
    padding: 15px 0 !important;
  }

  body.single-product .woocommerce-tabs > .resp-tabs-container {
    padding-top: 31px !important;
  }

  body.single-product .woocommerce-tabs #tab-description table {
    table-layout: auto !important;
  }
}

/* Recently Viewed keeps Porto's native Owl controller and exposes its desktop
 * control surface when another carousel page exists. */
body.single-product .storefront-recently-viewed-products .products-slider {
  position: relative !important;
}

body.single-product .storefront-recently-viewed-products .products-slider > .owl-nav {
  position: absolute !important;
  top: calc(50% - 70px) !important;
  right: 0 !important;
  left: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

html body.single-product .storefront-recently-viewed-products .products-slider > .owl-nav > button.owl-prev,
html body.single-product .storefront-recently-viewed-products .products-slider > .owl-nav > button.owl-next {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  width: 35px !important;
  height: 35px !important;
  margin: 0 !important;
  padding: 8px !important;
  border: 1px solid #ccc !important;
  border-radius: 50% !important;
  color: #323232 !important;
  background: #fff !important;
  box-shadow: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(-50%) !important;
  transition: all ease .3s !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

html body.single-product .storefront-recently-viewed-products .products-slider > .owl-nav > button.owl-prev {
  right: auto !important;
  left: 0 !important;
}

html body.single-product .storefront-recently-viewed-products .products-slider > .owl-nav > button.owl-next {
  right: 0 !important;
  left: auto !important;
}

html body.single-product .storefront-recently-viewed-products .products-slider > .owl-nav > button::before {
  color: #323232 !important;
  font-size: 17px !important;
  line-height: 17px !important;
}

html body.single-product .storefront-recently-viewed-products .products-slider > .owl-nav > button:hover {
  border-color: #f8f8f8 !important;
  color: #323232 !important;
  background: #f8f8f8 !important;
}

/* Keep Porto/Owl as the only gallery controller and retain the configured
 * fade transition and selected-thumbnail paint. */
body.single-product .woocommerce-product-gallery .product-image-slider .owl-stage {
  display: grid !important;
  width: 100% !important;
  transform: none !important;
  transition: none !important;
}

body.single-product .woocommerce-product-gallery .product-image-slider .owl-item {
  grid-area: 1 / 1 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 500ms ease !important;
}

body.single-product .woocommerce-product-gallery .product-image-slider .owl-item.active {
  z-index: 1 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.single-product .woocommerce-product-gallery .product-thumbs-slider .owl-item img {
  opacity: 1 !important;
  transition: opacity 300ms ease !important;
}

body.single-product .woocommerce-product-gallery .product-thumbs-slider .owl-item.selected img {
  opacity: 0.3 !important;
}
