.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-e1255e0:#ECF8FF;--e-global-color-521c6d0:#002DFF;--e-global-color-8bba7ad:#FFFFFF;--e-global-color-f067b55:#000000;--e-global-color-89d8b90:#242E45;--e-global-color-8605ba7:#C7F0FF;--e-global-color-afd025b:#5EC2FF;--e-global-color-d60aaf0:#F7FF00;--e-global-color-f2c5ae9:#FFA026;--e-global-color-2ca94c4:#D600FF;--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;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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);}@media(max-width:1024px){.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 *//* ===== MEGA MENU SERVIZI — BOX 1024, BRIDGE + mm-open + SEZIONE STRUMENTI ===== */
@media (min-width:1025px){
  :root{
    /* layout */
    --content-max:1024px;
    --panel-max:1240px;
    --pad:48px;
    --row-gap:14px;
    --col-gap:48px;
    --divider:#e6e9ee;
    --radius:35px;
    --offsetY:22px;
    --nudgeX:90px;
    --hide-delay:.6s;

    /* colori */
    --accent:#002dff;
    --title:#0f172a;
    --sub:#475569;

    /* tipografia servizi */
    --svc-title-size:18px; --svc-title-weight:700; --svc-title-line:1.25; --svc-title-tracking:.2px; --svc-title-color:var(--title);
    --svc-desc-size:14px;  --svc-desc-weight:400; --svc-desc-line:1.4;  --svc-desc-tracking:0px;   --svc-desc-color:var(--sub); --svc-desc-lines:2;

    /* tipografia strumenti */
    --tool-title-size:18px; --tool-title-weight:700; --tool-title-line:1.25; --tool-title-tracking:.2px; --tool-title-color:var(--title);
    --tool-desc-size:14px;  --tool-desc-weight:400; --tool-desc-line:1.4;  --tool-desc-tracking:0px;   --tool-desc-color:var(--sub); --tool-desc-lines:2;

    /* intestazione sezione */
    --tools-label:"Strumenti";
    --tools-gap-top:24px;
    --tools-head-size:13px; 
    --tools-head-weight:700; 
    --tools-head-line:1; 
    --tools-head-tracking:.6px;
    --tools-head-color:#64748b; 
    /*--tools-head-case:uppercase; */
  }

  .mega-servizi{ position:static; }
  .mega-servizi .menu-item.servizi-mega{ position:relative; }

  /* bridge anti-buco */
  .mega-servizi .menu-item.servizi-mega::after{
    content:""; position:absolute; top:100%; left:50vw;
    transform:translateX(calc(-50% + var(--nudgeX)));
    width:min(var(--content-max), var(--panel-max), calc(100vw - 64px));
    height:calc(var(--offsetY) + 2px); pointer-events:auto; background:transparent; z-index:9998;
  }

  /* pannello */
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu{
    position:absolute; top:100%; left:50vw;
    transform:translate(calc(-50% + var(--nudgeX)), var(--offsetY));
    width:min(var(--content-max), var(--panel-max), calc(100vw - 64px));
    padding:var(--pad); background:#fff; border:1px solid #eef1f5; border-radius:var(--radius);
    box-shadow:0 28px 60px rgba(2,6,23,.10); z-index:9999; overflow:hidden; box-sizing:border-box;

    display:grid !important; grid-template-columns:repeat(2, minmax(0,1fr));
    column-gap:var(--col-gap); row-gap:var(--row-gap);

    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .18s ease, visibility 0s linear .18s;
  }

  /* apertura */
  .mega-servizi .menu-item.servizi-mega:hover > ul.sub-menu,
  .mega-servizi .menu-item.servizi-mega.mm-open > ul.sub-menu,
  .mega-servizi .menu-item.servizi-mega:focus-within > ul.sub-menu{
    opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s,0s;
  }

  /* elementi base */
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li{
    list-style:none; margin:0 !important; padding:0 !important; min-width:0;
    order:1; /* default: servizi */
  }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li > a{
    position:relative; display:block; padding:10px 0 28px 0;
    color:var(--title) !important; text-decoration:none !important;
    line-height:1.2; overflow-wrap:anywhere; border-bottom:1px solid var(--divider);
  }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li > a::before{
    content:""; position:absolute; right:0; top:35%;
    width:10px; height:10px; transform:translateY(-50%) rotate(45deg);
    border-top:3px solid var(--accent); border-right:3px solid var(--accent);
    transition:right .15s ease, transform .15s ease;
  }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li > a:hover::before{ right:4px; transform:translateY(-50%) rotate(45deg) scale(1.05); }

  /* servizi: titolo+descrizione */
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li:not(.is-tool):not(.tools-title) > a{
    font-size:var(--svc-title-size); font-weight:var(--svc-title-weight); line-height:var(--svc-title-line);
    letter-spacing:var(--svc-title-tracking); color:var(--svc-title-color) !important;
  }
  /*.mega-servizi .menu-item.servizi-mega > ul.sub-menu > li:not(.is-tool):not(.tools-title) > a::after{
    content:attr(title); display:block; margin-top:6px;
    font-size:var(--svc-desc-size); font-weight:var(--svc-desc-weight); line-height:var(--svc-desc-line);
    letter-spacing:var(--svc-desc-tracking); color:var(--svc-desc-color);
    display:-webkit-box; -webkit-line-clamp:var(--svc-desc-lines); -webkit-box-orient:vertical; overflow:hidden;
  }*/

  /* heading sezione Strumenti: full width, dopo i servizi */
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.tools-title{
    order:2; grid-column:1 / -1; margin-top:var(--tools-gap-top) !important; border-bottom:1px solid var(--tools-head-divider);
  }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.tools-title > a{
    pointer-events:none; cursor:default; padding:0 0 12px 0; border:0;
    font-size:var(--tools-head-size); font-weight:var(--tools-head-weight); line-height:var(--tools-head-line);
    letter-spacing:var(--tools-head-tracking); color:var(--tools-head-color) !important; text-transform:var(--tools-head-case);
  }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.tools-title > a::before{ content:none; }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.tools-title > a::after{ content:none; }

  /* elementi Strumenti: due colonne sotto il titolo */
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.is-tool{ order:3; }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.is-tool > a{
    font-size:var(--tool-title-size); font-weight:var(--tool-title-weight); line-height:var(--tool-title-line);
    letter-spacing:var(--tool-title-tracking); color:var(--tool-title-color) !important;
  }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.is-tool > a::after{
    content:attr(title); display:block; margin-top:6px;
    font-size:var(--tool-desc-size); font-weight:var(--tool-desc-weight); line-height:var(--tool-desc-line);
    letter-spacing:var(--tool-desc-tracking); color:var(--tool-desc-color);
    display:-webkit-box; -webkit-line-clamp:var(--tool-desc-lines); -webkit-box-orient:vertical; overflow:hidden;
  }

  /* voce padre non cliccabile */
  .mega-servizi .menu-item.servizi-mega > a{ pointer-events:none; cursor:default; }
}

/* overflow header */
header, .site-header, .elementor-section{ overflow:visible !important; }

/* ===== MOBILE ===== */
@media (max-width:1024px){
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu{
    position:static; transform:none !important; width:auto; padding:0;
    border:0; border-radius:0; box-shadow:none; overflow:visible;
    opacity:1; visibility:visible; pointer-events:auto; display:block !important;
  }
  .mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.tools-title{ margin-top:16px !important; }
}

.mega-servizi .menu-item.servizi-mega > ul.sub-menu > li > a:hover {
  background:transparent !important;
}

/* Niente sfondo su voce attiva del mega menu */
.mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.current-menu-item > a,
.mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.current-menu-ancestor > a,
.mega-servizi .menu-item.servizi-mega > ul.sub-menu > li.current_page_item > a,
.mega-servizi .menu-item.servizi-mega > ul.sub-menu > li > a[aria-current="page"],
.mega-servizi .menu-item.servizi-mega > ul.sub-menu > li > a.elementor-item-active {
  background:transparent !important;
}




/* =========
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   VARIABILI GLOBALI
   ========= */
:root{
  /* Desktop */
  --pt-desktop: 200px;
  --pb-desktop: 200px;
  --pi-desktop: 50px;

  /* Tablet */
  --pt-tablet: 100px;
  --pb-tablet: 100px;
  --pi-tablet: 40px;

  /* Mobile */
  --pt-mobile: 70px;
  --pb-mobile: 70px;
  --pi-mobile: 20px;

  /* Tipografia base Desktop */
  --h1-size: 65px;
  --h2-size: 60px;
  --h3-size: 30px;
  --h4-size: 25px;
  --h5-size: 20px;
  --h6-size: 15px;
  --p-size: 18px;
  --p-lh: 1.3;
  --p-ls: 0.02em;
}

/* Tablet override */
@media (min-width: 768px) and (max-width: 1024px){
  :root{
    --pt-desktop: var(--pt-tablet);
    --pb-desktop: var(--pb-tablet);
    --pi-desktop: var(--pi-tablet);

    --h1-size: 65px;
    --h2-size: 60px;
    --h3-size: 30px;
    --h4-size: 25px;
    --h5-size: 20px;
    --h6-size: 15px;
    --p-size: 20px;
  }
}

/* Mobile override */
@media (max-width: 767px){
  :root{
    --pt-desktop: var(--pt-mobile);
    --pb-desktop: var(--pb-mobile);
    --pi-desktop: var(--pi-mobile);

    --h1-size: 40px;
    --h2-size: 35px;
    --h3-size: 30px;
    --h4-size: 25px;
    --h5-size: 20px;
    --h6-size: 15px;
    --p-size: 20px;
  }
}

/* =========
   UTILITY BOX ESTERNI
   ========= */

.padding-box-both{ padding-top: var(--pt-desktop); padding-bottom: var(--pb-desktop); padding-inline: var(--pi-desktop); }
.padding-box-top{ padding-top: var(--pt-desktop); padding-inline: var(--pi-desktop); }
.padding-box-bottom{ padding-bottom: var(--pb-desktop); padding-inline: var(--pi-desktop); }
.padding-box-sides{ padding-inline: var(--pi-desktop); }

.padding-box-half-top{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: var(--pb-desktop); padding-inline: var(--pi-desktop); }
.padding-box-half-bottom{ padding-top: var(--pt-desktop); padding-bottom: calc(var(--pb-desktop)/2); padding-inline: var(--pi-desktop); }
.padding-box-half-both{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: calc(var(--pb-desktop)/2); padding-inline: var(--pi-desktop); }

.padding-box-half-top-no-bottom{ padding-top: calc(var(--pt-desktop)/2); padding-inline: var(--pi-desktop); }
.padding-box-half-bottom-no-top{ padding-bottom: calc(var(--pb-desktop)/2); padding-inline: var(--pi-desktop); }

/* =========
   VARIANTI SENZA LATERALI
   ========= */

.padding-box-both-no-sides{ padding-top: var(--pt-desktop); padding-bottom: var(--pb-desktop); }
.padding-box-top-no-sides{ padding-top: var(--pt-desktop); }
.padding-box-bottom-no-sides{ padding-bottom: var(--pb-desktop); }

.padding-box-half-top-no-sides{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: var(--pb-desktop); }
.padding-box-half-bottom-no-sides{ padding-top: var(--pt-desktop); padding-bottom: calc(var(--pb-desktop)/2); }
.padding-box-half-both-no-sides{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: calc(var(--pb-desktop)/2); }

.padding-box-half-top-no-bottom-no-sides{ padding-top: calc(var(--pt-desktop)/2); }
.padding-box-half-bottom-no-top-no-sides{ padding-bottom: calc(var(--pb-desktop)/2); }

/* =========
   UTILITY BOX INTERNI (INNER)
   ========= */

.padding-inner-both > .e-con-inner,
.padding-inner-both > .elementor-widget-wrap{ padding-top: var(--pt-desktop); padding-bottom: var(--pb-desktop); padding-inline: var(--pi-desktop); }

.padding-inner-top > .e-con-inner,
.padding-inner-top > .elementor-widget-wrap{ padding-top: var(--pt-desktop); padding-inline: var(--pi-desktop); }

.padding-inner-bottom > .e-con-inner,
.padding-inner-bottom > .elementor-widget-wrap{ padding-bottom: var(--pb-desktop); padding-inline: var(--pi-desktop); }

.padding-inner-sides > .e-con-inner,
.padding-inner-sides > .elementor-widget-wrap{ padding-inline: var(--pi-desktop); }

.padding-inner-half-top > .e-con-inner,
.padding-inner-half-top > .elementor-widget-wrap{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: var(--pb-desktop); padding-inline: var(--pi-desktop); }

.padding-inner-half-bottom > .e-con-inner,
.padding-inner-half-bottom > .elementor-widget-wrap{ padding-top: var(--pt-desktop); padding-bottom: calc(var(--pb-desktop)/2); padding-inline: var(--pi-desktop); }

.padding-inner-half-both > .e-con-inner,
.padding-inner-half-both > .elementor-widget-wrap{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: calc(var(--pb-desktop)/2); padding-inline: var(--pi-desktop); }

.padding-inner-half-top-no-bottom > .e-con-inner,
.padding-inner-half-top-no-bottom > .elementor-widget-wrap{ padding-top: calc(var(--pt-desktop)/2); padding-inline: var(--pi-desktop); }

.padding-inner-half-bottom-no-top > .e-con-inner,
.padding-inner-half-bottom-no-top > .elementor-widget-wrap{ padding-bottom: calc(var(--pb-desktop)/2); padding-inline: var(--pi-desktop); }

/* =========
   VARIANTI INNER SENZA LATERALI
   ========= */

.padding-inner-both-no-sides > .e-con-inner,
.padding-inner-both-no-sides > .elementor-widget-wrap{ padding-top: var(--pt-desktop); padding-bottom: var(--pb-desktop); }

.padding-inner-top-no-sides > .e-con-inner,
.padding-inner-top-no-sides > .elementor-widget-wrap{ padding-top: var(--pt-desktop); }

.padding-inner-bottom-no-sides > .e-con-inner,
.padding-inner-bottom-no-sides > .elementor-widget-wrap{ padding-bottom: var(--pb-desktop); }

.padding-inner-half-top-no-sides > .e-con-inner,
.padding-inner-half-top-no-sides > .elementor-widget-wrap{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: var(--pb-desktop); }

.padding-inner-half-bottom-no-sides > .e-con-inner,
.padding-inner-half-bottom-no-sides > .elementor-widget-wrap{ padding-top: var(--pt-desktop); padding-bottom: calc(var(--pb-desktop)/2); }

.padding-inner-half-both-no-sides > .e-con-inner,
.padding-inner-half-both-no-sides > .elementor-widget-wrap{ padding-top: calc(var(--pt-desktop)/2); padding-bottom: calc(var(--pb-desktop)/2); }

.padding-inner-half-top-no-bottom-no-sides > .e-con-inner,
.padding-inner-half-top-no-bottom-no-sides > .elementor-widget-wrap{ padding-top: calc(var(--pt-desktop)/2); }

.padding-inner-half-bottom-no-top-no-sides > .e-con-inner,
.padding-inner-half-bottom-no-top-no-sides > .elementor-widget-wrap{ padding-bottom: calc(var(--pb-desktop)/2); }

/* =========
   TIPOGRAFIA GLOBAL
   ========= */

h1.elementor-heading-title{ font-size: var(--h1-size) !important; }
h2.elementor-heading-title{ font-size: var(--h2-size) !important; }
h3.elementor-heading-title{ font-size: var(--h3-size) !important; }
h4.elementor-heading-title{ font-size: var(--h4-size) !important; }
h5.elementor-heading-title{ font-size: var(--h5-size) !important; }
h6.elementor-heading-title{ font-size: var(--h6-size) !important; }

.elementor-widget-text-editor p{
  font-size: var(--p-size) !important;
  line-height: var(--p-lh);
  letter-spacing: var(--p-ls);
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Dimensione frecce pulsanti SVG */
.btn-custom .elementor-button-icon{ font-size: 27px !important; }

/* =========
   OVERRIDE HEADER & FOOTER ELEMENTOR
   ========= */

/* Rimuovi spazio paragrafi in header/footer */
.elementor-location-header .elementor-widget-text-editor p,
.elementor-location-footer  .elementor-widget-text-editor p{
  margin: 0 !important;
}

/* Titoli in header/footer che rispettano le tue variabili */
.elementor-location-header h1.elementor-heading-title{ font-size: var(--h1-size); }
.elementor-location-header h2.elementor-heading-title{ font-size: var(--h2-size); }
.elementor-location-header h3.elementor-heading-title{ font-size: var(--h3-size); }
.elementor-location-header h4.elementor-heading-title{ font-size: var(--h4-size); }
.elementor-location-header h5.elementor-heading-title{ font-size: var(--h5-size); }
.elementor-location-header h6.elementor-heading-title{ font-size: var(--h6-size); }

.elementor-location-footer h1.elementor-heading-title{ font-size: var(--h1-size); }
.elementor-location-footer h2.elementor-heading-title{ font-size: var(--h2-size); }
.elementor-location-footer h3.elementor-heading-title{ font-size: var(--h3-size); }
.elementor-location-footer h4.elementor-heading-title{ font-size: var(--h4-size); }
.elementor-location-footer h5.elementor-heading-title{ font-size: var(--h5-size); }
.elementor-location-footer h6.elementor-heading-title{ font-size: var(--h6-size); }

.gradient-text {
  /* 1. Gradiente orizzontale */
  background: linear-gradient(90deg,
              rgba(255, 183, 0, 1) 0%,
              rgba(250, 145, 11, 1) 100%);

  /* 2. Il gradiente si “incolla” alla forma del testo */
  -webkit-background-clip: text;   /* Chrome / Safari / Edge */
          background-clip: text;    /* Standard (supporto in arrivo) */

  /* 3. Il colore di riempimento diventa trasparente
        così si vede il gradiente sottostante */
  -webkit-text-fill-color: transparent; /* Chrome / Safari / Edge */
          color: transparent;            /* Fallback: testo trasparente */
}/* End custom CSS */