/* Ergänzungen für Inhalte aus dem WordPress Editor. */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Fließtext aus dem Editor */
.entry-content > * + *, .forderungen > * + * { margin-top: 1em; }
.entry-content > h2, .entry-content > section > h2 { margin-top: clamp(2.5rem, 2rem + 2vw, 3.75rem); margin-bottom: 1rem; }
.entry-content > h2:first-child, .entry-content > section:first-child > h2 { margin-top: 0; }
.entry-content > h3 { margin-top: 1.9em; margin-bottom: 0.35em; }
.entry-content > h3 + p, .entry-content > h4 + p { margin-top: 0.35em; }
.entry-content > h4 { margin-top: 1.6em; font-size: 1.05em; }
.entry-content > section + *, .entry-content > * + section, .entry-content > .forderungen + *, .entry-content > aside { margin-top: clamp(2.5rem, 2rem + 2vw, 4rem); }
.entry-content p.lead { font-size: var(--step-1); line-height: 1.5; max-width: var(--measure); }
.entry-content p.note { display: block; }
.entry-content p.statement { margin-block: 1.6em; max-width: 34ch; }
.entry-content ul.wp-block-list, .entry-content ol.wp-block-list { padding-left: 1.3em; display: grid; gap: 0.45rem; }
.entry-content a:not(.btn):not(.wp-block-button__link) { text-decoration-thickness: 0.07em; }
.entry-content img { border-radius: 12px; height: auto; }
.entry-content figure { margin: 1.5em 0; }
.entry-content figcaption { color: var(--muted); font-size: 0.95rem; margin-top: 0.5rem; }
.entry-content blockquote { margin: 1.5em 0; padding-left: 1.1rem; border-left: 0.4rem solid var(--yellow); font-family: var(--font-display); font-weight: 700; font-size: var(--step-1); }
.entry-content hr { border: 0; border-top: 1px solid var(--line); margin-block: 2rem; }
.entry-content table { border-collapse: collapse; width: 100%; }
.entry-content th, .entry-content td { border-bottom: 1px solid var(--line); padding: 0.6rem 0.5rem; text-align: left; }
.prose.entry-content > h2 { font-size: var(--step-2); }

/* Schaltflächen aus dem Editor sehen aus wie die Schaltflächen der Website */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.wp-block-button__link, .wp-element-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; min-height: 3rem; padding: 0.7rem 1.5rem;
  font-family: var(--font-display); font-size: 1rem; font-weight: 700; line-height: 1.2; text-decoration: none; text-align: center;
  border: 2px solid var(--blue-deep); border-radius: 999px; background: var(--blue-deep); color: var(--on-dark); cursor: pointer;
  transition: background-color 0.16s ease, border-color 0.16s ease; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.wp-block-button__link:hover { background: var(--blue-ink); border-color: var(--blue-ink); color: var(--on-dark); }
.is-style-outline .wp-block-button__link { background: transparent; color: var(--blue-deep); }
.is-style-outline .wp-block-button__link:hover { background: var(--blue-tint); color: var(--blue-ink); }

/* Häufige Fragen: aufklappbare Blöcke */
.entry-content details.wp-block-details { border-bottom: 1px solid var(--line); margin: 0; }
.entry-content details.wp-block-details:first-of-type { border-top: 2px solid var(--ink); }
.entry-content details.wp-block-details + details.wp-block-details { margin-top: 0; }
.entry-content details.wp-block-details summary { cursor: pointer; list-style: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.05rem 0.25rem; min-height: 3.5rem; font-family: var(--font-display); font-weight: 700; font-size: var(--step-1); line-height: 1.25; }
.entry-content details.wp-block-details summary::-webkit-details-marker { display: none; }
.entry-content details.wp-block-details summary::after { content: "+"; font-size: 1.6rem; line-height: 1; color: var(--blue-deep); width: 2rem; text-align: center; }
.entry-content details.wp-block-details[open] summary::after { content: "–"; }
.entry-content details.wp-block-details > :not(summary) { padding: 0 0.25rem; max-width: var(--measure); }
.entry-content details.wp-block-details > :last-child { padding-bottom: 1.3rem; }
.entry-content details.wp-block-details > * + :not(summary) { margin-top: 0.8rem; }
.faq.entry-content { border-top: 0; max-width: 50rem; }

/* Programmthemen */
.thema > h2#leitprinzipien ~ h3 { font-size: 1.12em; }
.ueberblick > p { color: var(--muted); }
.forderungen { border-top: 1px solid var(--line); }
.forderungen > h3[data-gruppe] { display: flex; gap: 0.7rem; align-items: baseline; margin: 2.5rem 0 0.4rem; font-size: var(--step-1); }
.forderungen > h3[data-gruppe] .nr { flex: none; display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--coal-deep); color: var(--on-dark); font-size: 1rem; font-style: italic; font-weight: 800; }
.forderungen > [data-punkt] { position: relative; margin-top: 1.4rem; padding: 1.2rem 0 0 3.25rem; border-top: 1px solid var(--line); font-size: 1.08em; line-height: 1.3; scroll-margin-top: calc(var(--header-h) + 1rem); }
.forderungen > [data-punkt]:first-child { border-top: 0; }
.forderungen > [data-punkt] .nr { position: absolute; left: 0; top: 1.1rem; font-family: var(--font-display); font-weight: 800; font-style: italic; font-size: var(--step-2); line-height: 1; color: var(--blue-deep); font-variant-numeric: tabular-nums; }
.forderungen > :not(h3[data-gruppe]):not([data-punkt]) { margin-left: 3.25rem; max-width: var(--measure); }
.forderungen > [data-punkt] + * { margin-top: 0.55rem; }
.forderungen > [data-sub] { font-family: var(--font-body); font-weight: 700; font-size: 1em; margin-top: 1.1rem; }
.forderungen > [data-sub] + * { margin-top: 0.3em; }
@media (max-width: 30rem) {
  .forderungen > [data-punkt] { padding-left: 2.4rem; }
  .forderungen > [data-punkt] .nr { font-size: var(--step-1); top: 1.3rem; }
  .forderungen > :not(h3[data-gruppe]):not([data-punkt]) { margin-left: 2.4rem; }
}
.article .topic-cta h2 { margin: 0; }

/* Kontakt und Mitgliedsantrag innerhalb des Inhalts */
.split--wp { display: grid; gap: clamp(1.75rem, 1.2rem + 3vw, 4.5rem); }
@media (min-width: 60rem) { .split--wp { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: start; } }
.entry-content .split, .entry-content .split--wp { margin-top: 0; }
.profiles { display: grid; }
.profiles .profile:first-child { border-top: 0; padding-top: 0.5rem; }
.profile .portrait img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.portrait img { border-radius: 0; }

/* Seitennavigation in „Aktuelles“ */
.pagination { margin-top: 2rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 0.9rem; border: 1.5px solid var(--line-strong); border-radius: 999px; text-decoration: none; color: var(--ink); font-weight: 600; }
.pagination .page-numbers.current { background: var(--coal-deep); color: var(--on-dark); border-color: var(--coal-deep); }
.beitragsbild { width: 100%; height: auto; border-radius: 14px; }
.programm-intro { margin-bottom: 2rem; }
