/* ilmiocompleanno.cloud — pagine legali (Privacy, Cookie, Termini).
   Caricato SOLO dalle viste privacy/cookie/termini, sopra admin.css (usa le sue variabili). */

.legal-wrap {
    width: 100%;
    max-width: 880px;
    margin: 0 auto;
    padding: 34px 18px 48px;
}

.legal-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .85);
    font-weight: 700;
    font-size: 13.5px;
    margin-bottom: 14px;
}
.legal-back:hover { color: #fff; text-decoration: none; }

.legal-card {
    background: var(--bianco);
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(4, 16, 45, .4);
    padding: clamp(26px, 5vw, 54px);
    text-align: left;
}

/* Testata */
.legal-head { border-bottom: 1px solid var(--grigio-bordo); padding-bottom: 24px; margin-bottom: 26px; }
.legal-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--blu-chiaro);
    color: var(--blu);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 5px 13px;
    border-radius: 999px;
}
.legal-head h1 { font-size: clamp(28px, 4.5vw, 38px); font-weight: 800; letter-spacing: -.6px; margin: 14px 0 6px; }
.legal-aggiornamento { color: var(--testo-soft); font-size: 14px; margin: 0; }
.legal-intro { color: var(--testo-soft); font-size: 15.5px; line-height: 1.65; margin: 12px 0 0; }

/* Indice dei paragrafi */
.legal-toc {
    background: var(--grigio-bg);
    border: 1px solid var(--grigio-bordo);
    border-radius: 14px;
    padding: 18px 24px;
    margin-bottom: 8px;
}
.legal-toc h2 { font-size: 12.5px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--testo-soft); margin: 0 0 10px; }
.legal-toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 30px; font-size: 14.5px; }
.legal-toc li { margin: 4px 0; break-inside: avoid; }
.legal-toc a { font-weight: 600; }
@media (max-width: 640px) { .legal-toc ol { columns: 1; } }

/* Sezioni */
.legal-card section { scroll-margin-top: 24px; }
.legal-card section h2 { font-size: 20px; font-weight: 800; letter-spacing: -.2px; margin: 34px 0 10px; }
.legal-card section h2 span { color: var(--blu-vivo); margin-right: 6px; }
.legal-card h3 { font-size: 16px; margin: 20px 0 6px; }
.legal-card p { font-size: 15px; line-height: 1.7; margin: 0 0 12px; }
.legal-card ul, .legal-card ol:not(.legal-toc ol) { margin: 0 0 12px; padding-left: 24px; }
.legal-card li { font-size: 15px; line-height: 1.65; margin: 5px 0; }
.legal-card li strong, .legal-card p strong { font-weight: 700; }

/* Riquadro in evidenza */
.legal-nota {
    background: var(--blu-chiaro);
    border-left: 4px solid var(--blu-vivo);
    border-radius: 0 10px 10px 0;
    padding: 13px 18px;
    font-size: 14.5px;
    line-height: 1.65;
    margin: 16px 0;
}
.legal-nota p { margin: 0; font-size: 14.5px; }

/* Tabelle (cookie, basi giuridiche) */
.legal-table-scroll { overflow-x: auto; margin: 14px 0 18px; border: 1px solid var(--grigio-bordo); border-radius: 12px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 600px; }
.legal-table th {
    background: var(--grigio-bg);
    text-align: left;
    padding: 10px 14px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--testo-soft);
    border-bottom: 1px solid var(--grigio-bordo);
    white-space: nowrap;
}
.legal-table td { padding: 11px 14px; border-bottom: 1px solid var(--grigio-bordo); vertical-align: top; line-height: 1.55; }
.legal-table tr:last-child td { border-bottom: none; }
.legal-table code { white-space: nowrap; }

/* Piè di pagina con i documenti collegati */
.legal-footer {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid var(--grigio-bordo);
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    align-items: center;
    justify-content: space-between;
    color: var(--testo-soft);
    font-size: 13.5px;
}
.legal-doclinks { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.legal-doclinks a { font-weight: 700; }
.legal-doclinks .doc-corrente { font-weight: 700; color: var(--testo-soft); }
.legal-doclinks .sep { color: var(--grigio-bordo); }

@media print {
    body.login-body { background: #fff; padding: 0; }
    .legal-back, .legal-toc, .cookie-bar { display: none !important; }
    .legal-card { box-shadow: none; padding: 0; }
}
