/*
 * Inhalte aus dem Editor: Blogbeiträge und Glossar. Nur Regeln, die dort wirklich gebraucht werden.
 * Rechner in Beiträgen (rm-cr-*, rmx-*) bringen ihr eigenes CSS mit und bleiben unverändert.
 */
.rm-post-content { color: var(--c-body); font-size: var(--wp--preset--font-size--body-md); line-height: 1.6; overflow-wrap: break-word; }
.rm-post-content > * + * { margin-top: 1rem; }
.rm-post-content > :is(p, ul, ol, h2, h3, h4, figure, table, .wp-block-image, .wp-block-table) { max-width: min(100%, 72ch); }
/* Im Blogbeitrag Textspalte 650 px (kleine Viewports 100 %): Text, Listen, Überschriften, Zitate, Bilder, Tabellen gleich breit. Glossar behält 72ch. */
.rm-beitrag__haupt .rm-post-content > :is(p, ul, ol, h2, h3, h4, figure, table, blockquote, .wp-block-image, .wp-block-table, .wp-block-quote) { width: 100%; max-width: 650px; }
.rm-beitrag__haupt .rm-post-content :is(h2, h3, h4) { scroll-margin-top: 8rem; }
@media (max-width: 1024px) { .rm-beitrag__haupt .rm-post-content :is(h2, h3, h4) { scroll-margin-top: 11rem; } }
.rm-post-content figure img, .rm-post-content .wp-block-image img { display: block; width: 100%; max-width: 100%; height: auto; }
.rm-post-content p { margin: 0; }
.rm-post-content p + p { margin-top: 1rem; }
.rm-post-content :is(h2, h3, h4) { margin: 2.25rem 0 0; color: var(--c-ink); font-weight: 500; letter-spacing: -0.02em; scroll-margin-top: 7rem; }
.rm-post-content h2 { font-size: var(--wp--preset--font-size--headline-md); line-height: 1.15; }
.rm-post-content h3 { font-size: var(--wp--preset--font-size--title-md); line-height: 1.3; letter-spacing: -0.01em; }
.rm-post-content h4 { font-size: var(--wp--preset--font-size--body-md); font-weight: 700; letter-spacing: 0; }
.rm-post-content :is(h2, h3, h4) + * { margin-top: 0.75rem; }
.rm-post-content strong, .rm-post-content b { color: var(--c-ink); font-weight: 700; }
.rm-post-content a:not(.wp-element-button) { color: var(--c-ink); }
.rm-post-content :is(ul, ol):not(.rm-cr-options) { margin: 1rem 0 0; padding-left: 1.25rem; }
.rm-post-content li + li { margin-top: 0.375rem; }
.rm-post-content li > :is(ul, ol) { margin-top: 0.375rem; }
.rm-post-content li::marker { color: var(--c-ink); }

/* Bilder */
.rm-post-content .wp-block-image { margin: 1.5rem 0 0; }
.rm-post-content .wp-block-image img { height: auto; border-radius: var(--r-button); }
.rm-post-content .wp-element-caption, .rm-post-content figcaption { margin-top: 0.5rem; color: var(--c-mute); font-size: var(--wp--preset--font-size--label-md); line-height: 1.4; }

/* Tabellen scrollen im eigenen Rahmen, nie die Seite */
.rm-post-content .wp-block-table { margin: 1.5rem 0 0; overflow-x: auto; border: 1px solid var(--c-line); border-radius: var(--r-button); background: #fff; }
.rm-post-content .wp-block-table table { width: 100%; min-width: 32rem; border-collapse: collapse; font-size: var(--wp--preset--font-size--body-sm); line-height: 1.5; }
.rm-post-content .wp-block-table :is(th, td) { padding: 0.75rem 1rem; border: 0; border-bottom: 1px solid var(--c-line); text-align: left; vertical-align: top; }
.rm-post-content .wp-block-table thead { border: 0; }
.rm-post-content .wp-block-table thead th { background: var(--c-lifted); color: var(--c-ink); font-weight: 500; }
.rm-post-content .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.rm-post-content .wp-block-table figcaption { padding: 0.5rem 1rem; }

/* Tabellen ohne Block-Hülle im Altbestand scrollen ebenfalls für sich */
.rm-post-content > table { display: block; width: 100%; max-width: 100%; margin-top: 1.5rem; overflow-x: auto; border: 1px solid var(--c-line); border-radius: var(--r-button); background: #fff; font-size: var(--wp--preset--font-size--body-sm); line-height: 1.5; border-collapse: collapse; }
.rm-post-content > table :is(th, td) { min-width: 8rem; padding: 0.75rem 1rem; border: 0; border-bottom: 1px solid var(--c-line); text-align: left; vertical-align: top; }
.rm-post-content > table thead th { background: var(--c-lifted); color: var(--c-ink); font-weight: 500; }

/* Zitat, Code, Trenner */
.rm-post-content .wp-block-quote { margin: 1.5rem 0 0; padding: 1.25rem 1.5rem; border: 1px solid var(--c-line); border-radius: var(--r-button); background: var(--c-lifted); color: var(--c-ink); font-style: normal; }
.rm-post-content .wp-block-quote cite { display: block; margin-top: 0.5rem; color: var(--c-mute); font-size: var(--wp--preset--font-size--body-sm); font-style: normal; }
.rm-post-content :is(.wp-block-code, .wp-block-preformatted) { margin: 1.5rem 0 0; padding: 1rem 1.25rem; overflow-x: auto; border: 1px solid var(--c-line); border-radius: var(--r-button); background: var(--c-lifted); color: var(--c-ink); font-size: var(--wp--preset--font-size--body-sm); line-height: 1.5; white-space: pre-wrap; }
.rm-post-content code { overflow-wrap: anywhere; font-size: 0.92em; }
.rm-post-content .wp-block-separator { margin: 2rem 0 0; border: 0; border-top: 1px solid var(--c-line); }
.rm-post-content .wp-block-group.has-background { margin-top: 1.5rem; padding: 1.5rem; border-radius: var(--r-button); }
.rm-post-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.rm-post-content svg { max-width: 100%; height: auto; }

/* FAQ-Boxen in Beiträgen (Skript in inc/seo.php) */
.rm-post-content .faq-block { margin-top: 2rem; }
.rm-post-content .faq-item { margin: 0 0 0.625rem; overflow: hidden; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: #fff; }
.rm-post-content .faq-item h3 { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0; padding: 0.875rem 1rem 0.875rem 1.5rem; font-size: 1.125rem; font-weight: 500; line-height: 1.3; cursor: pointer; }
.rm-post-content .faq-item h3::after { content: ""; flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; background:
	linear-gradient(var(--c-ink), var(--c-ink)) center / 14px 2px no-repeat,
	linear-gradient(var(--c-ink), var(--c-ink)) center / 2px 14px no-repeat,
	var(--c-canvas); }
.rm-post-content .faq-item.is-open h3::after { transform: rotate(45deg); background:
	linear-gradient(#fff, #fff) center / 14px 2px no-repeat,
	linear-gradient(#fff, #fff) center / 2px 14px no-repeat,
	var(--c-red); }
.rm-post-content .faq-item p { display: none; margin: 0; padding: 0 1.5rem 1.25rem; }
.rm-post-content .faq-item.is-open p { display: block; }
.rm-post-content .faq-item h3:focus-visible { outline: 2px solid var(--c-ink); outline-offset: -2px; border-radius: var(--r-lg); }

/* Yoast-Blöcke */
.rm-post-content .schema-faq-section { margin-top: 0.75rem; padding: 1.125rem 1.5rem; border: 1px solid var(--c-line); border-radius: var(--r-button); background: var(--c-lifted); }
.rm-post-content .schema-faq-question { display: block; color: var(--c-ink); font-weight: 500; }
.rm-post-content .schema-faq-answer { margin: 0.5rem 0 0; }
.rm-post-content .schema-how-to-steps { margin-top: 1rem; }
.rm-post-content .schema-how-to-step + .schema-how-to-step { margin-top: 1rem; }
.rm-post-content .schema-how-to-step-name { display: block; color: var(--c-ink); font-weight: 500; }

/* Lightbox-Bilder im Glossar */
.rm-post-content .lightbox-trigger { cursor: zoom-in; }

/* Rechner in Beiträgen: nur der Abstand kommt von außen */
.rm-post-content :is(.rm-cr-calculator, .rmx-budget-calc) { margin-top: 2rem; max-width: none; }

/* Tools bringen eigene Radien mit (15 px), die Karten folgen hier der Radien-Skala. */
#geo-tool-app .gt-card, #eeat-root .ev-card { border-radius: 20px !important; }

/* Absatz nach Liste, Tabelle oder Bild im Beitrag */
.rm-post-content > :is(ul, ol, figure, .wp-block-table, .wp-block-image) + p { margin-top: 1rem; }
