/*** Products Design ***/ 
.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 0px;
  list-style: none;
  padding: 0px;
}
.products.columns-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.oh-product-top {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  width: 100%;
}
.oh-product-image-link {
  display: block;
    padding-top: 100%;
  position: relative;
}
.oh-product-image-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 0px;
  left: 0px;
}
.oh-hover-img {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.5s ease,transform 2s cubic-bezier(0, 0, 0.44, 1.18);
  pointer-events: none;
}
.oh-hover-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.oh-product-top:hover .oh-hover-img {
  opacity: 1;
  transform: scale(1.09);
}
.oh-product-add {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  opacity: .8;
  transition: transform .3s ease, opacity .3s ease;
  transform: translateY(103%) translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 3;
  height: 38px;
}
.oh-product-wrapper:hover .oh-product-add {
  transform: translateY(0) translateZ(0);
}
.oh_product_action {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(20px, 0, 0);
  z-index: 4;
  display: flex;
  flex-direction: column;
  border-radius: calc(8px / 1.2);
  background: #fff;
  box-shadow: 1px 1px 1px rgba(0,0,0,0.1);
  transition: all .3s ease;
  top: 10px;
  right: 10px;
  width: 50px;
}
.oh-product-wrapper:hover .oh_product_action {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.oh_product_action svg {
  width: 20px;
  height: 20px;
}
.oh_wishlist.oh-tip svg {
  width: 24px;
  height: 24px;
}
.oh_product_action > a {
  width: 50px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.oh-product-title {
  font-size: 14px;
  color: var(--oh-color3);
}
.price {
  color: var(--oh-primary);
  font-size: 14px;
}
ins {
  text-decoration: none;
}

.oh-product-add .button {
  width: 100%;
  padding: 0px;
  overflow: hidden;
  text-transform: uppercase;
    border-radius: 0px;
}
.oh-product-add .button:before{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  font-size: 20px;
  transition: opacity .15s ease, transform .25s ease;
  transform: translateY(100%);
  content: "";
  /*font-family: "woodmart-font";*/
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23333' d='M9.5 17.25a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5zm0 3a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zm8-3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5zm0 3a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zM15.77 16.74h-4.45c-2.29 0-4.26-1.64-4.67-3.9L5.46 6.29a1 1 0 0 0-.67-.8l-1.9-.63a.5.5 0 1 1 .3-.96l1.88.63a3 3 0 0 1 2.09 2.12l.04.22h5.85a.75.75 0 0 1 0 1.5H7.27l.88 4.83c.28 1.55 1.64 2.67 3.2 2.67H15.8l.19-.01a3.72 3.72 0 0 0 2.9-2.74c.03-.1.05-.2.08-.3a.75.75 0 0 1 1.46.37 5.04 5.04 0 0 1-.09.35 4.73 4.73 0 0 1-4.48 3.42z'/%3E%3Cpath fill='%23333' d='M17.253 7.742h-2.25a.75.75 0 1 1 0-1.5h2.25v-2.25a.75.75 0 1 1 1.5 0v2.25h2.25a.75.75 0 1 1 0 1.5h-2.25v2.25a.75.75 0 1 1-1.5 0v-2.25z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
}
.oh_ofs .oh-product-add .button:before{
  content: "\f11a";
  font-family: "woodmart-font";
  background: none;
}
.oh-product-add .button:hover:before{
    transform: translateY(0) translateZ(0);
}
.oh-product-add .button span{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  transition: transform .25s ease, opacity .15s ease;
}
.oh-product-add .button:hover span{
  transform: translateY(-100%) translateZ(0);
}
.oh-product-add .button.oh-loading::before{
  display: none;
}

.quick-shop-wrapper {
  position: absolute;
  inset: 0;
  z-index: 10;
  background: rgba(255,255,255,.9);
  transition: transform .3s ease;
  transform: translate3d(0, 103%, 0);
}
.quick-shop-wrapper.is-open {
  transition: transform .4s ease;
  transform: translate3d(0, 0, 0);
}
.quick-shop-close {
  position: absolute;
  top: 5px;
  inset-inline-end: 8px;
  z-index: 5;
  opacity: 1;
  transition: all .25s ease .35s;
}
.quick-shop-close a {
  font-weight: 600;
  display: flex;
  align-items: center;
}
.quick-shop-close a:hover {
  color: #767676;
}
.quick-shop-close a:before {
  margin-inline-end: .3em;
  font-weight: 400;
  content: "\f112";
  font-size: 1.1em;
  transition: opacity .15s ease;
  font-family: "woodmart-font";
}
.quick-shop-form {
  padding: 45px 0px 0 0px;
  max-height: 100%;
  height: 100%;
    overflow-x: hidden;
  overflow-y: auto;
}
.quick-shop-form .oh-qty {
  display: none;
}
.quick-shop-form  .oh-after-atc {
  display: none;
}
.quick-shop-form .variations_form.cart {
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  gap: 0;
  display: flex;
}
.quick-shop-form .variations_form.cart:before{
  content: '';
}
.quick-shop-form .variations_form.cart .variations {
  margin-bottom: 10px;
  flex: unset;
  position: relative;
  transition: margin-bottom .3s ease;
}
.quick-shop-form .variations_form.cart .variations .label {
  display: block;
}
.quick-shop-form .variations_form.cart .variations td {
  display: block;
  text-align: center;
}
.quick-shop-form .variations_form.cart .variations .label label {
  font-weight: 600;
}
.wcboost-variation-swatches.wcboost-variation-swatches--color.wcboost-variation-swatches--round.wcboost-variation-swatches--has-tooltip.wcboost-variation-swatches--invalid-blur {
}
.quick-shop-form .variations_form.cart .variations .wcboost-variation-swatches {
  text-align: center;
}
.quick-shop-form .single_variation_wrap .woocommerce-variation-add-to-cart {
  flex: 1 1 auto;
  margin: 0 !important;
  border-radius: 0 !important;
}
.quick-shop-form .single_variation_wrap .single_add_to_cart_button {
  width: 100%;
  display: block;
  border-left: ;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.quick-shop-form  .reset_variations {
  text-align: center;
  color: #767676;
  font-size: 12px;
}
.quick-shop-form .stock.out-of-stock {
  text-align: center;
  font-weight: 600;
  line-height: 1.2;
  color: #B50808;
}
.quick-shop-form .woocommerce-variation-availability {
  margin-bottom: 10px;
}
.single_add_to_cart_button{
  position: relative;
  height: 42px;
}
.added_to_cart.wc-forward {
  display: none;
}
.single_add_to_cart_button::after , .add_to_cart_button.product_type_simple::after{
  position: absolute;
  top: calc(50% - 9px);
  inset-inline-start: calc(50% - 9px);
  opacity: 0;
  z-index: 2;
  transition: opacity 0s ease;
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(0,0,0,0);
    border-left-color: rgba(0, 0, 0, 0);
  border-left-color: currentColor;
  border-radius: 50%;
  vertical-align: middle;
  animation: oh-rotate 450ms infinite linear running;
}
.oh-loading.single_add_to_cart_button:after, .oh-loading.add_to_cart_button.product_type_simple::after{
  opacity:1;
  transition:opacity .25s ease;
}
.single_add_to_cart_button:before{
 
}
 .oh-loading.single_add_to_cart_button:before{
   content:"";
  position:absolute;
  inset:0;
  opacity:0;
  z-index:1;
  border-radius:inherit;
  background-color:inherit;
  box-shadow:inherit;
  transition:opacity 0s ease;
  opacity:1;
  transition:opacity .25s ease
}
.oh-product-top::after {
  position: absolute;
  top: calc(50% - 16px);
  left: calc(50% - 16px);
  visibility: hidden;
  opacity: 0;
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(0,0,0,0);
    border-left-color: rgba(0, 0, 0, 0);
  border-left-color: #242424;
  border-radius: 50%;
  vertical-align: middle;
  animation: oh-rotate 450ms infinite linear running;
}
.oh_loading_quick .oh-product-top::after{
  opacity:1;
  visibility: visible;
  transition:opacity .25s ease;
}
.oh_loading_quick  .oh-product-image-link{
  opacity: .4;
}
.oh_loading_quick {
  pointer-events: none;
}
.quick-shop-form .wcboost-variation-swatches__wrapper{
  justify-content: center;
}
.oh_quick_view{
  position: relative;
}
.oh_quick_view:after{
  position: absolute;
  top: calc(50% - 9px);
  inset-inline-start: calc(50% - 9px);
  opacity: 0;
  z-index: 2;
  transition: opacity 0s ease;
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(0,0,0,0);
    border-left-color: rgba(0, 0, 0, 0);
  border-left-color: currentColor;
  border-radius: 50%;
  vertical-align: middle;
  animation: oh-rotate 450ms infinite linear running;
}
.oh_quick_view.quick_view_loading:after{
  opacity:1;
  transition:opacity .25s ease
}
.oh_quick_view.quick_view_loading svg {
  display: none;
}
 
.product-labels {
  position: absolute;
  inset-inline-start: 7px;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
  max-width: 50%;
  transition: all .3s ease;
  transform: translateZ(0);
  top: 7px;
  width: 100%;
}
.product-label {
  padding: 5px 10px;
  min-width: 50px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  word-break: break-all;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.2;
  border-radius: 12px;
  background-color: var(--oh-primary);
}
.out-of-stock.product-label {
  background-color: rgb(175,175,165);
  color: rgb(255,255,255);
}


/** Star Design **/ 
/* Tweak sizes/colors via CSS variables */
.oh-star-rating{
  --oh-star-size: 14px;          /* star size */
  --oh-star-gap: 2.5px;            /* space between stars */
  --oh-star-fill: #EABE12;       /* filled color */
  --oh-star-outline: #bbb;    /* outline color */

  position: relative;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  width: 80px;
}

/* Star rows stack perfectly atop each other */
.oh-stars{
  position: relative;
  display: inline-flex;
  gap: var(--oh-star-gap);
  white-space: nowrap;
  line-height: 0;
}

.oh-stars--fill{
  position: absolute;
  inset: 0 auto auto 0; /* top:0; left:0 */
  overflow: hidden;     /* clip by width % */
}

/* The star icon itself */
.oh-star{
  width: var(--oh-star-size);
  height: var(--oh-star-size);
  flex: 0 0 auto;
  display: inline-block;
}

/* Base layer: outline only, no fill */
.oh-stars--base .oh-star{
  fill: none;
  stroke: var(--oh-star-outline);
  stroke-width: 1.4;
}

/* Fill layer: solid color */
.oh-stars--fill .oh-star{
  fill: var(--oh-star-fill);
  stroke: var(--oh-star-fill);
  stroke-width: 1.4;
}

/* (Optional) tiny number next to stars */
.oh-rating-number{
  margin-left: 6px;
  font-size: 12px;
  color: #666;
}

/* If you ever output an empty wrapper, keep it from leaving a gap */
.oh-star-rating:empty{ display: none; }

.star-rating {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    letter-spacing: 2px;
    font-weight: 400;
    color: #EABE12;
    width: fit-content;
    font-family: "woodmart-font";
}
.star-rating:before {
    content: "\f149" "\f149" "\f149" "\f149" "\f149";
    color: #bbb;
}
.star-rating span {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    overflow: hidden;
    width: 100%;
    text-indent: 99999px;
}
.star-rating span:before {
    content: "\f148" "\f148" "\f148" "\f148" "\f148";
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    text-indent: 0;
}
.quick-shop-form .woocommerce-variation-price {
  text-align: center;
}


/*** Common Products CSS ***/ 
p.stock:is(.available-on-backorder, .in-stock) {
  color: var(--oh-color3);
}
p.stock {
  font-weight: 600;
  line-height: 1.2;
}
form.variations_form p.stock {
  margin-bottom: 0;
}
p.stock.in-stock::before {
  margin-inline-end: 5px;
  color: var(--oh-primary);
  content: "\f107";
  font-family: "woodmart-font";
}
.stock.out-of-stock {
  color: #B50808;
}
.woocommerce-variation-availability {
  margin-bottom: 20px;
}
table.variations label::after {
  content: ":";
  margin-left: 2px;
}
table.variations .label {
  font-family: inherit;
  color: inherit;
  font-weight: inherit;
  font-style: inherit;
  padding-right: 20px;
}
.quick-shop-form table.variations .label{
  padding-right: 0px;
}
table.variations label {
  margin-bottom: 0;
  white-space: nowrap;
  font-weight: 600;
}

.reset_variations {
  margin-left: 10px;
  vertical-align: middle;
  font-size: 12px;
  color: #767676;
}
.variations {
  margin-bottom: 20px;
}
.reset_variations:before {
  margin-right: 3px;
  content: "\f112";
  font-family: "woodmart-font";
}

dl.variation {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-bottom: 10px;
}
dl.variation .variation-Brand {
  margin: 0px;
}
.oh-product-excerpt,.oh-list-cart{
  display: none;
}
.os_wl_added_icon{
  display: none;
}
.active .os_wl_added_icon{
  display: none;
}

.active .os_wl_added_icon {
  position: absolute;
  align-items: center;
  justify-content: center;
  width: min(.87em, 20px);
  height: min(.87em, 20px);
  display: flex;
  border-radius: 50%;
  background: var(--oh-primary);
  font-weight: 400;
  inset-inline-start: calc(50% + 20px - .55em);
  bottom: calc(50% + 20px - .7em);
  transform: translate(-50%, 50%);
  font-size: calc(20px - 2px);
}
.active .os_wl_added_icon:before {
  content: "\f107";
  font-family: "woodmart-font";
  color: #fff;
  font-size: min(.45em, 9px);
}


@media only screen and (max-width: 1024px){

  .oh_product_action .oh_quick_view {
    display: none;
  }
  .oh_product_action {
    opacity: 1;
    visibility: visible;
    transform: none;
    width: 35px;
    border-radius: 50%;
  }
  .oh_product_action > a {
    width: 35px;
    height: 35px;
  }
  .oh_product_action > a:hover {
  color: #767676;
}
  .oh_product_action > a svg {
    width: 14px;
  }

  .oh-product-add .button {
    width: 40px;
    height: 40px;
  }
  .oh-product-add .button span {
    display: none;
  }
  .oh-product-wrapper .oh-product-add {
    transform: translateY(0) translateZ(0);
  }
  .oh-product-add .button::before {
    transform: translateY(0) translateZ(0);
    width: 40px;
  }
  .product-label{
    font-size: 10px;
    padding-inline: 5px;
    min-width: 40px;
  }
  .oh-product-add .button:before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.5 17.25a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5zm0 3a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zm8-3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5zm0 3a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zM15.77 16.74h-4.45c-2.29 0-4.26-1.64-4.67-3.9L5.46 6.29a1 1 0 0 0-.67-.8l-1.9-.63a.5.5 0 1 1 .3-.96l1.88.63a3 3 0 0 1 2.09 2.12l.04.22h5.85a.75.75 0 0 1 0 1.5H7.27l.88 4.83c.28 1.55 1.64 2.67 3.2 2.67H15.8l.19-.01a3.72 3.72 0 0 0 2.9-2.74c.03-.1.05-.2.08-.3a.75.75 0 0 1 1.46.37 5.04 5.04 0 0 1-.09.35 4.73 4.73 0 0 1-4.48 3.42z'/%3E%3Cpath fill='%23fff' d='M17.253 7.742h-2.25a.75.75 0 1 1 0-1.5h2.25v-2.25a.75.75 0 1 1 1.5 0v2.25h2.25a.75.75 0 1 1 0 1.5h-2.25v2.25a.75.75 0 1 1-1.5 0v-2.25z'/%3E%3C/svg%3E");
  }
  .quick-shop-form .button:before{
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 400;
      font-size: 20px;
      transition: opacity .15s ease, transform .25s ease;
      transform: translateY(0%);
      content: "";
      /*font-family: "woodmart-font";*/
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.5 17.25a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5zm0 3a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zm8-3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5zm0 3a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zM15.77 16.74h-4.45c-2.29 0-4.26-1.64-4.67-3.9L5.46 6.29a1 1 0 0 0-.67-.8l-1.9-.63a.5.5 0 1 1 .3-.96l1.88.63a3 3 0 0 1 2.09 2.12l.04.22h5.85a.75.75 0 0 1 0 1.5H7.27l.88 4.83c.28 1.55 1.64 2.67 3.2 2.67H15.8l.19-.01a3.72 3.72 0 0 0 2.9-2.74c.03-.1.05-.2.08-.3a.75.75 0 0 1 1.46.37 5.04 5.04 0 0 1-.09.35 4.73 4.73 0 0 1-4.48 3.42z'/%3E%3Cpath fill='%23fff' d='M17.253 7.742h-2.25a.75.75 0 1 1 0-1.5h2.25v-2.25a.75.75 0 1 1 1.5 0v2.25h2.25a.75.75 0 1 1 0 1.5h-2.25v2.25a.75.75 0 1 1-1.5 0v-2.25z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 22px 22px;
      background-color: var(--oh-primary);
  }
  .quick-shop-form .button.oh-loading:before{
    background-image: none;
  }

}