/*
Theme Name: Indaweb Child
Template: Divi
Theme URI: https://indaweb.it
Author: Indaweb
Author URI: https://indaweb.it
Description: Flexible Multi-Purpose Responsive WordPress Theme
Version: 1.0
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-menu, featured-images, flexible-header, post-formats, sticky-post, translation-ready

/* Below you can write your style */
.et-l--header ul .wpml-ls-menu-item a{
	display:block!important;
}
.otgs-development-site-front-end{
	display:none!important;
}
@media screen and (max-width: 980px) {
    .reverse {
        display: flex!important;
        flex-direction: column-reverse!important;
    }
} 

p{
	letter-spacing:.5px!important;
}
/*---Menu---*/
#main-header{
	box-shadow:none!important;
}
/*---Home---*/
.overlay-bg {
    position: relative;
    overflow: hidden;
}
.overlay-bg::before {
    content: "";
    position: absolute;
    inset: 0; 
    background-color: rgba(0, 0, 0, 0.45);
    z-index: 2;
    pointer-events: none;
}
.overlay-bg .et_pb_row {
    position: absolute;
    z-index: 3;
}
.carosello-home .dipl_image_card_content_wrapper{
	position:absolute;
	bottom:0;
	z-index: 5;
}
.carosello-home img{
	border-radius:1rem;
}
.carosello-home .dipl_image_card_image_wrapper:before {
    content: "";
    position: absolute;
    inset: 0; 
    background-color: rgba(0, 0, 0, 0.25);
    z-index: 2;
	border-radius:1rem;
}
.carosello-home .dipl_swiper_navigation{
	margin-top:0!important;
}
.carosello-home .dipl_image_card_carousel_item{
	margin-bottom:1%!important;
}
@media screen and (min-width:981px){
	.carosello-home img{
		height:500px;
		object-fit:cover;
	}
}
@media screen and (max-width:980px){
	.carosello-home img{
		height:450px;
		object-fit:cover;
	}
}
.negative {
  color: #000; /* colore iniziale del testo */
  background: linear-gradient(to right, #253d80 100%, #000 0%);
  background-size: 0% 100%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: background-size 1s ease-out;
  display:inline-block;
}

.negative.active {
  background-size: 100% 100%;
}
@media screen and (min-width:981px){
.home-tecnologie .et_pb_column{
	display:flex;
	flex-direction:row;
	gap:50px;
	width:100%;
	}
	.home-tecnologie .et_pb_column .et_pb_code_0{
		width:70%;
	}
}
/*---------carosello progetti home---------*/
.progetti-home-carosello .dipl_horizontal_scrolling_card_content_wrapper{
	display:none!important;
}

.dipl_horizontal_scrolling_card_image_wrapper img{
	border-radius:1rem;
}
.indaweb-projects-carousel-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.indaweb-projects-carousel-track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0.5rem 0;
}

.indaweb-projects-carousel-track::-webkit-scrollbar {
    display: none;
}

.indaweb-project-card {
    position: relative;
    flex: 0 0 calc((100% - 2rem) / 2.5);
    min-height: 45vh;
    border-radius: 1rem;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    text-decoration: none;
    display: flex;
    align-items: flex-end;
}

.indaweb-project-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.indaweb-project-overlay {
    display: none;
}

.indaweb-project-content {
    position: relative;
    z-index: 2;
    padding: 1.25rem;
    width: 100%;
}

.indaweb-project-title {
    margin: 0;
    color: #fff;
    font-size: 3rem;
    line-height: 1.2;
    text-align: left;
}

.indaweb-projects-nav {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1rem;
}

.indaweb-projects-prev,
.indaweb-projects-next {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    background: #253d80;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s ease;
}

.indaweb-projects-prev:hover,
.indaweb-projects-next:hover {
    opacity: 0.85;
}

@media screen and (max-width: 980px) {
    .indaweb-project-card {
        flex: 0 0 calc((100% - 1rem) / 1.5);
        min-height: 40vh!important;
    }

    .indaweb-project-title {
        font-size: 1.8rem!important;
    }
}

@media (max-width: 767px) {
    .indaweb-project-card {
        flex: 0 0 85%;
        min-height: 260px;
    }

    .indaweb-project-content {
        padding: 1rem;
    }

    .indaweb-project-title {
        font-size: 1rem;
    }

    .indaweb-projects-nav {
        justify-content: center;
    }
}
/*------Sezione home Hover effect--------*/
/* Wrapper */
.inda-hoverlist{
  display:flex;
  flex-direction:column;
  gap:26px;
}

/* Item */
.hl-item{
  opacity:.35;
  transition:opacity .2s ease;
}

.hl-item.is-active,
.hl-item:hover,
.hl-item:focus-within{
  opacity:1;
}
.hl-item.is-active{
	display:flex;
	flex-direction:column;
}

/* Titolo cliccabile (accessibile su mobile) */
.hl-title{
  all:unset;
  cursor:pointer;
  font-size:48px;         /* regola per il tuo layout */
  line-height:1.05;
  font-weight:700;
  color:#fff;             /* cambia */
  display:inline-flex;
  align-items:center;
  gap:12px;
}

/* CTA visibile solo su hover/attivo */
.hl-cta{
  display:flex;
	gap:10px;
  margin-top:10px;
  font-size:16px;
  text-decoration:none;
  color:#fff;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .2s ease, transform .2s ease;
}
.hl-cta:after{
	display: flex;
    align-items: center;
    height: 100%;
    font-family: "ETmodules";
    content: "\e03c";
}
.hl-item.is-active .hl-cta,
.hl-item:hover .hl-cta,
.hl-item:focus-within .hl-cta{
  opacity:1;
  transform:translateY(0);
}

/* Preview a destra */
.hl-preview{
  position:relative;
  display:block;
  text-decoration:none;
	overflow:hidden;
}

.hl-preview img{
  width:100%;
  height:550px;
  object-fit:cover;
  display:block;
  border-radius:1rem
}
@media screen and (max-width:980px){
	.hl-preview img{
  height:280px;
	}
}
.hl-preview-title{
  position:absolute;
  left:32px;
  bottom:28px;
  font-size:45px;
  font-weight:700;
  color:#fff;
  text-shadow:0 6px 24px rgba(0,0,0,.35);
	line-height:1em;
	letter-spacing:.5px;
}

/* Responsive: su mobile riduco font e spazi */
@media (max-width: 980px){
  .hl-title{
	  font-size:34px;
	}
  .hl-preview-title{
	  font-size:30px;
	  left:18px;
	  bottom:18px;
	}
  .inda-hoverlist{
	  gap:18px;
	}
}

/*---Form---*/
@media screen and (min-width: 981px) {
.row-one-half {
	display: flex!important;
    flex-direction: row!important;
    column-gap: 20px!important;
}
.row-one-half div{
	max-width:100%!important;
	width:50%!important;
	}
}
.wpcf7-response-output{
	color:#fff!important;
}
/*------Contatti-------*/
#pop-up-mappa .dipl_modal_inner_wrap.dipl_animated, #pop-up-mappa .dipl_modal_content_text .lazyloaded{
	border-radius:1rem;
}
#pop-up-mappa .dipl_modal_header{
	justify-content: flex-start!important;
	padding-top: 10px !important;
    padding-right: 20px !important;
    padding-bottom: 0px !important;
    padding-left: 20px !important;
}
#pop-up-mappa .dipl_modal .dipl_modal_inner_wrap {
	height:100vh!important;
}

#pop-up-form .dipl_modal_inner_wrap.dipl_animated{
	border-radius:1rem!important;
	height:100vh!important;
}
#pop-up-form .dipl_modal_header{
	justify-content: flex-start!important;
	padding-top: 10px !important;
    padding-right: 20px !important;
    padding-bottom: 0px !important;
    padding-left: 20px !important;
}
#pop-up-form .dipl_modal_inner_wrap.dipl_animated{
	border-radius:1rem;
}
#pop-up-form .wpcf7-form .wpcf7-form-control.wpcf7-text{
	padding-top: 12px !important;
    padding-right: 12px !important;
    padding-bottom: 12px !important;
    padding-left: 12px !important;
	border-radius: 5px 5px 5px 5px;
    border-color: #FFFFFF !important;
	font-size: 16px !important;
    color: #143782 !important;
	    width: 100%;
    max-width: 100%;
	    margin-top: 7px;
    margin-bottom: 0px;
	    background-color: #FFFFFF !important;
}
#pop-up-form .wpcf7-form p, #pop-up-form .wpcf7-form label, #pop-up-form .wpcf7-form a {
	color:#fff!important;
}
#pop-up-form .wpcf7-form .wpcf7-submit {
	color: #143782 !important;
    border-width: 0px !important;
    border-radius: 50px;
    font-size: 25px!important;
    font-family: 'HelveticaNowDisplay-Bold', Helvetica, Arial, Lucida, sans-serif !important;
    background-color: #FFFFFF !important;
	    padding: 0.3em 1em !important;
}
#pop-up-form .wpcf7-form .wpcf7-select{
	    width: 100%;
    border-radius: 5px;
    padding: 10px;
}
#pop-up-form  .wpcf7-form .wpcf7-textarea{
	    width: 100%;
    border-radius: 5px;
    margin-top: 9px;
	padding: 10px;
}
@media screen and (max-width:980px){
	#pop-up-form .dipl_modal_inner_wrap.dipl_animated{
		width:100%!important;
	}
	#pop-up-mappa .dipl_modal_inner_wrap.dipl_animated{
		width:100%!important;
	}
	#pop-up-form .dipl_modal_bottom_right {
    align-items: flex-start!important;
    justify-content: flex-start!important;
	}
}
/*-----------------Animazione testi-------------------*/

/* Reveal pulito (non nasconde mai il testo se JS non parte) */
.wave-reveal { opacity: 1; }

/* Solo quando JS ha preparato l’elemento */
.wave-reveal.is-ready .wr-line{
  display:block;
  overflow:hidden;          /* <-- il "taglio" rettangolare */
  line-height:1.1;
}

.wave-reveal.is-ready .wr-inner{
  display:inline-block;
  transform: translateY(120%);
  will-change: transform;
}

/* Start animazione quando entra in viewport */
.wave-reveal.is-inview .wr-inner{
  animation: wrUp 1s cubic-bezier(.2,.9,.2,1) forwards;
  animation-delay: var(--d, 0ms); /* stagger per riga */
}

@keyframes wrUp{
  to{ transform: translateY(0); }
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce){
  .wave-reveal.is-ready .wr-inner{
    transform:none !important;
    animation:none !important;
  }
}
/*--------------MENU-------------*/
#menu-main-menu .shop-online{
	background-color: #253d80;
    border-radius: 50px;
}
#menu-main-menu .shop-online a{
	color: #fff;
    padding-left: 15px;
	padding-right: 15px;
}
html[lang="en-US"] .shop-online{
	background-color: #253d80;
    border-radius: 50px;
}
html[lang="en-US"] .shop-online a{
	color: #fff;
    padding-left: 15px;
	padding-right: 15px;
}
/*------------PRODOTTI------------------*/
.prodotti-carosello .dipl_image_card_image_wrapper img{
	height:400px!important;
	object-fit:cover;
}
.prodotti-carosello .dipl_image_card_inner_content_wrapper{
	flex-grow: 1;
    display: flex;
    flex-direction: column;
	justify-content:flex-start!important;
}
/*-------------SOLUZIONI---------------*/
.soluzioni-scroll .dipl_horizontal_scrolling_card_image_wrapper img{
	height:360px;
	object-fit:cover;
}

/*-------------PORTFOLIO---------------*/
/* GRID PIU' COMPATTA */
@media screen and (min-width:981px){
.et_pb_column_4_4 .et_pb_grid_item{
	width: 24.5%!important;
        margin-right: 0.5%!important;
        margin-bottom: 0.5%!important;
	}
}
.et_pb_portfolio_grid .et_pb_portfolio_item {
    margin-bottom: 0;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
    position: relative;
    border-radius: 14px;
    transform: translateZ(0);
}

/* CONTAINER IMMAGINE */
.et_pb_portfolio_item .et_portfolio_image,
.et_pb_portfolio_item .et_pb_image_container,
.et_pb_portfolio_item .et_pb_portfolio_image {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    margin: 0;
}

/* IMMAGINE */
.et_pb_portfolio_item img {
    display: block;
    width: 100%;
    height: 55vh;
	object-fit:cover!important;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                filter 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
	
}
@media screen and (max-width:980px){
	.et_pb_portfolio_item img {
    height: 35vh;
	object-fit:cover!important;
	}
}
/* OVERLAY SEMPRE PRESENTE */
.et_pb_portfolio_item .et_pb_portfolio_image::after,
.et_pb_portfolio_item .et_portfolio_image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.58) 0%,
        rgba(0, 0, 0, 0.28) 45%,
        rgba(0, 0, 0, 0.10) 100%
    );
    transition: background 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 1;
    pointer-events: none;
}

/* TITOLO SOPRA L'IMMAGINE */
.et_pb_portfolio_item h2,
.et_pb_portfolio_item .post-meta {
    position: absolute;
    left: 18px;
    right: 18px;
    z-index: 3;
    color: #fff;
    pointer-events: none;
}

/* TITOLO */
.et_pb_portfolio_item h2 {
    bottom: 34px;
    margin: 0;
    padding: 0;
    font-size: 40px!important;
    line-height: 1.2em;
    font-weight: 600;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* CATEGORIA / META */
.et_pb_portfolio_item .post-meta {
    bottom: 14px;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.3em;
    opacity: 0.85;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* HOVER GENERALE PIU' MORBIDO */
.et_pb_portfolio_item {
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.et_pb_portfolio_item:hover {
    transform: translateY(-4px);
}

/* ZOOM IMMAGINE PIU' FLUIDO */
.et_pb_portfolio_item:hover img {
    transform: scale(1.045);
    filter: saturate(1.05);
}

/* OVERLAY PIU' PROFONDO IN HOVER */
.et_pb_portfolio_item:hover .et_pb_portfolio_image::after,
.et_pb_portfolio_item:hover .et_portfolio_image::after {
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.68) 0%,
        rgba(0, 0, 0, 0.34) 45%,
        rgba(0, 0, 0, 0.12) 100%
    );
}

/* TESTI LEGGERMENTE ANIMATI */
.et_pb_portfolio_item:hover h2 {
    transform: translateY(-2px);
}

.et_pb_portfolio_item:hover .post-meta {
    transform: translateY(-2px);
    opacity: 1;
}

/* OVERLAY DI DIVI PIU' PULITO */
.et_overlay {
    background: rgba(0, 0, 0, 0.18) !important;
    border: none !important;
    opacity: 1;
    transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.et_pb_portfolio_item .et_overlay:before {
    color: #fff;
    font-size: 30px;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.et_pb_portfolio_item:hover .et_overlay:before {
    transform: scale(1.05);
}
/*-----------Landing page----------*/
@media screen and (min-width:981px){
.gallery-contract img{
	height:80vh;
	object-fit:cover;
	}
	.accordion-contract .et_pb_toggle{
	margin-bottom:1.80%!important;
	}
}
@media screen and (max-width:980px){
	.accordion-contract .et_pb_toggle{
	margin-bottom:5%!important;
	}
}
/*--------------Articoli--------------*/
@media screen and (min-width:981px){
.griglia-tre-articolo{
	display: flex;
    flex-direction: row;
    max-width: 100%;
    width: 100%;
    column-gap: 20px;
	}
	.griglia-tre-articolo img{
		width:25vw;
		object-fit:cover;
	}
}