

/********************************************************
			Codezeel Custom Styles
********************************************************/
.cz-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  -ms-touch-action: pan-y;
}

.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-wrapper-outer {
  overflow: hidden;
  position: relative;
  float: left;
  width: 100%;
}
.owl-carousel .owl-wrapper-outer.autoHeight {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}
.owl-carousel .owl-item {
  float: left;
}
.owl-carousel .owl-item .manu_image a {
  display: inline-block;
}
.owl-carousel .owl-item .manu_image a img {
  max-width: 100%;
}
.owl-carousel .owl-item:hover a img {
  border-color: blue;
}
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  /* fix */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  text-align: center;
}

/* mouse grab icon */
.grabbing {
  cursor: url("../img/codezeel/grabbing.png") 8 8, move;
}
 
.customNavigation {
  position: absolute;
  width: 100%;
  top: 37%;
  direction: ltr !important;
}
.lastest_block .customNavigation {
    top: 30%;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
}
.lastest_block:hover .customNavigation {
    opacity: 1;
    filter: alpha(opacity=100);
}
.customNavigation a {
	font-size: 0px;
    position: absolute;
    font-weight: 300;
    height: 30px;
    width: 30px;
    line-height: 28px;
    padding: 0px;
    color: #000000;
	background:#ffffff;
    cursor: pointer;
    overflow: hidden;
    -webkit-transition: all 0.5s ease;
    -webkit-transition-delay: 0s;
    -moz-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
     border: 1px solid #ebebeb;
}

.customNavigation a:hover{
	border-color: #255605;
}
.customNavigation a:hover:before{ color: #262626; }

.customNavigation a.prev {
  left: -40px;
}
.customNavigation a.next {
  right: -40px;
}
/*
.customNavigation a.prev:hover{
	background-position: 0px -71px;
}

.customNavigation a.next:hover{
	 background-position: -128px -71px;
}*/
.customNavigation a.prev:before {
	content: '\f104';
    font-family: "FontAwesome";
    font-size: 20px;
    color: #000000;
}
.customNavigation a.next:before {
    content: '\f105';
    font-family: "FontAwesome";
    font-size: 20px;
    color: #000000;
}
.customNavigation a.prev:hover:before ,
.customNavigation a.next:hover:before { color: #255605; }
@media (max-width: 1670px) {
  .customNavigation a.prev {
    left: 5px;
  }
    .customNavigation a.next {
    right: 5px;
  }
  .lastest_block .customNavigation a.prev {
    left: 0px;
  }
  .lastest_block .customNavigation a.next {
    right: 0px;
  }
}
@media (max-width: 991px) {
	
}

@media (max-width: 767px) {
  .lastest_block .customNavigation {
    top: 26%;
  }
}
@media (max-width: 650px) {
  .lastest_block .customNavigation {
    top: 30%;
  }
}
#czleftbanner img,
#czrightbanner img{
	max-width: 100%;
}	
#czleftbanner li, #czrightbanner li {
    display: inline-block;
}
#czleftbanner li a, #czrightbanner li a {
    display: inline-block;
    overflow: hidden;
    position: relative;
}
#czleftbanner li a:before, #czrightbanner li a:before {
   content: "";
    position: absolute;
    left: 0;
    top: 0;
    border: 80px double rgba(55, 55, 55, 0);
    width: 100%;
    height: 100%;
    transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
}

#czleftbanner li:hover a:before, #czrightbanner li:hover a:before {
    border: 0px double rgba(37, 86, 5, 0.34);
    opacity: 0;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    -ms-opacity: 0;
    -o-opacity: 0;
}

.top_button {
    background: #000000;
    bottom: 20px;
    cursor: pointer;
    height: 45px;
    position: fixed;
    right: 20px;
    text-align: center;
    width: 45px;
    z-index: 99;
    border-radius: 50%;
}
.top_button:before {
    font-family: "FontAwesome";
    content: "\f176";
    color: #fff;
    font-size: 20px;
    left: 18px;
    position: absolute;
    top: 10px;
    transition: all 0.6s ease-in-out;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
}

/* Flexslider */

#index .spinner {
  background: url(../img/codezeel/loading.gif) no-repeat center center #ffffff;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 100000;
  top: 0;
  left: 0;
  background-size: 8%;
}


/* Preloader 

#czpreloader {
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:#fff;
    z-index:99;
}

#loading_status {
    width:200px;
    height:200px;
    position:absolute;
    left:50%; 
    top:50%; 
    background-image:url(../img/codezeel/preloader.gif); 
    background-repeat:no-repeat;
    background-position:center;
    margin:-100px 0 0 -100px;
}*/

 /* Riallinea verticalmente il logo */
#header .header_logo {
  padding-top: 25px !important;   /* prima era 20px, aumenta leggermente */
  padding-bottom: 15px !important;
}

/* Mantiene la proporzione del logo largo */
#header .header_logo img.logo {
  height: 47px !important; /* fissa l’altezza reale del nuovo logo */
  width: auto !important;
}

/* Uniforma l'altezza complessiva dell'header */
@media (min-width: 992px) {
  #header .header-top {
    min-height: 100px !important; /* regola per compensare la nuova altezza */
  }
}

.topline-rotator {
  position: relative;
  display: inline-block;
  min-width: 420px;            /* opzionale: fissa una larghezza per evitare “saltelli” */
  height: 1.4em;               /* altezza riga */
  line-height: 1.4em;
  overflow: hidden;
}

.topline-rotator span {
  position: absolute;
  left: 0; top: 4px;
  width: 100%;
  opacity: 0;
  animation: topfade 8s infinite;
  white-space: nowrap;
}

/* MOBILE: logo grande, centrato, proporzioni perfette */
@media (max-width: 767px) {
  #header .header_logo {
    text-align: center !important;
    width: 100% !important;
  }

  #header .header_logo img.logo {
    display: inline-block;
    margin: 0 auto;

    /* Scala in modo fluido, senza deformare */
    height: clamp(48px, 24vw, 70px) !important;
    width: auto !important;

    max-width: none !important;   /* lascia libertà di crescere */
    max-height: none !important;
  }
}

/* ========== MOBILE-FIRST (default) ========== */
/* Griglia flessibile e avvolgimento */
#czservicecmsblock .service_container .service-area {
  display: flex;
  flex-wrap: wrap;
}

/* Su telefoni: 2 per riga (50%) */
#czservicecmsblock .service_container .service-area .service-fourth {
  box-sizing: border-box;
  flex: 1 1 50%;
  max-width: 50%;
  padding-right: 10px; /* piccolo respiro */
}

/* Su schermi molto piccoli: 1 per riga (100%) */
@media (max-width: 575px) {
  #czservicecmsblock .service_container .service-area .service-fourth {
    flex: 1 1 100%;
    max-width: 100%;
    padding-right: 0;
  }
}

/* Titoli: su mobile lasciali andare a capo */
#czservicecmsblock .service_container .service-area .service-fourth .service-content .service-heading {
  white-space: normal;
}

/* Un po’ di respiro al contenuto su mobile */
#czservicecmsblock .service_container .service-area .service-fourth .service-content {
  margin-left: 40px; /* più corto del desktop */
}

/* Il divisore non deve stare appiccicato al bordo su mobile */
#czservicecmsblock .service_container .service-area .service-fourth:after {
  right: 10px;
}

/* ========== DESKTOP LARGO ========== */
@media (min-width: 1200px) {
  /* Torna alla tua distribuzione personalizzata */
  #czservicecmsblock .service_container .service-area .service-fourth.service1 { 
    flex: 0 0 24%; max-width: 24%; 
  }
  #czservicecmsblock .service_container .service-area .service-fourth.service2 { 
    flex: 0 0 26%; max-width: 26%; 
  }
  #czservicecmsblock .service_container .service-area .service-fourth.service3 { 
    flex: 0 0 24%; max-width: 24%; 
  }
  #czservicecmsblock .service_container .service-area .service-fourth.service4 { 
    flex: 0 0 26%; max-width: 26%; 
    padding-right: 10px !important; 
  }

  /* Tieni il titolo su una riga solo su desktop */
  #czservicecmsblock .service_container .service-area .service-fourth .service-content .service-heading {
    white-space: nowrap;
  }

  /* Respiro desktop come avevi fatto */
  #czservicecmsblock .service_container .service-area .service-fourth .service-content {
    margin-left: 50px;
  }

  /* Sposta il divisore al bordo solo su desktop */
  #czservicecmsblock .service_container .service-area .service-fourth:after {
    right: 0;
  }
}

/* ========== ICON SPRITE (resta com’era) ========== */
/* dopo lo swap: 2 <-> 4, aggiorna anche l'hover */
#czservicecmsblock .service_container .service-area .service-fourth.service2 .icon2 {
  background-position: 0 -727px !important;
}
#czservicecmsblock .service_container .service-area .service-fourth.service2:hover .icon2 {
  background-position: 0 -848px !important;
}
#czservicecmsblock .service_container .service-area .service-fourth.service4 .icon4 {
  background-position: 0 -242px !important;
}
#czservicecmsblock .service_container .service-area .service-fourth.service4:hover .icon4 {
  background-position: 0 -363px !important;
}
/* MOBILE: centra davvero i blocchi servizi */
@media (max-width: 767px) {
  #czservicecmsblock .service_container .service-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #czservicecmsblock .service_container .service-area .service-fourth {
    box-sizing: border-box;
    flex: 1 1 100%;
    max-width: 100%;
    padding: 0 0 20px;      /* niente spinta a destra */
    text-align: center;     /* testi centrati */
  }

  /* l’icona al centro */
  #czservicecmsblock .service_container .service-area .service-fourth .service-icon {
    margin: 0 auto 8px;
    left: auto; right: auto; /* se nel tema è posizionata assoluta */
  }

  /* rimuovi l’indent che ti porta tutto a destra */
  #czservicecmsblock .service_container .service-area .service-fourth .service-content {
    margin-left: 0 !important;
  }

  /* niente divisori laterali su mobile */
  #czservicecmsblock .service_container .service-area .service-fourth:after {
    display: none !important;
  }

  /* titoli liberi di andare a capo */
  #czservicecmsblock .service_container .service-area 
  .service-fourth .service-content .service-heading {
    white-space: normal;
  }
}

/* MOBILE: avvicina icona e testi nei blocchi servizi */
@media (max-width: 767px) {

  /* ogni blocco più compatto */
  #czservicecmsblock .service_container .service-area .service-fourth {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  /* riduci spazio tra icona e testo */
  #czservicecmsblock .service_container .service-area 
  .service-fourth .service-icon {
    margin-bottom: 3px !important;   /* prima era 10–15px */
    transform: scale(0.95);          /* leggermente più piccola, opzionale */
  }

  /* compatta i titoli */
  #czservicecmsblock .service_container .service-area 
  .service-fourth .service-content .service-heading {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    line-height: 1.1 !important;
    font-size: 0.95rem !important;
  }

  /* compatta la descrizione sotto il titolo */
  #czservicecmsblock .service_container .service-area 
  .service-fourth .service-content p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.2 !important;
    font-size: 0.85rem !important;
  }

  /* centra tutto di nuovo per sicurezza */
  #czservicecmsblock .service_container .service_

.pack-toggler > summary {
  cursor: pointer;
  list-style: none;
}
.pack-toggler > summary::-webkit-details-marker { display: none; }

.pack-toggler > summary::before {
  content: "▸";
  display: inline-block;
  margin-right: .5rem;
  transition: transform .2s ease;
}
.pack-toggler[open] > summary::before { transform: rotate(90deg); }

.pack-list { margin-top: .75rem; }

.pack-price-disabled {
  font-size: 0.75rem;
  font-weight: 400;
  opacity: 0.7;
  display: inline-block;
}

/* Nasconde il blocco messaggio PayPal (Zoid) che lascia spazio vuoto */
#product [id^="zoid-paypal-message-uid"],
#product [id*="zoid-paypal-message-uid"]{
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
