.elementor-kit-6{--e-global-color-429eaf5:#546223;--e-global-color-74c40e3:#A9926C;--e-global-color-722ae6f:#02010100;--e-global-color-79cc2f3:#F5F5F5;--e-global-color-16fdcaf:#A9926C;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-8802597-font-family:"bruna";--e-global-typography-8802597-font-size:65px;--e-global-typography-8802597-font-weight:400;--e-global-typography-8802597-text-transform:uppercase;--e-global-typography-8802597-line-height:45px;--e-global-typography-8802597-letter-spacing:2px;--e-global-typography-5065d64-font-family:"bruna";--e-global-typography-5065d64-font-size:16px;--e-global-typography-5065d64-text-transform:uppercase;--e-global-typography-5065d64-line-height:1em;--e-global-typography-c2ecd1f-font-family:"bruna";--e-global-typography-c2ecd1f-font-size:28px;--e-global-typography-c2ecd1f-font-weight:100;--e-global-typography-d483a6a-font-family:"bruna";--e-global-typography-d483a6a-font-size:21px;--e-global-typography-d483a6a-font-weight:200;--e-global-typography-d483a6a-text-transform:uppercase;--e-global-typography-d483a6a-letter-spacing:2.5px;--e-global-typography-7d84334-font-family:"bruna";--e-global-typography-7d84334-font-size:120px;--e-global-typography-7d84334-font-weight:100;--e-global-typography-7d84334-text-transform:uppercase;--e-global-typography-7d84334-line-height:1em;--e-global-typography-2ed655a-font-family:"bruna";--e-global-typography-2ed655a-font-size:120px;--e-global-typography-2ed655a-font-weight:100;--e-global-typography-2ed655a-text-transform:uppercase;--e-global-typography-3781f91-font-family:"bruna";--e-global-typography-3781f91-font-size:21px;--e-global-typography-3781f91-font-weight:300;--e-global-typography-3781f91-line-height:1.9em;--e-global-typography-3781f91-letter-spacing:1px;--e-global-typography-e481a9e-font-family:"bruna";--e-global-typography-e481a9e-font-size:21px;--e-global-typography-e481a9e-font-weight:200;--e-global-typography-e481a9e-text-transform:uppercase;--e-global-typography-e481a9e-letter-spacing:2.5px;--e-global-typography-5c986db-font-family:"bruna";--e-global-typography-5c986db-font-size:21px;--e-global-typography-5c986db-font-weight:300;--e-global-typography-5c986db-line-height:1.9em;--e-global-typography-5c986db-letter-spacing:1px;--e-global-typography-7d4eda9-font-family:"bruna";--e-global-typography-7d4eda9-font-size:60px;--e-global-typography-7d4eda9-font-weight:100;--e-global-typography-7d4eda9-text-transform:uppercase;--e-global-typography-6db48d1-font-family:"bruna";--e-global-typography-6db48d1-font-size:18px;--e-global-typography-6db48d1-font-weight:500;--e-global-typography-6db48d1-text-transform:uppercase;--e-global-typography-6db48d1-font-style:normal;--e-global-typography-6db48d1-line-height:1em;--e-global-typography-6db48d1-letter-spacing:0.5px;--e-global-typography-ca15a9d-font-family:"bruna";--e-global-typography-ca15a9d-font-size:18px;--e-global-typography-ca15a9d-font-weight:300;--e-global-typography-ca15a9d-line-height:1.3em;--e-global-typography-ca15a9d-letter-spacing:1px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-79cc2f3 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-8802597-font-size:55px;--e-global-typography-7d84334-font-size:100px;--e-global-typography-2ed655a-font-size:80px;--e-global-typography-2ed655a-line-height:1.4em;--e-global-typography-e481a9e-font-size:20px;--e-global-typography-5c986db-font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-8802597-font-size:44px;--e-global-typography-c2ecd1f-font-size:21px;--e-global-typography-7d84334-font-size:40px;--e-global-typography-7d84334-line-height:1.2em;--e-global-typography-7d84334-letter-spacing:0.5px;--e-global-typography-5c986db-font-size:18px;--e-global-typography-5c986db-line-height:1.7em;--e-global-typography-7d4eda9-font-size:40px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html, body {max-width: 100%; overflow-x: hidden;}
*:focus { outline: 0 !important; }

input[type=date] {
    min-height: 40px;
}

/* Fix altezza campo DATA su iPhone (Safari) */
@supports (-webkit-touch-callout: none) {
  .elementor-form .elementor-field[type="date"] {
    -webkit-appearance: none;
    appearance: none;
    height: 40px !important;        /* stessa altezza degli altri campi */
    line-height: 40px !important;
  }

  /* Allinea il testo internamente al controllo data */
  .elementor-form .elementor-field[type="date"]::-webkit-datetime-edit,
  .elementor-form .elementor-field[type="date"]::-webkit-date-and-time-value {
    line-height: 40px;
  }
}


.testo-linea-oro {

    text-decoration: line-through; 
    text-decoration-thickness: 8px;  
    text-decoration-color: #A9926C;
    }
    
.testo-linea-verde {

    text-decoration: line-through; 
    text-decoration-thickness: 8px;  
    text-decoration-color: #546223;
    }
    
    
.testo-400 {
    font-weight: 400;
    }
    
    .testo-300 {
    font-weight: 300;
    }
    
    
/* ANIMAZIONE BOTTONE */
.btn-line-anim {
  position: relative;
  overflow: hidden;
  --line-width: 100px; /* larghezza iniziale */
  --line-left: 0px; /* sempre attaccata a sinistra */
}

.btn-line-anim::before {
  content: "";
  position: absolute;
  top: 50%; /* centrata verticalmente */
  left: var(--line-left);
  transform: translateY(-50%);
  width: var(--line-width);
  height: 1px; /* spessore linea */
  background-color: #a9926c; /* colore linea */
  pointer-events: none;
  z-index: 1;
}

/* ANIMAZIONE BOTTONE menu pop up */
.btn-line-anim2 {
  position: relative;
  overflow: hidden;
  --line-width: 100px; /* larghezza iniziale */
  --line-left: 0px; /* sempre attaccata a sinistra */
}

.btn-line-anim2::before {
  content: "";
  position: absolute;
  top: 50%; /* centrata verticalmente */
  left: var(--line-left);
  transform: translateY(-50%);
  width: var(--line-width);
  height: 1px; /* spessore linea */
  background-color: #a9926c; /* colore linea */
  pointer-events: none;
  z-index: 1;
}


/* ANIMAZIONE POPUP FOTO */

[class*="box-img-"] {
  position: absolute; /* già usi così */
  z-index: 5;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
}

[class*="box-img-"].active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

/* ====== OA Reveal: colore sotto, immagine sopra con fade + zoom ritardato ====== */
.oa-reveal {
  position: relative;
  overflow: hidden;                 
  background: var(--base, #546223); /* colore di base predefinito */
  isolation: isolate;
}

.oa-reveal img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transform: scale(var(--start-scale, 2.0));
  transition:
    opacity   var(--fade, 400ms) ease var(--delay-fade, 0ms),
    transform var(--dur, 700ms) cubic-bezier(.2,.6,.2,1) var(--delay-zoom, 00ms);
  will-change: transform, opacity;
  backface-visibility: hidden;
  z-index: 1;
}

.oa-reveal.is-inview img {
  opacity: 1;
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .oa-reveal img {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}


/* ===== Variante MEDIA (contenitore con video di sfondo) ===== */
.oa-reveal.oa-reveal--media{ position:relative; overflow:hidden; isolation:isolate; }

/* Video: aderente al container, senza overflow percepito */
.oa-reveal.oa-reveal--media .elementor-background-video-container{
  position:absolute; inset:0; overflow:hidden; z-index:0;
  transform:none !important;
}

.oa-reveal.oa-reveal--media .elementor-background-video-container video{
  position:absolute; inset:0;            /* aggancia ai 4 bordi */
  width:100% !important;
  height:100% !important;
  object-fit:cover;                      /* riempi e ritaglia */
  object-position:center center;         /* centra il ritaglio */
  transform:none !important;             /* niente translate */
  max-width:none !important;
  max-height:none !important;
  pointer-events:none;
}


/* OVERLAY verde sopra al video (replica del background) */
.oa-reveal.oa-reveal--media::before{
  content:""; position:absolute; inset:0;
  background: var(--base, #546223);
  z-index:1;
  opacity:1;
  transition: opacity var(--fade, 600ms) ease;
}

/* Wrapper del widget immagine usato come placeholder */
.oa-reveal.oa-reveal--media .oa-placeholder{
  position:relative; z-index:2;
  /* useremo la sua OPACITY per lo spegnimento finale */
  transition: opacity var(--fade, 600ms) ease;
}

/* L'IMG dentro al wrapper fa lo stesso effetto (fade+zoom) delle immagini normali */
.oa-reveal.oa-reveal--media .oa-placeholder img{
  display:block; width:100%; height:auto;
  opacity:0;
  transform: scale(var(--start-scale, 2.0));
  transition:
    opacity   var(--fade, 600ms) ease var(--delay-fade, 0ms),
    transform var(--dur, 900ms) cubic-bezier(.2,.6,.2,1) var(--delay-zoom, 0ms);
  will-change: transform, opacity;
  backface-visibility:hidden;
}

/* Entrata: il placeholder (IMG) si rivela con fade+zoom */
.oa-reveal.oa-reveal--media.is-inview .oa-placeholder img{
  opacity:1; transform:scale(1);
}

/* Uscita a fine reveal: spegniamo il wrapper (tutto il blocco) e il verde */
.oa-reveal.oa-reveal--media.is-done .oa-placeholder{
  opacity:0; pointer-events:none;
}
.oa-reveal.oa-reveal--media.is-done::before{
  opacity:0;
}

/* Riduzione movimento */
@media (prefers-reduced-motion: reduce){
  .oa-reveal.oa-reveal--media .oa-placeholder{ transition:none !important; opacity:1 !important; }
  .oa-reveal.oa-reveal--media .oa-placeholder img{ transition:none !important; transform:none !important; opacity:1 !important; }
  .oa-reveal.oa-reveal--media::before{ transition:none !important; }
}

/* —— Carosello auto-loop —— */
.scrollfoto{
  --sf-h: 450px;      /* altezza uniforme media */
  --sf-gap: 20px;     /* spazio tra elementi */
  --sf-speed: 45s;    /* durata di un ciclo */

  position: relative;
  overflow: hidden;
  padding-inline: var(--sf-gap);
}
.scrollfoto__track{
  display: inline-flex;
  align-items: center;
  gap: var(--sf-gap);
  will-change: transform;
  animation: sf-marquee var(--sf-speed) linear infinite;
}

/* NON allargare i widget Elementor a 100% dentro il nastro */
.scrollfoto .elementor-element{
  flex: 0 0 auto;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  --container-widget-width: auto;
  --container-widget-flex-grow: 0;
}
/* Wrapper video Elementor: nessun aspect box, nessun 100% */
.scrollfoto .elementor-widget-video,
.scrollfoto .elementor-widget-video .elementor-wrapper,
.scrollfoto .e-hosted-video{
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  display: inline-block !important;
  line-height: 0;
}

/* Media tutti uguali in altezza */
.scrollfoto img,
.scrollfoto video{
  display: block;
  height: var(--sf-h) !important;
  width: auto !important;
  max-width: none !important;
  object-fit: cover; /* il video riempie in altezza senza deformarsi */
}

/* Se c'è un video nel nastro, rallenta un filo il movimento */
.scrollfoto.has-video{ --sf-speed: 60s; } /* da 45s → 60s; regola a gusto */

/* GPU + niente tearing su media */
.scrollfoto,
.scrollfoto__track,
.scrollfoto img,
.scrollfoto video{
  transform: translateZ(0);          /* promote layer */
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}

/* usa translate3d (più stabile) */
@keyframes sf-marquee{
  0%   { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-50%,0,0); }
}


/* Responsive */
@media (max-width: 768px){ .scrollfoto{ --sf-h: 350px; --sf-speed: 35s } }
@media (max-width: 480px){ .scrollfoto{ --sf-h: 250px; --sf-speed: 25s } }

/* Riduzione movimento */
@media (prefers-reduced-motion: reduce){
  .scrollfoto__track{ animation: none; transform: translateX(0); }
}/* End custom CSS */