/* =========================================================
   TiSegnalo — pagine legali (privacy, termini, eliminazione account)
   Si appoggia a style.css del sito (colori, caratteri, barra in alto, piè di pagina).
   ========================================================= */

.legal-top { position: sticky; top: 0; z-index: 50; background: rgba(11, 19, 34, .92); border-bottom: 1px solid var(--line);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.legal-top__inner { display: flex; align-items: center; gap: 24px; min-height: 68px; flex-wrap: wrap; padding: 10px 0; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-left: auto; }
.legal-nav a { color: var(--mute); text-decoration: none; font-weight: 500; font-size: .98rem; }
.legal-nav a:hover, .legal-nav a[aria-current="page"] { color: #fff; }
.legal-nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--sign-blue); text-decoration-thickness: 2px; text-underline-offset: 6px; }

.legal { padding: clamp(32px, 6vw, 72px) 0 80px; }
.legal__inner { width: min(100% - 2 * var(--gutter), 820px); margin-inline: auto; }
.legal__kicker { margin: 0 0 .4rem; color: var(--mute); font-size: .95rem; letter-spacing: .02em; }
.legal h1 { margin: 0 0 .6rem; font: 800 clamp(1.63rem, 3.7vw, 2.37rem)/1.11 var(--ff-d); letter-spacing: -.025em; color: #fff; }
.legal__meta { margin: 0 0 2rem; color: var(--mute); font-size: .95rem; }
.legal h2 { margin: 2.6rem 0 .8rem; font: 800 clamp(1.11rem, 2.22vw, 1.41rem)/1.21 var(--ff-d); letter-spacing: -.025em; color: #fff; scroll-margin-top: 90px; }
.legal h3 { margin: 1.8rem 0 .5rem; font: 600 1.18rem/1.3 var(--ff); color: #fff; scroll-margin-top: 90px; }
.legal p, .legal li { color: var(--soft); }
.legal p { margin: 0 0 1rem; }
.legal ul, .legal ol { margin: 0 0 1.1rem; padding-left: 1.3rem; }
.legal li { margin: .35rem 0; }
.legal strong { color: var(--ink); font-weight: 600; }
.legal a { color: #8DB4FF; text-underline-offset: 3px; }
.legal a:hover { color: #fff; }
.legal hr { border: 0; border-top: 1px solid var(--line); margin: 2.4rem 0; }

.legal-box { margin: 0 0 1.6rem; padding: 1.2rem 1.4rem; border-radius: 16px; background: var(--night-2); border: 1px solid var(--line); }
.legal-box > :last-child { margin-bottom: 0; }
.legal-box h2, .legal-box h3 { margin-top: 0; }
.legal-box--blue { border-color: rgba(31, 95, 214, .55); background: rgba(31, 95, 214, .12); }
.legal-box--warn { border-color: rgba(226, 40, 58, .5); background: rgba(226, 40, 58, .1); }
.legal-box--green { border-color: rgba(14, 124, 74, .55); background: rgba(14, 124, 74, .12); }

.legal-toc { margin: 0 0 2rem; padding: 1.1rem 1.4rem; border-radius: 16px; border: 1px solid var(--line); }
.legal-toc p { margin: 0 0 .5rem; color: #fff; font-weight: 600; }
.legal-toc ol { margin: 0; columns: 2 260px; column-gap: 2rem; }
.legal-toc li { margin: .25rem 0; break-inside: avoid; }
.legal-toc a { color: var(--soft); text-decoration: none; }
.legal-toc a:hover { color: #fff; text-decoration: underline; }

.legal-table { width: 100%; overflow-x: auto; margin: 0 0 1.4rem; border: 1px solid var(--line); border-radius: 14px; }
.legal-table table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .97rem; }
.legal-table th, .legal-table td { padding: .75rem .9rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); color: var(--soft); }
.legal-table th { color: #fff; font-weight: 600; background: rgba(255, 255, 255, .04); }
.legal-table tr:last-child td { border-bottom: 0; }

.legal-steps { counter-reset: passo; list-style: none; padding: 0; }
.legal-steps > li { counter-increment: passo; position: relative; padding: .2rem 0 .2rem 3rem; margin: .9rem 0; }
.legal-steps > li::before { content: counter(passo); position: absolute; left: 0; top: 0; width: 2.1rem; height: 2.1rem; border-radius: 50%;
  display: grid; place-items: center; background: var(--sign-blue); color: #fff; font: 800 1rem/1 var(--ff-d); }

.legal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.2rem 0 1.6rem; }
.legal-actions .btn { text-decoration: none; }
.btn--blue { background: var(--sign-blue); color: #fff; }
.btn--blue:hover { box-shadow: 0 10px 24px -10px rgba(31, 95, 214, .7); }

.legal-foot { padding: 2.4rem 0; background: #08101D; border-top: 1px solid var(--line); }
.legal-foot__inner { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; }
.legal-foot nav { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; }
.legal-foot a { color: var(--mute); text-decoration: none; }
.legal-foot a:hover { color: #fff; }
.legal-foot p { margin: 0 0 0 auto; color: var(--mute); font-size: .9rem; }

@media (max-width: 700px) {
  .legal-top__inner { gap: 10px; }
  .legal-nav { margin-left: 0; width: 100%; gap: 4px 16px; }
  .legal-foot p { margin-left: 0; }
}

@media print {
  body { background: #fff; color: #000; }
  .legal-top, .legal-foot, .legal-actions { display: none; }
  .legal h1, .legal h2, .legal h3, .legal p, .legal li, .legal strong, .legal-table th, .legal-table td { color: #000; }
  .legal-box, .legal-toc, .legal-table { border-color: #999; background: none; }
}

/* Intestazione su due righe al telefono: i titoli raggiunti dall'indice non finiscono sotto. */
@media (max-width: 700px) { .legal h2, .legal h3 { scroll-margin-top: 130px; } }
.legal-table:focus-visible { outline: 2px solid #5B8DEF; outline-offset: 3px; }
