/*
Name: WC SINGLE PRODUCT STYLES
Desc: Styles for WooCommerce Single Product
*/


/**************************************************
 *
 *  PRODUCT DETAIL STYLING
 *
 **************************************************/


/***** Page Layout */

.single-product #shop.l-section.height_medium {
    padding-top: 0;
}


/****** wc_custom-product_wrapper & wc_custom-product_image_wrapper  & wc_custom-product_image_wrapper__inner - added in wc-layouts-single-product.php */

.single-product .wc_custom-product_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: calc(0px - var(--page-layout-gutter));
}

.single-product .wc_custom-product_wrapper>* {
    padding: var(--page-layout-gutter);
}

.single-product .wc_custom-product_wrapper:not(:last-child) {
    padding-bottom: var(--section-height-medium-bottom-padding);
}


/*** Left */

.single-product .product .wc_custom-product_wrapper .images {
    float: none !important;
    margin: 0 !important;
}

.single-product .product .wc_custom-product_wrapper .images,
.single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper,
.single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper__inner {
    width: 100%;
}

.single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper {
    position: relative;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    .single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper {
        padding-bottom: 40px;
    }
}

@media (min-width: 800px) {
    .single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper {
        width: calc((5 / 12) * 100%);
    }
}


/*** Right */

.single-product .product .wc_custom-product_wrapper .summary {
    float: none !important;
    margin-bottom: 0 !important;
    width: 100%;
}

@media (min-width: 800px) {
    .single-product .product .wc_custom-product_wrapper .summary {
        width: calc((7 / 12) * 100%);
    }
}

@media (min-width: 1025px) {
    .single-product .product .wc_custom-product_wrapper .summary {
        width: calc((6 / 12) * 100%);
    }
}


/**** Gallery */

.single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper .woocommerce-product-gallery li img {
    border-radius: var(--element-radius);
    overflow: hidden;
}

.single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper .woocommerce-product-gallery li img.flex-active {
    border: none;
}

@media only screen and (min-width: 1024px) {
    .single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper .woocommerce-product-gallery ol {
        margin: 15px -15px -15px;
    }
    .single-product .product .wc_custom-product_wrapper .wc_custom-product_image_wrapper .woocommerce-product-gallery ol>li {
        padding: 15px;
    }
}


/***** Simple / Variable Product */


/*** Breadcrumbs - if on page exists Breadcrumbs element, Impreza will hide default WC Breadcrumbs */


/* .single-product .woocommerce-breadcrumb {
    margin-bottom: 40px;
    font-size: 14px;
    line-height: 2;
    font-weight: var(--bold-font-weight);
    color: var(--color-content-heading);
}

.single-product .woocommerce-breadcrumb a {
    color: var(--color-content-primary);
    font-weight: var(--default-font-weight);
    text-decoration: underline;
}

.single-product .woocommerce-breadcrumb a:hover {
    text-decoration: none;
}

.single-product .woocommerce-breadcrumb i {
    color: var(--color-content-text);
    font-size: 12px;
    font-weight: var(--default-font-weight);
    margin: 0 6px;
} */


/**** Product Image */


/* Disable opening full image - also disabled theme support for gallery functionality in wc-layouts-single-product.php */

.woocommerce #shop .product .woocommerce-product-gallery .woocommerce-product-gallery__image>a {
    pointer-events: none !important;
}


/**** On sale Badge */


/* .woocommerce .product  .onsale{} */


/* wc_custom-product_tags - added in wc-layouts-single-product.php */

.wc_custom-product_tags {
    margin-bottom: 5px;
}

.wc_custom-product_tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.wc_custom-product_tags a {
    font-size: 0.889rem;
    letter-spacing: 0.03em;
    font-weight: var(--default-font-weight);
    text-transform: uppercase;
    color: var(--color-content-text);
}


/**** Product Title  */

.single-product #shop .summary .product_title:not(:last-child) {
    margin-bottom: 20px;
}


/**** wc_custom-badges - added in wc-layouts-single-product.php */

.single-product #shop .summary .wc_custom-badges>.grid_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.single-product #shop .summary .wc_custom-badges:not(:last-child) {
    margin-bottom: 20px;
}


/**** Product Rating */

.single-product #shop .summary .woocommerce-product-rating:not(:last-child) {
    margin-bottom: 20px;
}


/***** wc_custom-product_meta - added in wc-layouts-single-product.php */

.woocommerce .wc_custom-product_meta:empty {
    display: none;
}

.woocommerce .wc_custom-product_meta {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 10px;
}

.woocommerce .wc_custom-product_meta:not(:last-child) {
    margin-bottom: 20px;
}

.woocommerce .wc_custom-product_meta>.product_meta {
    font-size: 0.889rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin: 0;
}

.woocommerce .product_meta>span:not(.product-meta-label) {
    padding-right: 0 !important;
}

.woocommerce .wc_custom-product_meta .product-meta-label {
    color: var(--color-content-heading);
    text-transform: uppercase;
    font-weight: var(--bold-font-weight);
    padding-right: 5px;
}


/***** Short description */

.single-product #shop .summary .woocommerce-product-details__short-description:not(:last-child) {
    margin-bottom: 40px;
}

.single-product #shop .summary .woocommerce-product-details__short-description a {
    text-decoration: underline;
}

.no-touch .single-product #shop .summary .woocommerce-product-details__short-description a:hover {
    text-decoration: none;
}


/**** Price */

.single-product #shop .summary .product .price {
    margin-bottom: 32px;
}

.single-product #shop .product:not(.product-type-variable) .summary .price,
.single-product #shop .summary .single_variation_wrap .price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    flex-direction: row;
    justify-content: flex-start;
}

.single-product #shop .product:not(.product-type-variable) .summary .price:empty,
.single-product #shop .summary .single_variation_wrap .price:empty {
    display: none;
}


/*** Custom Order */

.single-product #shop .product:not(.product-type-variable) .summary .price del,
.single-product #shop .summary .single_variation_wrap .price del {
    order: 1;
    width: 100%;
}

.single-product #shop .product:not(.product-type-variable) .summary .price ins,
.single-product #shop .product:not(.product-type-variable) .summary .price span,
.single-product #shop .summary .single_variation_wrap .price ins,
.single-product #shop .summary .single_variation_wrap .price span {
    order: 2;
}

.single-product #shop .product:not(.product-type-variable) .summary .price .woocommerce-price-suffix,
.single-product #shop .summary .single_variation_wrap .price .woocommerce-price-suffix {
    order: 3;
}


/*** Regular Price */

.single-product #shop .summary .price,
.single-product #shop .summary .price ins {
    font-size: 1.333rem;
    line-height: 1.2;
    font-family: var(--h1-font-family);
    font-weight: var(--heading-font-weight);
    color: var(--color-content-heading);
}

@media (min-width: 768px) {
    .single-product #shop .summary .price,
    .single-product #shop .summary .price ins {
        font-size: 2rem;
    }
}


/*** Sale Price */

.single-product #shop .summary .price del {
    color: var(--color-content-text);
    font-size: 0.889rem;
    line-height: 1.2;
    /* margin-left: 10px; */
    margin-bottom: 5px;
    opacity: 1;
}


/*** Price Suffix - when taxes are enabled */

.single-product #shop .summary .price .woocommerce-price-suffix {
    font-size: 1.167rem;
    line-height: 1.2;
    font-weight: var(--bold-font-weight);
    color: var(--color-content-heading);
    margin-left: 5px;
}

.single-product #shop .summary .price del .woocommerce-price-suffix {
    display: none !important;
}


/**** Add To Cart Form */

.single-product #shop .summary .cart {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.single-product #shop .cart button {
    display: block;
    width: 100%;
}

@media only screen and (min-width: 360px) {
    .single-product #shop .cart button {
        display: inline-block;
        width: auto;
    }
    .single-product #shop .cart button::before {
        content: '\e0af';
        font-family: var(--fa-font-family);
        font-size: inherit;
        font-weight: var(--fa-font-weight-solid, var(--fa-font-weight, 400));
        line-height: 1;
        position: relative;
        color: inherit;
        display: inline-block;
        margin-right: 0.556rem;
    }
}


/**** Stock status */

.single-product #shop .summary .stock {
    font-size: 1.167rem;
    line-height: 1;
    font-weight: var(--bold-font-weight);
    color: var(--color-content-text);
}

.single-product #shop .summary .stock::before {
    font-size: 1rem;
    font-family: var(--fa-font-family);
    font-weight: var(--fa-font-weight);
    line-height: 1;
    display: inline-block;
    margin-right: 10px;
}

.single-product #shop .summary .stock.out-of-stock {
    color: var(--wc-color-out-off-stock);
}


/* .single-product #shop .summary .stock.out-of-stock::before {
    content: "\f057";
    color: var(--woocommerce-out-off-stock);
} */

.single-product #shop .summary .stock.in-stock {
    color: var(--wc-color-in-stock);
}


/* .single-product #shop .summary .stock.in-stock::before {
    content: "\f058";
    color: var(--wc-color-in-stock);
} */

.single-product #shop .summary .stock.available-on-backorder {
    color: var(--wc-color-available-on-backorder);
}


/* .single-product #shop .summary .stock.available-on-backorder::before {
    content: "\f49e";
    color: var(--wc-color-available-on-backorder);
} */


/***** Variable product *****/

.single-product #shop .variations_form:not(:last-child) {
    margin-bottom: 2.222rem;
}

.single-product #shop .woocommerce-variation.single_variation {
    flex-direction: column;
    align-items: baseline;
}

.single-product #shop .woocommerce-variation.single_variation>:empty {
    display: none;
}

.single-product #shop .woocommerce-variation.single_variation>* {
    flex-basis: 100%;
    margin-right: 0;
    margin-bottom: 0;
}

.single-product #shop .woocommerce-variation.single_variation:empty {
    display: none;
}


/*** variations select */

.single-product #shop .variations {
    margin-bottom: calc(2.222rem - 10px - 20px);
}

.single-product #shop .variations tr {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
}

.single-product #shop .variations tr th.label {
    margin-bottom: 0.889rem;
    padding-bottom: 0;
}

.single-product #shop .variations tr th.label>label {
    font-size: 0.889rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
    font-weight: var(--bold-font-weight);
    color: var(--color-content-heading);
    text-transform: uppercase;
    padding-top: 0;
}

.single-product #shop .variations tr td {
    width: 100%;
    max-width: 380px;
    padding-bottom: 20px;
}

.single-product #shop .variations .reset_variations {
    display: none !important;
}


/*** Add To Cart Qty & Btn */

.single-product #shop .woocommerce-variation-add-to-cart {
    margin-top: 0;
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


/*** Custom - SIDE BY SIDE LAYOUT ***/


/**** wc_custom-simple_product_sbs_wrapper, wc_custom-simple_product_price_wrapper, wc_custom-variable_product_sbs_wrapper - added in wc-layouts-single-product.php*/


/*** simple and variable */

.wc_custom-simple_product_sbs_wrapper,
.wc_custom-variable_product_sbs_wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.wc_custom-simple_product_sbs_wrapper,
.wc_custom-variable_product_sbs_wrapper:not(.without_price) {
    gap: 1.667rem;
}


/* @media only screen and (min-width: 1024px) {
    .wc_custom-variable_product_sbs_wrapper:not(.without_price),
    .wc_custom-simple_product_sbs_wrapper {
        justify-content: space-between;
    }
} */

.wc_custom-variable_product_sbs_wrapper>*,
.wc_custom-simple_product_sbs_wrapper>* {
    padding: 0;
}


/* @media only screen and (max-width: 480px) {
    .wc_custom-variable_product_sbs_wrapper>*,
    .wc_custom-simple_product_sbs_wrapper>* {
        width: 100%;
    }
} */


/*** simple */

.wc_custom-simple_product_sbs_wrapper:not(:last-child) {
    margin-bottom: 2.222rem;
}

.wc_custom-simple_product_sbs_wrapper .wc_custom-simple_product_price_wrapper {
    display: flex;
    flex-direction: column-reverse;
    gap: 2.222rem;
}


/** variable */

.wc_custom-variable_product_sbs_wrapper .woocommerce-variation-description {
    order: 1;
}

.wc_custom-variable_product_sbs_wrapper .woocommerce-variation-availability {
    order: 2;
}

.wc_custom-variable_product_sbs_wrapper .woocommerce-variation-price {
    order: 3;
}

.single-product #shop .variations+.single_variation_wrap,
.wc_custom-variable_product_sbs_wrapper .woocommerce-variation-availability {
    width: 100%;
}

.wc_custom-variable_product_sbs_wrapper.without_price {
    flex-direction: column;
    align-items: flex-start;
}

.single-product #shop .summary .woocommerce-variation-price {
    margin-top: 2.222rem;
}

.single-product #shop .product .price {
    margin-bottom: 0;
}


/**** wc_custom-wrapper_actions - added in wc-layouts-single-product.php*/

.wc_custom-wrapper_actions ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.667rem;
}

.wc_custom-wrapper_actions a.share>i {
    color: var(--color-content-faded);
}


/*****************************
**
** PRODUCT TABS
**
******************************/

.woocommerce-tabs.wc-tabs-wrapper {
    margin-bottom: 0;
    padding-bottom: var(--section-height-medium-bottom-padding);
}

.woocommerce-tabs .tabs {
    margin-bottom: 0;
    border-bottom: 1px solid var(--color-content-border);
    background: none;
}

.woocommerce-tabs .tabs li:not(.active) a:focus,
.no-touch .woocommerce-tabs .tabs li:not(.active):hover {
    background: none;
    color: var(--color-content-primary);
}

.woocommerce-tabs .tabs li.active {
    color: var(--color-content-link);
    font-weight: var(--bold-font-weight);
    box-shadow: inset 0 -3px 0 0 var(--color-content-primary);
    cursor: default;
    pointer-events: none;
}


/***** WC_CUSTOM PRODUCT TAB (wc_custom-product_tab) - ADDED: in wc-layouts-single-product.php */

.wc_custom-product_tab {
    padding-top: 40px;
}

.wc_custom-product_tab>.wrapper_inner.two_cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media (min-width: 1024px) {
    .wc_custom-product_tab {
        padding-top: 60px;
    }
    .wc_custom-product_tab>.wrapper_inner.two_cols {
        grid-template-columns: 1fr 1fr;
    }
}

.wc_custom-product_tab .tab_title:not(:last-child) {
    margin-bottom: 2.222rem;
}


/**** tab_description + read_more vendor script */

.wc_custom-product_tab.tab_description .tab_content {
    font-size: 0.889rem;
    line-height: 1.875;
}

.wc_custom-product_tab.tab_description .tab_content.read_more {
    overflow: hidden;
    transition: all .3s ease;
    max-height: calc(9 * 0.889rem * 1.875 - 1px);
}

.wc_custom-product_tab.tab_description .tab_content.read_more+[data-readmore-toggle] {
    margin-top: 20px;
}


/***** WOOCOMMERCE PRODUCT ATTRIBUTES TABLE */

.woocommerce-product-attributes {
    border-radius: var(--element-radius);
    overflow: hidden;
    box-shadow: 0 0 0 1px var(--color-content-border);
}

.woocommerce-product-attributes tr:nth-child(2n) {
    background: var(--color-content-bg-alt);
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
    border: none;
}

.woocommerce-product-attributes th {
    color: var(--color-content-heading);
}

.woocommerce-product-attributes td {
    text-align: right;
}


/*****************************
**
** RELATED PRODUCTS
**
******************************/

.product .related.products {
    border-top: 1px solid var(--color-content-border);
    padding-top: var(--section-height-medium-top-padding);
}


/*** heading */

.related.products>h2 {
    font-family: var(--h2-font-family-alt);
    font-weight: var(--default-font-weight);
    text-transform: uppercase;
    display: inline-block;
    position: relative;
    z-index: 2;
    padding: 15px 40px;
    line-height: 1;
    min-height: 65px;
    min-width: 240px;
}

.related.products>h2:not(:last-child) {
    margin-bottom: 2.222rem;
}

@media (min-width: 375px) {
    .related.products>h2 {
        min-width: 275px;
    }
}

.related.products>h2::after {
    content: "";
    background-repeat: no-repeat;
    background-size: 100% 100%;
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    top: 50%;
    transform: translate(0%, -60%);
    z-index: -1;
    user-select: none;
    pointer-events: none;
    background-image: url('../wc-images/ornament_heading.svg');
}