.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-238a748:#00000000;--e-global-color-ef523fc:#046A38;--e-global-color-ff10caf:#ED8B00;--e-global-color-17a2028:#F2F2F2;--e-global-color-d8227df:#333333;--e-global-color-196cce8:#FFFFFF80;--e-global-color-97f2b8c:#FFFFFF;--e-global-color-bbe6e79:#02351C;--e-global-color-e0ce62a:#999999;--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-0892f1c-font-family:"Poppins";--e-global-typography-0892f1c-font-size:40px;--e-global-typography-0892f1c-font-weight:500;--e-global-typography-0892f1c-line-height:1.2em;--e-global-typography-0892f1c-letter-spacing:-1.2px;--e-global-typography-b13e4a4-font-family:"Poppins";--e-global-typography-b13e4a4-font-size:20px;--e-global-typography-b13e4a4-font-weight:500;--e-global-typography-b13e4a4-text-transform:uppercase;--e-global-typography-b13e4a4-line-height:20px;--e-global-typography-b13e4a4-letter-spacing:-0.4px;--e-global-typography-7bb8a06-font-family:"Poppins";--e-global-typography-7bb8a06-font-size:12px;--e-global-typography-7bb8a06-font-weight:600;--e-global-typography-7bb8a06-text-transform:uppercase;--e-global-typography-7bb8a06-line-height:1em;--e-global-typography-7bb8a06-letter-spacing:-0.4px;--e-global-typography-7bb8a06-word-spacing:-1px;--e-global-typography-a1bea47-font-family:"Poppins";--e-global-typography-a1bea47-font-size:28px;--e-global-typography-a1bea47-font-weight:500;--e-global-typography-a1bea47-line-height:1.2em;--e-global-typography-a1bea47-letter-spacing:-1.2px;--e-global-typography-bab4240-font-family:"Poppins";--e-global-typography-bab4240-font-size:16px;--e-global-typography-bab4240-font-weight:400;--e-global-typography-bab4240-line-height:1.3em;--e-global-typography-bab4240-letter-spacing:-0.2px;--e-global-typography-9d85042-font-family:"Poppins";--e-global-typography-9d85042-font-size:20px;--e-global-typography-9d85042-font-weight:500;--e-global-typography-9d85042-line-height:1.2em;--e-global-typography-9d85042-letter-spacing:-0.4px;--e-global-typography-cc6767b-font-family:"Poppins";--e-global-typography-cc6767b-font-size:16px;--e-global-typography-cc6767b-font-weight:600;--e-global-typography-cc6767b-line-height:1.3em;--e-global-typography-cc6767b-letter-spacing:-0.2px;--e-global-typography-104d90a-font-family:"Poppins";--e-global-typography-104d90a-font-size:12px;--e-global-typography-104d90a-font-weight:400;--e-global-typography-104d90a-text-transform:uppercase;--e-global-typography-104d90a-line-height:1em;--e-global-typography-104d90a-letter-spacing:-0.2px;--e-global-typography-104d90a-word-spacing:-0.4px;--e-global-typography-33e895f-font-family:"Poppins";--e-global-typography-33e895f-font-size:56px;--e-global-typography-33e895f-font-weight:500;--e-global-typography-33e895f-line-height:1.2em;--e-global-typography-33e895f-letter-spacing:-1.2px;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;--container-default-padding-top:160px;--container-default-padding-right:80px;--container-default-padding-bottom:160px;--container-default-padding-left:80px;}.elementor-widget:not(:last-child){--kit-widget-spacing:8px;}.elementor-element{--widgets-spacing:8px 8px;--widgets-spacing-row:8px;--widgets-spacing-column:8px;}{}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-7{--e-global-typography-0892f1c-font-size:32px;--e-global-typography-b13e4a4-font-size:18px;--e-global-typography-a1bea47-font-size:24px;--e-global-typography-9d85042-font-size:24px;--e-global-typography-33e895f-font-size:32px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:80px;--container-default-padding-right:40px;--container-default-padding-bottom:80px;--container-default-padding-left:40px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-0892f1c-font-size:28px;--e-global-typography-b13e4a4-font-size:16px;--e-global-typography-7bb8a06-font-size:12px;--e-global-typography-a1bea47-font-size:22px;--e-global-typography-bab4240-font-size:14px;--e-global-typography-9d85042-font-size:22px;--e-global-typography-cc6767b-font-size:14px;--e-global-typography-104d90a-font-size:12px;--e-global-typography-33e895f-font-size:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:80px;--container-default-padding-right:20px;--container-default-padding-bottom:80px;--container-default-padding-left:20px;}}
/* Start custom CSS *//* =========================================================
   FB — MISURE della linguetta (caso B)
   Stanno qui e non sulla sezione: così le legge anche la
   regola che ridà spazio alla sezione successiva.
   ========================================================= */
.elementor{
  --fb-h: 120px;
  --fb-w: 735px;
  --fb-l: max(70px, calc((100vw - 1300px) / 2));   /* ← 100vw, non 100% */
}

/* =========================================================
   BASE — la forma, condivisa dai due casi
   ========================================================= */
.elementor .fb-tab{
  --fb-bg:      #ffffff;
  --fb-wave-w:  56px;
  --fb-r-out-x: 56px;
  --fb-split:   50%;
  --fb-pad-x:   48px;
  --fb-pad-b:   40px;

  position: relative;
  z-index: 2;
  width: fit-content;
  max-width: 100%;
  align-self: flex-start;
  background: var(--fb-bg);
  padding: 0 var(--fb-pad-x) var(--fb-pad-b);
  border-radius: 0 0 var(--fb-r-out-x) var(--fb-r-out-x)
               / 0 0 calc(100% - var(--fb-split)) calc(100% - var(--fb-split));
}
.elementor .fb-tab::before,
.elementor .fb-tab::after{
  content: ""; display: block; position: absolute;
  width: var(--fb-wave-w); height: var(--fb-split);
  pointer-events: none;
}
.elementor .fb-tab::before{
  inset: 0 100% auto auto;
  background: radial-gradient(var(--fb-wave-w) 100% at 0 100%,
              transparent 99.5%, var(--fb-bg) 100%);
}
.elementor .fb-tab::after{
  inset: 0 auto auto 100%;
  background: radial-gradient(var(--fb-wave-w) 100% at 100% 100%,
              transparent 99.5%, var(--fb-bg) 100%);
}



/* ---------- CASO A — blocco bianco che entra dall'alto ---------- */
.elementor .fb-section-tab > .e-con-inner{ padding-top: 0 !important; }

/* sotto i ~1440px la sezione boxed arriva a filo bordo e l'onda
   sinistra esce dallo schermo: le garantiamo 70px di margine.
   Solo da 1025px in su — sotto, le due fasce restano a tutta larghezza. */
@media (min-width: 1025px){
  .elementor .fb-section-tab{
    padding-left:  70px;
    padding-right: 70px;
  }
}

/* =========================================================
   CASO B — la sezione viene RITAGLIATA a forma di linguetta.
   Indipendente dallo sfondo: foto diverse, e sotto qualsiasi cosa.
   ========================================================= */
.elementor .fb-section-mask{
  /* Un solo raggio per tutte le curve: raccordi e angoli sono quarti
     di cerchio (la diagonale a 45°), mai ellissi schiacciate.
     E' una misura fissa, non legata all'altezza: se la linguetta si
     alza per far stare il titolo, l'arco resta quello. */
  --fb-r: 60px;
  /* angolo in basso a sinistra: si puo' azzerare quando la linguetta
     parte dal bordo dello schermo e si vuole il bordo dritto */
  --fb-r-left: var(--fb-r);

  position: relative;
  z-index: 1;
  padding-bottom: var(--fb-h) !important;
  margin-bottom: calc(-1 * var(--fb-h));

  --fb-mask-img:
    linear-gradient(#000,#000),
    linear-gradient(#000,#000),
    linear-gradient(#000,#000),
    radial-gradient(var(--fb-r-left) var(--fb-r) at 100% 0, #000 99.5%, transparent 100%),
    radial-gradient(var(--fb-r) var(--fb-r) at 0 0,         #000 99.5%, transparent 100%),
    radial-gradient(var(--fb-r) var(--fb-r) at 0 100%,      transparent 99.5%, #000 100%),
    radial-gradient(var(--fb-r) var(--fb-r) at 100% 100%,   transparent 99.5%, #000 100%);
  --fb-mask-size:
    100% calc(100% - var(--fb-h)),
    var(--fb-w) calc(var(--fb-h) - var(--fb-r)),
    calc(var(--fb-w) - var(--fb-r-left) - var(--fb-r)) var(--fb-r),
    var(--fb-r-left) var(--fb-r),
    var(--fb-r) var(--fb-r),
    var(--fb-r) var(--fb-r),
    var(--fb-r) var(--fb-r);
  --fb-mask-pos:
    left 0 top 0,
    left var(--fb-l) bottom var(--fb-r),
    left calc(var(--fb-l) + var(--fb-r-left)) bottom 0,
    left var(--fb-l) bottom 0,
    left calc(var(--fb-l) + var(--fb-w) - var(--fb-r)) bottom 0,
    left calc(var(--fb-l) - var(--fb-r)) bottom calc(var(--fb-h) - var(--fb-r)),
    left calc(var(--fb-l) + var(--fb-w)) bottom calc(var(--fb-h) - var(--fb-r));

  -webkit-mask-image: var(--fb-mask-img);
  -webkit-mask-size: var(--fb-mask-size);
  -webkit-mask-position: var(--fb-mask-pos);
  -webkit-mask-repeat: no-repeat;
  mask-image: var(--fb-mask-img);
  mask-size: var(--fb-mask-size);
  mask-position: var(--fb-mask-pos);
  mask-repeat: no-repeat;
}

/* il contenitore del titolo, dentro la linguetta */
.elementor .fb-section-mask .fb-tab-mask{
  position: absolute;
  left: var(--fb-l);
  bottom: 0;
  width:  var(--fb-w);
  height: var(--fb-h);
  /* a destra si lascia libero il raggio dell'angolo: la curva mangia
     la meta' bassa della linguetta, e senza questo spazio l'ultima
     riga del titolo ci finisce sotto e viene tagliata */
  padding: 0 var(--fb-r) 0 48px;
  margin: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  /* niente a capo su una seconda colonna: i contenitori di Elementor
     nascono con flex-wrap: wrap, e in una colonna di altezza fissa
     basta un pixel di troppo perche' il titolo salti di fianco
     all'occhiello invece di stare sotto */
  flex-wrap: nowrap;
  justify-content: center;
}

/* la sezione dopo risale di --fb-h: le ridiamo lo spazio */
.elementor .fb-section-mask + .e-con{
  padding-top: calc(var(--fb-h) + 40px) !important;
}

/* =========================================================
   TABLET + MOBILE — la linguetta resta, solo piu' piccola.
   Sotto i 1025px non cambia il meccanismo: stessa sagoma, stesso
   ritaglio, titolo sempre dentro la linguetta. Cambiano solo le
   misure, perche' quelle del desktop (735px di linguetta, 70px di
   margine, onde da 56px) non ci stanno in uno schermo stretto.

   Regola d'oro della larghezza:
     margine + onda + linguetta + onda + margine = larghezza schermo
   Se la linguetta e' piu' larga, il raccordo di destra finisce
   fuori dallo schermo e la forma sembra tagliata.
   ========================================================= */
@media (max-width: 1024px){

  /* caso A — la fascia bianca va a tutta larghezza */
  .elementor .fb-tab{
    width: 100%;
    margin-left: 0;
    --fb-pad-x: 24px;
    --fb-pad-b: 28px;
    border-radius: 0 0 20px 20px;
  }
  .elementor .fb-tab::before,
  .elementor .fb-tab::after{ display: none; }

  /* caso B — misure da tablet: 40px di stacco dai bordi dello schermo,
     a sinistra e a destra. Il raggio vale quanto lo stacco, cosi' i
     due raccordi ci stanno esattamente fra la linguetta e i bordi. */
  .elementor{
    --fb-h: 120px;
    --fb-l: 40px;
    --fb-w: calc(100vw - 80px);
  }
  .elementor .fb-section-mask{
    --fb-r: 40px;
  }
  .elementor .fb-section-mask .fb-tab-mask{
    padding-left: 28px;
  }
  /* Dentro la linguetta lo spazio verticale lo decide la sagoma:
     se il contenitore interno porta i suoi padding sopra e sotto
     (su tablet Elementor ne mette di suoi) il titolo scende e la
     mascherina lo taglia. Qui vengono azzerati: ci pensa il
     centraggio verticale della linguetta. */
  .elementor .fb-section-mask .fb-tab-mask,
  .elementor .fb-section-mask .fb-tab-mask > .e-con-inner{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor .fb-section-mask + .e-con{
    padding-top: calc(var(--fb-h) + 32px) !important;
  }
}

/* ---------- TELEFONO — linguetta a tutta larghezza ----------
   Parte dal bordo sinistro (due raccordi non ci starebbero) e ha
   l'arco corto: 28px invece di 60, cosi' la curva non si mangia
   mezza linguetta e i fianchi restano dritti.
   L'altezza qui e' solo il minimo: se il titolo va su piu' righe la
   alza lo script (linguetta.js), cosi' la scritta non esce mai. */
@media (max-width: 767px){
  .elementor{
    --fb-h: 120px;
    --fb-l: 20px;                  /* stacco dal bordo, uguale a destra */
    --fb-w: calc(100vw - 40px);
  }
  .elementor .fb-section-mask{
    /* raggio uguale allo stacco: cosi' i due raccordi ci stanno
       esattamente fra la linguetta e i bordi dello schermo */
    --fb-r: 20px;
  }
  .elementor .fb-section-mask .fb-tab-mask{
    /* stesso spazio su tutti e quattro i lati, allineato al margine
       laterale delle altre sezioni */
    padding: 20px !important;
  }
  .elementor .fb-section-mask + .e-con{
    padding-top: calc(var(--fb-h) + 24px) !important;
  }
}/* End custom CSS */