.elementor-kit-6{--e-global-color-primary:#0F0F0E;--e-global-color-secondary:#1D1D1B;--e-global-color-text:#3E3E3B;--e-global-color-accent:#E3E3E3;--e-global-color-3a36767:#F6F5F1;--e-global-color-7104f17:#8E8E8D;--e-global-color-8acf4aa:#E6007E;--e-global-color-265fb44:#39BFF0;--e-global-color-15603a1:#00FEDC;--e-global-color-d7d4224:#FFE300;--e-global-color-cad621c:#DC00FE;--e-global-color-5654314:#52FE02;--e-global-color-741e028:#EF1823;--e-global-typography-primary-font-family:"utile";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"ivypresto-headline";--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"avenir-next-lt-pro";--e-global-typography-text-font-weight:500;--e-global-typography-accent-font-family:"utile";--e-global-typography-accent-font-weight:600;background-color:var( --e-global-color-3a36767 );color:var( --e-global-color-text );font-family:"avenir-next-lt-pro", Sans-serif;font-size:18px;font-weight:500;line-height:160%;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-3a36767 );font-family:"avenir-next-lt-pro", Sans-serif;font-size:16px;font-weight:500;line-height:120%;color:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:100px 100px 100px 100px;padding:14px 24px 14px 24px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:0px;}.elementor-kit-6 h1{color:var( --e-global-color-secondary );font-family:"utile", Sans-serif;font-size:90px;font-weight:500;line-height:120%;}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-family:"utile", Sans-serif;font-size:64px;font-weight:500;line-height:120%;}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-family:"utile", Sans-serif;font-size:32px;font-weight:500;line-height:120%;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}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-6 h1{font-size:64px;}.elementor-kit-6 h2{font-size:44px;}.elementor-kit-6 h3{font-size:22px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{padding:12px 22px 12px 22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */html, body {
  overflow-x: hidden !important;
}

/* Nasconde la voce solo sul menu desktop */
@media (min-width: 768px) {
    .menu-contatti {
        display: none !important;
    }
}

/* === CSS TESTO IVY PRESTO === */

.ivypresto-text {
  font-family: "IvyPresto Headline", serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
}

/* === CSS HEADER === */

:root {
    --cf-light: #F6F5F1;
    --cf-dark: #1D1D1B;
    --cf-black: #0F0F0E;
    --cf-magenta: #E6007E;
}


/* ==================================================
   HEADER — CONFIGURAZIONE GENERALE

   is-light:
   - elementi chiari
   - logo chiaro

   is-dark:
   - elementi scuri
   - logo scuro

   is-past-hero:
   - attiva lo sfondo pieno dell'header
   ================================================== */

.cf-header:not(.elementor-sticky__spacer) {
    --cf-header-color: var(--cf-dark);
    --cf-header-background: transparent;

    z-index: 9999;

    color: var(--cf-header-color);
    background-color: var(--cf-header-background) !important;

    transition:
        background-color 0.35s ease,
        color 0.35s ease;
}


/* ==================================================
   TEMA CROMATICO

   cf-header-light sulla sezione:
   header con elementi chiari

   cf-header-dark sulla sezione:
   header con elementi scuri
   ================================================== */

/* Elementi chiari sopra sfondi scuri */

.cf-header.is-light:not(.elementor-sticky__spacer) {
    --cf-header-color: var(--cf-light);
}


/* Elementi scuri sopra sfondi chiari */

.cf-header.is-dark:not(.elementor-sticky__spacer) {
    --cf-header-color: var(--cf-dark);
}


/* ==================================================
   SFONDO DOPO LA HERO

   Dopo la hero, lo sfondo dell'header segue
   il tema della sezione sottostante.
   ================================================== */

/* Sezione chiara:
   header #F6F5F1 + elementi #1D1D1B */

.cf-header.is-past-hero.is-dark:not(.elementor-sticky__spacer) {
    --cf-header-color: var(--cf-dark);
    --cf-header-background: var(--cf-light);
}


/* Sezione scura:
   header #0F0F0E + elementi #F6F5F1 */

.cf-header.is-past-hero.is-light:not(.elementor-sticky__spacer) {
    --cf-header-color: var(--cf-light);
    --cf-header-background: var(--cf-black);
}


/* ==================================================
   MENU DESKTOP
   ================================================== */

.cf-header .elementor-nav-menu--main .elementor-item,
.cf-header .elementor-nav-menu--main .elementor-item:hover,
.cf-header .elementor-nav-menu--main .elementor-item:focus,
.cf-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
    color: var(--cf-header-color) !important;
    text-decoration-color: var(--cf-header-color) !important;

    transition:
        color 0.35s ease,
        text-decoration-color 0.35s ease;
}


/* Linea hover, focus e pagina attiva generata da Elementor */

.cf-header .elementor-nav-menu--main .elementor-item::before,
.cf-header .elementor-nav-menu--main .elementor-item::after {
    background-color: var(--cf-header-color) !important;
    border-color: var(--cf-header-color) !important;

    transition:
        background-color 0.35s ease,
        border-color 0.35s ease,
        opacity 0.3s ease,
        transform 0.3s ease;
}


/* ==================================================
   MENU MOBILE / BURGER
   ================================================== */

.cf-header .elementor-menu-toggle {
    color: var(--cf-header-color) !important;

    transition:
        color 0.35s ease;
}

.cf-header .elementor-menu-toggle svg {
    fill: currentColor !important;
}


/* ==================================================
   PULSANTE CONTATTACI

   Cambiano solamente testo e bordo.
   Lo sfondo rimane trasparente.
   ================================================== */

.cf-header .elementor-button,
.cf-header .elementor-button:hover,
.cf-header .elementor-button:focus {
    color: var(--cf-header-color) !important;
    border-color: var(--cf-header-color) !important;
    background-color: transparent !important;

    transition:
        color 0.35s ease,
        border-color 0.35s ease;
}


/* ==================================================
   EVENTUALE SELETTORE LINGUA

   Assegna al widget la classe:
   cf-header-lang
   ================================================== */

.cf-header .cf-header-lang,
.cf-header .cf-header-lang a {
    color: var(--cf-header-color) !important;

    transition:
        color 0.35s ease;
}


/* ==================================================
   DOPPIO LOGO SOVRAPPOSTO
   ================================================== */

.cf-logo-stack {
    display: grid;
    align-items: center;
}

.cf-logo-stack > .cf-logo-dark,
.cf-logo-stack > .cf-logo-light {
    grid-column: 1;
    grid-row: 1;

    opacity: 0;
    pointer-events: none;

    transition:
        opacity 0.25s ease;
}


/* Stato predefinito:
   mostra il logo scuro */

.cf-header .cf-logo-dark {
    opacity: 1;
    pointer-events: auto;
}

.cf-header .cf-logo-light {
    opacity: 0;
    pointer-events: none;
}


/* Header con elementi scuri:
   mostra logo scuro */

.cf-header.is-dark .cf-logo-dark {
    opacity: 1;
    pointer-events: auto;
}

.cf-header.is-dark .cf-logo-light {
    opacity: 0;
    pointer-events: none;
}


/* Header con elementi chiari:
   mostra logo chiaro */

.cf-header.is-light .cf-logo-dark {
    opacity: 0;
    pointer-events: none;
}

.cf-header.is-light .cf-logo-light {
    opacity: 1;
    pointer-events: auto;
}


/* ==================================================
   MENU MOBILE
   ================================================== */

@media (max-width: 1024px) {

    /* ==============================================
       DIMENSIONI E ALLINEAMENTO VOCI
       ============================================== */

    .cf-header .elementor-nav-menu--dropdown .elementor-nav-menu,
    .cf-header .elementor-nav-menu--dropdown .menu-item {
        width: 100%;
    }

    .cf-header .elementor-nav-menu--dropdown .elementor-item {
        display: flex;
        justify-content: flex-end;

        width: 100%;

        padding-right: 20px !important;
        padding-left: 20px !important;

        text-align: right !important;
    }


    /* ==============================================
       ANIMAZIONE APERTURA / CHIUSURA
       ============================================== */

    .cf-header
    .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        overflow: hidden !important;
        transform-origin: top center;

        transition:
            max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
            transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
            opacity 0.3s ease,
            background-color 0.35s ease !important;
    }


    /* Menu chiuso */

    .cf-header
    .elementor-menu-toggle:not(.elementor-active)
    + .elementor-nav-menu__container {
        max-height: 0 !important;

        opacity: 0;
        transform: translateY(-16px);

        pointer-events: none;
    }


    /* Menu aperto */

    .cf-header
    .elementor-menu-toggle.elementor-active
    + .elementor-nav-menu__container {
        max-height: var(--menu-height, 100vh) !important;

        opacity: 1;
        transform: translateY(0);

        pointer-events: auto;
    }


    /* ==============================================
       COLORI VOCI MENU MOBILE
       ============================================== */

    .cf-header .elementor-nav-menu--dropdown .elementor-item,
    .cf-header .elementor-nav-menu--dropdown .elementor-item:hover,
    .cf-header .elementor-nav-menu--dropdown .elementor-item:focus,
    .cf-header
    .elementor-nav-menu--dropdown
    .elementor-item.elementor-item-active {
        color: var(--cf-header-color) !important;
        text-decoration-color: var(--cf-header-color) !important;

        transition:
            color 0.35s ease,
            text-decoration-color 0.35s ease;
    }


    /* Sottolineatura */

    .cf-header
    .elementor-nav-menu--dropdown
    .elementor-item::before,
    .cf-header
    .elementor-nav-menu--dropdown
    .elementor-item::after {
        background-color: var(--cf-header-color) !important;
        border-color: var(--cf-header-color) !important;

        transition:
            background-color 0.35s ease,
            border-color 0.35s ease;
    }


    /* Hamburger e X */

    .cf-header .elementor-menu-toggle {
        color: var(--cf-header-color) !important;
    }

    .cf-header .elementor-menu-toggle svg {
        fill: currentColor !important;
    }


    /* ==============================================
       STATO CON ELEMENTI CHIARI
       ============================================== */

    .cf-header.is-light
    .elementor-nav-menu--dropdown
    .elementor-item,
    .cf-header.is-light
    .elementor-menu-toggle {
        color: var(--cf-light) !important;
    }

    .cf-header.is-light
    .elementor-nav-menu--dropdown
    .elementor-item::before,
    .cf-header.is-light
    .elementor-nav-menu--dropdown
    .elementor-item::after {
        background-color: var(--cf-light) !important;
        border-color: var(--cf-light) !important;
    }


    /* ==============================================
       STATO CON ELEMENTI SCURI
       ============================================== */

    .cf-header.is-dark
    .elementor-nav-menu--dropdown
    .elementor-item,
    .cf-header.is-dark
    .elementor-menu-toggle {
        color: var(--cf-dark) !important;
    }

    .cf-header.is-dark
    .elementor-nav-menu--dropdown
    .elementor-item::before,
    .cf-header.is-dark
    .elementor-nav-menu--dropdown
    .elementor-item::after {
        background-color: var(--cf-dark) !important;
        border-color: var(--cf-dark) !important;
    }


    /* ==============================================
       SFONDO DROPDOWN PRIMA DELLA FINE DELLA HERO
       ============================================== */

    .cf-header:not(.is-past-hero)
    .elementor-nav-menu--dropdown,
    .cf-header:not(.is-past-hero)
    .elementor-nav-menu--dropdown
    ul,
    .cf-header:not(.is-past-hero)
    .elementor-nav-menu--dropdown
    li {
        background-color: transparent !important;
    }


    /* ==============================================
       SFONDO DROPDOWN DOPO LA HERO —
       SEZIONE CHIARA
       ============================================== */

    .cf-header.is-past-hero.is-dark
    .elementor-nav-menu--dropdown,
    .cf-header.is-past-hero.is-dark
    .elementor-nav-menu--dropdown
    ul,
    .cf-header.is-past-hero.is-dark
    .elementor-nav-menu--dropdown
    li {
        background-color: var(--cf-light) !important;
    }


    /* ==============================================
       SFONDO DROPDOWN DOPO LA HERO —
       SEZIONE SCURA
       ============================================== */

    .cf-header.is-past-hero.is-light
    .elementor-nav-menu--dropdown,
    .cf-header.is-past-hero.is-light
    .elementor-nav-menu--dropdown
    ul,
    .cf-header.is-past-hero.is-light
    .elementor-nav-menu--dropdown
    li {
        background-color: var(--cf-black) !important;
    }
}

/* ==================================================
   HEADER — RIDUZIONE E SCOMPARSA ALLO SCROLL

   Classi applicate dal JavaScript:

   .is-compact
   - riduce il padding di .e-con-inner
   - riduce visivamente il logo

   .is-hidden
   - nasconde l'header durante lo scroll verso il basso
   ================================================== */


/* ==================================================
   CONTENITORE HEADER
   ================================================== */

.cf-header:not(.elementor-sticky__spacer) {
    /*
     * Valore di fallback.
     * Il JavaScript lo aggiorna usando l'altezza
     * effettiva dell'header.
     */
    --cf-header-hidden-translate: -180px;

    transform: translate3d(0, 0, 0);
    will-change: transform;

    transition:
        background-color 0.35s ease,
        color 0.35s ease,
        transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}


/* ==================================================
   PADDING INTERNO

   Il padding normale resta quello configurato
   in Elementor:

   Desktop:       36px sopra e sotto
   Tablet/mobile: 24px sopra e sotto
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
> .e-con-inner {
    transition:
        padding-top 0.32s cubic-bezier(0.4, 0, 0.2, 1),
        padding-bottom 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}


/* ==================================================
   LOGO

   Vengono scalati i due widget sovrapposti,
   senza sovrascrivere le dimensioni impostate
   in Elementor.
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-logo-stack
> .cf-logo-dark,

.cf-header:not(.elementor-sticky__spacer)
.cf-logo-stack
> .cf-logo-light {
    transform: scale(1);
    transform-origin: left center;

    transition:
        opacity 0.25s ease,
        transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}


/* ==================================================
   HEADER COMPATTO — DESKTOP

   Padding:
   36px → 24px

   Riduzione:
   circa 33%
   ================================================== */

.cf-header.is-compact:not(.elementor-sticky__spacer)
> .e-con-inner {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}


/* Logo ridotto del 20% */

.cf-header.is-compact:not(.elementor-sticky__spacer)
.cf-logo-stack
> .cf-logo-dark,

.cf-header.is-compact:not(.elementor-sticky__spacer)
.cf-logo-stack
> .cf-logo-light {
    transform: scale(0.8);
}


/* ==================================================
   HEADER NASCOSTO
   ================================================== */

.cf-header.is-hidden:not(.elementor-sticky__spacer) {
    transform: translate3d(
        0,
        var(--cf-header-hidden-translate),
        0
    );

    pointer-events: none;
}


/* ==================================================
   TABLET E MOBILE

   Padding:
   24px → 16px

   Riduzione:
   circa 33%
   ================================================== */

@media (max-width: 1024px) {

    .cf-header.is-compact:not(.elementor-sticky__spacer)
    > .e-con-inner {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

}


/* ==================================================
   MENU MOBILE APERTO

   Il JavaScript dovrebbe già rimuovere is-hidden,
   ma questa regola funziona come sicurezza aggiuntiva.
   ================================================== */

@media (max-width: 1024px) {

    .cf-header.is-hidden:not(.elementor-sticky__spacer):has(
        .elementor-menu-toggle.elementor-active
    ) {
        transform: translate3d(0, 0, 0);
        pointer-events: auto;
    }

}


/* ==================================================
   ACCESSIBILITÀ
   ================================================== */

@media (prefers-reduced-motion: reduce) {

    .cf-header:not(.elementor-sticky__spacer),

    .cf-header:not(.elementor-sticky__spacer)
    > .e-con-inner,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-logo-stack
    > .cf-logo-dark,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-logo-stack
    > .cf-logo-light {
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }

}

/* ==================================================
   CREATIVE-FARM — MEGA MENU DESKTOP / TABLET
   ==================================================

   - colore dinamico in base all'header
   - freccia dinamica
   - sottolineatura hover / focus / active
   - Servizi sottolineato quando dropdown aperto
   - background dropdown coerente con l'header
   - chiusura visiva quando header scompare

   Il menu mobile esistente NON viene modificato.
   ================================================== */


/* ==================================================
   VOCI PRINCIPALI
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-heading
> .e-n-menu-item
> .e-n-menu-title {
    color: var(--cf-header-color) !important;

    transition:
        color 0.35s ease;
}


.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-heading
> .e-n-menu-item
> .e-n-menu-title
.e-n-menu-title-container {
    color: var(--cf-header-color) !important;

    transition:
        color 0.35s ease;
}


.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-heading
> .e-n-menu-item
> .e-n-menu-title
.e-n-menu-title-text {
    position: relative;

    display: inline-block;

    color: var(--cf-header-color) !important;

    transition:
        color 0.35s ease;
}


/* ==================================================
   SOTTOLINEATURA
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-title-text::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -4px;

    width: 100%;
    height: 1px;

    background-color: currentColor;

    transform: scaleX(0);
    transform-origin: left center;

    opacity: 0;

    transition:
        transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.2s ease;
}


/* ==================================================
   HOVER
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-title:hover
.e-n-menu-title-text::after {
    transform: scaleX(1);
    opacity: 1;
}


/* ==================================================
   FOCUS DA TASTIERA
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-title:focus-within
.e-n-menu-title-text::after {
    transform: scaleX(1);
    opacity: 1;
}


/* ==================================================
   SERVIZI — DROPDOWN APERTO
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-title:has(
    .e-n-menu-dropdown-icon[aria-expanded="true"]
)
.e-n-menu-title-text::after {
    transform: scaleX(1);
    opacity: 1;
}


/* ==================================================
   PAGINA ATTIVA
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-title:has(
    .e-n-menu-title-container[aria-current="page"]
)
.e-n-menu-title-text::after,

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-title.e-current
.e-n-menu-title-text::after,

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-title.e-active
.e-n-menu-title-text::after {
    transform: scaleX(1);
    opacity: 1;
}


/* ==================================================
   FRECCIA DROPDOWN
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-dropdown-icon {
    color: var(--cf-header-color) !important;

    transition:
        color 0.35s ease;
}


.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-dropdown-icon svg {
    fill: currentColor !important;
    color: inherit !important;
}


.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-dropdown-icon svg path {
    fill: currentColor !important;
}


/* ==================================================
   CONTENITORE MEGA MENU
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-content
> .e-con {
    background-color: var(--cf-header-background) !important;

    transition:
        background-color 0.35s ease,
        opacity 0.25s ease,
        visibility 0.25s ease;
}


/* ==================================================
   HEADER NASCOSTO
   ================================================== */

.cf-header.is-hidden:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-content {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: translateY(-12px) !important;
}


/* ==================================================
   TRANSIZIONE CONTENUTO
   ================================================== */

.cf-header:not(.elementor-sticky__spacer)
.cf-mega-menu-desktop
.e-n-menu-content {
    transform: translateY(0);

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease,
        transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}


/* ==================================================
   ACCESSIBILITÀ
   ================================================== */

@media (prefers-reduced-motion: reduce) {

    .cf-header:not(.elementor-sticky__spacer)
    .cf-mega-menu-desktop
    .e-n-menu-title,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-mega-menu-desktop
    .e-n-menu-title-container,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-mega-menu-desktop
    .e-n-menu-title-text,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-mega-menu-desktop
    .e-n-menu-title-text::after,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-mega-menu-desktop
    .e-n-menu-dropdown-icon,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-mega-menu-desktop
    .e-n-menu-content,

    .cf-header:not(.elementor-sticky__spacer)
    .cf-mega-menu-desktop
    .e-n-menu-content
    > .e-con {
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }

}

/* ==================================================
   CREATIVE-FARM — SUBMENU SERVIZI MOBILE
   ==================================================

   Gestisce SOLO:
   - colore dinamico
   - allineamento a destra
   - colore freccia Servizi

   Dimensioni e spaziature restano gestite
   direttamente dal widget Elementor.
   ================================================== */

@media (max-width: 767px) {

    /* ==================================================
       SUBMENU SERVIZI — ALLINEAMENTO
       ================================================== */

    .cf-header
    .elementor-nav-menu--dropdown
    .sub-menu {
        width: 100% !important;
        text-align: right !important;
    }

    .cf-header
    .elementor-nav-menu--dropdown
    .sub-menu
    > .menu-item {
        width: 100% !important;
        text-align: right !important;
    }

    .cf-header
    .elementor-nav-menu--dropdown
    .sub-menu
    .elementor-sub-item {
        display: flex !important;
        justify-content: flex-end !important;

        width: 100% !important;

        text-align: right !important;

        color: var(--cf-header-color) !important;
        text-decoration-color: var(--cf-header-color) !important;

        transition:
            color 0.35s ease,
            text-decoration-color 0.35s ease;
    }


    /* ==================================================
       SUBMENU SERVIZI — HEADER CHIARO
       ================================================== */

    .cf-header.is-light
    .elementor-nav-menu--dropdown
    .sub-menu
    .elementor-sub-item,
    
    .cf-header.is-light
    .elementor-nav-menu--dropdown
    .sub-menu
    .elementor-sub-item:hover,
    
    .cf-header.is-light
    .elementor-nav-menu--dropdown
    .sub-menu
    .elementor-sub-item:focus {
        color: var(--cf-light) !important;
        text-decoration-color: var(--cf-light) !important;
    }


    /* ==================================================
       SUBMENU SERVIZI — HEADER SCURO
       ================================================== */

    .cf-header.is-dark
    .elementor-nav-menu--dropdown
    .sub-menu
    .elementor-sub-item,
    
    .cf-header.is-dark
    .elementor-nav-menu--dropdown
    .sub-menu
    .elementor-sub-item:hover,
    
    .cf-header.is-dark
    .elementor-nav-menu--dropdown
    .sub-menu
    .elementor-sub-item:focus {
        color: var(--cf-dark) !important;
        text-decoration-color: var(--cf-dark) !important;
    }


    /* ==================================================
       FRECCIA SERVIZI
       ================================================== */

    .cf-header
    .elementor-nav-menu--dropdown
    .elementor-item.has-submenu
    .sub-arrow {
        color: var(--cf-header-color) !important;
    }

    .cf-header
    .elementor-nav-menu--dropdown
    .elementor-item.has-submenu
    .sub-arrow svg,
    
    .cf-header
    .elementor-nav-menu--dropdown
    .elementor-item.has-submenu
    .sub-arrow svg path {
        fill: currentColor !important;
    }


    /* Header chiaro */

    .cf-header.is-light
    .elementor-nav-menu--dropdown
    .elementor-item.has-submenu
    .sub-arrow {
        color: var(--cf-light) !important;
    }


    /* Header scuro */

    .cf-header.is-dark
    .elementor-nav-menu--dropdown
    .elementor-item.has-submenu
    .sub-arrow {
        color: var(--cf-dark) !important;
    }

}

/* Movimento icona pulsanti */
.elementor-button-icon svg {
  transition: transform 0.3s ease;
  transform-origin: center;
}
.elementor-button:hover .elementor-button-icon svg {
  transform: rotate(45deg);
}/* End custom CSS */