/*
 * Pagine secondarie (termini, privacy, cookie, press) — sopra
 * home.css, stessi token (DESIGN.md): tela #f7f7f5, card bianche con
 * hairline, inchiostro. Niente indaco; il verde resta solo per il valore.
 * Solo gli stili del testo lungo: righe entro ~70 caratteri, titoli sobri,
 * link in inchiostro sottolineati. Sostituisce il vecchio styles.css.
 */

/* "Vai al contenuto": visibile quando riceve il focus */
.sr:focus, .sr:focus-visible {
  position: fixed; top: 12px; left: 12px; z-index: 100;
  width: auto; height: auto; clip: auto; overflow: visible; white-space: normal;
  padding: 10px 14px; background: var(--card); color: var(--ink);
  border-radius: 12px; box-shadow: 0 0 0 2px var(--ink); text-decoration: none; font-weight: 600;
}

.doc { padding: clamp(36px, 6vw, 72px) 0 clamp(56px, 8vw, 96px); }
.doc .wrap { max-width: 820px; }
.doc h1 { font-size: clamp(34px, 4.4vw, 48px); margin-top: 10px; max-width: 16em; }
.doc .meta { margin-top: 14px; font-size: 14px; color: var(--muted); }
.doc .lede { margin-top: 18px; }

.prose { margin-top: 36px; max-width: 70ch; }
.prose h2 { font: 700 clamp(20px, 2.2vw, 24px)/1.25 var(--sfd); letter-spacing: -.3px; margin: 44px 0 12px; max-width: none; }
.prose h3 { font: 650 17px/1.35 var(--sfd); letter-spacing: -.2px; margin: 26px 0 8px; }
.prose p, .prose li { font-size: 16.5px; line-height: 1.65; color: var(--ink-soft); }
.prose p + p, .prose ul + p, .prose ol + p, .prose .box + p, .prose .table + p, .prose .table + h3 { margin-top: 12px; }
.prose ul, .prose ol { padding-left: 22px; margin-top: 10px; display: grid; gap: 6px; }
.prose strong, .prose b { color: var(--ink); font-weight: 600; }
.prose a, .doc .meta a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.prose a:hover { text-decoration-thickness: 2px; }
.prose code { font: 500 14px ui-monospace, SFMono-Regular, Menlo, monospace; background: var(--chip); padding: 1px 6px; border-radius: 6px; color: var(--ink); overflow-wrap: anywhere; }

/* riquadro dati (titolare, modulo) */
.box { margin-top: 12px; background: var(--card); border-radius: 18px; padding: 16px 18px; box-shadow: inset 0 0 0 1px var(--line); font-size: 15.5px; line-height: 1.6; color: var(--ink-soft); }
.box b { color: var(--ink); }
.box.quote { font-style: normal; white-space: normal; }

/* tabelle: scorrono nel proprio contenitore sotto i 640px */
.table { margin-top: 14px; overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--card); border-radius: 18px; box-shadow: inset 0 0 0 1px var(--line); }
.table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14.5px; line-height: 1.5; }
.table th, .table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.table th { font-weight: 600; color: var(--ink); background: var(--canvas); }
.table tr:last-child td { border-bottom: 0; }

/* indice della pagina */
.toc { margin-top: 28px; max-width: 70ch; background: var(--card); border-radius: 18px; padding: 16px 20px; box-shadow: inset 0 0 0 1px var(--line); }
.toc p { font: 600 13px var(--sf); color: var(--muted); letter-spacing: .02em; }
.toc ol { margin-top: 8px; padding-left: 22px; columns: 2 16em; column-gap: 28px; font-size: 15px; line-height: 1.8; }
.toc a { color: var(--ink-soft); text-decoration: none; }
.toc a:hover { color: var(--ink); text-decoration: underline; }

/* avviso bozza/nota */
.note { margin-top: 18px; max-width: 70ch; background: var(--lock-a); border-radius: 14px; padding: 12px 14px; font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); }

/* ---------------------------------------------------------------- press */
.facts { margin-top: 14px; display: grid; grid-template-columns: 190px minmax(0, 1fr); background: var(--card); border-radius: 18px; box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.facts dt, .facts dd { padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 15.5px; line-height: 1.5; }
.facts dt { font-weight: 600; color: var(--ink); }
.facts dd { color: var(--ink-soft); }
.facts dt:last-of-type, .facts dd:last-of-type { border-bottom: 0; }
.facts a { color: var(--ink); }
@media (max-width: 600px) {
  .facts { grid-template-columns: 1fr; }
  .facts dt { padding-bottom: 0; border-bottom: 0; }
  .facts dd { padding-top: 2px; }
  .facts dt:last-of-type { border-bottom: 0; }
}
.downloads { margin-top: 14px; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.dl { background: var(--card); border-radius: 18px; padding: 18px; box-shadow: inset 0 0 0 1px var(--line); display: grid; gap: 6px; align-content: start; }
.dl b { font: 650 16px/1.35 var(--sfd); }
.dl span { font-size: 14px; color: var(--ink-soft); }
.dl .btn { margin-top: 8px; justify-self: start; }
.founder-quote { margin-top: 14px; max-width: 70ch; border-left: 3px solid var(--ink); padding: 4px 0 4px 18px; font: 500 19px/1.5 var(--sfd); letter-spacing: -.2px; color: var(--ink); }
.founder-quote cite { display: block; margin-top: 8px; font: 500 14px var(--sf); font-style: normal; color: var(--muted); }

/* header delle pagine secondarie: CTA che non esce dal bordo a 375px */
@media (max-width: 400px) { .top .btn.sm { padding: 0 12px; } }
