/* Public legal pages: Privacy Policy, Data safety, Delete your account (Views/Home). */

.legal-hero {
    background: linear-gradient(135deg, var(--ti-navy) 0%, #1b2f4d 100%);
    color: #fff;
    padding: 44px 0 36px;
}
.legal-hero h1 { font-weight: 800; letter-spacing: -.02em; }
.legal-hero p { color: rgba(255,255,255,.7); margin-bottom: 0; }

.legal { padding: 36px 0 72px; }
.legal-body { max-width: 860px; }
.legal-wide { max-width: 1140px; }
.legal h2 { font-size: 1.3rem; font-weight: 800; letter-spacing: -.01em; margin: 2.2rem 0 .8rem; }
.legal h3 { font-size: 1.02rem; font-weight: 700; margin: 1.4rem 0 .5rem; }
.legal p, .legal li { line-height: 1.65; }
.legal ul, .legal ol { padding-left: 1.25rem; }
.legal li + li { margin-top: .3rem; }

.legal-toc { display: flex; flex-wrap: wrap; gap: .5rem; padding-bottom: 1.25rem; border-bottom: 1px solid #e8ecf2; }
.legal-toc a {
    font-size: .85rem; padding: .3rem .75rem; border-radius: 999px; text-decoration: none;
    color: var(--ti-navy); background: var(--ti-soft); border: 1px solid #e3e8f0;
}
.legal-toc a:hover { border-color: var(--ti-accent); color: var(--ti-accent-dark); }

.legal-contact { background: var(--ti-soft); border-left: 4px solid var(--ti-accent); border-radius: 8px; padding: 1rem 1.25rem; line-height: 1.7; }

/* Data safety */
.legal-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .75rem; }
.legal-facts > div {
    display: flex; align-items: center; gap: .6rem; padding: .85rem 1rem; font-weight: 600; font-size: .92rem;
    background: #fff; border: 1px solid #e8ecf2; border-radius: var(--ti-radius);
}
.legal-facts i { color: var(--ti-accent-dark); font-size: 1.25rem; }
.legal-table { font-size: .92rem; margin-bottom: .75rem; }
.legal-table thead th { background: var(--ti-navy); color: #fff; font-weight: 600; white-space: nowrap; }
.legal-table .legal-group th { background: var(--ti-soft); color: var(--ti-navy); font-weight: 700; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.legal-table td:first-child { font-weight: 600; }
.legal-table td:last-child { white-space: nowrap; }

/* Delete your account */
.legal-steps li { padding-left: .25rem; }
.legal-steps li::marker { font-weight: 800; color: var(--ti-accent-dark); }
.legal-card {
    background: #fff; border: 1px solid #e8ecf2; border-radius: var(--ti-radius); padding: 1.5rem;
    box-shadow: 0 12px 32px rgba(15,27,45,.08);
}
@media (min-width: 992px) { .legal-card { position: sticky; top: 96px; } }
.legal-done-icon { font-size: 3rem; color: #16a34a; }
.legal-ref {
    display: inline-block; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 1.35rem; font-weight: 700;
    letter-spacing: .06em; padding: .4rem 1rem; border-radius: 8px; background: var(--ti-soft); border: 1px dashed var(--ti-accent);
}
/* Honeypot: out of sight for people, still filled in by form bots. */
.legal-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 575.98px) {
    .legal-hero { padding: 32px 0 26px; }
    .legal-card { padding: 1.15rem; }
    .legal-table { font-size: .85rem; }
    .legal-table thead th, .legal-table td:last-child { white-space: normal; }
    .legal-table th, .legal-table td { padding: .5rem .4rem; }
}
