/* Scoped compatibility for existing legal content. Stored Elementor content
   and other pages are untouched. Inline legacy black text needs !important. */
body.wp-theme-jr-gruppe-aufbau:is(.jr-page-impressum,.jr-page-datenschutzerklarung,.jr-page-datenschutzerklaerung) { background:var(--paper)!important; color:var(--text)!important; }
.legal-page .entry-content .elementor, .legal-page .entry-content .elementor * { color:var(--text)!important; font-family:var(--body)!important; }
.legal-page .page-intro { padding-block:clamp(40px,6vw,72px) 24px; }
.legal-page .page-intro h1 { overflow-wrap:anywhere; hyphens:auto; }
.legal-page > .section { padding-block:20px 80px; }
.legal-page .entry-content { max-width:900px; color:var(--text); font-family:var(--body); font-size:1rem; line-height:1.75; }
.legal-page .entry-content :is(.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container,.e-con,.e-con-inner) {
  margin:0!important; padding:0!important; min-height:0!important; max-width:100%!important; width:100%!important; background:transparent!important;
}
.legal-page .entry-content :is(p,li,span,strong,em,h2,h3,h4,h5,h6) {
  color:inherit!important; background-color:transparent!important; font-family:inherit!important;
}
.legal-page .entry-content :is(p,ul,ol) { font-size:1rem!important; line-height:1.75!important; }
.legal-page .entry-content p { margin-block:0 20px!important; }
.legal-page .entry-content :is(h2,h3,h4), .legal-page .entry-content .elementor :is(h2,h3,h4) { font-family:var(--heading)!important; font-size:clamp(1.15rem,2vw,1.4rem)!important; line-height:1.4!important; font-weight:600!important; margin-block:32px 12px!important; }
.legal-page .entry-content :is(h2,h3,h4):first-child { margin-top:0!important; }
.legal-page .entry-content :is(ul,ol) { margin-block:12px 24px; padding-left:1.4em; }
.legal-page .entry-content a, .legal-page .entry-content .elementor a { color:var(--link,#76d5f2)!important; text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere; }
.legal-page .entry-content a *, .legal-page .entry-content .elementor a * { color:inherit!important; }
.legal-page .entry-content a:focus-visible { outline:2px solid var(--cyan); outline-offset:4px; }
@media(max-width:760px) {
  .legal-page .page-intro h1 { font-size:clamp(1.65rem,6.2vw,2.8rem); }
  .legal-page > .section { padding-block:16px 48px; }
}
