/* ── Legal Pages ─────────────────────────────────────────────────────────── */

.legal-notice-container,
.privacy-policy-container,
.usage-right-container {
  width:          90%;
  max-width:      860px;
  margin:         0 auto;
  padding-top:    56px;
  padding-bottom: 80px;
  /* lange URLs/Woerter (z. B. Links in der Datenschutzerklaerung) umbrechen,
     statt bei schmalen Viewports unsichtbar abgeschnitten zu werden */
  overflow-wrap:  anywhere;
  hyphens:        auto;
}

/* Page title */
.legal-notice-container h1,
.privacy-policy-container h1,
.usage-right-container h1 {
  font-size:     2rem;
  font-weight:   800;
  color:         #1B3A3A;
  border-bottom: 3px solid var(--teal);
  padding-bottom: 14px;
  margin-bottom: 36px;
}

/* Section headings */
.legal-notice-container h2,
.privacy-policy-container h2,
.usage-right-container h2 {
  font-size:     1.15rem;
  font-weight:   700;
  color:         var(--teal-dk);
  margin-top:    32px;
  margin-bottom: 10px;
}

/* Sub-headings */
.legal-notice-container h3,
.privacy-policy-container h3,
.usage-right-container h3 {
  font-size:     1rem;
  font-weight:   700;
  color:         #2a4a4a;
  margin-top:    20px;
  margin-bottom: 6px;
}

/* Body text */
.legal-notice-container p,
.privacy-policy-container p,
.usage-right-container p {
  color:         var(--ink);
  font-size:     .95rem;
  line-height:   1.8;
  margin-bottom: 14px;
}

/* List items */
.legal-notice-container li,
.privacy-policy-container li,
.usage-right-container li {
  font-size:     .95rem;
  line-height:   1.8;
  color:         var(--ink);
  padding:       3px 0;
}

/* Links */
.legal-notice-container a,
.privacy-policy-container a,
.usage-right-container a {
  color:      var(--teal-dk);
  transition: color .15s;
}

.legal-notice-container a:hover,
.privacy-policy-container a:hover,
.usage-right-container a:hover {
  color:           var(--teal);
  text-decoration: underline;
}

/* Content blocks (impressum sections) */
.top-left-corner {
  background:    #fff;
  border:        1px solid #e8eded;
  border-radius: 10px;
  padding:       24px 28px;
  margin-bottom: 24px;
}

/* Back link */
.back-to-main-page {
  display:         flex;
  justify-content: center;
  align-items:     center;
  padding:         24px 0 8px;
}

.back-to-main-page a {
  color:         var(--teal-dk);
  font-size:     .95rem;
  font-weight:   600;
  border:        1.5px solid var(--teal-dk);
  padding:       10px 22px;
  border-radius: 8px;
  transition:    background .15s, color .15s;
}

.back-to-main-page a:hover {
  background:      var(--teal-dk);
  color:           #fff;
  text-decoration: none;
}

/* Legal page logo text */
.legal-logo-name {
  color:       #D8E4E2;
  font-weight: 700;
  font-size:   1rem;
}
