.sd-footer-legal { display: flex; flex-wrap: wrap; gap: 12px 26px; max-width: 1440px; margin: 0 auto; padding: 0 clamp(24px, 4vw, 64px) 28px; font-size: .75rem; line-height: 1.6; opacity: .8; }
.sd-footer-legal a:hover { text-decoration: underline; text-underline-offset: 4px; }
.sd-legal-page { padding-top: 32px; padding-bottom: 80px; }
.sd-legal-heading { margin: 40px 0; }
.sd-legal-heading h1 { max-width: 960px; margin: 18px 0; font: 400 clamp(2.2rem, 4vw, 4rem)/1.1 var(--sd-serif); letter-spacing: -.03em; }
.sd-legal-heading p { color: var(--sd-muted); font-size: .9rem; }
.sd-legal-layout { display: grid; grid-template-columns: 240px minmax(0, 760px); gap: clamp(32px, 6vw, 90px); border-top: 1px solid var(--sd-line); padding-top: 34px; }
.sd-legal-toc { align-self: start; position: sticky; top: 90px; display: grid; gap: 16px; color: var(--sd-muted); font-size: .8rem; line-height: 1.45; }
.sd-legal-toc a:hover { color: var(--sd-green); }
.sd-legal-body section, .sd-legal-help { margin-bottom: 36px; scroll-margin-top: 90px; }
.sd-legal-body h2 { font: 400 1.65rem/1.25 var(--sd-serif); margin-bottom: 18px; }
.sd-legal-body p { font-size: .94rem; line-height: 1.85; margin-bottom: 16px; overflow-wrap: anywhere; }
.sd-legal-help { border-top: 1px solid var(--sd-line); padding-top: 28px; }
.sd-legal-body .sd-legal-version { font-size: .65rem; color: var(--sd-muted); }
.sd-legal-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; }
.sd-legal-cards a { border-top: 1px solid var(--sd-line); padding: 24px 0 30px; }
.sd-legal-cards h2 { display: flex; justify-content: space-between; gap: 20px; font: 400 1.5rem/1.2 var(--sd-serif); margin-bottom: 12px; }
.sd-legal-cards p { color: var(--sd-muted); font-size: .85rem; line-height: 1.6; }
.sc-legal-checks { display: grid; gap: 14px; margin-top: 22px; grid-column: 1/-1; }
.sc-legal-checks .sc-consent { margin: 0; font-size: .84rem; line-height: 1.6; align-items: flex-start; }
.sc-legal-checks input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; accent-color: var(--sd-green); }
.sc-legal-checks a, .sc-data-note a { text-decoration: underline; text-underline-offset: 3px; }
.sc-data-note { margin-top: 16px; color: var(--sd-muted); font-size: .8rem; line-height: 1.7; }
.sd-cookie-note { position: fixed; z-index: 90; left: 24px; bottom: 24px; max-width: min(440px, calc(100vw - 48px)); padding: 18px 20px; background: #fff; color: var(--sd-green); box-shadow: 0 4px 30px #142f2218; border: 1px solid var(--sd-line); font-size: .78rem; line-height: 1.6; }
.sd-cookie-note p { margin: 0 0 12px; }
.sd-cookie-note a { text-decoration: underline; text-underline-offset: 3px; }
.sd-cookie-note button { border: 0; background: var(--sd-green); color: #fff; padding: 8px 16px; font: inherit; cursor: pointer; }
.sd-cookie-note [hidden] { display: none; }
@media(max-width: 750px) {
  .sd-legal-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .sd-legal-toc { position: static; padding-bottom: 28px; border-bottom: 1px solid var(--sd-line); }
  .sd-legal-cards { grid-template-columns: minmax(0, 1fr); }
  .sd-cookie-note { left: 16px; bottom: 16px; max-width: calc(100vw - 32px); }
}
@media print {
  .sd-header, .sd-footer, .sd-legal-toc, .sd-cookie-note, .sd-breadcrumbs { display: none !important; }
  .sd-legal-layout { display: block; }
  .sd-legal-page { padding: 0; }
  .sd-legal-body p { font-size: 10pt; }
}
