.elementor-65 .elementor-element.elementor-element-dc4beac{--display:grid;--min-height:auto;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--align-items:center;border-style:solid;--border-style:solid;border-width:0px 0px 01px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:01px;--border-left-width:0px;border-color:#00000020;--border-color:#00000020;--padding-top:8px;--padding-bottom:8px;--padding-left:32px;--padding-right:32px;--z-index:10;}.elementor-65 .elementor-element.elementor-element-dc4beac:not(.elementor-motion-effects-element-type-background), .elementor-65 .elementor-element.elementor-element-dc4beac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFEF990;}.elementor-65 .elementor-element.elementor-element-3493c5e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-0945835 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-65 .elementor-element.elementor-element-0945835.elementor-element{--align-self:center;}.elementor-65 .elementor-element.elementor-element-0945835 .elementor-icon-wrapper{text-align:start;}.elementor-65 .elementor-element.elementor-element-0945835.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );}.elementor-65 .elementor-element.elementor-element-0945835.elementor-view-framed .elementor-icon, .elementor-65 .elementor-element.elementor-element-0945835.elementor-view-default .elementor-icon{color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-65 .elementor-element.elementor-element-0945835.elementor-view-framed .elementor-icon, .elementor-65 .elementor-element.elementor-element-0945835.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-accent );}.elementor-65 .elementor-element.elementor-element-0945835 .elementor-icon{font-size:20px;}.elementor-65 .elementor-element.elementor-element-0945835 .elementor-icon svg{height:20px;}.elementor-65 .elementor-element.elementor-element-317b1f0{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-65 .elementor-element.elementor-element-0dd550a img{width:110px;}.elementor-65 .elementor-element.elementor-element-2057d57{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-65 .elementor-element.elementor-element-72677ac .elementor-button{background-color:var( --e-global-color-5db9970 );font-family:var( --e-global-typography-b63e7c8-font-family ), Sans-serif;font-size:var( --e-global-typography-b63e7c8-font-size );font-weight:var( --e-global-typography-b63e7c8-font-weight );line-height:var( --e-global-typography-b63e7c8-line-height );fill:var( --e-global-color-primary );color:var( --e-global-color-primary );transition-duration:0.3s;border-style:none;border-radius:8px 8px 8px 8px;padding:10px 32px 10px 32px;}.elementor-65 .elementor-element.elementor-element-72677ac .elementor-button:hover, .elementor-65 .elementor-element.elementor-element-72677ac .elementor-button:focus{background-color:var( --e-global-color-f0c5c1d );color:var( --e-global-color-text );border-color:#2F2E2C;}.elementor-65 .elementor-element.elementor-element-72677ac > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-65 .elementor-element.elementor-element-72677ac.elementor-element{--align-self:flex-end;}.elementor-65 .elementor-element.elementor-element-72677ac .elementor-button:hover svg, .elementor-65 .elementor-element.elementor-element-72677ac .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1731px){.elementor-65 .elementor-element.elementor-element-dc4beac{--grid-auto-flow:row;}.elementor-65 .elementor-element.elementor-element-72677ac .elementor-button{font-size:var( --e-global-typography-b63e7c8-font-size );line-height:var( --e-global-typography-b63e7c8-line-height );}}@media(max-width:1520px){.elementor-65 .elementor-element.elementor-element-dc4beac{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-65 .elementor-element.elementor-element-dc4beac{--grid-auto-flow:row;}.elementor-65 .elementor-element.elementor-element-72677ac .elementor-button{font-size:var( --e-global-typography-b63e7c8-font-size );line-height:var( --e-global-typography-b63e7c8-line-height );}}@media(max-width:767px){.elementor-65 .elementor-element.elementor-element-dc4beac{--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:center;}.elementor-65 .elementor-element.elementor-element-72677ac .elementor-button{font-size:var( --e-global-typography-b63e7c8-font-size );line-height:var( --e-global-typography-b63e7c8-line-height );}}@media(min-width:4000px){.elementor-65 .elementor-element.elementor-element-dc4beac{--grid-auto-flow:row;}.elementor-65 .elementor-element.elementor-element-72677ac .elementor-button{font-size:var( --e-global-typography-b63e7c8-font-size );line-height:var( --e-global-typography-b63e7c8-line-height );}}/* Start custom CSS for button, class: .elementor-element-72677ac */.elementor-65 .elementor-element.elementor-element-72677ac {
  position: relative;
}

.elementor-65 .elementor-element.elementor-element-72677ac::before,
.elementor-65 .elementor-element.elementor-element-72677ac::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.5px;
  pointer-events: none;
}

.elementor-65 .elementor-element.elementor-element-72677ac::before {
  top: 0;
  background: linear-gradient(
    to right,
    transparent,
    #2F2E2C 20%,
    #2F2E2C 80%,
    transparent
  );
}

.elementor-65 .elementor-element.elementor-element-72677ac::after {
  bottom: 0;
  background: linear-gradient(
    to right,
    transparent,
    #2F2E2C 20%,
    #2F2E2C 80%,
    transparent
  );
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2057d57 *//* 1. Diamo profondità 3D all'involucro interno del pulsante */
.pulsante-animato .elementor-button-content-wrapper {
    perspective: 800px;
}

/* 2. Prepariamo esclusivamente il TESTO del pulsante per il movimento */
.pulsante-animato .elementor-button-text {
    display: inline-block;
    transform-style: preserve-3d;
}

/* 3. L'animazione parte quando il mouse passa in un punto qualsiasi del pulsante */
.pulsante-animato .elementor-button:hover .elementor-button-text {
    /* Richiama l'animazione, durata 0.5s */
    animation: rollUpButtonText 0.5s ease-in-out forwards;
}

/* 4. I fotogrammi dell'animazione a rullo (identica alla precedente) */
@keyframes rollUpButtonText {
    0% { 
        transform: translateY(0) rotateX(0deg); 
        opacity: 1; 
    }
    40% { 
        transform: translateY(-80%) rotateX(90deg); /* Sale e ruota all'indietro */
        opacity: 0; 
    }
    50% { 
        transform: translateY(80%) rotateX(-90deg); /* Riparte dal basso, invisibile */
        opacity: 0; 
    }
    100% { 
        transform: translateY(0) rotateX(0deg); /* Torna perfettamente al centro */
        opacity: 1; 
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc4beac */.elementor-65 .elementor-element.elementor-element-dc4beac {
    backdrop-filter: blur(50px);
}

/* 1. Il contenitore del titolo (fa da base per la prospettiva 3D e la linea) */
.link-menu-animato .elementor-heading-title {
    position: relative;
    display: inline-block;
    perspective: 800px; /* Dà profondità all'effetto 3D */
    padding-bottom: 4px; /* Spazio per evitare che la linea tocchi il testo */
}

/* 2. Il testo vero e proprio (animiamo il link "a") */
.link-menu-animato .elementor-heading-title a {
    display: inline-block;
    transform-style: preserve-3d;
}

/* 3. L'animazione parte quando il mouse passa sul contenitore */
.link-menu-animato .elementor-heading-title:hover a {
    /* Richiama l'animazione "rollUpBottom", dura 0.5s */
    animation: rollUpBottom 0.5s ease-in-out forwards;
}

/* 4. La magia del movimento: sale, scompare, ruota, riappare da sotto */
@keyframes rollUpBottom {
    0% { 
        transform: translateY(0) rotateX(0deg); 
        opacity: 1; 
    }
    40% { 
        transform: translateY(-80%) rotateX(90deg); /* Scivola in alto e ruota all'indietro */
        opacity: 0; 
    }
    50% { 
        transform: translateY(80%) rotateX(-90deg); /* Scatta in basso, invisibile */
        opacity: 0; 
    }
    100% { 
        transform: translateY(0) rotateX(0deg); /* Ritorna al centro */
        opacity: 1; 
    }
}

/* 5. La sottolineatura (rimane ferma al suo posto) */
.link-menu-animato .elementor-heading-title::after {
    content: '';
    position: absolute;
    bottom: 0; 
    left: 0;
    width: 0; 
    height: 1px; /* Spessore linea */
    background-color: #1d2120; /* IL TUO COLORE */
    transition: width 0.3s ease-in-out;
}

/* 6. La linea si allunga quando il testo atterra */
.link-menu-animato .elementor-heading-title:hover::after {
    width: 100%;
    /* Il 0.3s finale è il ritardo: aspetta che il testo sia sceso per apparire */
    transition: width 0.3s ease-in-out 0.3s; 
}/* End custom CSS */