/*
Theme Name: Festopolis Child
Description: Tema Festopolis
Author: JEF srl
Author URI: https://www.jef.it
Version: 1.0.0
Text Domain: festopolis
Template: festopolis
*/



html {font-size: 10px; }
body {font-family: 'Figtree', sans-serif; font-size: 1.4rem; overflow-x: hidden !important;}

a {text-decoration: none; color:#1F78BA; font-weight: 700;} 
a:hover {color:#858792; text-decoration: none;}

a:visited,
a:link {
  color: #1F78BA;
  text-decoration: none;
  font-weight: 700;
}

.contpage a, .mega-sub-menu a {color:#1F78BA !important;}

p {font-size: 1.4rem;}
strong {font-weight: bold;}

.mybutton button {padding: 10px 25px; border: 0; border-radius: 20px !important; background: #1F78BA; font-size: 2rem; color: white !important; font-weight: 700; margin-right: 30px; background-image: unset !important;}
.mybutton a {color: white !important; font-weight: 600;  font-size: 2rem !important;}
.mybutton .vc_btn3.vc_btn3-shape-rounded {border-radius: 25px;}
.mybutton .vc_btn3.vc_btn3-style-custom { background-image: unset !important;}
.mybuttonwhite button {padding: 10px 25px; border: 0; border-radius: 10px; background: #fff; font-size: 1.8rem; color: #2a94f4; font-weight: 700; margin-right: 30px;}

/* ! HEADER */
.headtop {padding:10px 30px; background-color: #ffffff; max-width: calc(100vw - 60px); border-radius: 50px; margin-top: 30px; margin-left: 30px; position: fixed; top:0 !important; z-index:999; transition: all 0.3s ease;}
.headtop .logo img {max-height: 55px;}

/* Header scrolled state */
.headtop.scrolled {
    max-width: 100vw;
    border-radius: 0;
    margin-top: 0;
    margin-left: 0;
}

.mynav {text-align: center; display: flex; align-items: center; justify-content: flex-end; padding: 0;}
.mynav button {background: #FF4603; border: 0; border-radius: 25px; margin-left: 30px; padding: 10px 30px; color: white; text-transform: uppercase; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 700;}
.mynav button:hover {background: #1c1c1c; color: white;}
.menu {padding: 0 !important; list-style: none; margin: 0 !important;}
.menu li {display: inline-block; margin: 0 15px 0 20px;}
.menu li a {font-size: 1.6rem; color: #1F78BA; text-decoration: none; font-weight: 700; text-transform: capitalize;}
.menu li a:hover {color: #90af36;}

.menu .menu-item-has-children > a {
    position: relative;
    padding-right: 1.5em; 
}

.menu .menu-item-has-children > a::after {
    content: "";
    width: 22px;
    height: 22px;
    background-image: url('/wp-content/themes/festopolis-child/img/arrow-right-s-line.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    right: -0.2em;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    pointer-events: none;
}
.navmobile .menu .menu-item-has-children > a::after {display: none;}

.mysearchico {/*display: none;*/ display: flex; align-items: center; margin-left: 10px; border:2px solid #aec232; border-radius:25px; padding:10px;}
.mysearchico {color: #1F78BA;}
.mysearchico svg {fill: currentColor;}

.mobile-search-form {padding: 30px 15px;}
.mobile-search-form [type=search] {width: 80%; padding: 10px 15px;
    border: 1px solid #cecece;
    border-radius: 20px;
}
.mobile-search-form button {width: 18%; background: #1f78ba;
    border: 0;
    color: white;
    padding: 12px 0px;
    border-radius: 50px;}

/* Menu fixed */
.mymenufixed {position: fixed !important; top:0 !important; z-index:999;}
.removeafter .headtop::after {display: none !important;}

/* ! SEARCH OVERLAY */
.search-overlay {
    position: fixed;
    inset: 0;
    background: rgba(31, 120, 186, 0.92);
    backdrop-filter: blur(6px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.search-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
body.search-overlay-active {
    overflow: hidden;
}
.search-overlay__close {
    position: absolute;
    top: 30px;
    right: 40px;
    background: none;
    border: none;
    color: #ffffff;
    cursor: pointer;
    padding: 8px;
    line-height: 1;
    transition: color 0.2s;
}
.search-overlay__close:hover {
    color: #aec232;
}
.search-overlay__box {
    text-align: center;
    width: 100%;
    max-width: 700px;
    padding: 0 30px;
    transform: translateY(20px);
    transition: transform 0.3s ease;
}
.search-overlay.is-open .search-overlay__box {
    transform: translateY(0);
}
.search-overlay__label {
    color: #ffffff;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 24px;
}
.search-overlay__form {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 50px;
    overflow: hidden;
    padding: 6px 6px 6px 24px;
}
.search-overlay__input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 1.8rem;
    font-family: 'Figtree', sans-serif;
    color: #1c1c1c;
    background: transparent;
    padding: 8px 0;
}
.search-overlay__input::placeholder {
    color: #b0b0b0;
}
.search-overlay__submit {
    background: #aec232;
    border: none;
    border-radius: 50px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #ffffff;
    flex-shrink: 0;
    transition: background 0.2s;
}
.search-overlay__submit:hover {
    background: #1F78BA;
}

/* ! Hamburger */
.hambcont {display: none;}
.icon-bar {position: absolute; right: 20px; top: -5px;}
.icon-bar i {font-size: 30px; color:#1F78BA; display: block;}
.icon-bar p {font-size: 9px; color:#1F78BA; margin:0; display: block; font-weight: 700; text-transform: uppercase;}

/* MAX MEGA MENU */
#mega-menu-wrap-primary {background-color: #fff; width: 100%;}
#mega-menu-wrap-primary #mega-menu-primary { text-align: right;padding: 0;}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
  color: #1F78BA;
  font-size: 1.6rem;
  font-weight: 700;
}

 #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
  color: #1F78BA;
  font-size: 1.6rem;
  font-weight: 700;
  border-color: unset;
  background-color: white;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
  padding: 10px 10px 10px 10px; line-height: 20px;}
  

 #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
    background-color: #fff;  color: #98b634; font-weight: 700; }

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
	top: 115px !important;
	width: calc(100vw - 60px);
	left: 30px !important;
	right: auto;
	transform: none !important;
	position: fixed;

}

.mega-menu-grid > .mega-sub-menu {padding: 15px 10px !important;} 

/* MEGA MENU PRODOTTI */
/*titoletto mega menu prodotti */
#mega-menu-item-781 .mega-sub-menu .textwidget p {
  font-weight: bold !important;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2rem;
  color:#333333;
  padding: 0 60px;
  min-height: 40px;
}
#mega-menu-item-781 .mega-sub-menu .textwidget p a{color:#333333;}
#mega-menu-item-781 .mega-menu-item-type-widget, .rowmegamenureal .mega-menu-item-type-widget {padding:0 !important;}
#mega-menu-item-781 .widget_media_image, .rowmegamenureal .widget_media_image {text-align: center !important;}
#mega-menu-item-781 .widget_media_image img, .rowmegamenureal {max-height: 160px; width: auto;}
#mega-menu-item-781 .mega-menu-column, .rowmegamenureal .mega-menu-column{
  border: 2px solid #CECECE !important;
  border-radius: 25px !important;
  margin: 15px !important;
}

.rowmegamenureal .mega-menu-column,
.rowmegamenureal .widget_media_image {
    overflow: hidden;
}

.rowmegamenureal .widget_media_image a {
    display: block;
    overflow: hidden;
    border-top-left-radius: 23px;
    border-top-right-radius: 23px;
}

 #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {
    width: calc(var(--span) / var(--columns) * 100% - 30px) !important;
}

/*hover submenu*/
#mega-menu-item-781 > .mega-sub-menu .mega-menu-column:hover {background-color: #2aedf536 !important; border: 2px solid #2aedf536 !important;}

/* MEGA MENU REALIZZAZIONI */
/*titoletto mega menu realizzazioni */
.rowmegamenureal .textwidget p {
  font-weight: bold !important;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2rem;
  color:#333333;
  padding: 10px 60px 0;
  min-height: 30px;
}

.rowmegamenureal .widget_media_image img {max-height: 280px; width: 100%; border-top-left-radius: 23px; border-top-right-radius: 23px; object-fit: cover; display: block; transition: transform 0.4s ease, opacity 0.3s ease;}
.rowmegamenureal .widget_media_image img:hover {opacity: 0.8; transform: scale(1.05);}

/* Menu tendina*/
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
border-radius: 15px !important; top: 65px !important; padding: 10px;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
  background-color: #ffffff;
  color: #1f78ba;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover {
font-size: 1.6rem;
font-weight: 700;
background-color: #ffffff;
color: #90af36;	
}

/* NAVMOBILE */
.boxicon-bar {padding-top:5px;}
.show-menu {right:0px !important; }
.navmobile {-webkit-transition: all 0.6s ease-in-out; -moz-transition: all 0.6s ease-in-out; -o-transition: all 0.6s ease-in-out; transition: all 0.6s ease-in-out; background-color:#ffffff; width:290px; height:100%; z-index:999; position:fixed; top:0; right:-290px; border-top-left-radius: 15px; border-bottom-left-radius: 15px;}
.hamb_butt {color: white;}
.navmobile .buttonshop {padding: 15px 15px 15px 15px;text-transform: uppercase; background: #ff4603; border-bottom: 1px solid white;}
.navmobile .buttonshop a {font-size: 1.3rem; color:white; font-weight:700;}

/* ! MY HEERO SECTION */
.myheero {
	background-color: #ccc; 
	min-height: calc(100vh - 100px);
	width: calc(100vw - 60px);
	margin-left: 30px;
	border-radius: 25px;
	display: flex;
	align-items: center;
	margin-bottom:60px;
	background-repeat:no-repeat; 
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position: relative;
}

.myheero::after {
	height: calc(100vh - 100px);
	content: '';
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	background: black;
	opacity: 0.4;
	border-radius: 25px;
	z-index: 10;
}

.boxtxtheero {max-width: 780px; padding-left: 90px; padding-top: 90px; z-index: 11;}
.boxtxtheero h1 {color: white; font-size: 4.8rem; font-weight: 700; margin-bottom: 30px;}
.boxtxtheero p {color: white; font-size: 1.8rem; font-weight: 400; margin-bottom: 60px;}
.boxtxtheero button {margin-right: 15px;}

.scrolldown {z-index: 998; width: 50px; position: absolute; bottom: 10px; left: 50%;}

@keyframes scroll {
	0% {
		transform: translateY(0);
	}
	30% {
		transform: translateY(100px);
	}
}
.svgscrolldown svg #wheel {animation: scroll ease 1.5s infinite;}
.svgscrolldown {z-index: 998; position: absolute; bottom: 15px; left: 50%;}
.svgscrolldown svg {width: 25px; z-index: 998;}

/* ! Button CTA */
.ctaorange {background-color: #FF4603; border: 2px solid #ff4603; padding: 12px 30px; border-radius: 25px; color: white; text-transform: uppercase; font-size: 1.2rem; font-weight: 700;}
.ctaorange:hover {background-color: #1c1c1c; border: 2px solid #1c1c1c; cursor: pointer;}

.ctaorangerev {background-color: #fff; border: 2px solid #ff4603; padding: 12px 30px; border-radius: 25px; color: #FF4603; text-transform: uppercase; font-size: 1.2rem; font-weight: 700;}
.ctaorangerev:hover {background-color: #FF4603; border: 2px solid #FF4603; color:white; cursor: pointer;}

.ctawhite {
	background-color: white;
	border: 2px solid #fff;
	padding: 12px 30px;
	border-radius: 30px;
	color: #aec231;
	font-size: 1.8rem;
	font-weight: 700;
}
.ctawhite:hover {background-color: #aec231; border: 2px solid #fff; color: #ffffff; cursor: pointer;}

/* ! BUTTON VC COMPOSER  */
.vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern {background-image:unset; background-color: #FF4603; border: 2px solid #ff4603; padding: 12px 30px; border-radius: 25px; color: white; text-transform: uppercase; font-size: 1.2rem; font-weight: 700;}
.vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover {background-image:unset; background-color: #1c1c1c; border: 2px solid #1c1c1c; color: white;}
.vc_btn3-container {margin-bottom: 0;}

/* ! OWL CAROUSEL */
.owl-carousel-slidehome .owl-stage-outer, .owl-carousel-slidehome .owl-stage {height: 100vh;}
.owl-carousel-slidehome .item { width: 100%; min-height:600px; padding: 0 !important; }

.item_image {

	height: calc(100vh - 30px);
	width: calc(100vw - 30px);
	background-repeat:no-repeat; 
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	display: flex;
	align-items: center;
    justify-content: center;
	border-radius: 25px;
    margin-top: 10px;
    margin-left: 15px;
}

.item_image::after {
	content: '';
	top: 0;
	left: 0;
	z-index: 10;
	width: calc(100vw - 30px);
	height: calc(100vh - 30px);
	display: block;
	position: absolute;
	background: black;
	opacity: 0.2;
	border-radius: 25px;
    margin-top: 10px;
    margin-left: 15px;
}

.item_title {
	/*position: relative;
	text-align: center;
	width: 70%;
	
	background-color: unset;
	padding:30px;*/
	position: absolute;
	left: 0;
	bottom: 160px;
	z-index: 12;
	max-width: 640px;
    margin-left: 45px;
	padding-left: 45px;
}


.item h2 {
	font-family: 'Figtree', sans-serif; 
	color:#fff;
	font-size:4.8rem;
	padding-top: 15px;
	font-weight: 700;
	padding: 0;
}

.item h3 {
	font-family: 'Figtree', sans-serif; 
	color:#fff;
	font-size:20px;
	padding-top: 15px;
	font-weight: 400;
}


.button_slide {
  position: absolute;
  bottom: -90px;
  left: 45px;
  text-align: center;
  z-index: 12;
  background-color: #fff;
  border-radius: 45px;
  padding: 10px 15px 10px 30px;
  font-weight: 700;
  font-size: 1.8rem;
  text-transform: unset;
  color: #1F78BA;
  display: flex;
  align-items: center;
  gap: 15px;
}

.button_slide:hover {
    background-color: #fff;
}

.icon_circle {
    background-color: #1F78BA; 
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px; 
    height: 50px;
}

.icon_circle svg {
    width: 24px;  
    height: 24px;
    fill: white; 
}

/* frecce nav owl carousel */
.nav_icon_circle {
    background-color: #AEC233; 
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
}

#product-tabs-section .nav_icon_circle {background-color: #ffffff; }
#product-tabs-section .nav_icon_circle:hover {background-color: #AEC233; }
#product-tabs-section .nav_icon_circle svg { fill: #1F78BA; }
#product-tabs-section .nav_icon_circle:hover svg { fill: white; }

.nav_icon_circle svg {
    width: 20px;
    height: 20px;
    fill: white; 
}
.nav_icon_circle:hover {background-color: #1F78BA; }
#product-tabs-section .nav_icon_circle:hover {background-color: #ffcf2c; }

/* animazioni owl carousel */
.item_title {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.item_title.show {
    opacity: 1;
    transform: translateY(0);
}

.button_slide {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s ease-out 0.2s; /* piccolo ritardo */
}

.button_slide.show {
    opacity: 1;
    transform: translateY(0);
}



/* Bottone SCOPRI */
.item a {font-family: 'Figtree', sans-serif; color:white;}
.item a:hover {font-family: 'Figtree', sans-serif; color:black; }

.owl-dots {
position: absolute;
bottom: 20px;
text-align: center;
padding-bottom: 10px;
width: 100%;
}

.owl-theme .owl-nav {margin-top:0px !important;}
.owl-prev {position: absolute; top: 50%; left: 40px; margin:0 !important; border-radius:0px !important;}
.owl-next {position: absolute; top: 50%; right: 40px; margin:0 !important; border-radius:0px !important;}

        
.owl-dot {
            display: inline-block;
            width: 12px;
            height: 12px;
            margin: 0 5px;
            background: #ffffff !important;
            border-radius: 50%;
            transition: all 0.3s ease;
        }
        
.owl-dot span {
            background: #ffffff !important;
            border: 1px solid #ffffff !important;
            width: 12px !important;
            height: 12px !important;
            margin: 0 !important;
        }
        
.owl-dot.active {
            background: #aec233 !important;
            width: 30px;
            border-radius: 6px;
        }
        
 .owl-dot.active span {
            background: #aec233 !important;
            border: 1px solid #aec233 !important;
            width: 30px !important;
            height: 12px !important;
            border-radius: 6px !important;
        }

.owl-theme .owl-nav [class*="owl-"] {font-size:42px !important;background-color: unset !important; color:#fff !important;}
.owl-theme .owl-nav [class*="owl-"]:hover {background:unset !important; color:#fff !important;}

/* ! OWL CAROUSEL Case History */
#casecarousel .item {
	width: 100%; 
	min-height: 38vh; 
	padding: 15px !important; 
	border-radius: 25px; 
	background-repeat:no-repeat; 
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
#casecarousel .item:hover {cursor: pointer; opacity: 0.8;}
#casecarousel .owl-item {padding: 15px !important;}
#casecarousel .owl-stage, #casecarousel .owl-stage-outer {height: 40vh;}
#casecarousel .owl-dots {position: absolute; bottom: -60px;}
#casecarousel .owl-theme .owl-dots .owl-dot span { width: 30px; height: 10px;}
#casecarousel .owl-dot.active span {background: #1c1c1c !important;}
#casecarousel .owl-dot span {border: 1px solid #1c1c1c !important;}

/* ! OWL CAROUSEL shortcode OFFERTE */
.product-tabs-section {
            max-width: 1400px;
            margin: 0 auto;
            padding: 40px 20px;
        }
        
        .tabs-navigation {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-bottom: 40px;
        }
        
        .tab-button {
            background: #ffffff;
            border: none;
            padding: 15px 40px;
            border-radius: 12px;
            font-size: 18px;
            font-weight: 700;
            color: #333333;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: unset !important;
           
        }
        
        .tab-button:hover {
            transform: translateY(-2px);
           
        }
        
        .tab-button.active {
            background: #FDB614;
            color: #333333;
        }
        
        .tabs-content-wrapper {
            position: relative;
            min-height: 400px;
        }
        
        .tab-content {
            display: none;
            animation: fadeIn 0.4s ease;
        }
        
        .tab-content.active {
            display: block;
        }
        
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* Product Card Styles */
        #product-tabs-section .product-card {
            background: #ffffff;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
            margin: 10px;
        }
        
        #product-tabs-section .product-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
        }
        
        #product-tabs-section .product-image {
            position: relative;
            width: 100%;
            padding-top: 75%; /* Aspect ratio 4:3 */
            overflow: hidden;
            background: #f5f5f5;
        }
        
        #product-tabs-section .product-image img:not(.product-new-badge) {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        #product-tabs-section .product-new-badge {
            position: absolute;
            top: 15px;
            left: 15px;
            width: 50px;
            height: auto;
            object-fit: unset;
            z-index: 2;
            pointer-events: none;
        }

        .product-new-badge { position: absolute;
            top: 15px !important;
            left: 15px !important;
            width: 50px !important;
            height: auto !important;
            object-fit: unset !important;
            z-index: 2 !important;
            pointer-events: none;
        }
        
        #product-tabs-section .product-cart-icon {
            position: absolute;
            top: 15px;
            right: 15px;
            width: 45px;
            height: 45px;
            background: #F0F4F7;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            /*box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);*/
            transition: all 0.3s ease;
            z-index: 2;
        }
        
        #product-tabs-section .product-cart-icon:hover {
            background: #FDB614;
            transform: scale(1.1);
        }
        
        #product-tabs-section .product-cart-icon svg {
            width: 24px;
            height: 24px;
			fill: black;
        }
        
        #product-tabs-section .product-info {
            padding: 20px;
        }
        
        #product-tabs-section .product-code {
            font-size: 14px;
            color: #666;
            margin: 0 0 8px 0;
            font-weight: 400;
        }
        
        #product-tabs-section .product-title {
            font-size: 18px;
            font-weight: 700;
            color: #333;
            margin: 0 0 12px 0;
            line-height: 1.3;
			min-height: 5rem;
        }
        
        #product-tabs-section .product-dimensions,
        #product-tabs-section .product-age {
            font-size: 14px;
            color: #666;
            margin: 5px 0;
        }
        
        /* Override degli stili generici Owl Carousel della home */
        #product-tabs-section .owl-stage-outer,
        #product-tabs-section .owl-stage {
            height: auto !important;
        }
        
        #product-tabs-section .product-item {
            width: 100%;
            min-height: auto !important;
            padding: 0 !important;
        }
        
        /* Owl Carousel Navigation - Specifico per prodotti */
        #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-prev,
        #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-next {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: #ffffff !important;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            transition: all 0.3s ease;
        }
        
        #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-prev:hover,
        #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-next:hover {
            background: #FDB614 !important;
            transform: translateY(-50%) scale(1.1);
        }
        
        #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-prev {
            left: -60px;
        }
        
        #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-next {
            right: -60px;
        }
        
        #product-tabs-section .nav_icon_circle {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        /* Owl Carousel Dots - Specifico per prodotti */
        #product-tabs-section .owl-carousel-tabs .owl-dots {
            text-align: center;
            margin-top: 30px;
            position: relative !important;
            bottom: auto !important;
            width: 100% !important;
            padding-bottom: 0 !important;
        }
        
        #product-tabs-section .owl-carousel-tabs .owl-dot {
            display: inline-block;
            width: 12px;
            height: 12px;
            margin: 0 5px;
            background: #ffffff !important;
            border-radius: 50%;
            transition: all 0.3s ease;
        }
        
        #product-tabs-section .owl-carousel-tabs .owl-dot span {
            background: #ffffff !important;
            border: 1px solid #ffffff !important;
            width: 12px !important;
            height: 12px !important;
            margin: 0 !important;
        }
        
        #product-tabs-section .owl-carousel-tabs .owl-dot.active {
            background: #FDB614 !important;
            width: 30px;
            border-radius: 6px;
        }
        
        #product-tabs-section .owl-carousel-tabs .owl-dot.active span {
            background: #FDB614 !important;
            border: 1px solid #FDB614 !important;
            width: 30px !important;
            height: 12px !important;
            border-radius: 6px !important;
        }

		#product-tabs-section .owl-prev {position: absolute; top: 50%; left: -60px; margin:0 !important; border-radius:0px !important;}
		#product-tabs-section .owl-next {position: absolute; top: 50%; right: -60px; margin:0 !important; border-radius:0px !important;}
        
        /* Responsive */
        @media (max-width: 768px) {
            .tabs-navigation {
                flex-wrap: wrap;
                gap: 10px;
            }
            
            .tab-button {
                padding: 12px 25px;
                font-size: 16px;
            }
            
            #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-prev {
                left: 10px;
            }
            
            #product-tabs-section .owl-carousel-tabs .owl-nav button.owl-next {
                right: 10px;
            }
        }

/* ! Prodotti Correlati Section */
.prodotti-correlati-section {padding: 90px 0 120px;}

.prodotti-correlati-section .section-title {
    font-size: 3.6rem;
    color: #1F78BA;
    font-weight: 700;
    text-align: center;
    margin-bottom: 60px;
}

.owl-carousel-correlati .product-item {
    padding: 0 15px;
}

.owl-carousel-correlati .product-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.owl-carousel-correlati .product-card:hover {
    transform: translateY(-5px);
}

.owl-carousel-correlati .product-image {
    position: relative;
    overflow: hidden;
    background-color: #f5f5f5;
    aspect-ratio: 4 / 3;
}

.owl-carousel-correlati .product-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.owl-carousel-correlati .product-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.owl-carousel-correlati .product-card:hover .product-image img {
    transform: scale(1.05);
}

.owl-carousel-correlati .product-cart-icon {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 45px;
  height: 45px;
  background: #F0F4F7;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  transition: all 0.3s ease;
  z-index: 2;
}

.owl-carousel-correlati .product-cart-icon:hover {
    background-color: #ffcf2c;
    color: white;
    transform: scale(1.1);
}

.owl-carousel-correlati .product-info {
    padding: 20px;
    background-color: #F0F4F7;
}

.owl-carousel-correlati .product-code {
    font-size: 1.4rem;
    color: #999;
    margin-bottom: 10px;
    font-weight: 500;
}

.owl-carousel-correlati .product-title {
    font-size: 1.8rem;
    color: #333;
    font-weight: 700;
    margin-bottom: 15px;
    min-height: 50px;
}

.owl-carousel-correlati .product-dimensions,
.owl-carousel-correlati .product-age {
    font-size: 1.4rem;
    color: #666;
    margin-bottom: 8px;
}

/* Owl Carousel Navigation */
.prodotti-correlati-section .owl-carousel .owl-stage, .prodotti-correlati-section .owl-carousel .owl-stage-outer {height: unset;}
.owl-carousel-correlati .owl-nav button.owl-prev,
.owl-carousel-correlati .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    background-color: white !important;
    border-radius: 50% !important;
    color: #1F78BA !important;
    transition: all 0.3s ease;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.owl-carousel-correlati .owl-nav button.owl-prev:hover,
.owl-carousel-correlati .owl-nav button.owl-next:hover {
    background-color: #1F78BA !important;
    color: white !important;
}

.owl-carousel-correlati .owl-prev {
    left: -60px !important;
}

.owl-carousel-correlati .owl-next {
    right: -60px;
}

.owl-carousel-correlati .owl-nav button span {
    font-size: 0;
}

.owl-carousel-correlati .owl-nav button svg {
    width: 32px;
    height: 32px;
}

/* Owl Carousel Dots */
.owl-carousel-correlati .owl-dots {
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 10px;
    position: absolute;
    bottom: -60px;
}

.owl-carousel-correlati .owl-dot {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
}

.owl-carousel-correlati .owl-dot span {
    display: block;
    width: 12px !important;
    height: 12px !important;
    background: #ddd !important;
    border-radius: 50% !important;
    transition: all 0.3s ease;
    border: 1px solid #ddd !important;
}

.owl-carousel-correlati .owl-dot:hover span {
    background: #1F78BA !important;
}

.owl-carousel-correlati .owl-dot.active span {
    background: #aec231 !important;
    border: 1px solid #aec231 !important;
    width: 30px !important;
    height: 12px !important;
    border-radius: 6px !important;
}

/* Responsive */
@media (max-width: 768px) {
    .prodotti-correlati-section .section-title {
        font-size: 2.6rem;
    }
    
    .owl-carousel-correlati .owl-nav button.owl-prev {
        left: 10px;
    }
    
    .owl-carousel-correlati .owl-nav button.owl-next {
        right: 10px;
    }
}

/* ! Intro Home */
.testo_intro_home {text-align: center; padding: 90px 0;}
.testo_intro_home h1 {color:#333333; font-size: 2.8rem; margin:0; font-weight: 700; margin-bottom: 15px;}
.testo_intro_home p {color:#333333; font-size: 2.6rem; margin:0;}

/* Row nostri prodotti */
.row_cardcatprod {padding: 0 90px !important; margin-bottom: 30px;}
.row_nostri_prodotti {padding-top: 45px; padding-bottom: 60px; border-radius: 15px; width: calc(100vw - 30px) !important; transform: translateX(15px) !important;}
.row_nostri_prodotti h3 {font-size: 3.6rem; color:#1F78BA; font-weight: 700; margin-bottom: 30px;}
.row_nostri_prodotti p {color:#333333; font-size: 2rem; max-width: 960px; margin: 0 auto; padding-bottom: 30px;}

/* Row offerte */
.row_offerte {padding-top: 45px; padding-bottom: 60px; border-radius: 15px; width: calc(100vw - 30px) !important; transform: translateX(15px) !important; margin-top:30px;}
.row_offerte h3 {font-size: 3.6rem; color:#ffffff; font-weight: 700; margin-bottom: 30px;}

/* Shortcode Tab Offerte */
.product-tabs-section {max-width: 1400px; margin: 0 auto; padding: 40px 20px;}
.tabs-navigation {display: flex; justify-content: center; gap: 15px; margin-bottom: 40px;}
        
        .tab-button {
            background: #ffffff;
            border: none;
            padding: 15px 40px;
            border-radius: 12px;
            font-size: 18px;
            font-weight: 700;
            color: #333333;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }
        
        .tab-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        }
        
.tab-button.active {background: #ffcf2c;color: #333333;}
.tabs-content-wrapper {position: relative;min-height: 400px;}
.tab-content {display: none; animation: fadeIn 0.4s ease;}
.tab-content.active {display: block;
        }
        
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* Responsive */
        @media (max-width: 768px) {
            .tabs-navigation {
                flex-wrap: wrap;
                gap: 10px;
            }
            
            .tab-button {
                padding: 12px 25px;
                font-size: 16px;
            }
        }


/* ROw Card Download Banner Home */
.row_card_banner {padding: 0 90px !important; margin:90px; display: flex; gap: 30px; }
.card_banner .vc_column-inner {border-radius: 10px;}
.card_banner .wpb_single_image img {max-width: 60%;}
.card_banner .wpb_content_element {margin-bottom: 15px !important;}
.card_banner p {color: white; font-size: 2.4rem; line-height: 3.2rem; font-weight: 700;padding: 0 15px; min-height: 15rem;}
.mybuttoncard {padding: 10px 30px; border-radius: 30px; font-weight: 700; width: 100%; height: 50px; display: flex; margin-bottom: 20px; position: relative; justify-content: center;
  align-items: center; font-size:2rem;}
.mybuttoncard:hover {background-color: unset !important; color: #fff !important; border: 2px solid white;}
.button-icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    flex-shrink: 0;
	position: absolute;
	right: 15px;
}



/* Blocco Nostre Storie home etc */
.row_blocco_storie {padding-top: 90px ; padding-bottom: 90px; border-radius: 15px; width: calc(100vw - 30px) !important; transform: translateX(15px) !important;}
.row_blocco_storie h3 {font-size: 3.6rem; color:#1F78BA; font-weight: 700; margin-bottom: 30px;}
.row_blocco_storie p {color:#333333; font-size: 2rem; max-width: 960px; margin: 0 auto; padding-bottom: 30px;}

/* ! Shortcode Storie successo */

.rigacardstorie {display: flex; gap:30px; padding: 0 90px !important;}
.cardstorie {background:white; padding: 0; border-radius: 15px; flex: 1; min-width: 0;  }

.cardstorie_wraptext {padding: 30px 30px 30px 30px;}
.imgcardstorie .article-feature-image, .imgcardstorie .mycoverweb{
      min-height: 20vh;
      width: 100%;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-background-size: cover;
      -moz-background-size: cover;
      -o-background-size: cover;
      background-size: cover;
      position: relative;
	  border-top-left-radius: 10px;
	  border-top-right-radius: 10px;
      opacity: 1;
      -webkit-transition: .3s ease-in-out;
      transition: .3s ease-in-out;
}

.cardstorie .article-feature-image:hover, .cardstorie .mycoverweb:hover {opacity: .5;}
.cardstorie_wraptext h4 { font-size: 2.2rem !important; font-weight: 700 !important; color:#333333; margin-bottom: 0px; padding-top: 0px; }
.cardstorie_wraptext h4  {text-transform: unset;}
.cardstorie_wraptext h4::first-letter {text-transform: uppercase;}

.cardstorie_wraptext p {font-size: 1.6rem !important; color: #333333 !important; font-weight: 500; }
.cardstorie_wraptext a {display: flex; align-items: center; color:#1f78ba; margin-top:30px;}
.cardstorie_wraptext a:hover {opacity: 0.7;}
.cardstorie_wraptext svg {fill:#1f78ba; margin-left:5px;}

.rowbutton_tuttestorie {padding: 75px 0 0px}
.rowbutton_tuttestorie .mybuttoncard {max-width: 500px; margin: 0 auto; height: 60px !important; border:2px solid #1f78ba !important;}
.rowbutton_tuttestorie .mybuttoncard:hover {background-color: #aec231 !important; border:2px solid #aec231 !important; color: white !important;}
.rowbutton_tuttestorie .mybuttoncard:hover svg {fill: #aec231 !important; }


/* Accordion + Dicono di noi home */
.row_dicono_accordion {padding: 0 90px !important; margin:90px; display: flex; gap: 30px;}
.accordion_festop .vc_column-inner  {border-radius: 15px;}
.accordion_festop h2 {font-size: 3rem !important; color: #fff !important; font-weight: 700; padding: 0 60px; margin-bottom: 45px; margin-top: 15px;}

.accordionblu .vc_tta-panel-heading, .accordionblu .vc_tta-panel-body { border-color: #ffffff !important; background-color: #ffffff !important;}
.accordionblu .vc_tta-panel {margin-bottom:15px;}
.accordionblu .vc_tta-title-text  {font-size: 2.6rem !important; color: #1f78ba !important; font-weight: 700; }
.accordionblu .vc_tta-panel-body p {text-align: center; font-size: 1.6rem;}
.accordionblu .vc_tta-panel-heading {border-radius: 10px !important;}
.accordionblu .vc_tta-panel-body {margin-top: -15px; border-radius: 10px !important;}
.accordionblu .vc_tta-panels {padding: 0 15px !important;}
.accordion_festop .mybuttoncard {max-width: 390px; margin: 45px auto;}
.accordionblu .vc_tta-panel-title i {height: 15px; width: 15px; }
.accordionblu .vc_tta-controls-icon::before {border-color: #1f78ba !important;}

/* Blocco Dicono di noi */
.row_diconodinoi h3 {font-size: 3.6rem; color:#AEC231; font-weight: 700; margin-bottom: 15px;}
.row_diconodinoi p {color:#333333; font-size: 1.6rem; padding-bottom: 0px;}
#recensioniCarousel .owl-next {right: 10px;}
#recensioniCarousel .owl-prev {left: 10px;}


/* Riga Richiedi info */
.row_richiedi_info {padding: 30px 60px 0 !important; margin:30px 90px; display: flex; gap: 30px; border-radius: 15px;}
.coltesto_richiedi_info h4, .coltesto_richiedi_info h2 {font-size: 3.6rem; color:#AEC231; font-weight: 700; margin-bottom: 30px;}
.coltesto_richiedi_info h3 {font-size: 2.2rem; color:#333; font-weight: 700; margin-bottom: 15px;}
.coltesto_richiedi_info p {color:#333333; font-size: 2rem; margin: 0 auto; padding-bottom: 30px;}
.col_form_info .vc_column-inner  {border-radius: 15px;}
.col_form_info h3,.col_form_info h4  {font-size: 3.6rem; color:#ffffff; font-weight: 700; margin-top: 30px; margin-bottom: 45px;}
.coltesto_richiedi_info {display: flex; align-items: center;}

.row_formfest26 {padding-bottom: 60px;}
.row_formfest26 .vc_column-inner  {padding: 0 45px !important;}
.row_formfest26 input, .row_formfest26 label, .row_formfest26 textarea, .row_formfest26 select {width: 100%;}
.row_formfest26 input, .row_formfest26 textarea, .row_formfest26 select {background-color: white; border: 2px solid white !important; padding: 10px 15px; color:#999999; border-radius: 25px; font-size: 1.8rem;}
.row_formfest26 [type="submit"] {color:#aec231; font-size: 1.8rem;
  font-weight: 700;
  margin: 30px 0 0;
  padding: 15px 30px; text-transform: uppercase; border-radius: 35px;}

.input_half {display: flex; gap: 15px;}
.wpcf7-form p {width: 100%;}

/* Form Contatti Scheda prodotto */
.cf7prod {margin-bottom: 30px; background-color: #aec231; border-radius: 25px; margin-top:60px;padding: 60px 45px !important;} 
.cf7prod .vc_column-inner  {padding: 0 45px !important;}
.cf7prod input, .cf7prod label, .cf7prod textarea, .cf7prod select {width: 100%;}
.cf7prod input, .cf7prod textarea, .cf7prod select {background-color: white; border: 2px solid white !important; padding: 10px 15px; color:#999999; border-radius: 25px; font-size: 1.8rem;}
.cf7prod [type="submit"] {color:#aec231; font-size: 1.8rem;
  font-weight: 700;
  margin: 30px 0 0;
  padding: 15px 30px; text-transform: uppercase; border-radius: 35px;}
.cf7prod .input_half {display: flex; gap: 15px;}
.cf7prodtxt h4 {font-size: 3.6rem; color:#ffffff; font-weight: 700; margin-bottom: 0px; text-align: center;}
.cf7prodtxt p {color:#ffffff; font-size: 2rem; margin: 0 auto; padding-bottom: 30px; text-align: center;}
.wpcf7-response-output {
  border-color: #fff !important;
  color: #fff !important;
  margin: 30px 0 !important;
  padding: 10px !important;
  border-radius: 25px !important;
  text-align: center !important;
}

/* Row Trova esperto */
.row_trovaesperto {padding-top: 60px ; padding-bottom: 0px; border-radius: 15px; width: calc(100vw - 30px) !important; transform: translateX(15px) !important;}
.row_trovaesperto h2 {font-size: 3.6rem; color:#AEC231; font-weight: 700; margin-bottom: 30px;}
.row_trovaesperto p {color:#333333; font-size: 2rem;padding-bottom: 30px; max-width: 960px;margin: 0 auto;}

.row_trovaesperto .wpgmp_map {border-radius: 15px;}
.row_trovaesperto .wpgmp_infowindow {font-family: 'Avenir',sans-serif !important; }
.row_trovaesperto .wpgmp_infowindow {border-radius: 15px !important;}
.fc-item-title, .fc-item-content {font-family: 'Avenir',sans-serif !important; }

/* Card Categoria Prodotto */
.imgcardcatprod {width: 100%; height: auto; display: block;}
.cardcatprod {background: white; border-radius: 10px; padding-bottom: 10px;}
.cardcatprod h2, .cardcatprod h3, .cardcatprod h4 {font-size: 2.2rem; color:#333333; font-weight: 700; text-align: center; padding: 0 35px; min-height: 5.8rem; margin-bottom: 10px;}
.cardcatprod:hover {background: #2aedf536;}
.cardcatprod-link { display: block; text-decoration: none; color: inherit; }

/* ! Card Caratteristca */
.cardcaratt {margin-bottom:15px;}
.cardcaratt {border: 2px solid #A0A0A0; border-radius: 20px; padding: 18px 30px;}
.cardcaratt h1, .cardcaratt h2, .cardcaratt h3 {color:#FF4603; font-size: 1.7rem; font-weight: 700; margin-bottom: 10px;}
.cardcaratt p {color:#1c1c1c; font-size: 1.4rem; font-weight: 500; margin:0;}

/* ! Card Info Contatti */
.cardinfocontatti {background:#f9f9f9; border-radius: 20px; padding: 18px 30px; margin-bottom:20px;}
.cardinfocontatti h4 {color:#FF4603; font-size: 1.7rem; font-weight: 700; margin-bottom: 10px;}
.cardinfocontatti p {color:#1c1c1c; font-size: 1.4rem; font-weight: 500; margin:0;}

/* ! Riga Rivestimenti */
.rowrivestimenti {background:#F0F0F0; padding: 90px 0;}
.rowrivestimenti h3 {font-size: 2.4rem; margin-bottom:15px; font-weight: 700;}
.rowrivestimenti p {color:#1c1c1c; font-size: 1.4rem; font-weight: 500; margin:0;}
.boxtxtrowcard .vc_column-inner > .wpb_wrapper {padding-right: 45px;}

/* ! Riga Accessori e Rivestimenti */
.rowaccessori {background:#fff; padding: 90px 0;}
.rowaccessori h3 {font-size: 2.4rem; margin-bottom:15px; font-weight: 700;}
.rowaccessori p {color:#1c1c1c; font-size: 1.4rem; font-weight: 500; margin:0;}
.boxtxtrowcard .vc_column-inner > .wpb_wrapper {padding-right: 45px;}
.rowaccessori .metamycard {border-left: #DEDEDE 2px solid; border-right: #DEDEDE 2px solid; border-bottom: #DEDEDE 2px solid;}

/* ! Riga About */
.rowabout {background:#F0F0F0; padding: 90px 0;}
.rowabout img {border-radius: 20px;}
.imgabouthome {margin-bottom:0 }
.rowabout h4 {font-size: 1.4rem; margin-bottom:15px; font-weight: 700; text-transform: uppercase; color:#FF4603; }
.rowabout h3 {font-size: 3.2rem; margin-bottom:30px; font-weight: 700;}
.rowabout p {color:#1c1c1c; font-size: 1.4rem; font-weight: 500; margin:0;}
.boxtestorowabout .vc_column-inner > .wpb_wrapper {padding-left: 30px;}

/* ! Riga Prodotti Richiesti */
.rowprodrichiesti {background:#fff; padding: 90px 0;}

/* ! My Card */
.imgmycard {
	min-height: 25vh;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}
.metamycard {background: white; padding: 30px 20px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
.metamycard h1, .metamycard h2, .metamycard h3 {font-size: 1.8rem; font-weight: 700; margin-bottom: 15px;}
.metamycard p {color:#1c1c1c; font-size: 1.4rem; font-weight: 500; margin-bottom:30px; min-height: 65px;}

/* ! My Card Prodotto */
.mycardprod {
	border-radius: 25px;
	padding-bottom: 0px;
	margin-bottom: 60px;
	margin-bottom: 0px;
}

.mycardprod:hover {
	-webkit-box-shadow: 0px 10px 51px -10px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 10px 51px -10px rgba(0,0,0,0.2);
	-o-box-shadow: 0px 10px 51px -10px rgba(0,0,0,0.2);
	box-shadow: 0px 10px 51px -10px rgba(0,0,0,0.2);
	}

.imgmycardprod {
	min-height: 35vh;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	border-top: 2px solid #DEDEDE;
	border-left: 2px solid #DEDEDE;
	border-right: 2px solid #DEDEDE;
}
.metamycardprod {background: white; padding: 20px 20px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;border: 2px solid #DEDEDE;}
.metamycardprod h1, .metamycardprod h2, .metamycardprod h3 {
	min-height: 70px;
	color: #1c1c1c;
	font-size: 2rem !important;
	font-weight: 700 !important;
	padding: 15px 0 15px 0px !important;
	margin: 0 !important;
}
.metamycardprod p {color: #A0A0A0; font-size: 1.6rem; font-weight: 500; margin-bottom:30px;}

/* ! Prodotti Richiesti Home */
.rowprodrichiesti {background-color: white; }
.titolo_prodoric h4 {font-size: 1.4rem; margin-bottom: 15px; font-weight: 700; text-transform: uppercase; color: #FF4603;}
.titolo_prodoric h3 {font-size: 3.2rem; margin-bottom: 45px; font-weight: 700;}



/* Pagina CASE HISTORY & NEWS */
.page-template-page-casehistory .cardcasewrapper {border: #DEDEDE 2px solid;}



/* ! Single CASE HISTORY NEWS */
.headnasenews {background: #eef3f7; padding: 60px 90px;}
.boxtitle_casenews {text-align: center;}
.boxtitle_casenews h1 { font-family: 'Figtree', sans-serif; font-size: 3.6rem; font-weight: 700; margin-bottom: 15px; padding: 15px 90px 0;}
.boxtitle_casenews ul {list-style: none; padding: 0;}
.boxtitle_casenews ul li a {border-radius: 5px; color: white; margin: 15px 0 0; font-weight: 700; padding: 5px 15px;}
.boxtitle_casenews .formati a {background: #b183ff;}
.boxtitle_casenews .formati a:hover, .boxtitle_news .informati a:hover {text-decoration: none;}
.boxtitle_casenews .informati a {background: #fb745e;}
.boxtitle_casenews h4 { font-family: 'Figtree', sans-serif; font-size: 3.6rem; font-weight: 700; margin-bottom: 15px; padding: 0 90px;}
.boxtitle_casenews p {font-size: 1.4rem; color:#858792; margin-top: 30px;}

.contimgcasenews {padding: 60px 60px 0;}
.boximgcasenews {
	min-height: 70vh;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position: relative;
	border-radius: 10px;
}

.boxtestocasenews {padding: 30px 30px 0;}
.boxtestocasenews h2, .boxtestocasenews h3 {margin-top:30px; margin-bottom: 15px; font-size: 2.8rem; font-weight: 700;}
.boxtestocasenews p,  .boxtestocasenews li {font-size: 1.8rem; margin-bottom: 20px; font-weight: 400;}
.boxtestocasenews ul {padding: 0 0 30px 30px;}
.boxtestocasenews p strong {font-weight:700;}
.boxtestocasenews a {font-weight:600;}


.rowcasecarousel {padding: 90px 30px; background-color: #f0f0f0; margin-top: 60px;}

.pswp img {border-radius: 25px;}
.ctabackto {width: calc(100vw - 30px) !important; margin-top: 60px; padding: 30px 0; background: #aec231; text-align: center; border-radius: 15px;}

/* Layout Prodotto 2026 */
.myheeroprod {
	background-color: #ccc; 
	min-height: calc(60vh - 100px);
	width: calc(100vw - 30px) !important;
    transform: translateX(15px) !important;
	margin-top: 10px;
	border-radius: 25px;
	display: flex;
	align-items: center;
	margin-bottom:30px;
	background-repeat:no-repeat; 
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position: relative;
}

.myheeroprod::after {
	height: calc(60vh - 100px);
	content: '';
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	background: black;
	opacity: 0.4;
	border-radius: 25px;
	z-index: 10;
}

.boxtxtheeroprod {max-width: 960px; margin:0 auto;}
.boxtxtheeroprod h1, .boxtxtheeroprod h2, .boxtxtheeroprod h3 {color: white; font-size: 5rem; font-weight: 700; margin-bottom: 0px; text-align: center;}
.boxtxtheeroprod p {color: white; font-size: 2rem; font-weight: 500; margin-bottom: 0px; max-width: 70%;}

.mycontainer26 { width: calc(100vw - 30px) !important; transform: translateX(15px) !important; padding: 0 90px !important;}
.col_infoprod {padding-right:60px; padding-top: 0px;}
.colgalleryprod {padding-left: 60px;}

.col_infoprod h1 {color: #1F78BA; font-size: 3.6rem; font-weight: 700; margin-bottom: 30px;}
.descrizioneprod p {font-size: 1.6rem; color:#1c1c1c; font-weight: 500; margin-bottom: 30px;}

/* Breadcrumb 2026 */
.mybreadcrumbs {padding: 0 15px 60px; font-size: 1.4rem; font-weight: 700; color:#8c8d8e;}
.mybreadcrumbs a {font-size: 1.4rem; font-weight: 400; color:#8c8d8e;}
.mybreadcrumbs a:hover {color:#1c1c1c;}
.mybreadcrumbs i {color: #8c8d8e; padding: 0 10px; font-size: 1rem;}

/* Breadcrumb pagine */
.page .mybreadcrumbs {padding: 30px 0px 30px;}
.single-realizzazioni .mybreadcrumbs {padding: 30px 0px 30px;}
.single-storie .mybreadcrumbs {padding: 30px 0px 30px;}
.archive .mybreadcrumbs {padding: 30px 0px 0px;}

/* Sezione Tabs Scheda Prodotto */
.gallery-tabs-container .gallery-tabs-nav {
    display: flex;
    gap: 0;
    
}

.gallery-tabs-container .tab-button {
    padding: 15px 35px;
    background: #fff;
    border: 2px solid #1F78BA;
    border-bottom: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: #1F78BA;
    border-radius: 0;
    margin-right: -1px;
    transition: background 0.3s ease, color 0.3s ease;
}

.gallery-tabs-container .tab-button:first-child {
    border-top-left-radius: 15px;
}

.gallery-tabs-container .tab-button:last-child {
    border-top-right-radius: 15px;
}

.gallery-tabs-container .tab-button:hover {
    transform: none;
}

.gallery-tabs-container .tab-button.active {
    background: #1F78BA;
    color: #fff;
    font-weight: 500;
}

.gallery-tabs-container .tab-content {
    display: none;
    padding: 0px;
    border-radius: 0 10px 10px 10px;
}

.gallery-tabs-container .tab-content.active {
    display: block;
}

.gallery-tabs-container .tab-content iframe {
    width: 100%;
    min-height: 500px;
    height: 70vh;
    border: none;
    border-radius: 15px;
}

.gallery-tabs-container .main-image-wrapper {
    margin-bottom: 15px;
    border-radius: 0 15px 15px 15px;
    overflow: hidden;
    background: #ffffff;
    position: relative;
    border: 2px solid #1F78BA;
}

.gallery-tabs-container .main-gallery-image {
    width: 100%;
    height: auto;
    display: block;
 
}

.gallery-tabs-container .gallery-thumbnails {
    display: flex;
    gap: 15px;
}

.gallery-tabs-container .thumbnail-item {
    flex: 1;
    max-width: calc((100% - 45px) / 4);
    aspect-ratio: 1;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.gallery-tabs-container .thumbnail-item:hover {
    border-color: #99c2e6;
}

.gallery-tabs-container .thumbnail-item.active {
    border-color: #1F78BA;
}

.gallery-tabs-container .thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-tabs-container .gallery-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
    outline: none;
}

.gallery-tabs-container .gallery-nav-btn:focus {
    outline: none;
}

.gallery-tabs-container .gallery-nav-btn:hover {
    background: #1F78BA;
    color: #fff;
}

.gallery-tabs-container .prev-btn {
    left: 20px;
}

.gallery-tabs-container .next-btn {
    right: 20px;
}

.gallery-tabs-container .gallery-nav-btn svg {
    width: 24px;
    height: 24px;
}

.gallery-tabs-container .tab-content iframe {
    width: 100% !important;
    /* min-height: 500px; */
    height: auto !important;
    border-radius: 0 15px 15px 15px;
    border: 2px solid #1F78BA;
}

/* Sezione Tabs Info Prodotto */
.product-info-tabs-container {
    margin-top: 60px;
}

.product-info-tabs-container .product-info-tabs-nav {
    display: flex;
    gap: 0;
}

.product-info-tabs-container .info-tab-button {
    padding: 15px 35px;
    background: #fff;
    border: 2px solid #1F78BA;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: #1F78BA;
    border-radius: 0;
    margin-right: -2px;
    transition: background 0.3s ease, color 0.3s ease;
    outline: none;
}

.product-info-tabs-container .info-tab-button:first-child {
    border-top-left-radius: 15px;
}

.product-info-tabs-container .info-tab-button:last-child {
    border-top-right-radius: 15px;
}

.product-info-tabs-container .info-tab-button:hover {
    transform: none;
}

.product-info-tabs-container .info-tab-button:focus {
    outline: none;
}

.product-info-tabs-container .info-tab-button.active {
    background: #1F78BA;
    color: #fff;
    font-weight: 500;
}

.product-info-tabs-container .info-tab-content {
    display: none;
    padding: 30px;
    background: #f5f5f5;
    border: 2px solid #f5f5f5;
    border-top: none;
    border-radius: 0 15px 15px 15px;
}

.product-info-tabs-container .info-tab-content.active {
    display: block;
}

.product-info-tabs-container .info-tab-content p {
    font-size: 1.6rem;
    color: #1c1c1c;
    margin: 0;
}

.download-link {display: flex; gap: 5px; color: #1F78BA !important;}
.download-link:hover {color: #aec231 !important;}

.single-product-code {color: #8c8d8e; font-weight: 600;}

/* Caratteristiche Grid */
.caratteristiche-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.caratteristiche-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}

.caratteristica-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px dashed #d0d0d0;
}

.caratteristica-label {
    font-size: 1.6rem;
    color: #1c1c1c;
    font-weight: 400;
}

.caratteristica-value {
    font-size: 1.6rem;
    color: #1c1c1c;
    font-weight: 700;
}

/* Pianta Image */
.pianta-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}

.pianta-info-left {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.pianta-caratteristiche .caratteristica-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px dashed #d0d0d0;
}

.pianta-note p {
    font-size: 1.4rem;
    color: #1c1c1c;
    line-height: 2rem;
    margin-bottom: 15px;
}

.pianta-note p strong {
    font-weight: 700;
}

.pianta-info-right {
    display: flex;
    align-items: flex-start;
}

.pianta-image-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.pianta-image {
    max-width: 50%;
    height: auto;
    border-radius: 10px;
}

/* Sezione Banner Download Prodotto */
.bannerdownprod {border-radius: 15px; padding:30px; display: flex;}
.bannerdownprod img {max-height: 180px;}
.rowbannerdownloadprod {margin: 30px 0 60px;}
.rowbannerdownloadprod .row {gap: 60px; padding: 0 15px;}
.rowbannerdownloadprod .row .col-6 {flex: 1;max-width: none;}
.textbannerdown {display: flex; flex-direction: column; height: 100%;}
.textbannerdown h4 {font-size: 2.6rem; margin-bottom:30px; font-weight: 700; color:white}
.textbannerdown p {font-size: 1.6rem; margin-bottom:30px; font-weight: 500; color:white}
.textbannerdown .btn-download {margin-top: auto; align-self: flex-start;}
.imgbannerdown {display: flex; align-items: center; justify-content: center;}
.bannerdownred {background-color: #C02F2C;}
.bannerdownorange {background-color: #EF802C;}
.bannerdownprod .btn-download {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background-color: white;
    color: #EF802C;
    padding: 10px 25px;
    border-radius: 50px;
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.bannerdownprod .btn-download-orange {color: #EF802C;}
.bannerdownprod .btn-download-red {color: #C02F2C;}

.bannerdownprod .btn-download:hover {
    background-color: #f5f5f5;
    text-decoration: none;
}

.bannerdownprod .btn-download .icon-download {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 25px;
}

.bannerdownprod .icon-download-orange {background-color: #EF802C;}
.bannerdownprod .icon-download-red {background-color: #C02F2C;}

.bannerdownprod .btn-download .icon-download svg {
    width: 20px;
    height: 20px;
    color: white;
    transform: rotate(90deg);
}

/* Bottoni Preventivo nel Single Prodotto */
.buttons-preventivo {
    display: flex;
    gap: 15px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.buttons-preventivo .btn-download {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 10px 15px 10px 25px;
    border-radius: 50px;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.buttons-preventivo .btn-download-blue {
    background-color: #1e73be;
    color: white;
}

.buttons-preventivo .btn-download-blue:hover {
    background-color: #155a8a;
    text-decoration: none;
}

.buttons-preventivo .btn-download-blue.added {
    background-color: #28a745;
}

.buttons-preventivo .btn-download-blue.in-list {
    background-color: #dc3545;
}

.buttons-preventivo .btn-download-blue.in-list:hover {
    background-color: #c82333;
}

.buttons-preventivo .btn-download-red {
    background-color: #dc3545;
    color: white;
}

.buttons-preventivo .btn-download-red:hover {
    background-color: #c82333;
    text-decoration: none;
}

.buttons-preventivo .btn-download-outline {
    background-color: white;
    color: #1e73be;
    border: 2px solid #1e73be;
}

.buttons-preventivo .btn-download-outline:hover {
    background-color: #1e73be;
    color: white;
    text-decoration: none;
}

.buttons-preventivo .icon-download {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 25px;
}

.buttons-preventivo .icon-download-blue {
    background-color: rgba(255, 255, 255, 0.2);
}

.buttons-preventivo .icon-download-outline {
    background-color: rgba(30, 115, 190, 0.1);
}

.buttons-preventivo .btn-download-outline:hover .icon-download-outline {
    background-color: rgba(255, 255, 255, 0.2);
}

.buttons-preventivo .icon-download svg {
    width: 20px;
    height: 20px;
    color: currentColor;
}

/* Badge contatore nel menu */
.jef-preventivo-badge {
    display: inline-block;
    background-color: #FDB614;
    color: #333;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
    margin-left: 8px;
    min-width: 20px;
    text-align: center;
}

/* Icona carrello nelle card cliccabile */
.add-to-preventivo-icon {
    cursor: pointer;
    transition: color 0.3s ease;
}

.add-to-preventivo-icon:hover {
    color: #FDB614;
}

/* Badge contatore sull'icona carrello */
.iconcart {
    position: relative;
}

.iconcart .jef-preventivo-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    margin-left: 0;
    min-width: 18px;
    height: 18px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    border-radius: 50%;
}



/* JEF Preventivo pagina lista */
.row_listapreventivo {padding: 0 90px !important; margin: 0 90px; display: flex;gap: 30px;}
.jef-preventivo-wrapper {max-width: unset; padding:unset;}
.jef-preventivo-wrapper h3 {font-weight: 700; font-size: 2.8rem; margin-bottom: 30px; color:#1f78ba;}

/* Preloader lista preventivo */
.jef-preventivo-preloader {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}
.jef-preloader-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #e0e0e0;
    border-top-color: #1F78BA;
    border-radius: 50%;
    animation: jef-spin 0.7s linear infinite;
}
@keyframes jef-spin {
    to { transform: rotate(360deg); }
}
.jef-preventivo-item-image { width: 220px !important;}
.jef-preventivo-item {padding: 0px !important;}
.jef-preventivo-item-info h4 {font-weight: 700; font-size: 1.8rem; margin-bottom: 15px; color:#333333;}
.jef-preventivo-item-remove .btn-remove-item {font-size:1.4rem; background: #db1a24; border-radius: 0 0 5px; position: absolute;bottom: 0;right: 0;}
.jef-preventivo-item {position:relative;}
.jef-preventivo-form-container {background-color: #aec231 !important; border-radius: 25px; border-color: #aec231 !important; padding: 60px 45px !important;}
.jef-preventivo-form-container h3 {font-weight: 700; font-size: 3.6rem !important; margin-bottom: 15px; color:#ffffff !important; text-align: center;}
.jef-preventivo-form-container p {font-weight: 500; font-size: 1.6rem !important; margin-bottom: 30px; color:#ffffff !important; text-align: center;}
.jef-preventivo-form .form-group label { font-weight: 500;color: #fff;font-size: 1.6rem;}
.jef-preventivo-form .form-group input {background-color: #fff;
    border: 2px solid white !important;
    padding: 10px 15px;
    color: #999;
    border-radius: 25px;
    font-size: 1.8rem;
}
.jef-preventivo-form .form-group textarea {padding: 15px;border: 0; border-radius: 25px; font-size: 1.6rem;}
.btn-submit-preventivo {background: #fff; color: #aec231; border: none; padding: 15px 40px; border-radius: 25px; text-transform: uppercase;}
.form-group-checkbox label {color: white; padding: 10px;}
.jef-preventivo-form .btn-submit-preventivo:hover {background: #84951e; color:white;}
.jef-preventivo-success-message {
  text-align: center;
  padding: 60px 20px;
  background: #fff;
  border-radius: 25px;
  border: 2px solid #aec231;
  background-color: #aec231;
}
.jef-preventivo-success-message h3 {color:white;} 
.jef-preventivo-success-message p, .jef-preventivo-success-message p.subtitle {color:#ffffff; font-size:1.8rem !important;}
.jef-preventivo-empty h4 {font-weight: 700; font-size: 2.8rem; color:#1f78ba;}
.jef-preventivo-empty p {font-weight: 500; font-size: 1.8rem; color:#333333;}



/* ! SEARCH RESULTS PAGE */
.search-results-hero {
    background: linear-gradient(rgba(31,120,186,0.6), rgba(31,120,186,0.6)), url('https://www.festopolis.com/wp-content/uploads/2026/03/head_perche-sceglierci.jpg') center center / cover no-repeat;
    padding: 80px 0 60px;
    margin-bottom: 0;
    width: calc(100vw - 30px);
    transform: translateX(15px);
    border-radius: 25px;
    margin-top: 10px;
    text-align: center;
    margin-bottom: 15px;
    min-height: 40vh;
    display: flex;
    align-items: center;
}
.search-results-hero__label {
    color: rgba(255,255,255,0.75);
    font-size: 1.6rem;
    margin-bottom: 10px;
}
.search-results-hero__query {
    color: #ffffff;
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 15px;
}
.search-results-hero__count {
    display: inline-block;
    background: rgba(255,255,255,0.15);
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 6px 20px;
    border-radius: 25px;
}
.search-section {
    padding: 60px 0 30px;
}
.search-section__title {
    font-size: 2.8rem;
    font-weight: 700;
    color: #1F78BA;
    margin-bottom: 40px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f4f7;
}
.search-section__title span {
    font-size: 2rem;
    font-weight: 400;
    color: #999;
}
/* Search altri contenuti */
.search-altri-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 60px;
}
.search-altri-card {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 24px 20px;
    border: 2px solid #f0f4f7;
    text-decoration: none;
    color: inherit;
    transition: background 0.2s;
    border-radius: 12px;
    margin: 15px 0;
}
.search-altri-card:hover {
    background: #f8fafc;
    color: inherit;
}
.search-altri-card__img {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border-radius: 10px;
    overflow: hidden;
    /* background: #f0f4f7; */
    background: #ffffff;

}
.search-altri-card__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.search-altri-card__body {
    flex: 1;
    min-width: 0;
}
.search-altri-card__type {
    display: inline-block;
    background: #aec232;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 10px;
    border-radius: 25px;
    margin-bottom: 8px;
}
.search-altri-card__code {
    display: block;
    font-size: 1.2rem;
    font-weight: 600;
    color: #888;
    margin-bottom: 4px;
}
.search-altri-card__title {
    font-size: 2rem;
    font-weight: 700;
    color: #1c1c1c;
    margin: 0 0 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.search-altri-card__excerpt {
    font-size: 1.4rem;
    color: #666;
    margin: 0;
}
.search-altri-card__arrow {
    flex-shrink: 0;
    color: #1F78BA;
    opacity: 1;
    transition: opacity 0.2s, transform 0.2s;
}
.search-altri-card:hover .search-altri-card__arrow {
    opacity: 1;
    transform: translateX(4px);
}
/* Nessun risultato */
.search-noresults {
    text-align: center;
    padding: 80px 20px;
}
.search-noresults__icon {
    color: #d0d0d0;
    margin-bottom: 24px;
}
.search-noresults h2 {
    font-size: 2.8rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
}
.search-noresults p {
    font-size: 1.8rem;
    color: #666;
    margin-bottom: 30px;
}
.search-noresults__btn {
    display: inline-block;
    background: #1F78BA;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 14px 35px;
    border-radius: 30px;
    text-decoration: none;
    transition: background 0.2s;
}
.search-noresults__btn:hover {
    background: #aec232;
    color: #fff;
}
/* Search product-card-link già definita in preventivo.css, aggiungiamo per il contesto search */
.search-results-page .product-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.search .mybreadcrumbs {padding: 0 15px 30px;}

/* ! Template PAGINA Standard */
.myheeropage {
	background-color: #ccc; 
	min-height: calc(60vh - 100px);
	width: calc(100vw - 30px) !important;
    transform: translateX(15px) !important;
	margin-top: 10px;
	border-radius: 25px;
	display: flex;
	align-items: center;
	margin-bottom:0px;
	background-repeat:no-repeat; 
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position: relative;
}

.myheeropage::after {
	height: calc(60vh - 100px);
	content: '';
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	background: black;
	opacity: 0.1;
	border-radius: 25px;
	z-index: 10;
}

.boxtxtheeropage {/*max-width: 780px;*/}
.boxtxtheeropage h1 {color: white; font-size: 5rem; font-weight: 700; margin-bottom: 0px; text-align: center;}
.boxtxtheeropage p {color: white; font-size: 2rem; font-weight: 500; padding-top: 15px;text-align: center;}
.contheeropage {z-index: 998;}

.contpage {padding: 30px 0 0px;}
.archive .contpage {padding: 0px 0 0;}
.contpage h2 {font-size: 3rem; margin-bottom: 30px; font-weight: 700;}
.contpage p {font-size: 1.8rem;}
.contpage strong {font-weight: 700;}

.img_head {height: 420px; width: 420px; right: 0px; position: absolute; top: -130px; border:0px solid red;}
.img_head img {max-width: 100%;}

.myrowpage {padding: 60px 5vw;}
.myrowpageimg {padding: 0px 5vw;}
.myrowpage h2, .myrowpage h3, .myrowpage h4 {color: #1F78BA; font-size: 3.6rem; font-weight: 700; margin-bottom: 0px; padding-right: 60px;}
.myrowpage ul {padding-left: 60px; margin-top:60px; margin-bottom: 60px; border-left: 5px #eef1f5 solid;}
.myrowpage li {margin-bottom: 15px; list-style: square; font-size: 1.8rem;}


.singleimgpage img {border-radius: 15px;}
.row_blocco_pagine {
  padding-top: 90px;
  padding-bottom: 90px;
  border-radius: 15px;
  width: calc(-30px + 100vw) !important;
  transform: translateX(15px) !important;
  margin-bottom: 60px;
}
.bloccotxtcenterpage .wpb_text_column {max-width: 70%; margin-left: 15%; margin-bottom: 60px;}
.bloccotxtcenterpage h2,.bloccotxtcenterpage h3, .bloccotxtcenterpage h4 {color: #1F78BA; font-size: 3.6rem; font-weight: 700; margin-bottom: 30px;}
.bloccotxtcenterpage h5 {text-align: center; font-size: 1.6rem; margin-bottom: 30px; font-weight: bold;}
.rowimgbloccotxtcenterpage {padding: 0 60px}

/* Pagina Offerte */
.rowcardofferte {margin: 30px 0;}
.rowcardofferte .vc_single_image-wrapper img {border-radius: 15px;}
.rowcardofferte .vc_single_image-img {border-radius: 15px;}



/* ! Page Navi Pagination */
.mypagination {padding: 60px 0; text-align: right;}
.wp-pagenavi {font-size: 1.6rem;}
.wp-pagenavi span {border: 0;}
.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none;
  border: 2px solid #A0A0A0;
  padding: 3px 15px;
  margin: 2px;
  border-radius: 15px;
  font-size: 1.6rem;
  color: #1c1c1c;
}

.wp-pagenavi span.current {
  font-weight: 500;
  border: 2px solid #ff4603;
  background: #ff4603;
  color: white;
}

.wp-pagenavi span.current:hover {
	font-weight: 500;
	border: 2px solid #1c1c1c;
	background: #1c1c1c;
	color: white;
  }

/* ! Singola Pagina */
.headpage {
	height: 50vh;
	padding: 120px 0;
	width: 100%;
	background-repeat:no-repeat; background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	display: flex;
	align-items: center;

}

.headpage::after {
	content: '';
	top: 90px;
	left: 0;
	z-index: 10;
	width: 100%;
	height:50vh;
	display: block;
	position: absolute;
	background: black;
	opacity: 0.4;
}

.boxtitle_page {text-align: center; position: relative;}
.boxtitle_page h1 {font-family: 'Figtree', sans-serif; font-size: 4.8rem; font-weight: 700; text-align: center; color:white; z-index: 998; position: relative;}
.boxtitle_page p {font-size: 1.6rem; color:#858792; margin-bottom: 0px; max-width: 50%; text-align: left;}

/* ! Pagina About Us */
.introabout p {font-family: 'Figtree', sans-serif; font-size: 3.2rem; font-weight: 700; text-align: center;}
.rigatestoabout {margin: 60px 0;}
.rigatestoabout :first-child .wpb_wrapper {padding: 0 30px;}
.rigatestoabout h3 {font-family: 'Figtree', sans-serif; font-size: 2.8rem; font-weight: 700; padding-left:30px; margin-bottom: 0px; min-height: 60px;}
.rigatestoabout p {font-family: 'Figtree', sans-serif; font-size: 1.8rem;}
.rigatestoabout .wpb_single_image img {border-radius: 25px;}
.page-id-98 .rowcasecarousel {margin-top:0;}

/* ! Pagina Contatti */
.formcontatti {padding-left: 30px;}
.formcontatti h2 {font-size: 2.8rem; font-weight: 700; margin-bottom: 30px; margin-top: 60px; text-align: left !important;}
.formcontatti p {font-size: 1.8rem; text-align: left !important;}
.formcontatti .vc_column-inner {border:2px solid #dedede; border-radius: 15px; margin-bottom: 90px;}
.formcontatti .wpb_wrapper {padding: 30px 30px;}
.formcontatti .wpcf7-form {width:100%; margin: 30px 0 0; padding-bottom: 0px;}
.formcontatti input {width: 100%; font-size: 16px; font-weight: 700; padding: 8px 15px; margin-bottom: 15px; border:2px solid #dedede; border-radius: 10px;}
.formcontatti label {width: 100%;}
.formcontatti textarea {font-size: 16px; font-weight: 700;padding: 5px 10px; margin-bottom: 20px; width:100%; border:2px solid #dedede; border-radius: 10px;}
.formcontatti [type="submit"]{width: 100% !important; background:#ff4603;; font-size: 1.2rem; color:white; font-weight:600; text-transform: uppercase; border: 1px solid #ff4603; border-radius: 25px; margin: 0; padding: 12px 30px;}
.formcontatti [type="submit"]:hover{background:#1c1c1c; color:white; border:1px solid #1c1c1c;}
.form-left {float:left; width:50%; padding-right: 20px;}
.form-right {float:left; width:50%; padding-left: 20px;}
.form-left label {display:block;}
.form-right label {display:block;}
.fomr_contatti_page p {padding: 0 !important}
.wpcf7-form p {font-size: 12px;}
.wpcf7-acceptance input {width: 15px; height: 15px; margin:0; border:2px solid #dedede !important;}
.wpcf7-acceptance .wpcf7-list-item {margin:0;}

.formcontatti input[type="checkbox"] {
	border: 2px solid #ddd !important;
	-moz-appearance:none;
	-webkit-appearance:none;
	-o-appearance:none;
	width: 15px;
	height: 15px;
	padding: 8px;
}
.formcontatti  input[type="checkbox"]:checked {background-color: #ff4603 !important; border: 2px solid #ff4603 !important;}
.wpcf7 form.sent .wpcf7-response-output {border-color: #46b450; color: #46b450; margin: 0;}
.formcontatti a {font-size:12px; color:#ff4603; text-decoration: underline;}
.formcontatti a:hover {color:#1c1c1c; }
.colcontattisx {padding-right: 30px;}
.colcontattisx h2, .colcontattisx h3 {font-size: 3.2rem; margin-bottom:45px; font-weight: 700;}
.rowmappa .wpb_text_column {margin: 0;}

.socialcontatti {margin-top:45px;}

.socialcontatti .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern {
	background-image: unset;
	background-color: #FF4603;
	border: 2px solid #ff4603;
	padding: 10px 20px;
	border-radius: 100%;
	color: white;
	text-transform: uppercase;
	font-size: 1.4rem;
	font-weight: 700;
	margin-right: 10px;
}

.socialcontatti .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover {background-color: #1c1c1c;border: 2px solid #1c1c1c;}
.socialcontatti .vc_btn3.vc_btn3-size-md .vc_btn3-icon {font-size: 22px;}

.col_txt_contatti h2, .col_txt_contatti h3 {font-size: 3rem; margin-bottom: 30px; font-weight: 700; color:#1F78BA;}
.row_trovaesperto_contatti {padding-top: 60px ; padding-bottom: 0px; border-radius: 15px; width: calc(100vw - 30px) !important; transform: translateX(15px) !important;}
.row_trovaesperto_contatti h2 {font-size: 3.6rem; color:#1F78BA; font-weight: 700; margin-bottom: 30px;}
.row_trovaesperto_contatti p {color:#333333; font-size: 2rem;padding-bottom: 30px; max-width: 960px;margin: 0 auto;}

.row_trovaesperto_contatti .wpgmp_infowindow {font-family: 'Avenir',sans-serif !important; }
.row_trovaesperto_contatti .wpgmp_infowindow {border-radius: 15px !important;}

/* Archivio REALIZZAZIONI */


/* ! Footer */
.footer {
	width: calc(100vw - 30px);
	border-radius:25px;
	margin-top:30px;
	margin-bottom:15px;
	padding: 60px 90px 15px !important; 
	background-color: #1F78BA;

}
.logo-footer {max-height: 60px; margin-left: -10px; margin-bottom: 45px;}
.logo-mepa-footer {max-height: 50px;}
.footer p {margin: 0; color:white; font-size: 1.6rem;}
.pfooterbig {font-size: 2.2rem; font-weight: 700;}
.footer strong {font-weight: 700;}
.logofooter img {max-height: 70px;}
.logofooter p {padding-top:15px; font-size: 1.4rem;}
.footer h4 {padding: 0px 0px 15px; font-size: 1.8rem; font-weight: 500; color:#fff; margin: 0;}
.footer ul {list-style: none; margin: 0; padding: 0;}
.footer li {padding-bottom: 7px;}
.footer li a {font-size: 2.2rem; font-weight: 700;}
.footer a {font-size: 1.6rem; color:white;}
.subfooter {margin-top:60px;}
.subfooter a {font-size: 1.2rem;color: #ffffff; margin-right: 5px; margin-left:5px; font-weight: 500; }
.subfooter a:hover {opacity: 0.7;}
.subfooter p {margin:0; font-size: 1.2rem;}
.subfooter_right {text-align: right;}
.socialfoot i {font-size: 2.2rem; padding-right: 15px; padding-top:10px;}
.payoff_footer {padding-right: 45px;}
.footer2row {margin-top:65px;}
.footer2row_promo {margin-top:30px;}

/* Sottomenu footer */
.footer-submenu { overflow: hidden; max-height: 0; opacity: 0; padding-left: 12px; margin-top: 0; transition: max-height 0.5s ease, opacity 0.4s ease, margin-top 0.35s ease; }
.footer-submenu.open { max-height: 600px; opacity: 1; margin-top: 5px; }
.footer-submenu li a { font-size: 1.6rem !important; font-weight: 400 !important; }
.footer-submenu-toggle i { transition: transform 0.35s ease; display: inline-block; font-size: 1.1rem; margin-left: 5px; }
.footer-submenu-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.footer_sede {margin-top:30px;}
.footer_filiale {margin-top:30px;}

/*  ! Bootstrap Hack */
.row.display-flex { display: flex; flex-wrap: wrap;}
.row.display-flex > [class*='col-'] { display: flex; flex-direction: column;}

/* ! Varie */
.mycarthead {padding-left: 10px; padding-top: 2px; margin-right: 10px; margin-left: 15px;}
.mycarthead i {font-size:1.8rem; }
.mycarthead a {color:#1c1c1c !important;}
.mycarthead span {background: #ff4603; color: white; padding: 3px 7px; border-radius: 100%; font-size:1rem; position:absolute;}

/* ========================================
   Listing Prodotti (Category Pages)
   ======================================== */

/* Product Grid Layout */
.products-grid {
    padding: 40px 0;
    max-width: 100% !important;
}

.product-col {
    margin-bottom: 30px;
}

/* Product Card - Stile identico alle tab offerte */
.products-grid .product-card {
    background: #F0F4F7;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.products-grid .product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.products-grid .product-image {
    position: relative;
    width: 100%;
    padding-top: 75%; /* Aspect ratio 4:3 */
    overflow: hidden;
    background: #f5f5f5;
}

.products-grid .product-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.products-grid .product-cart-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 45px;
    height: 45px;
    background: #F0F4F7;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 2;
}

.products-grid .product-cart-icon:hover {
    background: #FDB614;
    transform: scale(1.1);
}

.products-grid .product-cart-icon svg {
    width: 24px;
    height: 24px;
    fill: black;
}

.products-grid .product-info {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.products-grid .product-code {
    font-size: 14px;
    color: #666;
    margin: 0 0 8px 0;
    font-weight: 400;
}

.products-grid .product-title {
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin: 0 0 12px 0;
    line-height: 1.3;
    min-height: 5rem;
}

.products-grid .product-title a {
    color: #333;
    text-decoration: none;
}

.products-grid .product-title a:hover {
    color: #FDB614;
}

.products-grid .product-dimensions {
    font-size: 14px;
    color: #666;
    margin: 5px 0;
}

/* Archivio REALIZZAZIONI */
.grid-realizzazioni {
    padding: 40px 0;
}

.col-realizzazioni {
    margin-bottom: 18px;
}

/* Archivio STORIE */
.grid-storie {
    padding: 40px 0;
}

.grid-storie .rigacardstorie {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 !important;
    gap: 24px;
}

.grid-storie .cardstorie {
    background: #f4f4f4;
    margin-bottom: 0;
    max-width: none;
    flex: none;
}

@media (max-width: 991px) {
    .grid-storie .rigacardstorie {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0 !important;
    }
}

@media (max-width: 767px) {
    .grid-storie .rigacardstorie {
        grid-template-columns: 1fr;
    }

    .grid-storie .cardstorie {
        max-width: none;
        flex: none;
    }
}

.grid-realizzazioni .card-realizzazioni {
    background: #f3f3f3;
    border: 0px solid #d8d8d8;
    border-radius: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    min-height: 320px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 15px;
}

.grid-realizzazioni .card-realizzazioni:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}

.grid-realizzazioni .image-realizzazioni {
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #eaeaea;
}

.grid-realizzazioni .image-realizzazioni a {
    display: block;
    width: 100%;
    height: 100%;
}

.grid-realizzazioni .image-realizzazioni img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 16 / 9;
}

.grid-realizzazioni .info-realizzazioni {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.grid-realizzazioni .code-realizzazioni {
    margin: 0;
}

.grid-realizzazioni .tax-realizzazioni {
    font-size: 1.2rem;
    color: #1f78ba;
    margin: 0 0 10px;
    font-weight: 700;
    text-transform: uppercase;
    /*text-decoration: underline; */
    line-height: 1.4;
}

.grid-realizzazioni .title-realizzazioni {
    font-size: 2.6rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    line-height: 1.3;
}

@media (max-width: 1600px) {
    .grid-realizzazioni .title-realizzazioni {
        font-size: 3.4rem;
    }
}

@media (max-width: 1199px) {
    .grid-realizzazioni .card-realizzazioni {
        min-height: 280px;
    }

    .grid-realizzazioni .title-realizzazioni {
        font-size: 3rem;
    }
}

@media (max-width: 991px) {
    .grid-realizzazioni .card-realizzazioni {
        min-height: 240px;
    }

    .grid-realizzazioni .info-realizzazioni {
        padding: 20px;
    }

    .grid-realizzazioni .title-realizzazioni {
        font-size: 2.8rem;
    }
}

@media (max-width: 767px) {
    .grid-realizzazioni .card-realizzazioni {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .grid-realizzazioni .image-realizzazioni {
        min-height: 230px;
    }

    .grid-realizzazioni .title-realizzazioni {
        font-size: 2.4rem;
    }
}

/* ========================================
   Realizzazioni / Progettazioni
   Overlay card + Lightbox gallery
   ======================================== */
.image-realizzazioni { position: relative; }
.realizzazione-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 8px;
    transition: background 0.3s ease;
    pointer-events: none;
}
.card-realizzazioni:hover .realizzazione-overlay { background: rgba(0,0,0,0.45); }
.realizzazione-overlay-icon { opacity: 0; transform: scale(0.8); transition: all 0.3s ease; }
.realizzazione-overlay-count { opacity: 0; color: white; font-size: 1.4rem; font-weight: 700; transition: all 0.3s ease 0.05s; }
.card-realizzazioni:hover .realizzazione-overlay-icon,
.card-realizzazioni:hover .realizzazione-overlay-count { opacity: 1; transform: scale(1); }
.card-realizzazioni { cursor: pointer; }

.realiz-lb-overlay {
    position: fixed; inset: 0; z-index: 99999;
    background: rgba(0,0,0,0.83);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 20px;
}
.realiz-lb-overlay[hidden] { display: none; }
.realiz-lb-close { position: absolute; top: 18px; right: 22px; background: none; border: none; cursor: pointer; padding: 6px; line-height: 0; opacity: 0.8; transition: opacity 0.2s; }
.realiz-lb-close:hover { opacity: 1; }
.realiz-lb-inner { display: flex; align-items: center; gap: 12px; width: 100%; max-width: 1100px; flex: 1; min-height: 0; }
.realiz-lb-stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.realiz-lb-img { max-width: 100%; max-height: 70vh; border-radius: 12px; object-fit: contain; transition: opacity 0.25s ease; }
.realiz-lb-arrow { background: rgba(255,255,255,0.1); border: none; cursor: pointer; border-radius: 50%; width: 52px; height: 52px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.realiz-lb-arrow:hover { background: rgba(255,255,255,0.25); }
.realiz-lb-arrow:disabled { opacity: 0.2; cursor: default; }
.realiz-lb-footer { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1100px; padding: 10px 0 8px; color: white; }
.realiz-lb-title { font-size: 1.8rem; font-weight: 700; }
.realiz-lb-counter { font-size: 1.4rem; opacity: 0.7; }
.realiz-lb-thumbs { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; max-width: 1100px; padding-bottom: 4px; }
.realiz-lb-thumb { width: 60px; height: 60px; border-radius: 6px; object-fit: cover; cursor: pointer; opacity: 0.5; border: 2px solid transparent; transition: all 0.2s; }
.realiz-lb-thumb.active, .realiz-lb-thumb:hover { opacity: 1; border-color: #1F78BA; }

@media (max-width: 600px) {
    .realiz-lb-arrow { width: 38px; height: 38px; }
    .realiz-lb-thumbs { display: none; }
    .realiz-lb-img { max-height: 60vh; }
}

/* Sidebar Categoria */
.category-sidebar {padding-top:40px;}
.category-sidebar h5 {
  border: 1px solid #1f78ba;
  padding: 12px 20px;
  border-radius: 10px 10px 0 0;
  margin: 0;
  border-bottom: 0;
  width: calc(100% - 60px);
  font-size: 1.6rem;
  color:#ffffff;
  font-weight: 700;
  background-color: #1F78BA;
}
.category-sidebar ul {list-style: none; margin-top: 0px; padding-left:0; padding-right: 60px;}
.category-list .menu-item .sub-menu {padding-right: 0; padding-top: 5px; background-color: #f0f4f7; margin-bottom: -15px;}
.category-sidebar .menu-item .sub-menu li:last-child {border-radius: 0 0 0px 0px; padding-bottom: 15px;}
.category-sidebar .menu-item .sub-menu li {border:0; padding: 10px 0 5px 10px;}
.category-sidebar .menu-item .sub-menu li a {font-weight: 500;}
.category-sidebar .sub-menu li a:hover {color:#aec232;}

.category-sidebar li {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0px;
  border-radius: 0;
  border-bottom: 1px solid #cecece;
  border-left: 1px solid #cecece;
  border-right: 1px solid #cecece;
  padding: 12px 0px;
}

.category-sidebar li:first-child {
  border-top: 1px solid #cecece;
}

.category-sidebar li:last-child {
  border-radius: 0 0 10px 10px;


}

.category-sidebar li a {color:#1F78BA; font-weight: 700; padding: 0 15px;}

.category-sidebar .category-list .sub-menu {
            display: none;
            padding-left:0px;
            margin-top: 10px;
        }
        
.category-sidebar .category-list .menu-item-has-children > a {
    cursor: pointer;
    position: relative;
    padding-right: 30px;
    display: block;
}

.category-sidebar .category-list .menu-item-has-children > a::after {
    content: '+';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    border: 1px solid #1f78ba;
    padding: 2px 5px;
    border-radius: 20px;
}

.category-sidebar .category-list .menu-item-has-children.active > a::after {
    content: '−';
}


/* Box Listing Categorie Prodotto */
/* Grid Categorie */
.categories-grid-section {
    margin-bottom: 40px;
}

.categories-grid-title {
    font-size: 24px;
    margin-bottom: 30px;
    font-weight: 700;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    padding: 60px 0;
}

.categories-grid .category-card-col {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding: 0;
}

.category-card {
    display: block;
    height: 100%;
    text-decoration: none;
    transition: transform 0.3s, box-shadow 0.3s;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.category-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.category-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-card-info {
    padding: 30px 15px;
    text-align: center;
    background: #f0f4f7;
}

.category-card-info h4 {
    margin: 0 0 5px 0;
    color: #333;
    font-size: 2rem;
    min-height: 5rem;
    font-weight: 700;
}

.category-count {
    font-size: 12px;
    color: #999;
    margin: 0;
    font-weight: 500;
}

/* Ajax Load More Integration */
#ajax-load-more {width: 100%;}
.alm-listing {
  margin: 0;
  padding: 0;
  display: flex;
  display: flex;
  flex-wrap: wrap;
}

/* Varie */
.input_country {width:80%;margin-right:20px;display:block;float:left}
.input_cap {width:15%;display:block;float:right}
.mydnone {display: none;}

.cf7listacheck .wpcf7-list-item-label {width: 100%; text-align: center;display: block;}
