/* Woo default style */
:root{
     --wp--preset--font-size--small: 18px;
    --wp--preset--font-size--medium: 22px;
    --wp--preset--font-size--large: 36px;
    --wp--preset--font-size--x-large: 42px;
}
 a.button.disabled, a.button.disabled:hover,a.button:disabled,a.button:disabled:hover,a.button:disabled[disabled],
 a.button:disabled[disabled]:hover,button.button.disabled, button.button.disabled:hover, button.button:disabled, 
 button.button:disabled:hover,button.button:disabled[disabled], button.button:disabled[disabled]:hover{
    opacity: 0.5;
    pointer-events: none;
 }
 .woocommerce-variation-price{
    margin-block-end: 1rem;
 }
 .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image, table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image{
    width: 106px;
 }
/* ------------------------------------ */
#primary .site-main{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    .woocommerce-breadcrumb, .woocommerce-products-header,.woocommerce-notices-wrapper, ul.products, .woocommerce-pagination{
        grid-column: span 2;
    }
}
.woocommerce-products-header{
    display: block;
    width: 100%;
}
.woocommerce-ordering{
   width: fit-content;
   place-self: flex-end;
}
ul.products{
    padding: 0;
    margin: 0 -15px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    min-width: 100%;
}
.products .product{
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0 15px;
    text-align: center;
    position: relative;
    margin-top: 40px;
    .star-rating{
        margin-inline: auto;
    }
}
.products.columns-1 .product{
    width: 100%;
}
.products.columns-2 .product{
    width: 50%;
}
.products.columns-3 .product{
    width: 33.33%;
}
.products.columns-4 .product{
    width: 25%;
}
.products.columns-5 .product{
    width: 20%;
}
.products.columns-6 .product{
    width: 16.66%;
}
.woocommerce-loop-product__title{
    font-size: 18px;
    margin-bottom: 1rem;
}
.products .product .price{
display: block;
color: var(--heading-color);
}
.products .product .button.product_type_simple, .products .product .button{
padding: 8px 20px;
margin-inline: auto;
margin-block-start: 1rem;
position: relative;
-webkit-transition: opactity 0.3s;
-o-transition: opactity 0.3s;
transition: opactity 0.3s;
}
.products .product .inner-product{
    position: relative;
}
.products .product .inner-product:after{
    content: "";
    position: absolute;
    inset-block-start: -15px;
    inset-inline-end: -15px;
    inset-block-end: 0;
    inset-inline-start: -15px;
    visibility: hidden;
    background-color: #FFF;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,.15);
    box-shadow: 0 0 10px rgba(0,0,0,.15);
    opacity: 0;
    -webkit-transform: scale(.98);
    transform: scale(.98);
    margin-bottom: -90px;
}
.products .product:hover .inner-product{
    z-index: 5
}
.products .product:hover .inner-product > *{
    z-index: 6
}
.products .product:hover .inner-product:after{
    visibility: visible;
    opacity: 1;
    transition: opacity .3s ease,visibility 0s ease,-webkit-transform .3s ease;
    transition: opacity .3s ease,visibility 0s ease,transform .3s ease;
    transition: opacity .3s ease,visibility 0s ease,transform .3s ease,-webkit-transform .3s ease;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.products .product .woocommerce-loop-product__link{
    display: inline-block;
    position: relative;
    *:not(:last-child){
        margin-block-end: 1rem;
    }
}
.product .onsale{
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: 0;
    width: 45px;
    height: 45px;
    line-height: 45px;
    background: #ef4848;
    color: #fff;
    text-transform: uppercase;
    display: block;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    font-size: 12px;
    margin: -10px -10px 0 0;
    z-index: 3;
    text-align: center;
}
.price del{
    color: #999;
    line-height: inherit;
    vertical-align: middle;
}
.price ins{
    text-decoration: none;
}

.woocommerce-pagination{
    margin-top: 70px;
    text-align: center;
}
.woocommerce-pagination ul.page-numbers{padding: 0}
.woocommerce-pagination .page-numbers li{
    list-style: none;
    display: inline-block;
    margin: 0 3px;
}
.woocommerce-pagination .page-numbers .page-numbers{
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 1px solid #999;
    text-align: center;
    line-height: 38px;
    color: #999;
}
.woocommerce-pagination .page-numbers .page-numbers:hover, 
.woocommerce-pagination .page-numbers .page-numbers.current {
    border-color: var(--accent-color);
    background: var(--accent-color);
    color: #fff;
}
.products .product .button.product_type_simple.loading, .products .product .button.loading{
    padding-inline-end: 35px;
}
.products .product .button.product_type_simple.loading::after, 
.products .product .button.loading::after {
    font-family: 'Font Awesome 5 Free';
    content: "\f110";
    vertical-align: top;
    font-weight: 900;
    position: absolute;
    inset-block-start: .618em;
    inset-inline-end: 1em;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
.products .product .button.product_type_simple.added::after, 
.products .product .button.added::after{
    font-family: 'Font Awesome 5 Free';
    content: "\f00c";
    margin-inline-start: .53em;
    vertical-align: bottom;
    font-weight: 900;
}
@-webkit-keyframes spin {
    100% {
    -webkit-transform:rotate(360deg);
    transform:rotate(360deg)
    }
}
@keyframes spin {
    100% {
    -webkit-transform:rotate(360deg);
    transform:rotate(360deg)
    }
}
/*-------------------
Single
--------------------*/
body.single-product .site-main > .product{
    grid-column: span 2;
    display: grid;
    grid-template-areas:"pr-media pr-info"
                        "pr-desc pr-desc"
                        "pr-relate pr-relate";
    grid-template-columns: minmax(0, 0.5fr) minmax(0, 0.5fr);
    column-gap: 4rem;
    position: relative;
    
    .onsale{
        position: static;
        grid-area: pr-media;
        margin-block-start: -1rem;
        margin-inline-start: -1rem;
    }
    .summary{
        grid-area: pr-info;
        > *:not(:last-child){
            margin-block-end: 1rem;
        }
        .woocommerce-product-details__short-description > *:last-child{margin-block-end: 0;}
    }
    .woocommerce-product-gallery{
        grid-area: pr-media;
        position: relative;
        margin-bottom: 30px;
    }
    .related.products{
        grid-area: pr-relate;
        margin-inline: 0;
        margin-top: 50px;
        ul.products{
            margin-inline: -1.5rem;
        }
    }
    .woocommerce-tabs{
        grid-area: pr-desc;
        flex-wrap: wrap;
        margin-top: 30px;
    }
    
}
.woocommerce-notices-wrapper{
    margin-block-end: 2rem;
    &:empty{display: none;}
}
.woocommerce-tabs .woocommerce-Tabs-panel{
    display: flex;
    flex: 0 0 100%;
    flex-wrap: wrap;
}
.woocommerce-breadcrumb{margin-bottom: 20px;}
.summary .price{
    font-size: 30px;
    color: var(--accent-color);
    line-height: normal;
}
.woocommerce-variation-add-to-cart{
    display: flex;
    flex-direction: row;
}
form.cart{display: flex;}
.quantity {
    border: 1px solid #eee;
    line-height: 48px;
    text-align: center;
    overflow: hidden;
    max-width: 130px;
    display: flex;
}
.quantity + button.single_add_to_cart_button{
    margin-inline-start: 1rem;
}
.quantity .qty-button {
    width: 40px;
    line-height: inherit;
    display: inline-block;
    cursor: pointer;
    font-size: 18px;
    transition: background 0.3s ease;
}
.quantity .qty {
    border: none;
    padding: 0;
    line-height: inherit;
    width: 40px;
    text-align: center;
    appearance: textfield;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}
.quantity .qty[type="number"]::-webkit-inner-spin-button,
.quantity .qty[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product_meta{
    display: flex;
    row-gap: 0.5rem;
    flex-direction: column;
}
table.variations{margin-bottom: 30px}
table.variations th, table.variations td{
    border: none;
}
table.variations .chosen-container,
table.variations select{
    max-width: 300px;
}
.reset_variations{
    display: inline-block;
    margin-inline-start: 15px;
}
table.variations label{
    margin-bottom: 0;
    line-height: 30px;
    text-transform: capitalize;
}
dl.variation{
    display: table;
    width: auto;
}
dl.variation > *{
    display: table-cell
}
dl.variation > .variation-Size{
    min-width: 100px;
}
.woocommerce-Reviews .commentlist{
    list-style: none;
    padding-inline-start: 0;
    .comment_container{
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        .comment-text .meta{margin-block-end: 0.5rem;}
    }
}
/* .woocommerce-Reviews .comment-respond */
.woocommerce-product-rating{
    display: flex;
    align-items: center;
    gap: 0.6rem;
    .woocommerce-review-link{
        color: inherit;
        text-decoration: underline;
        text-underline-offset: 0.3rem;
        text-decoration-color: transparent;
        transition: color 0.3s ease, text-decoration-color 0.3s ease;
    }
}
.star-rating{
    display: grid;
    font-family: "Font Awesome 5 Free";
    color: var(--accent-color);
    font-size: 14px;
    width: fit-content;
    &::before{
        content: "\f005\f005\f005\f005\f005";
        font-weight: 400;
        grid-area: 1/-1;
    }
    > span{
        grid-area: 1/-1;
        position: relative;
        font-size: 0;
        color: transparent;        
        overflow: hidden;
    }
    >span::before{
        color: var(--accent-color);
        font-size: 14px;
        position: absolute;
        inset-inline-start: 0;
        inset-block-start: 0;
        content: "\f005\f005\f005\f005\f005";
        font-weight: 900;
        width: 100%;
    }
}
/*Galery Product*/
.pswp{z-index: 999999;}
.woocommerce-product-gallery .flex-control-thumbs{
    padding: 0;
    margin-inline: -5px;
    display: flex;
    overflow: hidden;
    padding-top: 5px;
}
.woocommerce-product-gallery .flex-control-thumbs li{
    list-style: none;
    width: 16.66%;
    padding: 5px;
}
.woocommerce-product-gallery__trigger{
    position: absolute;
    inset-inline-end: 5px;
    inset-block-start: 5px;
    z-index: 5;
}
/*woocomerce Tabs*/
.woocommerce-tabs ul.tabs {
    list-style: none;
    padding: 0 0 0 1em;
    margin: 0 0 1.618em;
    overflow: hidden;
    position: relative;
}
.woocommerce-tabs ul.tabs li {
    background-color: #f4f4f4;
    border: 1px solid #eee;
    padding: 10px 20px;
    display: inline-block;
    position: relative;
    transition: background 0.3s ease;
}
.woocommerce-tabs ul.tabs li a{
    color: #000;
}
.woocommerce-tabs ul.tabs li.active {
    background: #fff;
    z-index: 2;
    border-bottom-color: #fff;
}
.woocommerce-tabs ul.tabs::before {
    position: absolute;
    content: " ";
    inset-block-start: 100%;
    bottom: 0;
    inset-inline-start: 0;
    border-bottom: 1px solid #eee;
    z-index: 1;
}
.woocommerce-product-attributes p{margin-bottom: 0}


/*Review*/
.product-single .comment-respond{
    border: none;
    padding-top: 0;
    margin-top: 0
}
#tab-reviews .stars span a {
    display: inline-block;
    font-size: 12px;
    font-family: "Font Awesome 5 Free";
    text-indent: -9999px;
    letter-spacing: 5px;
    position: relative;
    width: 20px;
}
#tab-reviews .stars span a::after {
    content: "\f005";
    inset-block-start: 0;
    position: absolute;
    inset-inline-start: 0;
    font-weight: inherit;
    text-indent: 0;
    color: var(--accent-color);
    font-size: 15px;
}
#tab-reviews .comment-form-rating .stars a:hover ~ a, 
#tab-reviews .comment-form-rating .stars.selected a.active ~ a {
    font-weight: 400;
}
#tab-reviews .comment-form-rating .stars.selected a, 
#tab-reviews .comment-form-rating .stars:hover a {
    font-weight: 900;
}
#tab-reviews .comment-form{
    max-width: 850px;
}
#review_form .comment-form-comment{margin-top: 30px}
.woocommerce-Reviews .comment-form label{display: block;}
.related.products > h2, .woocommerce-Tabs-panel > h2{font-size: 26px;}
.related.products > h2{margin-bottom: 0;}
/*-----------------
Widget
------------------*/
.widget_product_categories li.cat-item, .woocommerce-widget-layered-nav li{
    line-height: 40px;
    border-bottom: 1px solid #eee;
}
.widget_product_categories li.cat-item:last-child, .woocommerce-widget-layered-nav li:last-child{
    border-bottom: none;
}
.widget_product_categories li a, .woocommerce-widget-layered-nav li a{
    color: inherit;
    display: inline-block;
    text-transform: capitalize;
}
.woocommerce-product-search .screen-reader-text{display: none;}
.woocommerce-product-search .search-field{
    width: calc(100% - 50px);
    width: -webkit-calc(100% - 50px);
}
.woocommerce-product-search button{
    font-size: 0;
    color: transparent;
    padding: 0;
    position: relative;
    width: 50px;
    line-height: 50px;
    background: var(--heading-color);
    font-size: 0;
    color: transparent;
}
.woocommerce-product-search button:after{
    content: "\f002";
    font-family: 'Font Awesome 5 Free';
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
/** Widget: Price Filter */
.widget_price_filter .price_slider_wrapper .ui-widget-content {
    margin-bottom: 35px;
    position: relative;
    }
.woocommerce .widget_price_filter .ui-slider-horizontal {
    height: 3px;
    background: #eee;
}
.widget_price_filter .ui-slider .ui-slider-range {
    background: #000;
    height: 100%;
    position: absolute;
    inset-block-start: 0;
    z-index: 1;
}
.widget_price_filter .ui-slider .ui-slider-handle{
    background: #000;
    height: 10px;
    width: 10px;
    position: absolute;
    inset-block-start: -3px;
    border-radius: 50%;
    z-index: 5;
    cursor: pointer;
}
.widget_price_filter .ui-slider .ui-slider-handle:last-child{margin-left: -10px}
.widget_price_filter .ui-slider .ui-slider-handle:focus{
    outline: none;
}
.widget_price_filter .price_slider_amount {
    overflow: hidden;
}
.widget_price_filter .button {
    padding: 5px 25px;
    float: right;
}
.widget_price_filter .price_label {
    line-height: 36px;
}
/*Product list widget*/
.product_list_widget li{
    overflow: hidden;
    margin-bottom: 20px;
}
.product_list_widget .product-img{
    width: 100px;
    margin-right: 20px;
}
.product_list_widget li .info-product{
overflow: hidden;
}
.product_list_widget .product-title{margin-bottom: 0;}
.product_list_widget .product-title a{
    display: block;
    margin-bottom: 10px;
    color: inherit;
}
.product_list_widget .product-title a:hover{
    color: var(--accent-color);
}
/*Cart*/
table.shop_table .product-thumbnail{text-align: center;}
table.shop_table .product-thumbnail a img{
    width: 90px;
} 
table.shop_table .product-remove{font-size: 30px;}
table.shop_table th, table.shop_table td{
    padding: 15px;
}
table.shop_table th{
    color: #000;
}
table.shop_table .product-name a{
    color: inherit;
}
table.shop_table .product-name a:hover{
    color: var(--accent-color);
}
.coupon .input-text{
    max-width: 300px;
}
table.shop_table td.actions .coupon{
    display: inline-block;
    width: 600px;
}
table.shop_table td.actions > .button{
    display: inline-block;
}
div.cart-collaterals{
margin-top: 50px;
}
.cart-collaterals .shop_table{
max-width: 600px;
}
div.wc-proceed-to-checkout{margin-top: 30px;}
/*Check Out*/
.col2-set{
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin: 0 -15px;
width: 100%;
}
.col2-set .col-1,.col2-set .col-2{
max-width: 50%;
flex: 0 0 50%;
padding: 0 15px;
}
form.checkout .form-row label, .form-row label{
display: block;
width: 100%;
}
.chosen-container + .select2{display: none;}
form.checkout .form-row, .form-row{
display: block;
width: 100%;
margin: 0 0 20px 0;
}
.woocommerce .form-row{
margin-left: 0;
margin-right: 0
}
.form-row.form-row-first{
width: 48%;
float: left;
}
.form-row.form-row-last{
width: 48%;
float: right;
}
.form-row .woocommerce-input-wrapper{display: inline-block;width: 100%}
.form-row .woocommerce-input-wrapper .input-text{width: 100%}
.form-row .woocommerce-input-wrapper .chosen-container{width: 1005}
.woocommerce-checkout-payment .payment_methods{
padding-left: 0;
margin-top: 30px;
list-style-type: none;
}
.woocommerce-error{
padding-left: 0;
list-style: none;
}
.page-excerpt .woocommerce:after,
.page-excerpt .woocommerce:before{
content: "";
display: table;
clear: both;
}
.woocommerce-MyAccount-navigation{
width: 320px;
float: left;
margin-right: 30px;
}
.woocommerce-MyAccount-content{
overflow: hidden;
}
.woocommerce-MyAccount-navigation ul{
padding: 0;
}
.woocommerce-MyAccount-navigation ul li{
list-style: none;
padding: 10px 0;
border-bottom: 1px solid #eee;
}
.woocommerce-MyAccount-navigation ul li:last-child{
border-bottom: none;
}
.woocommerce-MyAccount-navigation ul li a{color: inherit;}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover{
color: var(--accent-color);
}
@media (min-width: 992px) and (max-width: 1199.98px){
.product_list_widget .product-title{font-size: 16px;}
}
@media(max-width: 991.98px){
.form-row.form-row-last,
.form-row.form-row-first{
width: 100%;
float: none;
}
.product-single .product .woocommerce-product-gallery{
float: none;
width: 100%;
margin-bottom: 30px;
}
.product-single .product .summary{width: 100%;float: none;}
.maincontent-shop.has_sidebar .content-area{width: 100%}
.maincontent-shop.has_sidebar .shop-sidebar{width: 100%}
}
@media (min-width: 768px) and (max-width: 991.98px){
table.shop_table th, table.shop_table td{padding: 15px 10px;}
.products.columns-4 .product{width: 50%}
.coupon .input-text{max-width: 200px;}
table.shop_table td.actions .coupon{width: 450px}
.woocommerce-MyAccount-navigation{width: 240px}
}
@media(max-width: 767.98px){
table.shop_table td.actions{overflow: hidden;}
table.shop_table td.actions .coupon{width: 100%}
table.shop_table td.actions .button{
display: block;
float: none;
margin-top: 20px;
}
table.shop_table.cart thead{display: none;}
table.shop_table.cart,
table.shop_table.cart tbody,
table.shop_table.cart tr,
table.shop_table.cart td{
display: block;
width: 100%;
}
table.shop_table.cart tr{
border: 1px solid #eee;
margin-bottom: 30px;
}
table.shop_table.cart .cart_item td{
overflow: hidden;
border: none;
border-top: 1px solid #eee;
position: relative;
padding-left: 150px;
}
table.shop_table.cart td:first-child{border-top: none;}
table.shop_table.cart .cart_item td:before{
content: attr(data-title);
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 150px;
background: #f5f5f5;
border-right: 10px solid #fff;
padding: 15px;
}
table.shop_table.cart .cart_item td.product-remove,
table.shop_table .cart_item td.product-thumbnail{
padding-left: 15px;
text-align: center;
}
table.shop_table.cart .cart_item td.product-remove:before,
table.shop_table.cart .cart_item td.product-thumbnail:before{
display: none;
}
.col2-set .col-1,.col2-set .col-2{
max-width: 100%;
flex: 0 0 100%;
}
.woocommerce-tabs ul.tabs{padding: 0;}
.woocommerce-MyAccount-navigation{float:none; width: 100%;margin-right: 0}
.woocommerce-MyAccount-content{display: block;width: 100%}
}
/*--------- Woo block------- */
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header th, table.wc-block-cart-items .wc-block-cart-items__header th{
    font-weight: 700!important;
    color: #000;
    text-transform: capitalize;
}
.wc-block-cart .wc-block-cart__totals-title{
    font-size: 32px;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout{
    display: grid;
    grid: "main-cart cart-sidebar" / minmax(0, 0.65fr) minmax(0, 0.35fr);
    column-gap: 3rem;
    .wc-block-components-main{
        grid-area: main-cart;
        padding-inline: 0;
        width: 100%;
    }
    .wc-block-cart__sidebar{
        grid-area: cart-sidebar;
        padding-inline: 0;
        width: 100%;
        .wc-block-cart__totals-title{
            text-transform: none;
            color: var(--heading-color);
            font-weight: 700;
        }
        .wc-block-components-totals-footer-item{
            color: var(--heading-color);
        }
        .wc-block-cart__submit-container{text-align: center;}
        .wc-block-cart__submit-button{
            border: 1px solid;
            padding-inline: 2rem;
            width: fit-content;
            transition: background 0.3s ease, color 0.3s ease;
        }
    }
    .wc-block-components-product-price{
        color: var(--heading-color);
    }
}
/* --------------- */
@media (min-width: 576px) and (max-width: 767.98px){
table.variations select{max-width: 300px;}
.products.columns-4 .product{width: 50%}
.products.columns-3 .product{width: 50%}
}
@media (max-width: 575.98px) {
table.variations select{max-width: 210px;}
.woocommerce-tabs ul.tabs li{width: 100%}
.products.columns-4 .product{width: 100%}
.products.columns-3 .product{width: 100%}
.products.columns-2 .product{width: 100%}
}
@media screen and (pointer: fine) {
    .quantity .qty-button:hover{
        background: #eee
    }
    .woocommerce-tabs ul.tabs li:hover{background: #fff;}
    .woocommerce-product-rating .woocommerce-review-link:hover{
        color: var(--heading-color);
        text-decoration-color: var(--heading-color);
    }
    .products .product .woocommerce-loop-product__link:hover .woocommerce-loop-product__title{
        color: var(--accent-color);
    }

    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar .wc-block-cart__submit-button:hover{
        background-color: var(--accent-color);
        color: #FFF;
    }
}
