/*
 * VibeCMS universal article rhythm — CarExpert-style reading cadence.
 *
 * Scope: public ARTICLE BODY only.
 * Changes: line-height + normal paragraph spacing only.
 * Does NOT touch: font family/size, headings, colours, width/layout, media,
 * gallery/lightbox, captions, ads, tables, related content, header/sidebar.
 *
 * Target rhythm:
 *   text line-height : 1.40
 *   paragraph gap   : 20px
 *
 * Theme-specific selectors intentionally outrank legacy !important rules.
 * This stylesheet is loaded after theme/polish CSS but before Website Custom
 * CSS, so an intentional per-site custom rule can still override it.
 */

/* Reading plane: one line-height across every shipped VibeCMS article theme. */
body.article-page .article-post__story,
body.theme-classic.article-page.article-page--classic .article-content-compact,
body.theme-classic_compact.article-page.article-page--classic .article-content-compact,
body.theme-2026.article-page .t26-article-body,
body.theme-autoz.article-page.article-page--autoz .az-ce-article-body,
body.theme-rednews.article-page.article-page--rednews .rn-article-body-v2,
body.theme-greennews.article-page.article-page--greennews .rn-article-body-v2,
body.theme-whitenews.article-page.article-page--whitenews .wn-article-body-v2,
body.theme-magazine.article-page .mag-article__body {
  line-height: 1.4 !important;
}

/* Normal prose paragraphs. Media/caption pseudo-paragraphs in RN/GN/WN are
 * explicitly excluded so gallery/image presentation keeps theme ownership. */
body.article-page .article-post__story p,
body.theme-classic.article-page.article-page--classic .article-content-compact p,
body.theme-classic_compact.article-page.article-page--classic .article-content-compact p,
body.theme-2026.article-page .t26-article-body p,
body.theme-autoz.article-page.article-page--autoz .az-ce-article-body p,
body.theme-rednews.article-page.article-page--rednews .rn-article-body-v2 p:not(.rn-inline-media-block-v2):not(.rn-inline-media-stack-v2):not(.rn-inline-caption-block-v2),
body.theme-greennews.article-page.article-page--greennews .rn-article-body-v2 p:not(.rn-inline-media-block-v2):not(.rn-inline-media-stack-v2):not(.rn-inline-caption-block-v2),
body.theme-whitenews.article-page.article-page--whitenews .wn-article-body-v2 p:not(.wn-inline-media-block-v2):not(.wn-inline-media-stack-v2):not(.wn-inline-caption-block-v2),
body.theme-magazine.article-page .mag-article__body p {
  line-height: 1.4 !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

/* Empty editor/migration paragraphs must not create a false double gap. */
body.article-page .article-post__story p:empty,
body.theme-classic.article-page.article-page--classic .article-content-compact p:empty,
body.theme-classic_compact.article-page.article-page--classic .article-content-compact p:empty,
body.theme-2026.article-page .t26-article-body p:empty,
body.theme-autoz.article-page.article-page--autoz .az-ce-article-body p:empty,
body.theme-rednews.article-page.article-page--rednews .rn-article-body-v2 p:empty,
body.theme-greennews.article-page.article-page--greennews .rn-article-body-v2 p:empty,
body.theme-whitenews.article-page.article-page--whitenews .wn-article-body-v2 p:empty,
body.theme-magazine.article-page .mag-article__body p:empty {
  margin: 0 !important;
  min-height: 0 !important;
}

/* A quote's final paragraph should not add an extra 20px inside the quote box. */
body.article-page .article-post__story blockquote p:last-child,
body.theme-classic.article-page.article-page--classic .article-content-compact blockquote p:last-child,
body.theme-classic_compact.article-page.article-page--classic .article-content-compact blockquote p:last-child,
body.theme-2026.article-page .t26-article-body blockquote p:last-child,
body.theme-autoz.article-page.article-page--autoz .az-ce-article-body blockquote p:last-child,
body.theme-rednews.article-page.article-page--rednews .rn-article-body-v2 blockquote p:last-child,
body.theme-greennews.article-page.article-page--greennews .rn-article-body-v2 blockquote p:last-child,
body.theme-whitenews.article-page.article-page--whitenews .wn-article-body-v2 blockquote p:last-child,
body.theme-magazine.article-page .mag-article__body blockquote p:last-child {
  margin-bottom: 0 !important;
}
