/* Rechtstext-Seiten – bewusst ruhig, kompakt und gut lesbar */
body.legal-page{background:#f4f1e9;color:#17221e;}
body.legal-page header{background:rgba(244,241,233,.96);}
body.legal-page .legal-main{padding:112px 0 96px;background:#f4f1e9;}
body.legal-page .legal-shell{
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,780px);
  justify-content:space-between;
  gap:76px;
  align-items:start;
}
body.legal-page .legal-aside{position:sticky;top:104px;}
body.legal-page .legal-aside .kicker{margin:0 0 14px;font-size:.72rem;letter-spacing:.16em;}
body.legal-page .legal-aside h1{
  margin:0 0 18px !important;
  font-size:clamp(2.6rem,4.5vw,4.6rem) !important;
  line-height:.96 !important;
  letter-spacing:-.05em !important;
  text-transform:none !important;
}
body.legal-page .legal-aside p{margin:0;color:#59645f;font-size:1rem;line-height:1.65;max-width:290px;}
body.legal-page .legal-back{display:inline-block;margin-top:22px;font-size:.95rem;font-weight:800;color:#183a31;}
body.legal-page .legal-content{
  min-width:0;
  background:#fff;
  border:0;
  border-top:4px solid #183a31;
  padding:42px 48px 48px;
  box-shadow:0 12px 42px rgba(25,33,30,.06);
}
body.legal-page .legal-content section{margin:0;padding:0 0 30px;border-bottom:1px solid rgba(25,33,30,.13);}
body.legal-page .legal-content section+section{padding-top:30px;}
body.legal-page .legal-content section:last-of-type{border-bottom:0;padding-bottom:0;}
body.legal-page .legal-content h2{
  margin:0 0 14px !important;
  font-size:clamp(1.45rem,2vw,1.9rem) !important;
  line-height:1.15 !important;
  letter-spacing:-.025em !important;
  text-transform:none !important;
  max-width:none !important;
}
body.legal-page .legal-content h3{
  margin:22px 0 8px !important;
  font-size:1.05rem !important;
  line-height:1.3 !important;
  letter-spacing:0 !important;
}
body.legal-page .legal-content p,
body.legal-page .legal-content li,
body.legal-page .legal-contact{
  font-size:1rem;
  line-height:1.68;
}
body.legal-page .legal-content p{margin:0 0 14px;color:#34403b;}
body.legal-page .legal-content p:last-child{margin-bottom:0;}
body.legal-page .legal-content ul{margin:12px 0 0;padding-left:1.2rem;}
body.legal-page .legal-content li+li{margin-top:7px;}
body.legal-page .legal-contact{font-style:normal;color:#26322d;}
body.legal-page .legal-content a{color:#183a31;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
body.legal-page .legal-note{margin:20px 0 0;padding:18px 20px;background:#eeeadf;border-left:3px solid #183a31;font-size:.95rem;line-height:1.6;}
body.legal-page .legal-meta{margin:34px 0 0 !important;padding-top:18px;border-top:1px solid rgba(25,33,30,.13);font-size:.82rem !important;color:#6d7772 !important;}
body.legal-page .legal-small{font-size:.9rem !important;color:#64706a !important;}
@media(max-width:960px){
  body.legal-page .legal-main{padding:92px 0 72px;}
  body.legal-page .legal-shell{grid-template-columns:1fr;gap:32px;}
  body.legal-page .legal-aside{position:static;}
  body.legal-page .legal-aside p{max-width:650px;}
  body.legal-page .legal-content{max-width:820px;padding:36px 34px 40px;}
}
@media(max-width:650px){
  body.legal-page .legal-main{padding:78px 0 56px;}
  body.legal-page .legal-aside h1{font-size:clamp(2.35rem,12vw,3.5rem) !important;}
  body.legal-page .legal-content{padding:28px 20px 34px;box-shadow:none;}
  body.legal-page .legal-content h2{font-size:1.42rem !important;}
  body.legal-page .legal-content p,
  body.legal-page .legal-content li,
  body.legal-page .legal-contact{font-size:.98rem;}
}


/* V11: Schutz vor Überlappungen in Rechtstext-Seiten */
body.legal-page .legal-shell{
  grid-template-columns:300px minmax(0,780px);
  column-gap:76px;
}
body.legal-page .legal-aside{
  min-width:0;
  overflow:hidden;
}
body.legal-page .legal-aside h1{
  width:100%;
  max-width:300px;
  font-size:48px !important;
  line-height:.98 !important;
  overflow-wrap:normal;
  word-break:normal;
}
body.legal-page .legal-content{
  width:100%;
  min-width:0;
  overflow:hidden;
}
body.legal-page .legal-content h2{
  font-size:28px !important;
  line-height:1.18 !important;
  overflow-wrap:break-word;
}
@media(max-width:1100px) and (min-width:961px){
  body.legal-page .legal-shell{
    grid-template-columns:260px minmax(0,1fr);
    column-gap:48px;
  }
  body.legal-page .legal-aside h1{
    max-width:260px;
    font-size:42px !important;
  }
  body.legal-page .legal-content{
    padding:36px 38px 42px;
  }
}
@media(max-width:960px){
  body.legal-page .legal-shell{
    grid-template-columns:1fr;
    column-gap:0;
  }
  body.legal-page .legal-aside{
    overflow:visible;
  }
  body.legal-page .legal-aside h1{
    max-width:none;
    font-size:44px !important;
  }
  body.legal-page .legal-content h2{
    font-size:26px !important;
  }
}
@media(max-width:650px){
  body.legal-page .legal-aside h1{
    font-size:38px !important;
  }
  body.legal-page .legal-content h2{
    font-size:23px !important;
  }
}
