:root {
  --navy: #0B2547;
  --text: #222831;
  --muted: #68778A;
  --border: #D7E2EF;
  --soft: #F7FAFD;
  --white: #FFFFFF;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;

  background: var(--soft);

  color: var(--text);

  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  line-height: 1.65;

  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
}

.legal-topbar {
  min-height: 82px;

  padding:
    14px
    clamp(20px, 5vw, 72px);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;

  background: rgba(255, 255, 255, .97);

  border-bottom: 1px solid var(--border);
}

.legal-brand {
  display: inline-flex;
  align-items: center;
}

.legal-brand img {
  display: block;

  width: 158px;
  height: auto;
}

.legal-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: var(--navy);

  text-decoration: none;

  font-size: 15px;
  font-weight: 700;
}

.legal-main {
  width: min(
    1050px,
    calc(100% - 40px)
  );

  margin:
    52px
    auto
    72px;
}

.legal-hero {
  margin-bottom: 26px;

  padding:
    clamp(26px, 4vw, 46px);

  background: var(--navy);

  color: var(--white);

  border-radius: 28px;
}

.legal-eyebrow {
  margin: 0 0 8px;

  font-size: 15px;
  font-weight: 700;

  opacity: .76;
}

.legal-hero h1 {
  margin: 0;

  max-width: 850px;

  font-size:
    clamp(2.25rem, 5vw, 4.1rem);

  line-height: 1.02;

  letter-spacing: -.045em;
}

.legal-meta {
  min-height: 1px;

  margin-top: 22px;

  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.legal-meta:empty {
  margin-top: 0;
}

.legal-chip {
  display: inline-flex;

  padding:
    7px
    12px;

  background:
    rgba(255, 255, 255, .10);

  border:
    1px solid
    rgba(255, 255, 255, .22);

  border-radius: 999px;

  font-size: 13px;
  font-weight: 700;
}

.legal-document {
  padding:
    clamp(26px, 4vw, 48px);

  background: var(--white);

  border:
    1px solid
    var(--border);

  border-radius: 28px;
}

.legal-section {
  margin:
    42px
    0
    16px;
}

.legal-section:first-child {
  margin-top: 0;
}

.legal-section h2 {
  margin: 0;

  display: flex;
  align-items: flex-start;
  gap: 13px;

  color: var(--navy);

  font-size:
    clamp(1.25rem, 2vw, 1.58rem);

  line-height: 1.28;
}

.legal-section h2 span {
  flex: 0 0 auto;

  min-width: 34px;
  height: 34px;

  padding: 0 7px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #EEF5FF;

  border:
    1px solid
    #C7DBF6;

  border-radius: 999px;

  color: var(--navy);

  font-size: 14px;
}

.legal-paragraph {
  margin:
    0
    0
    16px;

  color: #3C4D63;

  font-size: 16px;
}

.legal-list {
  margin:
    4px
    0
    20px;

  padding: 0;

  list-style: none;
}

.legal-list li {
  position: relative;

  margin: 8px 0;

  padding-left: 27px;

  color: #3C4D63;

  font-size: 16px;
}

.legal-list li::before {
  content: "✓";

  position: absolute;

  left: 0;
  top: 0;

  color: var(--navy);

  font-weight: 800;
}

.legal-loading,
.legal-error {
  margin: 0;

  color: var(--muted);
}

.legal-footer {
  min-height: 115px;

  padding:
    28px
    clamp(20px, 5vw, 72px);

  display: grid;

  grid-template-columns:
    1fr
    auto
    1fr;

  align-items: center;

  gap: 24px;

  background: var(--white);

  border-top:
    1px solid
    var(--border);

  color: var(--muted);

  font-size: 13px;
}

.legal-footer nav {
  display: flex;
  justify-content: center;

  gap: 20px;
}

.legal-footer a {
  color: var(--navy);

  text-decoration: none;

  font-weight: 700;
}

.legal-footer > :last-child {
  text-align: right;
}


@media (max-width: 760px) {

  .legal-topbar {
    min-height: 70px;

    padding:
      12px
      18px;
  }

  .legal-brand img {
    width: 128px;
  }

  .legal-back {
    font-size: 13px;
  }

  .legal-main {
    width:
      min(
        calc(100% - 24px),
        1050px
      );

    margin:
      24px
      auto
      44px;
  }

  .legal-hero {
    padding:
      26px
      22px;

    border-radius: 22px;
  }

  .legal-document {
    padding:
      24px
      20px;

    border-radius: 22px;
  }

  .legal-section {
    margin-top: 34px;
  }

  .legal-paragraph,
  .legal-list li {
    font-size: 15px;
  }

  .legal-footer {
    grid-template-columns: 1fr;

    text-align: center;

    gap: 15px;
  }

  .legal-footer nav {
    flex-wrap: wrap;
  }

  .legal-footer > :last-child {
    text-align: center;
  }
}


@media (max-width: 390px) {

  .legal-topbar {
    align-items: flex-start;
  }

  .legal-brand img {
    width: 112px;
  }

  .legal-back {
    max-width: 135px;

    justify-content: flex-end;

    text-align: right;
  }

  .legal-main {
    width:
      calc(100% - 18px);
  }

  .legal-document {
    padding:
      21px
      16px;
  }

  .legal-section h2 {
    gap: 10px;
  }
}

/* === MAGLANO LEGAL HEADING NUMBERS 2026-08-08 START === */

/*
  Juristische Kapitelnummern im Maglano-Stil:
  dunkelblau, ruhig, klar und hochwertig.
*/

.legal-section {
  margin-top: 44px;
  margin-bottom: 16px;
}

.legal-section h2 {
  display: flex;
  align-items: center;
  gap: 14px;

  margin: 0;

  color: #0B2547;

  font-weight: 750;
  line-height: 1.25;
}


/*
  Kapitelnummer:
  1 / 2 / 3 bleiben nahezu rund.
  1.1 / 10.2 bekommen automatisch eine kleine Pillenform.
*/
.legal-section h2 > span {
  flex: 0 0 auto;

  min-width: 40px;
  height: 40px;

  padding: 0 11px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #0B2547 !important;

  border: 1px solid #0B2547 !important;
  border-radius: 999px;

  color: #FFFFFF !important;

  font-size: 14px;
  font-weight: 800;
  line-height: 1;

  letter-spacing: 0;

  box-shadow:
    0 4px 12px rgba(11, 37, 71, 0.10);
}


/*
  Etwas weniger Abstand nach der Überschrift,
  damit Rechtstexte kompakt bleiben.
*/
.legal-section + .legal-paragraph,
.legal-section + .legal-list {
  margin-top: 0;
}


/* Tablet / Smartphone */

@media (max-width: 760px) {

  .legal-section {
    margin-top: 36px;
  }

  .legal-section h2 {
    gap: 11px;
  }

  .legal-section h2 > span {
    min-width: 36px;
    height: 36px;

    padding: 0 9px;

    font-size: 13px;
  }
}


/* kleine Smartphones */

@media (max-width: 390px) {

  .legal-section h2 {
    align-items: flex-start;
    gap: 10px;
  }

  .legal-section h2 > span {
    min-width: 34px;
    height: 34px;

    padding: 0 8px;

    margin-top: 1px;
  }
}

/* === MAGLANO LEGAL HEADING NUMBERS 2026-08-08 END === */
