/* :root {
    --icon-blur: 0.2px;
} */

.changcolor-primary { /* #f08618 */
    filter: invert(76%) sepia(30%) saturate(3461%) hue-rotate(321deg) brightness(98%) contrast(91%);
}
.changcolor-secondary { /* #8c120e */
    filter: invert(10%) sepia(56%) saturate(5076%) hue-rotate(353deg) brightness(102%) contrast(103%);
} 

.whatsapp-color-hc {
    color: #4ADE80;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.whatsapp-color-hc:hover {
    color: #86efac; /* più chiaro all'hover */
    text-decoration: underline;
}

.whatsapp-color-light {
    color: #15803D; /* verde scuro — contrasto >4.5:1 su sfondo bianco */
}

.whatsapp-color, a:hover {
    color: #25D366;
}

.whatsapp-color-dark, a:hover {
    color: #075E54;
}

/* Helper per icone SVG */
.svg-icons {
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.1em;
    flex-shrink: 0;
    overflow: visible; /* evita clipping su viewBox non quadrati */
    /* filter: drop-shadow(0 0 var(--icon-blur) currentColor)
            drop-shadow(0 0 calc(var(--icon-blur) / 2) currentColor); */
}
/* Varianti dimensione */
.icons-sm { width: 0.875em; height: 0.875em; }
.icons-lg { width: 1.5em;   height: 1.5em;   vertical-align: -0.25em; }
.icons-xl { width: 2em;     height: 2em;     vertical-align: -0.35em; }

.accordion .card-header {
	padding: 0;
	border-radius: .25rem;
	margin: -5px;
}

.accord-pad {
    padding: 1rem !important;
}

.faq-color {
	color: var(--dark);
}

.drk-color {
	color: var(--dark);
}

.divider-left-border-services {
	border-left: 1px solid var(--primary);
}

.overlay-footer:before {
	background-color: #000000 !important;
}

.dropdown-item.active, .dropdown-item:active {
    color: var(--dark);
    text-decoration: none;
    background-color: var(--primary);
}

.fa-chevron-down{
  font-family: 'simple-line-icons';
  content: "\e604";
}

/* CSS headers pictures 
.optimized-header-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.optimized-header-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.z-index-2 {
  z-index: 2;
}
  */

/* ========== HEADER OTTIMIZZATI ========== */
.optimized-header {
  position: relative;
  overflow: hidden;
  min-height: 300px; /* o l'altezza che preferisci */
}

.optimized-header-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none; /* Blocca interazioni dirette */
}

.optimized-header-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  pointer-events: none; /* Doppia protezione */
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

/* Il tuo container-fliud rimane sopra l'immagine */
.container-fliud {
  position: relative;
  z-index: 2;
}

/* Utility class */
.z-index-2 {
  z-index: 2;
}
/* ========== FINE HEADER OTTIMIZZATI ========== */

/* ========== FOOTER OTTIMIZZATO ========== */
/* Stili per il footer con background ottimizzato */
#footer {
  position: relative;
  overflow: hidden;
  color: #fff; /* Assicura testo bianco su sfondo scuro */
}

.footer-background-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none; /* Permette click-through per i link del footer */
}

.footer-background-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0 100%; /* Mantiene la posizione originale: 0 100% */
  display: block;
  pointer-events: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

/* Mantiene il contenuto sopra l'immagine */
#footer .container {
  position: relative;
  z-index: 2;
}

/* Riserva lo spazio prima che l'immagine carichi */
#footer .footer-bg-image img,
#footer img[alt="Footer background"] {
    width: 100%;
    height: auto;
    aspect-ratio: 1920 / 400; /* adatta ai valori reali dell'immagine */
}

/* Overlay - se non viene già dalla classe overlay-footer */
#footer.overlay-footer:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8); /* Opacità overlay */
  z-index: 1;
  pointer-events: none;
}

/* Se overlay-op-8 è già definita, verifica che funzioni */
.overlay-op-8:before {
  opacity: 0.8;
}
/* ========== FINE FOOTER OTTIMIZZATO ========== */


/* ========== slider carousel index header ========== */
/* Immagine 1-1 (destra) — solo desktop */
.slide1-bg-right {
  overflow: hidden;
  max-width: 50vw;
}

/* Immagine 1-2 (sinistra) — mobile: full width | desktop: metà sinistra */
.slide1-bg-left {
  overflow: hidden;
  max-width: 50vw; /* desktop: metà */
}

@media (max-width: 991px) {
  .slide1-bg-left {
    max-width: 100vw; /* mobile: full width */
  }
}

/* Slide 2 - immagine desktop */
.slide2-bg-desktop {
  overflow: hidden;
}

/* Slide 2 - immagine mobile (stessa di slide1-2) */
.slide2-bg-mobile {
  overflow: hidden;
  display: none; /* nascosta su desktop */
}

@media (max-width: 991px) {
  .slide2-bg-desktop {
    display: none; /* nasconde immagine desktop su mobile */
  }
  .slide2-bg-mobile {
    display: block; /* mostra immagine mobile */
    max-width: 100vw;
  }
}

.home-hero-carousel,
.home-hero-carousel .owl-stage-outer,
.home-hero-carousel .owl-stage,
.home-hero-carousel .owl-item {
	height: calc(100vh - 305px);
	min-height: calc(100vh - 305px);
}

.home-hero-carousel .container,
.home-hero-carousel .row {
	height: 100%;
	min-height: 100%;
}

.cta-contact-banner {
	position: relative;
	overflow: hidden;
	min-height: 220px;
}

.cta-contact-banner__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.cta-contact-banner__bg img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center 35%;
}

.cta-contact-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.28);
	z-index: 1;
}

.cta-contact-banner .call-to-action,
.cta-contact-banner .container,
.cta-contact-banner .row,
.cta-contact-banner .call-to-action-content,
.cta-contact-banner .call-to-action-btn {
	position: relative;
	z-index: 2;
}

.container-fluid{
  position: relative;
  z-index: 2;
}

.fa-chevron-down::before{
  content: none !important;
}

.home-hero-carousel{
  opacity: 1 !important;
  visibility: visible !important;
}

.home-hero-carousel .owl-stage-outer,
.home-hero-carousel .owl-stage,
.home-hero-carousel .owl-item{
  height: calc(100vh - 305px);
  min-height: calc(100vh - 305px);
}

.cls-home-stable #header{
  position: relative;
}

.cls-home-stable .main{
  overflow-x: clip;
}

.featured-boxes-style-9 .icon-featured {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.featured-boxes-style-9 .icon-featured > .animated-icon,
.featured-boxes-style-9 .icon-featured > div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.featured-boxes-style-9 .icon-featured svg {
  width: 100px;
  height: 100px;
  display: block;
  margin: 0 !important;
}