/* ============================================================
   Spoilery — assets/css/pages/legal.css
   Cartella: /assets/css/pages/
   Stili dei documenti legali: privacy, termini d'uso, cookie.
   ============================================================ */

.st-legal {
    padding-block: clamp(1.5rem, 4vw, 3.5rem) 1rem;
}

.st-legal-head {
    max-width: 68ch;
    margin-bottom: 2.5rem;
}
.st-legal-head h1 { margin-bottom: .5rem; }
.st-legal-updated { color: var(--st-muted); font-size: .9rem; margin-bottom: 1.25rem; }
.st-legal-intro { font-size: 1.1rem; line-height: 1.6; }

.st-legal-layout {
    display: grid;
    gap: 2.5rem;
}
@media (min-width: 992px) {
    .st-legal-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 3.5rem; }
    .st-legal-toc { position: sticky; top: calc(var(--st-topbar-h) + 1.5rem); align-self: start; }
}

/* Indice */
.st-legal-toc {
    padding: 1.1rem 1.25rem;
    background: var(--st-surface);
    border: 1px solid var(--st-line);
    border-radius: var(--st-radius);
    font-size: .92rem;
}
.st-legal-toc-title { margin-bottom: .6rem; font-weight: 700; color: var(--st-text); }
.st-legal-toc ol { margin: 0; padding-left: 1.2rem; color: var(--st-muted); }
.st-legal-toc li { padding: .2rem 0; }
.st-legal-toc a { color: var(--st-muted); text-decoration: none; }
.st-legal-toc a:hover { color: var(--st-text); }
.st-legal-toc a.is-current { color: var(--st-accent-hi); font-weight: 600; }

/* Testo */
.st-legal-body { max-width: 68ch; }
.st-legal-section { scroll-margin-top: calc(var(--st-topbar-h) + 1rem); margin-bottom: 2rem; }
.st-legal-section h2 { font-size: 1.3rem; margin-bottom: .75rem; }
.st-legal-section p { color: #D4D4D8; line-height: 1.65; }

/* Tabella cookie */
.st-legal-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--st-line);
    border-radius: var(--st-radius);
}
.st-legal-table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.st-legal-table th,
.st-legal-table td { padding: .8rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--st-line); }
.st-legal-table th { background: var(--st-surface); font-weight: 600; white-space: nowrap; }
.st-legal-table tr:last-child td { border-bottom: 0; }
.st-legal-table code { color: var(--st-accent-hi); white-space: nowrap; }

.st-legal-others {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.25rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--st-line);
    color: var(--st-muted);
}

/* Pulsanti sotto l'introduzione (pagina "Eliminare l'account") */
.st-legal-cta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }
.st-legal-cta .btn { border-radius: 999px; }
