/* =====================================================================
   D - EU Legal — single content-driven legal page section.
   Figma 10159:11870 (Impressum) / 10159:12167 (User Agreement) /
   10159:12464 (Privacy Policy).
   Centered 800px column: H1 (Axiforma Medium 44/55) + long rich body
   (Axiforma Regular 18/25) with Medium 24/1.2 subheadings.
   Tokens only.
   ===================================================================== */

.service-legal {
  background: var(--color-bg);
  /* Figma (Impressum 10159:11870 / User Agreement / Privacy Policy): title
     top 166 vs header bottom 126 = 40px above; body bottom to footer top is
     ~40px on all three frames (was 100px, which over-padded the bottom). */
  padding-block: var(--service-legal-pad-y) 40px;
}

/* Centered narrow reading column (caps at 800px, fluid below). */
.service-legal__inner {
  width: min(var(--service-legal-col), 100% - (var(--gutter) * 2));
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--service-legal-gap);
  word-break: break-word;
}

/* ---- H1 page title (Axiforma Medium 44/55) ---- */
.service-legal__title {
  margin: 0;
  font-weight: var(--fw-medium);
  font-size: var(--fs-44);
  line-height: var(--lh-55);
  color: var(--gray-8);
}

/* ---- Rich body (Axiforma Regular 18/25) ---- */
.service-legal__body {
  font-size: var(--fs-18);
  font-weight: var(--fw-regular);
  line-height: var(--lh-25);
  color: var(--gray-8);
}
.service-legal__body p {
  margin: 0;
}
/* Inter-paragraph rhythm matches the Figma blank-line spacing. */
.service-legal__body p + p {
  margin-top: var(--lh-25);
}

/* Section subheadings inside the body (Axiforma Medium 24/1.2). */
.service-legal__body h2 {
  margin: 0;
  font-weight: var(--fw-medium);
  font-size: var(--fs-24);
  line-height: 1.2;
  color: var(--gray-8);
}
/* A subheading following a paragraph keeps the blank-line gap above it. */
.service-legal__body p + h2 {
  margin-top: var(--lh-25);
}

/* Smaller subheadings (Axiforma Medium 20/1.3). */
.service-legal__body h3 {
  margin: var(--lh-25) 0 0;
  font-weight: var(--fw-medium);
  font-size: var(--fs-20);
  line-height: 1.3;
  color: var(--gray-8);
}

/* Lists (used by the User Agreement's numbered clauses). */
.service-legal__body ul,
.service-legal__body ol {
  margin: var(--lh-25) 0 0;
  padding-left: 1.5em;
}
.service-legal__body li {
  margin: 0;
}
.service-legal__body li + li {
  margin-top: 0.5em;
}
.service-legal__body li > ul,
.service-legal__body li > ol {
  margin-top: 0.5em;
}

.service-legal__body a {
  color: inherit;
  text-decoration: underline;
}

/* ---- Tablet: step the H1 down and tighten the column measure ---- */
@media (max-width: 1023.98px) {
  .service-legal__title {
    font-size: var(--fs-36);
    line-height: var(--lh-45);
  }
}

/* ---- Responsive (mobile best-effort; H1 scales down via clamp) ---- */
@media (max-width: 767.98px) {
  .service-legal {
    padding-block: var(--service-legal-pad-y-mobile) var(--service-legal-pad-bottom-mobile);
  }
  .service-legal__title {
    font-size: clamp(32px, 9vw, var(--fs-44));
    line-height: 1.25;
  }
  .service-legal__body {
    font-size: var(--fs-16);
    line-height: normal;
  }
}

/* ---- Mobile (M - EU Impressum 10159:12032, 390-wide): single full-width
   column inside 15px gutters, smaller title (~32px), tighter rhythm.
   Figma: title top 136 vs header bottom 96 = 40px; body bottom to footer
   top = 40px; content x=15 -> 15px side gutters (390 - 2*15 = 360). ---- */
@media (max-width: 767.98px) {
  .service-legal {
    padding-block: 40px 40px;
  }
  .service-legal__inner {
    /* Full-width reading column within Figma's 15px mobile gutters. */
    width: min(var(--service-legal-col), 100% - (15px * 2));
  }
  .service-legal__title {
    font-size: var(--fs-32);
    line-height: 1.25;
  }
  .service-legal__body h2 {
    font-size: var(--fs-20);
  }
}
