/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 22 2026 | 11:54:14 */
/* ==========================================================================
   CONTE MANGESA — PAGINE LEGALI (modello unico)
   Snippet:   cm-legale (CSS)
   Dove:      Custom CSS & JS → Frontend → Header → File esterno

   ⚠️ QUESTO SNIPPET SI SCRIVE UNA VOLTA SOLA e serve per TUTTE E TRE
   le pagine legali: Termini e Condizioni, Privacy Policy, Cookie Policy.

   Struttura in Elementor (identica su ognuna delle tre pagine):
     Contenitore (larghezza piena) ................ cm-legale-hero
       └── Titolo della pagina (H1) ............... cm-legale-hero__titolo
     Contenitore (larghezza piena) ................ cm-legale
       ├── Editor di testo (una riga) ............. cm-legale__meta
       └── Editor di testo (tutto il testo) ....... cm-legale__testo

   Nel widget cm-legale__testo si incolla il testo in modalità "Testo"
   (la linguetta a destra sopra l'editor): titoli H2, sottotitoli H3,
   paragrafi ed elenchi vengono impaginati automaticamente da questo CSS.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. TESTATA — bassa e sobria: qui non serve una copertina
   -------------------------------------------------------------------------- */
.elementor .e-con.cm-legale-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 100%;
  padding: 132px var(--cm-gutter) 0;            /* in alto lascia spazio al menu */
  text-align: center;
  background-color: var(--cm-black);
}

/* Toglie gli spazi extra che Elementor aggiunge sotto i widget */
.elementor .cm-legale-hero .elementor-widget:not(:last-child),
.elementor .cm-legale .elementor-widget:not(:last-child) {
  margin-block-end: 0;
}

.elementor .cm-legale-hero__titolo .elementor-heading-title {
  margin: 0;
  font-family: var(--cm-font-display);
  font-size: 46px;                              /* grandezza titolo pagina */
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--cm-white);
}

/* Linea oro decorativa sotto il titolo */
.elementor .cm-legale-hero__titolo .elementor-heading-title::after {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  margin: 24px auto 0;
  background-color: var(--cm-gold);
}


/* --------------------------------------------------------------------------
   2. FASCIA DEL TESTO — una sola colonna stretta, facile da leggere
   -------------------------------------------------------------------------- */
.elementor .e-con.cm-legale {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 100%;
  padding: 44px var(--cm-gutter) 88px;          /* spazio sopra e sotto il testo */
  background-color: var(--cm-black);
}


/* --------------------------------------------------------------------------
   3. RIGA DELL'ULTIMO AGGIORNAMENTO
   -------------------------------------------------------------------------- */
.elementor .e-con.cm-legale > .elementor-widget.cm-legale__meta {
  width: 100%;
  max-width: 820px;
  margin: 0 auto 40px;                          /* spazio prima del testo */
  padding-bottom: 22px;
  text-align: left;
  border-bottom: 1px solid var(--cm-gold-subtle);
}

.elementor .cm-legale__meta p {
  margin: 0;
  font-family: var(--cm-font-display);
  font-size: 13px;                              /* grandezza riga aggiornamento */
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cm-gold);
}


/* --------------------------------------------------------------------------
   4. IL TESTO DELLA PAGINA
   -------------------------------------------------------------------------- */
/* La larghezza va imposta con questo selettore lungo: Elementor dà ai widget
   dentro i contenitori un max-width del 100% che altrimenti vince lui */
.elementor .e-con.cm-legale > .elementor-widget.cm-legale__testo {
  width: 100%;
  max-width: 820px;                             /* larghezza della colonna di testo */
  margin: 0 auto;
}

.elementor .cm-legale__testo {
  font-family: var(--cm-font-body);
  font-size: 19px;                              /* grandezza testo corrente */
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  color: var(--cm-white-muted);
}

/* Paragrafi */
.elementor .cm-legale__testo p {
  margin: 0 0 20px;
}

.elementor .cm-legale__testo p:last-child {
  margin-bottom: 0;
}

/* Titoli dei capitoli (H2) */
.elementor .cm-legale__testo h2 {
  margin: 52px 0 0;                             /* spazio sopra ogni capitolo */
  padding-top: 26px;
  font-family: var(--cm-font-display);
  font-size: 24px;                              /* grandezza titolo capitolo */
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cm-white);
  border-top: 1px solid var(--cm-gold-subtle);  /* riga oro che stacca i capitoli */
}

/* Il primo capitolo non ha bisogno della riga sopra */
.elementor .cm-legale__testo h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

/* Dopo un titolo di capitolo, il primo paragrafo sta più vicino */
.elementor .cm-legale__testo h2 + p,
.elementor .cm-legale__testo h2 + ul {
  margin-top: 18px;
}

/* Sottotitoli (H3) */
.elementor .cm-legale__testo h3 {
  margin: 32px 0 12px;
  font-family: var(--cm-font-body);
  font-size: 23px;                              /* grandezza sottotitolo */
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  color: var(--cm-white);
}

/* Parole in evidenza */
.elementor .cm-legale__testo strong,
.elementor .cm-legale__testo b {
  font-weight: 600;
  color: var(--cm-white);
}

/* Elenchi puntati, con il pallino sostituito da un trattino oro */
.elementor .cm-legale__testo ul {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.elementor .cm-legale__testo ul li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 26px;
}

.elementor .cm-legale__testo ul li::before {
  content: "";
  position: absolute;
  top: 0.82em;
  left: 0;
  width: 12px;
  height: 1px;
  background-color: var(--cm-gold);
}

.elementor .cm-legale__testo ul li:last-child {
  margin-bottom: 0;
}

/* Elenchi numerati */
.elementor .cm-legale__testo ol {
  margin: 0 0 20px;
  padding-left: 24px;
}

.elementor .cm-legale__testo ol li {
  margin: 0 0 12px;
  padding-left: 4px;
}

.elementor .cm-legale__testo ol li::marker {
  font-family: var(--cm-font-display);
  font-weight: 500;
  color: var(--cm-gold);
}

/* Collegamenti */
.elementor .cm-legale__testo a {
  color: var(--cm-gold);
  text-decoration: none;
  border-bottom: 1px solid var(--cm-gold-subtle);
  transition: border-color var(--cm-transition);
}

.elementor .cm-legale__testo a:hover {
  border-bottom-color: var(--cm-gold);
}

/* Riquadro per i dati aziendali e le note importanti:
   in Elementor basta scrivere <div class="cm-legale__box"> … </div> */
.elementor .cm-legale__testo .cm-legale__box {
  margin: 24px 0 28px;
  padding: 28px 30px;
  background-color: var(--cm-black-light);
  border: 1px solid var(--cm-gold-subtle);
  border-radius: var(--cm-radius);
}

.elementor .cm-legale__testo .cm-legale__box p:last-child,
.elementor .cm-legale__testo .cm-legale__box ul:last-child {
  margin-bottom: 0;
}


/* --------------------------------------------------------------------------
   5. RESPONSIVE
   -------------------------------------------------------------------------- */

/* Tablet */
@media (max-width: 1024px) {
  .elementor .e-con.cm-legale-hero {
    padding-top: 118px;
  }
  .elementor .cm-legale-hero__titolo .elementor-heading-title {
    font-size: 38px;
  }
  .elementor .e-con.cm-legale {
    padding-top: 40px;
    padding-bottom: 72px;
  }
  .elementor .cm-legale__testo h2 {
    font-size: 22px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .elementor .e-con.cm-legale-hero {
    padding-top: 104px;
  }
  .elementor .cm-legale-hero__titolo .elementor-heading-title {
    font-size: 30px;
  }
  .elementor .cm-legale-hero__titolo .elementor-heading-title::after {
    margin-top: 18px;
  }
  .elementor .e-con.cm-legale {
    padding-top: 34px;
    padding-bottom: 56px;
  }
  .elementor .e-con.cm-legale > .elementor-widget.cm-legale__meta {
    margin-bottom: 30px;
    padding-bottom: 18px;
  }
  .elementor .cm-legale__meta p {
    font-size: 12px;
    letter-spacing: 0.1em;
  }
  .elementor .cm-legale__testo {
    font-size: 18px;
    line-height: 1.75;
  }
  .elementor .cm-legale__testo h2 {
    margin-top: 40px;
    padding-top: 22px;
    font-size: 20px;
  }
  .elementor .cm-legale__testo h3 {
    margin-top: 26px;
    font-size: 21px;
  }
  .elementor .cm-legale__testo .cm-legale__box {
    padding: 22px 20px;
  }
}