/**
Theme Name: BAVA
Author: somstudio
Author URI: https://somstudio.it
Description: Tema ideato e realizzato da somstudio
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bava
Template: astra
*/

.ast-theme-transparent-header  .site-header
{margin-left:0!important;padding-left:2.5%;margin-right:0!important;padding-right:2.5%;background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 100%);}
body.single-format-standard .site-content{
background: linear-gradient(0deg,rgba(67, 147, 205, 0) 0%, rgba(67, 147, 205, 0.05) 100%);
}
body.single-format-standard .site-content article {background-color:transparent!important;padding-top:4em;}

.single .entry-header .post-thumb img {border-radius:4px!important;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1)!important;
-webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1)!important;} 



/* --- PULSANTI GENERALI --- */
body .vc_btn3-container a, 
.vc_btn3-container button, 
.ast-custom-button-link .ast-custom-button, 
input[type="submit"], 
.custom-button-container a, 
.custom-button-container-duplicate a, 
.ast-loop-product-footer a {
    font-size: 90% !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    background-color: #4393CD !important;
    background-image: -webkit-linear-gradient(left, #4393CD 0%, #1972A5 50%, #4393CD 100%) !important;
    background-image: linear-gradient(to right, #4393CD 0%, #1972A5 50%, #4393CD 100%) !important;
    -webkit-transition: all .2s ease-in-out !important;
    transition: all .2s ease-in-out !important;
    background-size: 200% 100% !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}

.custom-button-container {
    padding: 1em 0;
}

body .vc_btn3-container a:hover, 
.vc_btn3-container button:hover, 
.ast-custom-button-link .ast-custom-button:hover, 
input[type="submit"]:hover, 
.custom-button-container a:hover, 
.custom-button-container-duplicate a:hover, 
.ast-loop-product-footer a:hover {
    color: #ffffff;
    background-color: #1972A5;
    border: none;
    background-position: 100% 0;
}

/* --- GRADIENTI E BACKGROUND --- */
.bg-grad-blu {
    background: linear-gradient(to bottom, #1972A5 0%, #4393cd 40%, #ffffff 80%, #ffffff 100%);	
}

.bg-half-grey {
    background: linear-gradient(to bottom, #ffffff 0%, #ffffff 70%, #f8f8f8 70%, #f8f8f8 100%);
}

.grid-grad {
    background: linear-gradient(0deg,rgba(67, 147, 205, 0) 0%, rgba(67, 147, 205, 0.05) 100%)
}

/* --- PULSANTI CUSTOM (GIALLI) --- */
.custom-button-container a, 
.custom-button-container-duplicate a, 
.ast-loop-product-footer a {
    background-color: #edba3a !important;
    background-image: -webkit-linear-gradient(left, #edba3a 0%, #fdd34c 50%, #edba3a 100%) !important;
    background-image: linear-gradient(to right, #edba3a 0%, #fdd34c 50%, #edba3a 100%) !important;
    color: #ffffff !important; 
    border: none !important;
    font-size: 100% !important;
    padding: 18px 25px !important;
    text-shadow: 0px 1px 2px rgba(0,0,0,0.15);
    text-decoration: none !important;
}

.custom-button-container a:hover, 
.custom-button-container-duplicate a:hover, 
.ast-loop-product-footer a:hover {
    background-color: #d4a52e !important;
    color: #ffffff !important;
    background-position: 100% 0 !important; 
}

/* --- UTILITY & FORM --- */
.of-vis { overflow: visible !important; }

input[type="text"], input[type="number"], input[type="email"], input[type="url"], 
input[type="password"], input[type="search"], input[type="reset"], 
input[type="tel"], input[type="date"], select, textarea {
    border: 1px solid #4393cd;
    font-size: 18px;
}

td, th { padding: .5em .5em !important; }

/* --- MENU --- */
.ast-builder-grid-row > .site-header-section { flex-wrap: wrap !important; }
.ast-builder-menu-1 { width: 100% !important; margin-top: 1em !important; }
.site-header-section { height: unset !important; }

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item { position: relative; }

.main-header-menu .sub-menu {
    background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); 
    width: 100% !important;
}

.main-header-menu .menu-link, .main-header-menu > a { padding: .5em !important; }
.ast-builder-menu-1 .menu-item > .menu-link { border-radius: 25px !important; }

/* --- CUSTOM LISTE (UL) --- */
.custom-list ul, ul.custom-list, .entry-content ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1.5em .5em;
}

.custom-list ul li, ul.custom-list li, .entry-content ul li {
    position: relative;
    padding-left: 40px;
    margin-bottom: 15px;
    font-family: sans-serif;
	padding: 6px 0px 0 40px!important;
}

.custom-list ul li:before, ul.custom-list li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 32px;
    height: 32px;
    background-color: #4393cd;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 19.414l-6.707-6.707 1.414-1.414L9 16.586 20.293 5.293l1.414 1.414L9 19.414z'/%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 19.414l-6.707-6.707 1.414-1.414L9 16.586 20.293 5.293l1.414 1.414L9 19.414z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
    -webkit-mask-size: contain;
}

/* Tab Dati - versione cerchio */
.tabdati ul, .tab-dati ul {
    list-style: none !important;
    padding: 0 !important;
    margin-left: 0 !important;
}

.tabdati ul li, .tab-dati ul li {
    position: relative !important;
    padding-left: 25px !important;
    margin-bottom: 10px !important;
    display: block !important;
    line-height: 1.5 !important;
}

.tabdati ul li::before, .tab-dati ul li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0.4em !important;
    width: 10px !important;
    height: 10px !important;
    background-color: #4393cd !important;
    border-radius: 50% !important;
    z-index: 99 !important;
    display: block !important;
}

/* --- HOME & ANIMAZIONI --- */
.w-btm {
    position: relative !important;
    overflow: visible !important;
}
.w-btm:after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 7vw !important;
    background-color: #ffffff !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.h2-claim h2 { 
    font-size: 5.5vw !important;
    font-family: 'Jost', sans-serif !important; 
}
.box-home h2 { font-family: 'Jost', sans-serif !important; }
.f900 h3 { font-weight: 900 !important; }

.sdw-w p, .sdw-w h2 {
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.45);
}

.img-ab-home {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
}

body .blu-grad, body .site-footer {
    background: linear-gradient(210deg, #4393CD 31.41%, #1972A5 86.49%, #4393CD) !important;
    background-size: 400% 400% !important;
    animation: gradientShift 8s ease infinite !important;
}

@keyframes gradientShift {
    0% { background-position: 0% 50% !important; }
    50% { background-position: 100% 50% !important; }
    100% { background-position: 0% 50% !important; }
}

.img-box-h img {
  width: 100%!important; 
  aspect-ratio: 4/3!important; 
  object-fit: cover!important;
  object-position: center!important;
}

.box-home > .wpb_column .vc_column-inner:hover {
    position: relative;
}
.box-home > .wpb_column .vc_column-inner:hover .img-box-h img  {
    opacity: 0.7;
}
.box-home > .wpb_column .vc_column-inner:hover h3 {background-color:#1972A5!important;display: inline-block;}
.box-home > .wpb_column .vc_column-inner:hover h3,
.box-home > .wpb_column .vc_column-inner:hover p {
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.35);
}

.wpcp-carousel-wrapper, .wpcp-carousel-wrapper .wpcp-carousel-content-wrapper { 
    margin-top: -2em !important; 
}


/* --- CONTACT ICON --- */
.contact-card {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.contact-row {
    display: flex;
    align-items: flex-start;
}
.icon-box {
    display: flex;
    justify-content: center;
    margin-right: 10px;
    padding-top: 4px;
}
.icon-box i {
    color: #4393cd;
    font-size: 30px;
}

/* --- WOOCOMMERCE --- */
body.woocommerce .ast-container {
    max-width: 100% !important;
}

body.woocommerce #main, .bg-grad {
    padding: 4em 4.25% !important;
    background: linear-gradient(0deg,rgba(67, 147, 205, 0) 0%, rgba(67, 147, 205, 0.05) 100%);
    display: inline-block;
    width: 100%;
}

.woocommerce-js ul.products li.product, .woocommerce-page ul.products li.product {
    padding: 0!important;
    background-color: transparent;
    border-radius: 3px;
}

.woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid) { gap: 35px; }

.woocommerce-loop-product__title {
    padding: 0;
    font-size: 1.4em;
    letter-spacing: 1px;
    font-weight: 800 !important;
    font-family: 'Lato', sans-serif;
}
.woocommerce-loop-product__title:hover { color: #4393cd; }
.woocommerce-js ul.products li.product a img, .woocommerce-page ul.products li.product a img { border-radius: 4px 4px 0 0; }
.woocommerce-js ul.products li.product a img:hover, .woocommerce-page ul.products li.product a img:hover { opacity: 0.75; }
.ast-woo-shop-product-description { font-size: 90% !important; }

.ast-loop-product-footer a { width: 100%; text-align: center; }

.woocommerce-js ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title {font-size:130%;}

.single-product div.product {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; 
}
.single-product div.product .summary {
    float: left !important;
    width: 55% !important;
    padding-right: 2em !important;
}
.single-product div.product .woocommerce-product-gallery {
    float: right !important;
    width: 45% !important;
}

body.woocommerce h1.product_title { font-size: 240%; color: #4393cd; }
body.woocommerce h3 { margin-bottom: 1em !important; }

.product-description-full-width { 
    width: 100%; 
    border-top: 1px solid; 
    margin-top: 0 !important; 
    padding-top: 1em; 
}

.woocommerce-js div.product div.images .woocommerce-product-gallery__trigger { display: none !important; }

.tab-dati h6 { text-transform: uppercase; margin-bottom: 1em; margin-top: 2em; }
.tab-dati { font-size: 90% !important; }

.related h2 {
    font-size: 200% !important;
    letter-spacing: 0 !important;
}


.ast-woo-shop-product-description {font-size:75%!important;line-height:1.25;margin-bottom:0px!important;}
.ast-loop-product-footer {margin:0!important;}
.ast-loop-product-footer a {background-color:transparent!important;background-image:none!important;color:#4393cd!important;font-size:70%!important;padding:0!important;}
.ast-loop-product-footer a:hover {background-color:transparent!important;background-image:none!important;color:#1972A5!important;}

.astra-shop-thumbnail-wrap {margin-bottom:10px;}
.woocommerce-js ul.products li.product a img {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M70,8 L30,8 C26,8 22,10 20,13 L2,44 C0,48 0,52 2,56 L20,87 C22,90 26,92 30,92 L70,92 C74,92 78,90 80,87 L98,56 C100,52 100,48 98,44 L80,13 C78,10 74,8 70,8 Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M70,8 L30,8 C26,8 22,10 20,13 L2,44 C0,48 0,52 2,56 L20,87 C22,90 26,92 30,92 L70,92 C74,92 78,90 80,87 L98,56 C100,52 100,48 98,44 L80,13 C78,10 74,8 70,8 Z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    backface-visibility: hidden;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    transform: rotate(0deg) scale(1);
}
.woocommerce-js ul.products li.product a img {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)!important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
	margin-bottom:0!important;
}

.woocommerce-js ul.products li.product .astra-shop-thumbnail-wrap a {
position: relative;
    display: block;
    overflow: visible;
}
.woocommerce-js ul.products li.product .astra-shop-thumbnail-wrap a::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 8px;
    width: 100%;
    height: 100%;
    background-image: -webkit-linear-gradient(left, #fff 0%, #1972A5 50%, #4393CD 100%) !important;
    background-image: linear-gradient(to right, #fff 0%, #1972A5 50%, #4393CD 100%) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M70,8 L30,8 C26,8 22,10 20,13 L2,44 C0,48 0,52 2,56 L20,87 C22,90 26,92 30,92 L70,92 C74,92 78,90 80,87 L98,56 C100,52 100,48 98,44 L80,13 C78,10 74,8 70,8 Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M70,8 L30,8 C26,8 22,10 20,13 L2,44 C0,48 0,52 2,56 L20,87 C22,90 26,92 30,92 L70,92 C74,92 78,90 80,87 L98,56 C100,52 100,48 98,44 L80,13 C78,10 74,8 70,8 Z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    z-index: 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)!important;
	-webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)!important;
}

.woocommerce-js ul.products li.product a:hover img {
	transform: rotate(15deg)!important;
	opacity:1!important;
}

    .ast-builder-menu-1 .menu-item > .menu-link {
        border: 0 !important;
        margin: 0 .5em !important;
        padding: 1px 10px !important;
		letter-spacing: 2px !important;
		background-color: #4393CD !important;
		-webkit-transition: all .2s ease-in-out !important;
		transition: all .2s ease-in-out !important;
		text-transform: uppercase !important;
		border-radius: 3px !important;
		text-decoration: none !important;
		color:#ffffff!important;
		line-height: 2;
    }
    .ast-builder-menu-1 .menu-item > .menu-link:hover {
        color: #ffffff !important;
		background-color:#1972A5 !important;
    }

.ast-builder-menu-1 .main-header-menu {background-color:transparent!important;}

.ast-sticky-active {
	background-color:rgba(255,255,255,0.85)!important;
	max-width:100%!important;
	padding-left:2.5%!important;
	padding-right:2.5%!important;
	backdrop-filter: blur(8px)!important;
	-webkit-backdrop-filter: blur(8px)!important;
}

.ast-mobile-popup-drawer.active .ast-mobile-popup-inner {
	backdrop-filter: blur(8px)!important;
	-webkit-backdrop-filter: blur(8px)!important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-overlay {background-color: rgba(0,0,0,0.1)!important;}

body .bg-ov {
	background-position:top right!important;opacity:1;
	z-index:1!important;
	background-color: rgba(255, 255, 255, 0.85) !important;
	background-blend-mode: lighten !important;
}

body .bg-ov:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white; 
    opacity: 1; 
    z-index: -1 !important;
}

body .vc_row.bg-ov > .wpb_column {
    position: relative !important;
    z-index: 2 !important;
}

.box-sh .vc_clearfix, .shd .vc_column-inner {box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);}

body .btn-news a {background-color:transparent!important;
background-image:none!important;font-size:80%!important;padding:0!important;margin-bottom:0!important;text-transform:lowercase!important;}

.box-sh .vc_custom_heading a {text-decoration:none!important;}

.box-sh .vc_custom_heading a:hover, body .btn-news a:hover {color:#1972A5!important;}

.box-sh .vc_gitem-col {padding:1em 1em 0;}


/* --- RESPONSIVE --- */
@media (min-width: 768px) {
    .gallery-duplicata { display: none !important; }
    .custom-button-container-duplicate { display: none !important; }
    .ast-sticky-active .ast-builder-menu-1 { margin-top: 0 !important; }
    .ast-sticky-main-shrink .ast-sticky-shrunk .site-logo-img img { max-height: 110px !important; }
	.ast-theme-transparent-header .site-header-primary-section-right {margin-top:-2em;}
	.ast-sticky-active .site-header-primary-section-right {margin-top:0;}

}

@media (max-width: 768px) {
    .woocommerce-product-gallery__image { display: none !important; }
    .gallery-duplicata .woocommerce-product-gallery { width: 100% !important; }
    .gallery-duplicata .woocommerce-product-gallery .woocommerce-product-gallery__image { display: inline-block !important; width: 100% !important; }
    .gallery-duplicata .woocommerce-product-gallery .custom-button-container { display: none !important; }	
    .cl-grid .vc_grid-item { width: 25% !important; float: left !important; }
    #ast-hf-menu-2-mobile li a { border: 0 !important; }
	.ast-builder-menu-1 .menu-item > .menu-link {
		height:unset!important;
		margin-bottom:.5em!important;
		min-height:unset!important;
		line-height:2.5;
		width:165px!important;
	}
	#ast-hf-menu-2-mobile  .menu-link {color:#555555!important;}
	
	#ast-hf-menu-2-mobile  .current-menu-ite .menu-link, #ast-hf-menu-2-mobile .menu-link:hover {color:#4393CD!important} 
	
	.ast-header-break-point .main-navigation .stack-on-mobile li {display:inline-block;}
    
    .ast-builder-menu-1 .menu-item > .menu-link {
        border: 0 !important;
        margin: 0 .5em !important;
        padding: 1px 10px !important;
    }

    .img-ab-home {
        position: absolute;
        top: 0;
        right: 0;
        width: 90%;
        z-index: -1;
    }
    
    .pd-m-rem .vc_column-inner { padding-left: 0 !important; }
    
    body .h2-claim { padding-right: 10% !important; }
    .h2-claim h2 { font-size: 10vw !important; margin-top: 60vw; }
    .h24 { height: 48vw !important; }
    
    .single-product div.product .summary {
        width: 100% !important;
        padding-right: 0 !important;
    }

    .single-product div.product .woocommerce-product-gallery {
        width: 100% !important;
    }
    
    .custom-button-container-duplicate { display: inline-block !important; width: 100%; }
    .custom-button-container-duplicate a { width: 100%; }
	
	body .z1, body .z1 .wpb_column {padding: 0 0!important;}

	body .z1 .pd-mob  { padding:2em 8% 0!important;}

	body .box-home {padding:2.5em 1.5em!important;}
	.box-home .wpb_column .wpb_text_column {margin-bottom:2em;padding-bottom:2em;border-bottom:1px solid #fff;}
	.box-home .wpb_column:last-child .wpb_text_column{border-bottom:0;padding-bottom:0;}
	.col-r-h .vc_column-inner {margin-top:10px!important;}
	.col-r-h .vc_column-inner .wpb_wrapper .wpb_text_column, 
	.col-r-h .vc_column-inner .wpb_wrapper .vc_btn3-container {padding-left:8%!important;padding-right:8%!important;}
	body .h2-claim.wpb_text_column .mrg-p {margin-bottom:4em!important;}
	body .bg-ov {background-color: rgba(255, 255, 255, 1) !important;}
}

@media screen and (max-width: 544px) {
    body .h2-claim { padding-left: 5% !important; padding-right: 10% !important; }
    .h2-claim h2 { font-size: 10.5vw !important; }
    .br-rem { display: none; }
    .cl-grid .vc_grid-item { width: 50% !important; float: left !important; }
	body .h2-claim.wpb_text_column .mrg-p {margin-bottom:4em!important;}
}


@media (min-width: 1260px) {
	.ast-builder-menu-1 .menu-item > .menu-link {font-size:18px!important}
}


