/*
 * Started editorial system for quiet information, responsibility and legal pages.
 * The help center keeps its own functional search and FAQ treatment.
 */
@media (min-width: 761px) {
  .legal-page:not(.help-center) {
    background:
      radial-gradient(circle at 84% 2%, rgba(107, 202, 156, .045), transparent 30%),
      linear-gradient(180deg, #f5f5f7 0%, #f5f5f7 34%, #fff 100%);
    padding-top: clamp(150px, 15vw, 214px);
  }

  .legal-page:not(.help-center) .legal-hero {
    max-width: 1180px;
    margin-bottom: clamp(64px, 8vw, 108px);
  }

  .legal-page:not(.help-center) .legal-kicker {
    font-weight: 620;
    letter-spacing: .12em;
  }

  .legal-page:not(.help-center) h1 {
    max-width: 1100px;
    font-size: clamp(4.6rem, 10.2vw, 10.8rem);
    line-height: .86;
    margin-bottom: 32px;
  }

  .legal-page:not(.help-center) .legal-intro {
    max-width: 720px;
    color: rgba(23, 30, 21, .57);
  }

  .legal-page:not(.help-center) .legal-shell {
    max-width: 1180px;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: clamp(44px, 7vw, 104px);
  }

  .legal-page:not(.help-center) .legal-toc {
    top: 112px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .legal-page:not(.help-center) .legal-toc strong {
    margin-bottom: 18px;
    font-size: .7rem;
    font-weight: 620;
    letter-spacing: .13em;
  }

  .legal-page:not(.help-center) .legal-toc a {
    padding: 11px 0;
    font-size: .9rem;
    font-weight: 480;
    line-height: 1.3;
    color: rgba(23, 30, 21, .52);
    transition: color .2s ease, padding-left .2s ease;
  }

  .legal-page:not(.help-center) .legal-toc a:hover,
  .legal-page:not(.help-center) .legal-toc a:focus-visible {
    padding-left: 5px;
    color: #171e15;
    outline: none;
  }

  .legal-page:not(.help-center) .legal-stack {
    gap: 0;
    border-top: 1px solid rgba(23, 30, 21, .13);
  }

  .legal-page:not(.help-center) .legal-card {
    display: grid;
    grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr);
    column-gap: clamp(28px, 5vw, 76px);
    padding: clamp(38px, 5vw, 66px) 0;
    border: 0;
    border-bottom: 1px solid rgba(23, 30, 21, .13);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .legal-page:not(.help-center) .legal-card > h2 {
    grid-column: 1;
    grid-row: 1 / span 40;
    align-self: start;
    margin: 0;
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    font-weight: 560;
    line-height: 1.06;
    letter-spacing: -.024em;
    overflow-wrap: anywhere;
  }

  .legal-page:not(.help-center) .legal-card > :not(h2):not(.stamp) {
    grid-column: 2;
  }

  .legal-page:not(.help-center) .legal-card .stamp {
    display: none;
  }

  .legal-page:not(.help-center) .legal-card p,
  .legal-page:not(.help-center) .legal-card li {
    font-size: clamp(.98rem, 1.08vw, 1.06rem);
    line-height: 1.66;
    letter-spacing: 0;
    text-align: left;
  }

  .legal-page:not(.help-center) .legal-card h3 {
    margin-top: 26px;
    font-size: 1.02rem;
    font-weight: 620;
    letter-spacing: 0;
  }

  .legal-page:not(.help-center) .legal-card a {
    text-decoration: underline;
    text-decoration-color: rgba(23, 30, 21, .22);
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
  }

  .legal-page:not(.help-center) .legal-card[id^="abschnitt-"] {
    display: block;
  }

  .legal-page:not(.help-center) .legal-card[id^="abschnitt-"] > h2 {
    max-width: 780px;
    margin-bottom: 25px;
    font-size: clamp(1.45rem, 2vw, 2.15rem);
    line-height: 1.12;
  }

  .legal-page:not(.help-center) .legal-card[id^="abschnitt-"] > p,
  .legal-page:not(.help-center) .legal-card[id^="abschnitt-"] > ul {
    max-width: 820px;
  }

  .legal-page:not(.help-center) .legal-card#fassung {
    display: block;
  }

  .legal-page:not(.help-center) .legal-card#fassung > h2 {
    max-width: 720px;
    margin-bottom: 22px;
    font-size: clamp(1.8rem, 2.8vw, 3rem);
  }

  .legal-page:not(.help-center) .legal-card#fassung > p {
    max-width: 760px;
  }

  .legal-page:not(.help-center) .legal-card#fassung .agb-meta {
    max-width: 760px;
    margin-top: 30px;
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(23, 30, 21, .09);
    border-radius: 20px;
    background: rgba(23, 30, 21, .09);
  }

  .legal-page:not(.help-center) .legal-card#fassung .agb-meta div {
    min-width: 0;
    padding: 20px;
    border-radius: 0;
    background: #f7f7f8;
  }

  .legal-page:not(.help-center) .legal-card#fassung .agb-meta strong {
    display: block;
    font-size: .94rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .legal-page:not(.help-center) .legal-card#fassung .agb-actions {
    display: flex;
    align-items: center;
    gap: 10px 24px;
    max-width: 760px;
    margin-top: 22px;
  }

  .legal-page:not(.help-center) .legal-card#fassung .agb-btn {
    width: auto;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: .88rem;
    font-weight: 580;
    white-space: normal;
    text-decoration: none;
  }

  .legal-page:not(.help-center) .legal-card#fassung .agb-btn.is-ghost {
    min-height: 34px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(23, 30, 21, .64) !important;
    text-decoration: underline;
    text-decoration-color: rgba(23, 30, 21, .2);
    text-underline-offset: 4px;
  }
}

/* Datenschutz reads as a continuous book-like document, not a stack of panels. */
html:has(.privacy-page) {scroll-behavior:auto}
@media (min-width: 761px) {
  .privacy-page .legal-shell {grid-template-columns:230px minmax(0,1fr);gap:clamp(50px,7vw,112px)}
  .privacy-page .legal-toc {max-height:calc(100vh - 140px);overflow-y:auto;padding-right:14px;scrollbar-width:thin;scrollbar-color:rgba(23,30,21,.18) transparent}
  .privacy-page .legal-stack {border-top:0}
  .privacy-page .legal-card[id^="abschnitt-"] {position:relative;padding:clamp(48px,5.5vw,72px) 0 clamp(48px,5.5vw,72px) 88px}
  .privacy-page .legal-card[id^="abschnitt-"]::before {content:attr(data-chapter);position:absolute;top:clamp(50px,5.7vw,74px);left:0;font-family:'Started Pro Display','Started Sans',sans-serif;font-size:clamp(2.3rem,3.8vw,4.2rem);font-weight:400;line-height:.8;letter-spacing:-.04em;color:rgba(23,30,21,.22)}
  .privacy-page .legal-card[id^="abschnitt-"]>h2 {max-width:760px;margin-bottom:24px;font-size:clamp(1.35rem,1.75vw,1.9rem);font-weight:560;line-height:1.18;letter-spacing:-.012em;text-wrap:pretty}
  .privacy-page .legal-card[id^="abschnitt-"]>p,.privacy-page .legal-card[id^="abschnitt-"]>ul,.privacy-page .legal-card[id^="abschnitt-"]>h3 {max-width:760px}
  .privacy-page #abschnitt-17>h2 {max-width:820px;font-size:clamp(1.28rem,1.55vw,1.7rem);line-height:1.22}
  .privacy-page #abschnitt-17>.legal-chapter-subtitle {max-width:720px;margin:0 0 28px;font-size:.82rem;line-height:1.55;letter-spacing:.015em;color:rgba(23,30,21,.45)}
  .privacy-page #abschnitt-17>p {max-width:720px;font-size:1.04rem;line-height:1.72}
}

.help-result {width:100%;font-family:inherit;text-align:left}
@media (max-width:760px) {
  .privacy-page .legal-card[id^="abschnitt-"] {position:relative;padding-top:44px}
  .privacy-page .legal-card[id^="abschnitt-"]::before {content:'Kapitel ' attr(data-chapter);display:block;margin-bottom:15px;font-size:.7rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:rgba(23,30,21,.4)}
  .privacy-page .legal-card[id^="abschnitt-"]>h2 {font-size:clamp(1.42rem,6.8vw,2rem);line-height:1.14;letter-spacing:-.012em;text-wrap:pretty}
  .privacy-page #abschnitt-17>h2 {font-size:clamp(1.3rem,6.1vw,1.75rem);line-height:1.2}
  .privacy-page #abschnitt-17>.legal-chapter-subtitle {margin:0 0 24px;font-size:.78rem;line-height:1.52;color:rgba(23,30,21,.48)}
  .privacy-page #abschnitt-17>p {line-height:1.68}
}

@media (min-width:390px) and (max-width:1024px) {
  .privacy-page .legal-card[id^="abschnitt-"] > p {
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: normal;
  }
}

@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .legal-page:not(.help-center) {
    --legal-mobile-gutter: clamp(20px, 5.6vw, 24px);
    width: 100%;
    max-width: 100%;
    padding-right: max(var(--legal-mobile-gutter), env(safe-area-inset-right));
    padding-left: max(var(--legal-mobile-gutter), env(safe-area-inset-left));
    padding-top: 126px;
    background: linear-gradient(180deg, #f5f5f7 0%, #f5f5f7 35%, #fff 100%);
    overflow-x: clip;
  }

  .legal-page:not(.help-center) .legal-hero {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 42px;
  }

  .legal-page:not(.help-center) .legal-kicker {
    font-weight: 620;
    letter-spacing: .12em;
  }

  .legal-page:not(.help-center) h1 {
    font-size: clamp(3.5rem, 16vw, 6.1rem);
    line-height: .87;
    margin-bottom: 24px;
  }

  .legal-page:not(.help-center) .legal-intro {
    width: 100%;
    max-width: 38rem;
    color: rgba(23, 30, 21, .57);
    overflow-wrap: break-word;
  }

  .legal-page:not(.help-center) .legal-shell {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .legal-page:not(.help-center) .legal-toc {
    display: none;
  }

  .legal-page:not(.help-center) .legal-stack {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 0;
    border-top: 1px solid rgba(23, 30, 21, .13);
  }

  .legal-page:not(.help-center) .legal-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 34px 0;
    border: 0;
    border-bottom: 1px solid rgba(23, 30, 21, .13);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .legal-page:not(.help-center) .legal-card h2 {
    max-width: 100%;
    margin-bottom: 18px;
    font-size: clamp(1.55rem, 7.6vw, 2.25rem);
    font-weight: 560;
    line-height: 1.08;
    letter-spacing: -.024em;
    overflow-wrap: break-word;
  }

  .legal-page:not(.help-center) .legal-card h3 {
    font-size: 1rem;
    font-weight: 620;
    letter-spacing: 0;
  }

  .legal-page:not(.help-center) .legal-card p,
  .legal-page:not(.help-center) .legal-card li {
    width: 100%;
    max-width: 100%;
    line-height: 1.62;
    letter-spacing: 0;
    text-align: left;
    overflow-wrap: break-word;
  }

  .legal-page:not(.help-center) .legal-card .stamp {
    display: none;
  }

  .legal-page:not(.help-center) .legal-card a {
    text-decoration: underline;
    text-decoration-color: rgba(23, 30, 21, .22);
    text-underline-offset: 4px;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .legal-page:not(.help-center) .legal-card img,
  .legal-page:not(.help-center) .legal-card iframe,
  .legal-page:not(.help-center) .legal-card video,
  .legal-page:not(.help-center) .legal-card table,
  .legal-page:not(.help-center) .contact-grid,
  .legal-page:not(.help-center) .agb-meta,
  .legal-page:not(.help-center) .agb-actions {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .legal-page:not(.help-center) .contact-grid,
  .legal-page:not(.help-center) .agb-meta,
  .legal-page:not(.help-center) .agb-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .legal-page:not(.help-center) .contact-box,
  .legal-page:not(.help-center) .agb-meta > *,
  .legal-page:not(.help-center) .agb-actions > * {
    min-width: 0;
    max-width: 100%;
  }
}

/*
 * Level 3 editorial details: real outside list markers and quiet,
 * primary-source footnotes. These intentionally override older page-local
 * pseudo-marker styles.
 */
.legal-page:not(.help-center) .legal-card ul:not(.legal-reference-list),
.legal-page:not(.help-center) .legal-card ol:not(.legal-reference-list) {
  display: grid;
  gap: .58rem;
  margin: 1.05rem 0 1.2rem;
  padding-inline-start: 1.7rem;
  list-style-position: outside;
}

.legal-page:not(.help-center) .legal-card ul:not(.legal-reference-list) {
  list-style-type: disc;
}

.legal-page:not(.help-center) .legal-card ol:not(.legal-reference-list) {
  list-style-type: decimal;
  font-variant-numeric: tabular-nums;
}

.legal-page:not(.help-center) .legal-card ul:not(.legal-reference-list) > li,
.legal-page:not(.help-center) .legal-card ol:not(.legal-reference-list) > li {
  padding-inline-start: .34rem;
}

.legal-page:not(.help-center) .legal-card ul:not(.legal-reference-list) > li::before,
.legal-page:not(.help-center) .legal-card ol:not(.legal-reference-list) > li::before {
  content: none !important;
  display: none !important;
}

.legal-page:not(.help-center) .legal-card ul:not(.legal-reference-list) > li::marker {
  color: rgba(107, 202, 156, .72);
  font-weight: 620;
}

.legal-page:not(.help-center) .legal-card ol:not(.legal-reference-list) > li::marker {
  color: rgba(23, 30, 21, .48);
  font-weight: 620;
}

.legal-page:not(.help-center) .legal-card li > ul,
.legal-page:not(.help-center) .legal-card li > ol {
  margin-top: .55rem;
  padding-inline-start: 1.45rem;
}

.legal-page:not(.help-center) .legal-ref {
  margin-inline-start: .18em;
  font-size: .36em;
  font-weight: 600;
  line-height: 0;
  vertical-align: super;
}

.legal-page:not(.help-center) .legal-ref a {
  display: inline;
  min-width: 0;
  height: auto;
  padding: 0 .08em;
  border: 0;
  border-radius: 0;
  color: rgba(23, 30, 21, .42);
  text-decoration: none;
}

.legal-page:not(.help-center) .legal-references {
  margin-top: 1.65rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(23, 30, 21, .11);
}

.legal-page:not(.help-center) .legal-reference-label {
  display: block;
  margin-bottom: .72rem;
  color: rgba(23, 30, 21, .43);
  font-size: .66rem;
  font-weight: 650;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.legal-page:not(.help-center) .legal-reference-list {
  display: grid;
  gap: .58rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: legal-reference;
}

.legal-page:not(.help-center) .legal-reference-list > li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: .55rem;
  margin: 0;
  padding: 0;
  color: rgba(23, 30, 21, .53);
  font-size: .79rem;
  line-height: 1.48;
  counter-increment: legal-reference;
}

.legal-page:not(.help-center) .legal-reference-list > li::before {
  content: "[" counter(legal-reference) "]";
  display: block;
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  color: rgba(23, 30, 21, .38);
  font-size: .68rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .03em;
  line-height: 1.75;
}

.legal-page:not(.help-center) .legal-reference-list a {
  color: inherit;
  text-decoration-color: rgba(23, 30, 21, .18);
}

/* Factual identifiers on Level 3 pages: quiet editorial underline. */
.legal-page:not(.help-center) .legal-keyline {
  text-decoration-line: underline;
  text-decoration-color: rgba(23, 30, 21, .25);
  text-decoration-thickness: 1px;
  text-underline-offset: .28em;
  text-decoration-skip-ink: auto;
}

.legal-page:not(.help-center) .legal-keyline strong {
  font-weight: 650;
}

@media (min-width: 761px) {
  .legal-page:not(.help-center) #kontakt .contact-grid {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 560px);
    max-width: 560px;
  }
}

@media (max-width: 760px) {
  .legal-page:not(.help-center) .legal-card ul:not(.legal-reference-list),
  .legal-page:not(.help-center) .legal-card ol:not(.legal-reference-list) {
    gap: .52rem;
    margin: .95rem 0 1.1rem;
    padding-inline-start: 1.35rem;
  }

  .legal-page:not(.help-center) .legal-card ul:not(.legal-reference-list) > li,
  .legal-page:not(.help-center) .legal-card ol:not(.legal-reference-list) > li {
    padding-inline-start: .22rem;
  }

  .legal-page:not(.help-center) .legal-references {
    margin-top: 1.35rem;
    padding-top: .9rem;
  }

  .legal-page:not(.help-center) .legal-reference-list > li {
    grid-template-columns: 1.6rem minmax(0, 1fr);
    gap: .4rem;
    font-size: .76rem;
    line-height: 1.5;
  }

  .legal-page:not(.help-center) .legal-keyline {
    text-underline-offset: .24em;
  }
}
