/* =============================================================
   DENTAL GO — Pagine legali (17/09/2026)
   Privacy Policy, Cookie Policy, Note legali, Termini e
   condizioni, Privacy candidature.

   Foglio caricato SOLO su quelle pagine (inc/legal.php). Usa i
   token del tema: nessun colore, font o spaziatura inventati.
   Obiettivo: un documento lungo deve restare leggibile, quindi
   misura di riga contenuta, titoli riconoscibili e tabelle che
   scorrono invece di sfondare il viewport.
   ============================================================= */

.ofy-legal {
  --legal-measure: 68ch;
  color: var(--text-body);
}

/* Sommario di apertura: la riga sotto il titolo della pagina. */
.ofy-legal__lead {
  max-width: var(--legal-measure);
  margin: 0 0 var(--space-4);
  color: var(--text-muted);
}

.ofy-legal__updated {
  max-width: var(--legal-measure);
  margin: 0 0 var(--space-8);
  font-size: 0.875rem;
  color: var(--text-muted);
}

/* -------------------------------------------------------------
   Titoli: scala breve, perché qui contano la gerarchia e la
   scansione, non l'impatto. L'H1 resta quello del template.
   ------------------------------------------------------------- */
.ofy-legal h2 {
  max-width: var(--legal-measure);
  margin: var(--space-9) 0 var(--space-4);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 0.4rem + 1.1vw, 1.5rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--text-strong);
  scroll-margin-top: calc(var(--header-h) + var(--space-6));
}
.ofy-legal h2:first-of-type { margin-top: var(--space-6); }

.ofy-legal h3 {
  max-width: var(--legal-measure);
  margin: var(--space-7) 0 var(--space-3);
  font-family: var(--font-ui);
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-strong);
}

/* -------------------------------------------------------------
   Testo
   ------------------------------------------------------------- */
.ofy-legal p {
  max-width: var(--legal-measure);
  margin: 0 0 var(--space-4);
  line-height: 1.7;
}

.ofy-legal a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.ofy-legal a:hover { text-decoration-thickness: 2px; }

/* Passaggi che il documento mette in evidenza (es. il divieto di
   inviare dati clinici): riquadro sobrio, nessun colore nuovo. */
.ofy-legal__strong {
  max-width: var(--legal-measure);
  margin: var(--space-6) 0;
  padding: var(--space-5);
  border-left: 3px solid var(--color-primary);
  background: rgba(42, 106, 220, 0.05);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
}
.ofy-legal__strong strong { color: var(--text-strong); font-weight: 600; }

.ofy-legal__list {
  max-width: var(--legal-measure);
  margin: 0 0 var(--space-5);
  padding-left: var(--space-5);
}
.ofy-legal__list li {
  margin-bottom: var(--space-3);
  line-height: 1.65;
}
.ofy-legal__list li::marker { color: var(--color-primary); }

.ofy-legal code {
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(7, 16, 26, 0.06);
  font-size: 0.9em;
}

/* -------------------------------------------------------------
   Tabelle: le informative ne hanno di larghe (finalità, basi
   giuridiche, conservazione). Sotto i 900px scorrono in
   orizzontale dentro il proprio contenitore, senza far scorrere
   la pagina.
   ------------------------------------------------------------- */
.ofy-legal__table-wrap {
  margin: 0 0 var(--space-7);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-card);
}

.ofy-legal__table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.ofy-legal__table th,
.ofy-legal__table td {
  padding: var(--space-4);
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line-softer);
}
.ofy-legal__table tr:last-child th,
.ofy-legal__table tr:last-child td { border-bottom: 0; }

.ofy-legal__table thead th {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--text-muted);
  background: rgba(7, 16, 26, 0.03);
  border-bottom: 1px solid var(--line-soft);
}
/* Tabella a due colonne senza intestazione (dati societari): la
   prima colonna fa da etichetta. */
.ofy-legal__table tbody th {
  width: 34%;
  font-weight: 600;
  color: var(--text-strong);
}

@media (max-width: 767px) {
  .ofy-legal__table { min-width: 460px; }
  .ofy-legal__table th,
  .ofy-legal__table td { padding: var(--space-3); }
  .ofy-legal h2 { margin-top: var(--space-8); }
}
