/* ============================================================
   PAGINA LEGALE — template "Pagina legale" (Termini, Privacy, Cookie…)
   Stile "prose" premium per il contenuto testuale dell'editor WordPress.
   Scopato sotto .xc-page--legal (classe aggiunta dal template via page-css.php),
   così non tocca le altre pagine.
   ============================================================ */
.xc-page--legal .xc-legal { padding-block: clamp(3rem, 8vw, 6rem); }
.xc-page--legal .xc-legal__wrap { max-width: 760px; margin-inline: auto; }

/* intestazione */
.xc-page--legal .xc-legal__head {
  margin-bottom: clamp(2rem, 4vw, 3rem);
  padding-bottom: 1.6rem;
  border-bottom: 1px solid var(--xc-prem-line, rgba(255, 255, 255, .1));
}
.xc-page--legal .xc-legal__title { margin: .5rem 0 .7rem; }
.xc-page--legal .xc-legal__updated {
  margin: 0;
  font-size: .85rem;
  letter-spacing: .01em;
  color: var(--xc-prem-dim-2, #9a8f86);
}

/* corpo "prose" */
.xc-page--legal .xc-legal__body {
  color: var(--xc-prem-dim, #cabfb4);
  font-size: 1rem;
  line-height: 1.75;
}
.xc-page--legal .xc-legal__body > * { margin: 0; }
.xc-page--legal .xc-legal__body > * + * { margin-top: 1.15rem; }

.xc-page--legal .xc-legal__body h2 {
  margin-top: 2.6rem;
  font-family: var(--xc-font-prem, inherit);
  font-size: clamp(1.3rem, 2.4vw, 1.55rem);
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--xc-prem-ink, #fff);
}
.xc-page--legal .xc-legal__body h3 {
  margin-top: 2rem;
  font-size: 1.14rem;
  font-weight: 700;
  color: var(--xc-prem-ink, #fff);
}
.xc-page--legal .xc-legal__body h2 + *,
.xc-page--legal .xc-legal__body h3 + * { margin-top: .7rem; }

.xc-page--legal .xc-legal__body strong { color: var(--xc-prem-ink, #fff); font-weight: 700; }
.xc-page--legal .xc-legal__body a {
  color: var(--xc-prem-orange, #fff704);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .2s;
}
.xc-page--legal .xc-legal__body a:hover { text-decoration-thickness: 2px; }

.xc-page--legal .xc-legal__body ul,
.xc-page--legal .xc-legal__body ol { padding-left: 1.4rem; }
.xc-page--legal .xc-legal__body li { margin: .45rem 0; }
.xc-page--legal .xc-legal__body li::marker { color: var(--xc-prem-orange, #fff704); }

.xc-page--legal .xc-legal__body blockquote {
  margin: 1.4rem 0;
  padding: .5rem 1.2rem;
  border-left: 3px solid var(--xc-prem-orange, #fff704);
  color: var(--xc-prem-dim, #cabfb4);
  font-style: italic;
}
.xc-page--legal .xc-legal__body hr {
  border: 0;
  border-top: 1px solid var(--xc-prem-line, rgba(255, 255, 255, .1));
  margin: 2.2rem 0;
}

/* tabelle */
.xc-page--legal .xc-legal__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
}
.xc-page--legal .xc-legal__body th,
.xc-page--legal .xc-legal__body td {
  padding: .6rem .85rem;
  border: 1px solid var(--xc-prem-line, rgba(255, 255, 255, .12));
  text-align: left;
  vertical-align: top;
}
.xc-page--legal .xc-legal__body th {
  background: rgba(255, 255, 255, .04);
  color: var(--xc-prem-ink, #fff);
  font-weight: 700;
}

.xc-page--legal .xc-legal__body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .9em;
  padding: .1em .4em;
  border-radius: 5px;
  background: rgba(255, 255, 255, .07);
}

@media (max-width: 540px) {
  .xc-page--legal .xc-legal__body table,
  .xc-page--legal .xc-legal__body thead,
  .xc-page--legal .xc-legal__body tbody { display: block; overflow-x: auto; }
}
