/*
Theme Name: OCALAB
Theme URI: https://www.ocalab.it
Author: OCALAB, fare comunicazione!
Author URI: https://www.ocalab.it
Description: Tema OCALAB per Wordpress
Template: hello-elementor
Version: 2.0
*/
body *{
    text-rendering: optimizeLegibility;
}

.elementor-shape .elementor-shape-fill {
    transition: none;
    -webkit-transition: none;
    shape-rendering: geometricprecision;
}


.e-con.fullwidth-padding-left{
	padding-right:25px !important; 
	padding-left:25px !important;
}

.e-con.fullwidth-padding-right{
	padding-right:25px !important; 
	padding-left:25px !important;
}

@media (min-width:768px){
    .e-con.fullwidth-padding-left{
        padding-right: max(30px, var(--padding-inline-end)) !important; 
        padding-left:30px !important;}
    .e-con.fullwidth-padding-right{
        padding-right:30px !important; 
        padding-left: max(30px, var(--padding-inline-start)) !important;
    }
}

@media (min-width:1025px){
    .e-con.fullwidth-padding-left{
		padding-right: max(40px, var(--padding-inline-end)) !important; 
		padding-left:40px !important;}
    .e-con.fullwidth-padding-right{
		padding-right:40px !important; 
		padding-left: max(40px, var(--padding-inline-start)) !important;
	}
}

@media (min-width:1760px){
    .e-con.fullwidth-padding-left{
        padding-left:calc((100vw - 1680px) / 2) !important;
    }
    .e-con.fullwidth-padding-right{
        padding-right:calc((100vw - 1680px) / 2) !important;
    }
}


.cp-left{
	padding-right:25px; 
	padding-left:25px;
}
.cp-right{
	padding-right:25px; 
	padding-left:25px;
}
.cp-both{
	padding-right:25px; 
	padding-left:25px;
}

@media (min-width:768px){
    .cp-left{
		padding-right: max(30px, var(--padding-inline-end)); 
		padding-left:30px;
	}
    .cp-right{
		padding-right:30px; 
		padding-left: max(30px, var(--padding-inline-start));
	}
    .cp-both{
		padding-right:max(30px, var(--padding-inline-end)); 
		padding-left: max(30px, var(--padding-inline-start));
	}
}
@media (min-width:1025px){
    .cp-left{
		padding-right: max(40px, var(--padding-inline-end)); 
		padding-left:40px;
	}
    .cp-right{
		padding-right:40px; 
		padding-left: max(40px, var(--padding-inline-start));
		}
    .cp-both{
		padding-right:max(40px, var(--padding-inline-start)); 
		padding-left: max(40px, var(--padding-inline-start));
	}
}


.elementor-widget-text-editor p:last-child{
    margin-bottom: 0 !important;
}
.elementor-widget-text-editor ul{
    margin-bottom: 1em;
}

.read-more-link span.elementor-button-text:after {
    content: ">";
    margin-left: 7px;
}
a.e-con-full:hover .read-more-link span{
    color:var(--e-global-color-accent) !important;
}




.nf-form-fields-required{display: none;}
.nf-form-wrap .nf-field-element textarea{
    height:100px;
}


.nf-field-element select{
    font-size: 14px;
    font-weight: 800;
    line-height: 1em;
    letter-spacing: 0.7px;
    color: var(--e-global-color-text );
    background-color: var(--e-global-color-9329fd1 );
    border: 3px solid var(--e-global-color-accent );
    border-radius: 10px 10px 10px 10px;
    padding: 10px 13px 10px 13px;
}
.nf-field-element select:required:invalid {color:var(--e-global-color-b65f011) !important;}
.nf-field-element select:focus{
    outline:none !important;
    border: 3px solid var(--e-global-color-accent ) !important;
}
.nf-field-element select option{
    color: var(--e-global-color-text );
}


.privacy-accept, .submit-container  {margin-bottom:0 !important;}
.privacy-accept label{
    font-weight: normal !important; 
    font-size:17px !important; 
    text-transform: none; 
    margin-bottom: 0 !important;
}
.privacy-accept label a{
    text-decoration: underline;
}
.privacy-accept label a:hover{
    color:var(--e-global-color-text);
}


.nf-field-element input[type=submit]{
    box-shadow: none;
    margin:0;
    background: #fff;
    color:var(--e-global-color-text);
    font-weight: 800;
    padding:11px 50px !important;
    border:3px solid var(--e-global-color-accent) !important;
    border-radius: 10px;
}
.nf-field-element input[type=submit]:hover{
    box-shadow: none;
    border:inherit;
    background: var(--e-global-color-accent);
    color:#fff;
}

.nf-after-field .nf-error-msg, .nf-error-msg, .ninja-forms-req-symbol {
    font-size: 11px;
}
.nf-error.listimage-wrap .nf-field-element ul, .nf-error .ninja-forms-field{
    border:3px solid var(--e-global-color-accent);
}
.nf-input-limit{margin-top:0 !important;}

.nf-response-msg {
    
    padding: 15px 8px;
    margin: 0 5px 15px 5px;
    font-weight: 400;
    background: var(--e-global-color-b0e423b);
    text-align: center;
}
.nf-response-msg p{margin-bottom:0 !important;}



.subscribe-radio-container .list-radio-wrap .nf-field-element ul{
    display: flex;
    justify-content: center;
}
.subscribe-radio-container .list-radio-wrap .nf-field-element ul li{
    display: flex !important;
    align-items: center;
    margin-right:35px !important;
    margin-bottom:0 !important;
}
.subscribe-radio-container .list-radio-wrap .nf-field-element ul li input{
    margin-top:0 !important;
    padding:0 !important;
    width:20px !important;
}

.nf-field-element input[type="checkbox"], .nf-field-element input[type="radio"]{
    width:20px !important;
    padding:0 !important;
}
.nf-field-element input[type="checkbox"]:checked:before, .nf-field-element input[type="radio"]:checked:before{
    background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAlElEQVQ4T6WTXQ2AMAwGDwdIQAISQAEWsIQCQAkWkIAEJJCSNCljP7Dtdblb26+rKDxVIU+uoAY2YMoRKNwC61/BAwbGP4IXLPP7KvDCVtAARyCRIKyCBRiAHtgdSRRWwQjMwOlIkrBtwZVIO5LzHZVMO7RwdohWIoIk7EtBJXIXfVkr8sUoki5Wtm3n6x4E/1yx4AI+qiERKNFzCwAAAABJRU5ErkJggg==") #fff !important;
}
.subscribe-radio-container .list-radio-wrap .nf-field-element ul li label{
    margin-left:5px !important;
}

@media (min-width:600px){
    .nf-row nf-cells{
        display: flex;
        justify-content: space-around;
        flex-basis: 100%;
    }
}


.breadcrumb-left .rank-math-breadcrumb{text-align: left;}
.rank-math-breadcrumb{text-align: center;}


.elementor-swiper-button{
    background: #fff;
    width:54px;
    height: 54px;
    display: flex;
    align-items:center;
    justify-content: center;
    border-radius: 100%;
}

.rank-math-breadcrumb{text-align: center;}
.breadcrumb-left .rank-math-breadcrumb{text-align: left;}



.form-center  .privacy-accept .field-wrap{justify-content: flex-start;}
.form-center .privacy-accept .nf-error-msg, .form-center .submit-conainer .nf-error-msg{
    text-align: center;
}

.form-center .privacy-accept .nf-after-field,  .form-center .submit-conainer .nf-after-field{
    width:100% !important;
}

.form-center .nf-after-form-content{
    text-align:center;
}




/* WOOCOMMERCE */
body.woocommerce-page button, body.woocommerce-page button.button, body.woocommerce-page input[type='submit'], body.woocommerce-page button.button{
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1em;
    letter-spacing: 0.7px;
    color: var(--e-global-color-text );
    background-color: #FFFFFF00;
    border:3px solid var(--e-global-color-accent );
    border-radius: 10px 10px 10px 10px;
    padding: 11px 30px 11px 30px;
}
body.woocommerce-page button:hover, body.woocommerce-page input[type='submit']:hover, body.woocommerce-page button.button:hover{
    color: var(--e-global-color-9329fd1 );
    background-color: var(--e-global-color-accent );
}

body.woocommerce-page button:focus, body.woocommerce-page input[type='submit']:focus, body.woocommerce-page button.button:focus{
    outline: none !important;
}

body.woocommerce-page .quantity .qty{
    width:100% !important;
}

.e-atc-qty-button-holder{
    align-items: center;
}
.elementor-product-woosb form{
	display:flex !important;
	flex-wrap: wrap !important;
}
.elementor-add-to-cart .woocommerce-variation-add-to-cart{
	flex-wrap:wrap !important;
}
/* .elementor-add-to-cart .quantity, .elementor-product-woosb form .quantity{
    flex-basis: 100%;
    margin-bottom:30px !important;
} */
.elementor-add-to-cart .custom-price, .elementor-product-woosb form .custom-price{
    flex-basis: 50% !important;
    display: flex;
    color:var(--e-global-color-accent);
    font-size: 22px;
    font-weight: bold;
}
.elementor-add-to-cart .custom-price .custom-currency, .elementor-add-to-cart .custom-price .custom-currency-sale{display: none;}


@media (max-width:1300px){
    .elementor-add-to-cart .quantity, .elementor-product-woosb form .quantity{
        margin-bottom: 0 !important;
    }
    .elementor-add-to-cart .custom-price, .elementor-product-woosb form .custom-price{
        flex-basis: 100% !important;
        padding:35px 0;
        justify-content: center;
    }
}


.elementor-add-to-cart button, .elementor-product-woosb form button{
    flex-basis: 50% !important;
    margin-top:0 !important;
	margin-left:0 !important;
}

.product-thumbnail a, .product-thumbnail a img{
    border-radius: 10px;
}

.woosb-cart-child .product-price > span, .woosb-cart-child .product-subtotal > span, .woosb-cart-child .product-total > span{
    visibility:hidden;
}




/* single product */
body.woocommerce-page select, body.woocommerce-page .variations select{
    font-size: 14px;
    font-weight: 800;
    line-height: 1em;
    letter-spacing: 0.7px;
    color: var(--e-global-color-text );
    background-color: var(--e-global-color-9329fd1 );
    border: 3px solid var(--e-global-color-accent );
    border-radius: 10px 10px 10px 10px;
    padding: 10px 13px 10px 13px;
    margin-bottom:20px
}

body.woocommerce-page button.single_add_to_cart_button.button{
    color: var(--e-global-color-9329fd1 );
    background-color: var(--e-global-color-accent );
    padding:13px !important;
}
body.woocommerce-page button.single_add_to_cart_button.button:hover{
    color: var(--e-global-color-text );
    background-color: var(--e-global-color-9329fd1 );
}

@media (max-width:1300px){
    body.woocommerce-page button.single_add_to_cart_button.button{
        flex-basis: 100% !important;

    }
}

.single-product .woocommerce-product-gallery__image {
    pointer-events: none;
}

.var-description{
    font-size:24px;
    font-weight: bold;
}


/* CART */

.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr td{
    border-top:3px solid #000 !important;
}
body.woocommerce-cart .e-cart__container td.product-thumbnail{
    width:120px !important;
}
body.woocommerce-cart .e-cart__container .product-thumbnail a, body.woocommerce-cart .product-thumbnail a img{
    width:120px !important;
    border-radius: 10px;
}

.product-quantity .quantity input[type="number"]{
    padding:10px 10px !important;
    border-radius:10px !important;
    text-align:center !important;
    width: auto !important;
    height: auto !important;
    min-height: auto !important;
    max-height:none  !important;
    text-align: center !important;
}

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.custom-after-cart-table{margin-top:50px;}
.custom-after-cart-table a{font-weight: bold; font-size:17px; display: flex; align-items: center;}
.custom-after-cart-table a img{margin-right:10px;}

.custom-after-checkout-button{margin-top:30px; display: flex; justify-content: space-between; align-items: center;}
.custom-after-checkout-button a{font-weight: bold; font-size:17px; display: flex; align-items: center;}
.custom-after-checkout-button a img{margin-left:10px;}

@media (max-width:768px){
    .custom-after-checkout-button{
        flex-direction: column;
    }
    .custom-after-checkout-button a{
        margin:10px 0;
    }
}

.coupon.e-cart-section .form-row{display: flex !important;}
button.button.e-apply-coupon{margin-left:15px !important;}
@media (min-width:768px){
.coupon.e-cart-section .form-row{
    width: 50%;
    margin-top:-45px !important;
}
}

@media (max-width:1024px){
    .e-cart-totals.e-cart-section {
        margin-left: 0 !important;
        margin-top: 100px !important;
    }
}

button.button.e-apply-coupon{
    padding:14px 20px !important;
}

.coupon-wrapper{
    display: flex;
    align-items:center;
}
.coupon-input{margin-right:15px;}
.coupon-input input[name="coupon_code"]:focus{
    background-color: #fff !important;
    border:3px solid var(--e-global-color-accent) !important;
    outline:none;
    color:var(--e-global-color-text) !important;
}

button[name="apply_coupon"], button[name="update_cart"]:disabled{
    padding:12px 30px !important;
    font-size:14px !important;
    background:var(--e-global-color-b65f011) !important;
    border-color:var(--e-global-color-b65f011) !important;
}
button[name="update_cart"]:disabled{opacity:1 !important;}
button[name="update_cart"]{
    padding:12px 30px !important;
    font-size:14px !important;
    background:var(--e-global-color-accent) !important;
    border-color:var(--e-global-color-accent) !important;
}
button[name="apply_coupon"]:hover, button[name="update_cart"]:hover{
     background:var(--e-global-color-accent) !important;
    border-color:var(--e-global-color-accent) !important;
    color:#fff !important;

}
@media (max-width:767px){
    .elementor-widget-woocommerce-cart .woocommerce table.cart tr{
        padding:15px 0 !important;
    }
    .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions button.button[name="update_cart"]{
        margin-top:20px !important;
        width: 100% !important;
    }
}

.cart-after-items td{
    padding:0 !important;
    padding-top:20px !important;
    padding-left:0 !important;
    padding-right:0 !important;
}


a.shipping-calculator-button{
    font-size:17px;
    color:var(--e-global-color-accent)  !important;
    font-weight:bold !important;
}

.woocommerce-shipping-calculator input {
    color: var(--e-global-color-text) !important;
}

.elementor-widget-woocommerce-cart .woocommerce #shipping_method li label{color:var(--e-global-color-text) !important;}


.shipping td{
    font-size:22px;
    font-weight: 800;
}
@media (max-width:767px){
    
.shipping td{
    font-size:18px;
    font-weight: 800;
}
}

@media (max-width: 1024px){
    .elementor-widget-woocommerce-checkout-page .e-checkout__container {
        display: block !important;
    }
}

/* #shipping_country_field .woocommerce-input-wrapper, #billing_country_field .woocommerce-input-wrapper {
    border: 3px solid var(--e-global-color-accent);
    width: 100%;
    border-radius: 10px;
    display: block;
    padding: 10px;
    font-family: 'Nunito', sans-serif !important;
    font-size: 17px !important;
}
#shipping_country_field .woocommerce-input-wrapper strong, #billing_country_field .woocommerce-input-wrapper strong{
    font-weight: normal !important;
} */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--e-global-color-text) transparent transparent transparent !important;
}

.woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout-review-order-table tfoot td {
    border-bottom: 3px solid #000 !important;
}


@media (max-width:768px){
    .shop_table{
        display: block !important;
        width: 100%;
    }
    .shop_table tbody{
        width: 100%;
        display: block;
    }
    tr.cart_item{
        width: 100%;
        display: block;
    }
    tr.cart_item td{
        display: block;
        padding:10px 0 !important;
        max-width: 100% !important;
    }
    tr.cart_item td.product-name{
        border-bottom:0 !important;
    }
}

.product-name .variation-description{
    font-weight: normal;
}

ul#shipping_method label {
    color: var(--e-global-color-text) !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th, .woocommerce-checkout-review-order-table tfoot tr.order-total td{
    padding-bottom: 25px !important;
    border-bottom: 0 !important;
}

.wc_payment_methods.payment_methods{
    margin-bottom:30px !important;
}
.wc_payment_methods.payment_methods li{
    margin:20px 0 !important;
}
#place_order{
    margin-top:30px;
}



#customer_login h2{
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: var(--e-global-color-accent);
}







@media (max-width:1700px){
    .category-head-icons.icon-line-left{display: none;}
    .category-head-icons.icon-line-right{display: none;}

    .category-head-icons.icon-right{right:2% !important; top:250px !important;}

    .category-head-icons.icon-stars-right{right:3%}
}


.stock.out-of-stock{
    color:var(--e-global-color-accent);
}



.product-custom-tabs .elementor-tab-content a{
    color:white;
    background-color: var(--e-global-color-accent);
    padding: 11px 13px !important;
    border:3px solid var(--e-global-color-accent);
    display: inline-block;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1em;
    border-radius: 10px;
    margin-top:20px;
    transition: all .15s;
}

.product-custom-tabs .elementor-tab-content a:hover{
    color:var(--e-global-color-text);
    transition: all .15s;
    background-color:transparent;
    border:3px solid var(--e-global-color-accent);
}

/* CATALOG MODE */
/* .custom-price{display:none !important; } */

.variations label{
    margin-top: 30px;
    margin-bottom: 15px;
}
.variations label:first-child{margin-top:0 !important;}

.thwvs-wrapper-ul.thwvs-featured .thwvs-wrapper-item-li.attr_swatch_design_default{
    width: auto !important;
}


tr.cart-discount td:before {
    width: 55%;
    text-align: left;
}

.woocommerce-remove-coupon {
    display: block;
}

.woocommerce-checkout .select2-selection__rendered{
    font-size:14px;
}

#wc-xpay-cc-form{
    display: none !important;
}

.e-coupon-anchor-description{
    display: none;
}
/* 
.e-woocommerce-login-nudge.e-description{
    display: none;
} */

.out-of-stock-message{
    display: none;
    flex-basis:50% !important;
    text-align: center;
}
.out-of-stock-message.visible{
    display: flex;
    flex-direction: column;    
}

.out-of-stock-message span{
    margin-bottom:10px;
    display: block;
    font-size: 1;
    font-weight: bold;
}

.out-of-stock-message a.custom-button{
    font-family: "Nunito", Sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1em;
    letter-spacing: 0.7px;
    color: var(--e-global-color-text );
    background-color: #FFFFFF00;
    border-style: solid;
    border-width: 3px 3px 3px 3px;
    border-color: var(--e-global-color-accent );
    border-radius: 10px 10px 10px 10px;
    padding: 9px 30px 9px 30px;
    width: 100%;
    transition: all .15s;
}
.out-of-stock-message a.custom-button:hover{
    color: var(--e-global-color-9329fd1 );
    background-color: var(--e-global-color-accent );
    transition: all .15s;
}

@media (max-width: 1300px){
    .out-of-stock-message{
        flex-basis:100% !important;
        margin-bottom:30px;
    }
}

.berocket_prevent_minmax_input_add_to_cart_variation a.button{
    font-family: "Nunito", Sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1em;
    letter-spacing: 0.7px;
    color: var(--e-global-color-text ) !important;
    background-color: #FFFFFF00 !important;
    border-style: solid;
    border-width: 3px 3px 3px 3px;
    border-color: var(--e-global-color-accent );
    border-radius: 10px 10px 10px 10px;
    padding: 9px 30px 9px 30px;
    transition: all .15s;
    margin-left: 0 !important;
}

.berocket_prevent_minmax_input_add_to_cart_variation a.button:hover{
    color: var(--e-global-color-9329fd1 ) !important;
    background-color: var(--e-global-color-accent ) !important;
    transition: all .15s;
}





.woocommerce-error a{
    color:var(--error-message-text-color) !important;
}


.intro_text span.read_more_btn{display: none;}

@media (max-width:767px){
    .intro_text > div {
        height: 240px !important;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent);
        mask-image: linear-gradient(180deg, #000 60%, transparent);
        transition: all .3s ease-in-out;

    }

    .intro_text.expanded > div {
        height: 100% !important;
        -webkit-mask-image: none;
        mask-image: none;
        transition: all .3s ease-in-out;
    } 


    .intro_text span.read_more_btn{
        margin-top: 20px;
        display: inline-block;
    }
    .intro_text span.read_more_btn:hover{
        cursor:pointer;
    }
    .intro_text span.read_more_btn:after{
        content: ">";
        margin-left: 7px;
    }
}


span.onsale {
    top: 10% !important;
    border-radius: 0 10px 10px 0 !important;
    left: 0 !important;
background: black !important;
    font-family: "Neucha";
    font-weight: normal !important;
    font-size: 27px !important;
    padding: 13px 7px !important;
    line-height: 1em !important;
    min-height: 20px !important;
    min-width: 0 !important;
}


@media (max-width:768px){
    span.onsale {
        font-size:22px;
    }
}

.sale_custom .custom-price-amount, .sale_custom .custom-currency{
    opacity: .4;
    text-decoration: line-through;
    font-size: 14px;
}

.full_price_wrapper{
    display: flex;
}
.sale_custom .sale_price_wrapper{
    display: flex;
}

.sale_custom .prices_wrapper{
    display: block;
}

.awdr_discount_bar {
    margin-bottom:30px !important;
}


.single-product .onsale{
	display:none;
}
.single-product.product_on_sale .onsale{
	display:block;
}

.awdr_discount_bar {
	display:none;
}
.product_on_sale .awdr_discount_bar {
	display:block;
}


.holiday_add_to_cart{
    font-family: "Nunito", Sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1em;
    letter-spacing: 0.7px;
    border-style: solid;
    border-width: 3px 3px 3px 3px;
    border-radius: 10px 10px 10px 10px;
    padding: 11px 30px 11px 30px;
    fill: var(--e-global-color-9329fd1);
    color: var(--e-global-color-9329fd1);
    background-color: var(--e-global-color-accent);
    cursor:pointer;
}


.max-qty-text{
    margin-bottom: 15px;
    margin-top: 15px;
    color: var(--e-global-color-primary);
    font-size: 15px;
}

.woocommerce div.product p.price, .woocommerce div.product span.price{
    color:var(--e-global-color-primary) !important;
}
.woocommerce div.product p.price ins{
    text-decoration: none !important;
}


.bundle-product-attributes{
    font-size:13px;
}