.elementor-kit-2894{--e-global-color-primary:#0E130B;--e-global-color-secondary:#0E130B;--e-global-color-text:#0E130B;--e-global-color-accent:#0E130B00;--e-global-color-4aed507:#8A7D4D;--e-global-color-b7d4511:#CEC6BC;--e-global-color-0ae8a1e:#C0AC9F;--e-global-color-a2f5fb8:#FFFFFF;--e-global-color-6509f75:#FFFFFF00;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-size:5.2vw;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-text-transform:capitalize;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-3px;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0px;--e-global-typography-text-font-family:"Urbanist";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.2em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0px;--e-global-typography-accent-font-family:"Fraunces";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:300;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0px;--e-global-typography-360d14c-font-family:"Fraunces";--e-global-typography-360d14c-font-size:8.8vw;--e-global-typography-360d14c-font-weight:300;--e-global-typography-360d14c-text-transform:uppercase;--e-global-typography-360d14c-font-style:normal;--e-global-typography-360d14c-text-decoration:none;--e-global-typography-360d14c-line-height:1em;--e-global-typography-360d14c-letter-spacing:-5px;--e-global-typography-360d14c-word-spacing:0px;--e-global-typography-e04c2cc-font-family:"Fraunces";--e-global-typography-e04c2cc-font-size:16px;--e-global-typography-e04c2cc-font-weight:300;--e-global-typography-e04c2cc-text-transform:uppercase;--e-global-typography-e04c2cc-font-style:normal;--e-global-typography-e04c2cc-text-decoration:none;--e-global-typography-e04c2cc-line-height:1em;--e-global-typography-e04c2cc-letter-spacing:0px;--e-global-typography-e04c2cc-word-spacing:0px;--e-global-typography-d36e65f-font-family:"Urbanist";--e-global-typography-d36e65f-font-size:16px;--e-global-typography-d36e65f-font-weight:400;--e-global-typography-d36e65f-text-transform:capitalize;--e-global-typography-d36e65f-font-style:normal;--e-global-typography-d36e65f-text-decoration:underline;--e-global-typography-d36e65f-line-height:1.2em;--e-global-typography-d36e65f-letter-spacing:0px;--e-global-typography-d36e65f-word-spacing:0px;--e-global-typography-f3e73d3-font-family:"Urbanist";--e-global-typography-f3e73d3-font-size:14px;--e-global-typography-f3e73d3-font-weight:400;--e-global-typography-f3e73d3-text-transform:none;--e-global-typography-f3e73d3-font-style:normal;--e-global-typography-f3e73d3-text-decoration:none;--e-global-typography-f3e73d3-line-height:1em;--e-global-typography-f3e73d3-letter-spacing:0px;--e-global-typography-f3e73d3-word-spacing:0px;background-color:#F4EDDB;}.elementor-kit-2894 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1830px;}.e-con{--container-max-width:1830px;--container-default-padding-top:3px;--container-default-padding-right:3px;--container-default-padding-bottom:3px;--container-default-padding-left:3px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-2894{--e-global-typography-primary-font-size:43px;--e-global-typography-secondary-font-size:22px;--e-global-typography-e04c2cc-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-2894{--e-global-typography-primary-font-size:34px;--e-global-typography-secondary-font-size:22px;--e-global-typography-360d14c-font-size:57px;--e-global-typography-e04c2cc-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* LENIS CSS */
html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}





/* CSS SEMPLICE PER ASTERISCO ROTANTE - ELEMENTOR */

/* Rotazione base - applica alla classe del tuo widget icona */
.ast-icon-rot .elementor-icon {
    animation: rotate-smooth 3s linear infinite;
    transform-origin: center;
}

/* Keyframe per rotazione fluida */
@keyframes rotate-smooth {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Opzionale: rallenta al hover */
.ast-icon-rot:hover .elementor-icon {
    animation-duration: 6s;
}

/* Rispetta preferenze accessibilità */
@media (prefers-reduced-motion: reduce) {
    .ast-icon-rot .elementor-icon {
        animation: none;
    }
}

/* VARIANTI OPZIONALI */

/* Rotazione lenta */
.ast-icon-slow .elementor-icon {
    animation: rotate-smooth 5s linear infinite;
}

/* Rotazione veloce */
.ast-icon-fast .elementor-icon {
    animation: rotate-smooth 1.5s linear infinite;
}

/* Rotazione al contrario */
.ast-icon-reverse .elementor-icon {
    animation: rotate-smooth 3s linear infinite reverse;
}

/* ROTAZIONE CHE INVERTE OGNI SECONDO */
.ast-icon-flip .elementor-icon {
    animation: rotate-flip 2s linear infinite;
}

@keyframes rotate-flip {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(90deg); }
    50% { transform: rotate(180deg); }
    75% { transform: rotate(90deg); }
    100% { transform: rotate(0deg); }
}

/* Versione più fluida - inverte ogni 1.5 secondi */
.ast-icon-flip-smooth .elementor-icon {
    animation: rotate-flip-smooth 3s ease-in-out infinite;
}

@keyframes rotate-flip-smooth {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(180deg); }
    100% { transform: rotate(0deg); }
}

/* ISTRUZIONI D'USO:
1. Copia questo CSS in Elementor > Personalizza > CSS Aggiuntivo
2. Aggiungi un widget Icona
3. Nella sezione Avanzate > CSS ID/Classi, aggiungi una di queste:
   - ast-icon-rot (rotazione standard)
   - ast-icon-slow (rotazione lenta)
   - ast-icon-fast (rotazione veloce)
   - ast-icon-reverse (rotazione al contrario)
   - ast-icon-flip (inverte ogni secondo - movimento a scatti)
   - ast-icon-flip-smooth (inverte ogni 1.5 sec - movimento fluido)
*/

/* ==========================================================
   LH — Rolling Text (refactor pulito)
   Classi:
   - .rolling-text-wrapper (base)
   - .left  | .right (direzione)
   - .fast  | .slow (velocità opzionale)
   - .pause-edges (opzionale: pausa ai bordi)
========================================================== */

/* Wrapper */
.rolling-text-wrapper{
  overflow: hidden;
  position: relative;
  white-space: nowrap;
  padding: 0.3em 0;
  mask: linear-gradient(90deg,
    transparent 0%,
    rgba(0,0,0,0.3) 3%,
    rgba(0,0,0,0.8) 8%,
    rgba(0,0,0,1) 12%,
    rgba(0,0,0,1) 88%,
    rgba(0,0,0,0.8) 92%,
    rgba(0,0,0,0.3) 97%,
    transparent 100%
  );
  -webkit-mask: linear-gradient(90deg,
    transparent 0%,
    rgba(0,0,0,0.3) 3%,
    rgba(0,0,0,0.8) 8%,
    rgba(0,0,0,1) 12%,
    rgba(0,0,0,1) 88%,
    rgba(0,0,0,0.8) 92%,
    rgba(0,0,0,0.3) 97%,
    transparent 100%
  );
}

/* Titolo (base comune) */
.rolling-text-wrapper .elementor-heading-title{
  display: inline-block;
  white-space: nowrap;
  will-change: transform;
  backface-visibility: hidden;
  perspective: 1000px;

  /* ✅ velocità gestita SOLO qui */
  animation-duration: 40s;          /* desktop default */
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Direzione */
.rolling-text-wrapper.left  .elementor-heading-title{
  padding-left: 100%;
  animation-name: scroll-left-smooth;
}
.rolling-text-wrapper.right .elementor-heading-title{
  padding-right: 100%;
  animation-name: scroll-right-smooth;
}

/* Velocità via classi (desktop/tablet) */
.rolling-text-wrapper.fast .elementor-heading-title{ animation-duration: 25s; }
.rolling-text-wrapper.slow .elementor-heading-title{ animation-duration: 90s; } /* <-- cambia qui e basta */

/* Mobile: override unico (non impazzisci) */
@media (max-width: 768px){
  .rolling-text-wrapper .elementor-heading-title{ animation-duration: 50s; }
  .rolling-text-wrapper.fast .elementor-heading-title{ animation-duration: 40s; }
  .rolling-text-wrapper.slow .elementor-heading-title{ animation-duration: 120s; }
}

/* Keyframes */
@keyframes scroll-left-smooth{
  0%   { transform: translateX(0%) translateZ(0); }
  100% { transform: translateX(-100%) translateZ(0); }
}
@keyframes scroll-right-smooth{
  0%   { transform: translateX(-100%) translateZ(0); }
  100% { transform: translateX(0%) translateZ(0); }
}

/* Variante pausa ai bordi (stesse classi left/right) */
.rolling-text-wrapper.pause-edges.left  .elementor-heading-title{ animation-name: scroll-left-pause; }
.rolling-text-wrapper.pause-edges.right .elementor-heading-title{ animation-name: scroll-right-pause; }

@keyframes scroll-left-pause{
  0%,10%   { transform: translateX(0%) translateZ(0); }
  90%,100% { transform: translateX(-100%) translateZ(0); }
}
@keyframes scroll-right-pause{
  0%,10%   { transform: translateX(-100%) translateZ(0); }
  90%,100% { transform: translateX(0%) translateZ(0); }
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce){
  .rolling-text-wrapper .elementor-heading-title{
    animation: none !important;
    transform: translateX(0) !important;
    padding: 0 !important;
  }
}/* End custom CSS */