/* Rechtstexte: gemeinsame legal-* Bausteine + Impressum (Page-ID 187).
   Wird von page-impressum.php, page-datenschutz.php und
   page-allgemeine-geschaeftsbedingung.php als Basis geladen (Handle: leopold-legal).
   Werte 1:1 aus Original (187.css/189.css/330.css + universal.css, computed geprüft). */

/* ---------- Gemeinsam: Sektion (Original section-488-189 / section-526-187) ---------- */
.legal-section {
  position: relative;
  display: block;
  /* Original: main/.ct-inner-content haben min-height:100vh (universal.css);
     relevant für die fast leere Datenschutz-Seite, sonst wirkungslos */
  min-height: 100vh;
}
.legal-section > .section-inner {
  width: 100%;
  padding: 150px 50px 0;
  align-items: center;
}
@media (max-width: 767px) {
  .legal-section > .section-inner {
    padding: 15px 20px 57px;
  }
}

/* ---------- Gemeinsam: fixer Blob-Hintergrund oben rechts ---------- */
/* Original div_block-537-187 / div_block-499-189 (.has-blured-background) */
.legal-blob {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
/* Blur-Glow wie universal.css .has-blured-background:after */
.legal-blob::after {
  /* Statischer Gradient-Ersatz für die Original-Ellipse (650% x 80%, #004270,
     filter: blur(350px)) — iOS-Safari hängt bei Laufzeit-Blur auf großen Flächen.
     Box = Ellipse + 2×3σ (σ = 350px). Vertikalprofil als Hintergrund-Gradient,
     Horizontalprofil als Maske (Produkt ≈ 2D-Gauß-Faltung, Fehler < 0.04 Alpha). */
  content: "";
  /* Nur nach links erweitert (right bleibt -300%): auf /datenschutz/ ist
     #main-content overflow:visible — eine rechts erweiterte Box wuerde dort
     die Scrollbreite gegenueber dem Original vergroessern. Maske asymmetrisch. */
  width: calc(650% + 1050px);
  height: calc(80% + 2100px);
  position: absolute;
  top: 50%;
  right: -300%;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom,
    rgba(0,66,112,0) 0%,
    rgba(0,66,112,0.006) 6.03%,
    rgba(0,66,112,0.013) 9.42%,
    rgba(0,66,112,0.026) 12.8%,
    rgba(0,66,112,0.049) 16.18%,
    rgba(0,66,112,0.085) 19.56%,
    rgba(0,66,112,0.138) 22.94%,
    rgba(0,66,112,0.211) 26.33%,
    rgba(0,66,112,0.301) 29.71%,
    rgba(0,66,112,0.405) 33.09%,
    rgba(0,66,112,0.513) 36.47%,
    rgba(0,66,112,0.614) 39.85%,
    rgba(0,66,112,0.696) 43.24%,
    rgba(0,66,112,0.75) 46.62%,
    rgba(0,66,112,0.769) 50%,
    rgba(0,66,112,0.75) 53.38%,
    rgba(0,66,112,0.696) 56.76%,
    rgba(0,66,112,0.614) 60.15%,
    rgba(0,66,112,0.513) 63.53%,
    rgba(0,66,112,0.405) 66.91%,
    rgba(0,66,112,0.301) 70.29%,
    rgba(0,66,112,0.211) 73.67%,
    rgba(0,66,112,0.138) 77.06%,
    rgba(0,66,112,0.085) 80.44%,
    rgba(0,66,112,0.049) 83.82%,
    rgba(0,66,112,0.026) 87.2%,
    rgba(0,66,112,0.013) 90.58%,
    rgba(0,66,112,0.006) 93.97%,
    rgba(0,66,112,0) 100%);
  -webkit-mask-image: linear-gradient(to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.006) 6.6%,
    rgba(0,0,0,0.018) 9.9%,
    rgba(0,0,0,0.045) 13.2%,
    rgba(0,0,0,0.096) 16.49%,
    rgba(0,0,0,0.177) 19.79%,
    rgba(0,0,0,0.287) 23.09%,
    rgba(0,0,0,0.417) 26.39%,
    rgba(0,0,0,0.55) 29.69%,
    rgba(0,0,0,0.67) 32.99%,
    rgba(0,0,0,0.768) 36.29%,
    rgba(0,0,0,0.842) 39.59%,
    rgba(0,0,0,0.896) 42.89%,
    rgba(0,0,0,0.935) 46.18%,
    rgba(0,0,0,0.962) 49.48%,
    rgba(0,0,0,0.981) 52.78%,
    rgba(0,0,0,0.993) 56.08%,
    rgba(0,0,0,0.999) 59.38%,
    rgba(0,0,0,0.985) 69.28%,
    rgba(0,0,0,0.969) 72.58%,
    rgba(0,0,0,0.944) 75.87%,
    rgba(0,0,0,0.91) 79.17%,
    rgba(0,0,0,0.861) 82.47%,
    rgba(0,0,0,0.793) 85.77%,
    rgba(0,0,0,0.703) 89.07%,
    rgba(0,0,0,0.589) 92.37%,
    rgba(0,0,0,0.459) 95.67%,
    rgba(0,0,0,0.327) 98.97%,
    rgba(0,0,0,0.287) 100%);
  mask-image: linear-gradient(to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.006) 6.6%,
    rgba(0,0,0,0.018) 9.9%,
    rgba(0,0,0,0.045) 13.2%,
    rgba(0,0,0,0.096) 16.49%,
    rgba(0,0,0,0.177) 19.79%,
    rgba(0,0,0,0.287) 23.09%,
    rgba(0,0,0,0.417) 26.39%,
    rgba(0,0,0,0.55) 29.69%,
    rgba(0,0,0,0.67) 32.99%,
    rgba(0,0,0,0.768) 36.29%,
    rgba(0,0,0,0.842) 39.59%,
    rgba(0,0,0,0.896) 42.89%,
    rgba(0,0,0,0.935) 46.18%,
    rgba(0,0,0,0.962) 49.48%,
    rgba(0,0,0,0.981) 52.78%,
    rgba(0,0,0,0.993) 56.08%,
    rgba(0,0,0,0.999) 59.38%,
    rgba(0,0,0,0.985) 69.28%,
    rgba(0,0,0,0.969) 72.58%,
    rgba(0,0,0,0.944) 75.87%,
    rgba(0,0,0,0.91) 79.17%,
    rgba(0,0,0,0.861) 82.47%,
    rgba(0,0,0,0.793) 85.77%,
    rgba(0,0,0,0.703) 89.07%,
    rgba(0,0,0,0.589) 92.37%,
    rgba(0,0,0,0.459) 95.67%,
    rgba(0,0,0,0.327) 98.97%,
    rgba(0,0,0,0.287) 100%);
}
.legal-blob img {
  position: relative;
  z-index: 5;
  width: 538px;
  height: 1071px;
  max-width: 100%;
}
@media (max-width: 767px) {
  .legal-blob {
    position: absolute;
  }
  .legal-blob img {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 479px) {
  .legal-blob img {
    margin-bottom: 1px;
  }
}

/* ---------- Gemeinsam: Links in Rechtstexten ---------- */
.legal-link {
  color: #223a4f;
  text-decoration: underline;
  display: inline-block;
}
.legal-link:hover {
  color: #004270;
}

/* ---------- Impressum ---------- */
.imp-section > .section-inner {
  padding: 206px 50px 150px;
}
@media (max-width: 767px) {
  .imp-section {
    min-height: 100vh;
  }
  .imp-section > .section-inner {
    padding: 15px 20px 57px;
  }
}

/* Original div_block-530-187 */
.imp-content {
  width: 100%;
  position: relative;
  z-index: 15;
  color: #fdfeff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
}
@media (max-width: 1399px) {
  .imp-content {
    padding-top: 43px;
    align-items: center;
  }
}
@media (max-width: 767px) {
  .imp-content {
    align-items: flex-start;
    text-align: center;
    padding-top: 117px;
  }
}

/* Original headline-532-187 (.M-Strong .headline-xl + ID-Overrides) */
.imp-title {
  font-size: var(--headline-xl-size);
  line-height: 1.2;
  letter-spacing: -5.12%;
  font-weight: 400;
  margin: 0;
  color: #223a4f;
}
@media (max-width: 1600px) {
  .imp-title {
    font-size: 40px;
  }
}
@media (max-width: 767px) {
  .imp-title {
    font-size: 37px;
    text-align: center;
  }
}

/* Gruppen (Original div_block-34-189, -494-, -498-, -502-, -506-, -510-, -539-187) */
.imp-group {
  width: 100%;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}
.imp-group--lead {
  gap: 0;
}
.imp-group--credits {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .imp-group {
    align-items: flex-start;
    text-align: left;
  }
}

/* h3 (Original ct-headline Defaults + ID-Overrides) */
.imp-head {
  font-size: 29.6px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  color: #223a4f;
}
.imp-head--lead {
  color: #111111;
  margin-bottom: 26px;
}
@media (max-width: 767px) {
  .imp-head {
    font-size: 20px;
  }
}

.imp-text {
  font-size: 22px;
  font-weight: 300;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .imp-text {
    font-size: 20px;
  }
}

/* Bildnachweise (Original headline-540-187 .ds-head + code_block-544-187) */
.imp-credits-head {
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  color: #223a4f;
}
@media (max-width: 767px) {
  .imp-credits-head {
    font-size: 20px;
  }
}
.imp-credits {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
}
.imp-credits a {
  color: #223a4f;
  text-decoration: underline;
}
.imp-credits a:hover {
  color: #004270;
}
