body {
  background: var(--bg, #0f0f10);
  color: var(--text-2, #d8d5d5);
}

body #main-content.dsp-legal-page {
  background:
    radial-gradient(circle at 88% 8%, rgba(255,0,25,.13), transparent 34rem),
    var(--bg, #0f0f10) !important;
}

.dsp-legal-shell {
  width: min(880px, calc(100% - 2 * var(--gutter, 28px)));
  margin-inline: auto;
  padding-block: clamp(150px, 16vw, 220px) clamp(72px, 9vw, 120px);
}

.dsp-legal-header {
  margin-bottom: clamp(44px, 6vw, 72px);
  padding-bottom: clamp(28px, 4vw, 42px);
  border-bottom: 1px solid rgba(255,0,25,.38);
}

.dsp-legal-eyebrow {
  margin: 0 0 16px;
  color: var(--red, #ff0019);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.dsp-legal-header h1 {
  margin: 0;
  color: var(--text, #fff);
  font-family: var(--f-display, sans-serif);
  font-size: clamp(2.6rem, 7vw, 5.8rem);
  line-height: .94;
  letter-spacing: -.045em;
}

.dsp-legal-content {
  color: var(--text-2, #d8d5d5);
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.7;
}

.dsp-legal-content h2 {
  margin: 2.5em 0 .75em;
  color: var(--text, #fff);
  font-family: var(--f-display, sans-serif);
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.15;
  letter-spacing: -.025em;
}

.dsp-legal-content h3 {
  margin: 2em 0 .6em;
  color: var(--text, #fff);
  font-size: 1.1em;
  line-height: 1.35;
}

.dsp-legal-content p,
.dsp-legal-content ul {
  margin: 0 0 1.15em;
}

.dsp-legal-content ul {
  padding-left: 1.3em;
}

.dsp-legal-content a {
  color: var(--red-soft, #ff4b5c);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.dsp-legal-table-wrap {
  margin-block: 1.5rem 2rem;
  overflow-x: auto;
  border: 1px solid var(--line, rgba(255,255,255,.14));
  border-radius: 16px;
}

.dsp-legal-content table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.dsp-legal-content th,
.dsp-legal-content td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line, rgba(255,255,255,.14));
  text-align: left;
  vertical-align: top;
}

.dsp-legal-content th {
  color: var(--text, #fff);
  background: rgba(255,255,255,.045);
}

@media (max-width: 767px) {
  .dsp-legal-shell {
    width: calc(100% - 2 * var(--mobile-page-gutter, 20px));
    padding-block: 112px 64px;
  }

  .dsp-legal-header {
    margin-bottom: 34px;
  }

  .dsp-legal-header h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
    overflow-wrap: anywhere;
  }

  .dsp-legal-content {
    font-size: 1rem;
    line-height: 1.65;
  }
}

/* ==================================================================
   Divi adapter — found 21 September 2026.

   The managed legal pages render their content through Divi's builder
   wrapper (.et-l > .et_builder_inner_content > .et_pb_section > .et_pb_row),
   and Divi's DEFAULT SECTION BACKGROUND IS WHITE. That painted an 880px
   white card behind every legal page. The h2 headings are white by design,
   so they became white-on-white and vanished entirely — the Impressum
   rendered with unexplained 47px gaps where each heading should be, and the
   body copy sat as light grey on white.

   Divi also adds 54px of section padding and 27px of row padding on top of
   .dsp-legal-shell's own padding-block.

   WIDTH IS DELIBERATELY NOT TOUCHED: .et_pb_row is 80% of the 880px shell,
   which lands the body measure at ~704px / 78 characters. That is a good
   reading measure, so it stays — but it is accidental, not designed. If the
   row width ever changes, re-check the measure before assuming it is fine.
   ================================================================== */
body.page-template-page-dsp-legal .et_pb_section,
body.page-template-page-dsp-legal .et_pb_row {
  background-color: transparent !important;
  padding-block: 0 !important;
}

/* Divi's et_pb_bg_layout_light paints .et_pb_text content #333 — invisible on
   a dark page. legal-pages.css already colours h1/h2/h3/p, but list items,
   table cells and inline emphasis inherit. Cover them explicitly. */
body.page-template-page-dsp-legal .et_pb_text,
body.page-template-page-dsp-legal .et_pb_text li,
body.page-template-page-dsp-legal .et_pb_text td,
body.page-template-page-dsp-legal .et_pb_text th,
body.page-template-page-dsp-legal .et_pb_text strong,
body.page-template-page-dsp-legal .et_pb_text em {
  color: inherit;
}
