/* /privacy-policy – indice laterale e tabella di sintesi */
@layer components {
  .privacy-layout { display: grid; gap: clamp(1.5rem, 4vw, 3.5rem); }
  @media (min-width: 64em) {
    .privacy-layout { grid-template-columns: 15rem minmax(0, 46rem); justify-content: center; align-items: start; }
    .privacy-toc { position: sticky; inset-block-start: 6.5rem; }
  }
  .privacy-toc { padding: 1.1rem 1.25rem; border: 1px solid var(--c-line); border-radius: var(--radius-lg); background: var(--c-stone);
    & ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.35rem; counter-reset: toc; }
    & li { counter-increment: toc; display: flex; gap: 0.5rem; font-size: var(--step--1); line-height: 1.4; }
    & li::before { content: counter(toc, decimal-leading-zero); font: 500 var(--step--2)/1.7 var(--font-mono); color: var(--c-primary); }
    & a { display: inline-block; padding-block: 0.15rem; color: var(--c-ink); text-decoration: none; &:hover { color: var(--c-primary); text-decoration: underline; } } }
  .privacy-toc__title { font: 500 var(--step--2)/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--c-muted); margin: 0 0 0.75rem; }
  .privacy-body { & section { scroll-margin-block-start: 6rem; } & section + section { margin-block-start: 2.5rem; padding-block-start: 2rem; border-block-start: 1px solid var(--c-line); }
    & h2 { scroll-margin-block-start: 6rem; } & .callout { margin-block-end: 2rem; } & .table-wrap { margin-block-start: 1rem; } }
  /* .prose spazia solo i figli diretti: qui il testo sta dentro <section> */
  .privacy-body section > * + * { margin-block-start: 1em; }
  .privacy-body section > :is(h3, h4) { margin-block-start: 1.6em; }
  .privacy-body section > :is(h2, h3, h4) + * { margin-block-start: 0.6em; }
  .privacy-date { font-weight: 650; color: var(--c-ink); }
  .privacy-refs { font-size: var(--step--1); color: var(--c-muted); }
}
