/* Impressum + Datenschutz */

/* Impressum */
.legal_header{max-width:48rem}
.legal_card{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-large);padding:3rem}
.legal_grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.legal_block{padding-bottom:2rem;border-bottom:1px solid var(--line)}
.legal_card > :last-child .legal_block{padding-bottom:0;border-bottom:0}
.legal_label{font-family:var(--font-display);letter-spacing:-.035em;font-weight:800;font-size:1.5rem;line-height:1.2}
.legal_text{color:var(--text-muted)}
.legal_text a{color:var(--marine);text-decoration:none;background:linear-gradient(transparent 62%,var(--limette) 62%);word-break:break-word}
.legal_text a:hover{color:var(--marine)}
.legal_source{font-size:.75rem;color:var(--text-soft)}
.legal_source a{color:inherit}

@media (max-width:640px){
  .legal_card{padding:2rem}
  .legal_grid{grid-template-columns:1fr;gap:1.5rem}
}

/* Datenschutz */
html{scroll-padding-top:6rem}
.legal_layout{display:grid;grid-template-columns:16rem 1fr;gap:4rem;align-items:start}
.legal_toc{position:sticky;top:7rem}
.legal_toc-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.legal_toc-list li{margin:0;padding:0}
.legal_toc-link{display:block;padding:.5rem 1rem;border-radius:var(--radius-pill);font-size:.875rem;font-weight:600;color:var(--text-muted);text-decoration:none;transition:all .2s ease}
.legal_toc-link:hover,.legal_toc-link.is-active{background:var(--weiss);color:var(--marine)}
.legal_toc-link.is-active{box-shadow:inset 0 0 0 1.5px var(--marine)}
.legal_section{padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--line)}
.legal_section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.legal_h2{font-size:2.25rem;line-height:1.1;margin-bottom:1.5rem}
.legal_rich-text h3{font-family:var(--font-body);font-weight:600;font-size:1.1875rem;line-height:1.35;margin:2rem 0 1rem}
.legal_rich-text .legal_h2 + h3{margin-top:0}
.legal_rich-text h4{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:0;margin:2rem 0 1rem}
.legal_rich-text p,.legal_rich-text li{color:var(--text-muted)}
.legal_rich-text p + p{margin-top:1rem}
.legal_rich-text ul{margin:1rem 0}
.legal_rich-text li{margin:1rem 0}
.legal_rich-text a{color:var(--marine);text-decoration:none;background:linear-gradient(transparent 62%,var(--limette) 62%);word-break:break-word}
.legal_rich-text a:hover{color:var(--marine)}
.legal_caps{font-size:.875rem;letter-spacing:.01em}
.legal_address{margin:1rem 0;padding:1.5rem;border-radius:var(--radius-small);background:var(--weiss);border:1px solid var(--line);color:var(--marine);font-weight:500}
@media (max-width:991px){
  .legal_layout{grid-template-columns:1fr;gap:2rem}
  .legal_toc{position:static}
}
@media (max-width:640px){
  .legal_h2{font-size:1.75rem;line-height:1.15}
  .legal_section{padding-bottom:2rem;margin-bottom:2rem}
  .legal_toc{display:none}
}

/* Cookie-Erklärung (von Cookiebot eingefügt) */
.legal_cookie-declaration{margin-top:1.5rem;overflow-x:auto;font-size:.9375rem;color:var(--text-muted)}
.legal_cookie-declaration a{color:var(--marine);text-decoration:underline;text-decoration-color:var(--limette);text-underline-offset:3px}
.legal_cookie-declaration table{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-size:.875rem}
.legal_cookie-declaration th,.legal_cookie-declaration td{padding:.5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.legal_cookie-declaration th{font-weight:600;color:var(--marine);background:var(--weiss)}
.legal_cookie-declaration button,.legal_cookie-declaration #CookieDeclarationChangeConsentChange,.legal_cookie-declaration #CookieDeclarationChangeConsentWithdraw{font-weight:600}
