/* Legal pages (Impressum, Datenschutz, AGB, AVV, Unterauftragsverarbeiter, TOM). */
.legal{max-width:860px;line-height:1.65}
.legal h1{font-size:1.9rem;margin:.4rem 0 .2rem}
.legal .legal-date{color:var(--muted);margin:0 0 1.6rem}
.legal h2{font-size:1.2rem;margin:2rem 0 .6rem}
.legal h3{font-size:1.02rem;margin:1.3rem 0 .4rem}
.legal ol,.legal ul{padding-left:1.4rem}
.legal li{margin:.35rem 0}
.legal table{margin:.6rem 0 1rem;font-size:.95rem}
.legal th,.legal td{border:1px solid var(--line);padding:.5rem .6rem}
.legal dl.sub{display:grid;grid-template-columns:minmax(10rem,14rem) 1fr;gap:.3rem 1rem;margin:.4rem 0 1.4rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.legal dl.sub dt{font-weight:600;color:var(--muted)}
.legal dl.sub dd{margin:0}
.legal-actions{margin-top:2.5rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
@media (max-width:640px){.legal dl.sub{grid-template-columns:1fr}.legal dl.sub dd{margin-bottom:.5rem}.legal table{display:block;overflow-x:auto}}
@media print{header.top,footer.site,.no-print{display:none!important}main{max-width:none;padding:0}.legal a{color:inherit}}

/* Anonymous visitors: same frame as the sign-in pages (auth.css). */
body.auth .legal-card{background:var(--a-card);border:1px solid var(--a-line);border-radius:22px;box-shadow:var(--a-shadow);padding:clamp(1.4rem,4vw,3rem) clamp(1.2rem,5vw,3.6rem)}
body.auth .legal-card .legal{max-width:none;margin:0 auto;color:var(--a-soft)}
body.auth .legal-card .legal h1{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;color:var(--a-ink)}
body.auth .legal-card .legal h2{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--a-ink);padding-top:1.4rem;border-top:1px solid var(--a-line)}
body.auth .legal-card .legal h3{color:var(--a-ink)}
body.auth .legal-card .legal-date{color:var(--a-muted)}
body.auth .legal-card .legal table{border-collapse:separate;border-spacing:0;border:1px solid var(--a-line);border-radius:12px;overflow:hidden;width:100%}
body.auth .legal-card .legal th,body.auth .legal-card .legal td{border:0;border-bottom:1px solid var(--a-line);text-align:left;vertical-align:top}
body.auth .legal-card .legal tr:last-child td{border-bottom:0}
body.auth .legal-card .legal th{background:var(--a-hover);color:var(--a-ink);font-weight:600}
body.auth .legal-card .legal dl.sub{background:var(--a-hover);border-color:var(--a-line);border-radius:14px}
body.auth .legal-card .draft-banner{border-radius:12px;margin-bottom:1.4rem}
body.auth .legal-card .btn{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1.1rem;border-radius:12px;border:1px solid var(--a-line-strong);background:var(--a-card);color:var(--a-ink);font:inherit;font-weight:600;cursor:pointer}
body.auth .legal-card .btn:hover{border-color:var(--a-accent)}
@media (max-width:640px){body.auth .legal-card{border-radius:18px}body.auth .legal-card .legal table{display:block;overflow-x:auto}}
@media print{body.auth .legal-card{border:0;box-shadow:none;padding:0}}
