/* ==========================================================================
   Article body — typography, WordPress blocks, legacy shortcodes
   Scoped to .prose-article / .guide-content / .entry-content
   ========================================================================== */

.prose-article,
.guide-content,
.entry-content {
  /* Intentional orange content accent (quotes / CTAs in body), not brand chrome */
  --content-accent: rgb(var(--color-accent));
  --content-accent-soft: rgb(var(--color-accent) / 12%);
  color: rgb(var(--color-ink));
  font-size: 1rem;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .prose-article,
  .guide-content,
  .entry-content {
    font-size: 1.0625rem;
  }
}

.guide-content,
.guide-article .prose-article {
  --content-accent: rgb(var(--guide-accent));
  --content-accent-soft: rgb(var(--guide-accent) / 12%);
}

/* --- Headings --- */

.prose-article :is(h1, h2, h3, h4, h5, h6, .wp-block-heading),
.guide-content :is(h1, h2, h3, h4, h5, h6, .wp-block-heading),
.entry-content :is(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
  color: rgb(var(--text-primary));
  font-weight: 600;
  line-height: 1.3;
  margin-top: 2rem;
  margin-bottom: 1rem;
  scroll-margin-top: 8rem;
}

.prose-article :is(h1, .wp-block-heading):where(:not([class*="has-"])),
.guide-content h1,
.entry-content h1 {
  font-size: 1.75rem;
}

.prose-article h2,
.guide-content h2,
.entry-content h2,
.prose-article :is(h2.wp-block-heading, .wp-block-heading h2) {
  font-size: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgb(var(--border-color));
}

.prose-article h3,
.guide-content h3,
.entry-content h3 {
  font-size: 1.25rem;
}

.prose-article h4,
.guide-content h4,
.entry-content h4 {
  font-size: 1.125rem;
}

.prose-article :is(h5, h6),
.guide-content :is(h5, h6),
.entry-content :is(h5, h6) {
  font-size: 1rem;
  color: rgb(var(--text-secondary));
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (min-width: 768px) {
  .prose-article h2,
  .guide-content h2,
  .entry-content h2 {
    font-size: 1.875rem;
  }

  .prose-article h1,
  .guide-content h1,
  .entry-content h1 {
    font-size: 2rem;
  }
}

/* --- Paragraphs & inline --- */

.prose-article :is(p, .wp-block-paragraph),
.guide-content p,
.entry-content p {
  color: rgb(var(--text-secondary));
  margin: 0 0 1.5rem;
  line-height: 1.75;
}

.prose-article :is(strong, b),
.guide-content :is(strong, b),
.entry-content :is(strong, b) {
  color: rgb(var(--text-primary));
  font-weight: 600;
}

.prose-article :is(em, i, cite),
.guide-content :is(em, i, cite),
.entry-content :is(em, i, cite) {
  font-style: italic;
}

.prose-article mark,
.guide-content mark,
.entry-content mark {
  padding: 0.1em 0.25em;
  color: rgb(var(--text-primary));
  background: rgb(var(--color-accent) / 25%);
  border-radius: 0.2em;
}

.prose-article :is(del, s),
.guide-content :is(del, s),
.entry-content :is(del, s) {
  opacity: 0.65;
}

.prose-article :is(ins, u),
.guide-content :is(ins, u),
.entry-content :is(ins, u) {
  text-decoration-color: var(--content-accent);
}

.prose-article :is(small, sub, sup),
.guide-content :is(small, sub, sup),
.entry-content :is(small, sub, sup) {
  font-size: 0.875em;
}

.prose-article abbr[title],
.guide-content abbr[title],
.entry-content abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}

/* --- Links --- */

.prose-article a:not(:is(.btn, .article-lightbox__trigger, .wp-block-button__link)),
.guide-content a:not(:is(.btn, .article-lightbox__trigger, .wp-block-button__link)),
.entry-content a:not(:is(.btn, .article-lightbox__trigger, .wp-block-button__link)) {
  color: var(--content-accent);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.prose-article a:not(:is(.btn, .article-lightbox__trigger, .wp-block-button__link)):hover,
.guide-content a:not(:is(.btn, .article-lightbox__trigger, .wp-block-button__link)):hover,
.entry-content a:not(:is(.btn, .article-lightbox__trigger, .wp-block-button__link)):hover {
  text-decoration: underline;
  opacity: 0.9;
}

/* --- Lists --- */

.prose-article :is(ul, ol),
.guide-content :is(ul, ol),
.entry-content :is(ul, ol) {
  margin: 0 0 1.5rem;
  padding-left: 1.5rem;
  color: rgb(var(--text-secondary));
}

.prose-article ul,
.guide-content ul,
.entry-content ul {
  list-style: disc;
}

.prose-article ol,
.guide-content ol,
.entry-content ol {
  list-style: decimal;
}

.prose-article :is(ul, ol) :is(ul, ol),
.guide-content :is(ul, ol) :is(ul, ol),
.entry-content :is(ul, ol) :is(ul, ol) {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.prose-article li,
.guide-content li,
.entry-content li {
  margin: 0.375rem 0;
  line-height: 1.625;
}

.prose-article :is(dl, .wp-block-definition-list),
.guide-content dl,
.entry-content dl {
  margin: 0 0 1.5rem;
}

.prose-article dt,
.guide-content dt,
.entry-content dt {
  color: rgb(var(--text-primary));
  font-weight: 600;
  margin-top: 1rem;
}

.prose-article dd,
.guide-content dd,
.entry-content dd {
  margin: 0.375rem 0 0 1rem;
  color: rgb(var(--text-secondary));
}

/* --- Blockquotes --- */

.prose-article blockquote:not(:is(.bluequote, .yellowquote, .redquote, .greyquote, .lightquote)),
.guide-content blockquote:not(:is(.bluequote, .yellowquote, .redquote, .greyquote, .lightquote)),
.entry-content blockquote:not(:is(.bluequote, .yellowquote, .redquote, .greyquote, .lightquote)),
.prose-article .wp-block-quote,
.guide-content .wp-block-quote,
.entry-content .wp-block-quote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--content-accent);
  background: rgb(var(--card-bg));
  color: rgb(var(--text-secondary));
  border-radius: 0 var(--radius) var(--radius) 0;
}

.prose-article blockquote cite,
.guide-content blockquote cite,
.entry-content blockquote cite,
.prose-article .wp-block-quote cite,
.guide-content .wp-block-quote cite {
  display: block;
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-style: normal;
  color: rgb(var(--text-secondary));
}

.prose-article .wp-block-pullquote,
.guide-content .wp-block-pullquote,
.entry-content .wp-block-pullquote {
  margin: 2rem 0;
  padding: 1.5rem;
  text-align: center;
  border-top: 1px solid rgb(var(--border-color));
  border-bottom: 1px solid rgb(var(--border-color));
  color: rgb(var(--text-primary));
}

.prose-article .wp-block-pullquote blockquote,
.guide-content .wp-block-pullquote blockquote,
.entry-content .wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* --- Legacy quote boxes (div.*quote shortcodes) --- */

:is(.prose-article, .guide-content, .entry-content) :is(.bluequote, .yellowquote, .redquote, .greyquote, .lightquote) {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border: 1px solid rgb(var(--border-color));
  border-left-width: 4px;
  border-radius: 0 var(--radius) var(--radius) 0;
  background: rgb(var(--card-bg));
  box-shadow: none;
}

:is(.prose-article, .guide-content, .entry-content) .bluequote {
  border-left-color: rgb(var(--color-brand));
  color: rgb(var(--text-secondary));
}

:is(.prose-article, .guide-content, .entry-content) .yellowquote {
  border-left-color: #f9d648;
  color: rgb(var(--text-secondary));
}

:is(.prose-article, .guide-content, .entry-content) .redquote {
  border-left-color: #ef5350;
  color: rgb(var(--text-secondary));
}

:is(.prose-article, .guide-content, .entry-content) .greyquote {
  border-left-color: rgb(var(--text-secondary));
  color: rgb(var(--text-secondary));
}

:is(.prose-article, .guide-content, .entry-content) .lightquote {
  border-left-color: rgb(var(--color-accent));
  background: rgb(var(--color-surface));
  color: rgb(var(--color-ink-muted));
}

:is(.prose-article, .guide-content, .entry-content) :is(.bluequote_titre, .yellowquote_titre, .redquote_titre, .greyquote_titre, .lightquote_titre) {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  overflow: hidden;
}

:is(.prose-article, .guide-content, .entry-content) .bluequote_titre,
:is(.prose-article, .guide-content, .entry-content) .bluequote_titre a {
  color: rgb(var(--color-brand));
}

:is(.prose-article, .guide-content, .entry-content) .yellowquote_titre,
:is(.prose-article, .guide-content, .entry-content) .yellowquote_titre a {
  color: #f9d648;
}

:is(.prose-article, .guide-content, .entry-content) .redquote_titre,
:is(.prose-article, .guide-content, .entry-content) .redquote_titre a {
  color: #ef5350;
}

:is(.prose-article, .guide-content, .entry-content) .greyquote_titre,
:is(.prose-article, .guide-content, .entry-content) .greyquote_titre a {
  color: rgb(var(--text-primary));
}

:is(.prose-article, .guide-content, .entry-content) .lightquote_titre,
:is(.prose-article, .guide-content, .entry-content) .lightquote_titre a {
  color: rgb(var(--text-primary));
}

:is(.prose-article, .guide-content, .entry-content) :is(.bluequote_titre, .yellowquote_titre, .redquote_titre, .greyquote_titre, .lightquote_titre) .source {
  float: right;
  margin-left: 1rem;
  font-weight: 500;
}

/* --- Code --- */

.prose-article :is(pre, .wp-block-code),
.guide-content pre,
.entry-content pre {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  overflow-x: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.875rem;
  line-height: 1.6;
  color: rgb(var(--text-primary));
  background: rgb(var(--card-bg));
  border: 1px solid rgb(var(--border-color));
  border-radius: var(--radius);
}

.prose-article :is(code, kbd, samp),
.guide-content :is(code, kbd, samp),
.entry-content :is(code, kbd, samp) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.875em;
}

.prose-article :not(pre) > code,
.guide-content :not(pre) > code,
.entry-content :not(pre) > code {
  padding: 0.15em 0.4em;
  color: rgb(var(--text-primary));
  background: rgb(var(--card-bg));
  border: 1px solid rgb(var(--border-color));
  border-radius: 0.25rem;
}

.prose-article kbd,
.guide-content kbd,
.entry-content kbd {
  padding: 0.15em 0.45em;
  border: 1px solid rgb(var(--border-color));
  border-bottom-width: 2px;
  border-radius: 0.25rem;
  background: rgb(var(--card-bg));
}

/* --- Tables --- */

.prose-article :is(table, .wp-block-table table, .tablepress),
.guide-content table,
.entry-content table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.prose-article :is(th, td),
.guide-content :is(th, td),
.entry-content :is(th, td),
.prose-article .tablepress :is(th, td) {
  padding: 0.75rem 1rem;
  border: 1px solid rgb(var(--border-color));
  text-align: left;
  vertical-align: top;
}

.prose-article :is(th, .tablepress thead th, .tablepress tfoot th),
.guide-content th,
.entry-content th {
  color: rgb(var(--text-primary));
  font-weight: 600;
  background: rgb(var(--card-bg));
}

.prose-article :is(td, .tablepress tbody td),
.guide-content td,
.entry-content td {
  color: rgb(var(--text-secondary));
}

.prose-article .wp-block-table,
.guide-content .wp-block-table,
.entry-content .wp-block-table,
.prose-article .tablepress-table-wrapper,
.guide-content .tablepress-table-wrapper {
  margin: 1.5rem 0;
  overflow-x: auto;
}

.prose-article .tablepress,
.guide-content .tablepress {
  max-width: 100%;
}

/* --- Images & captions --- */

.prose-article :is(figure, .wp-block-image),
.guide-content figure,
.entry-content figure {
  margin: 2rem 0;
}

.prose-article img,
.guide-content img,
.entry-content img {
  max-width: 100%;
  height: auto;
}

.prose-article :is(.aligncenter, .align-center),
.guide-content .aligncenter,
.entry-content .aligncenter {
  display: block;
  clear: both;
  margin-inline: auto;
  text-align: center;
}

.prose-article :is(.alignleft, .align-left),
.guide-content .alignleft,
.entry-content .alignleft {
  float: left;
  margin: 0.25rem 1.25rem 1rem 0;
}

.prose-article :is(.alignright, .align-right),
.guide-content .alignright,
.entry-content .alignright {
  float: right;
  margin: 0.25rem 0 1rem 1.25rem;
}

.prose-article .alignnone,
.guide-content .alignnone,
.entry-content .alignnone {
  float: none;
  margin-inline: 0;
}

/* Gutenberg alignment / size / color utilities (wp-block-library is dequeued). */

:is(.prose-article, .guide-content, .entry-content) .has-text-align-left {
  text-align: left;
}

:is(.prose-article, .guide-content, .entry-content) .has-text-align-center {
  text-align: center;
}

:is(.prose-article, .guide-content, .entry-content) .has-text-align-right {
  text-align: right;
}

:is(.prose-article, .guide-content, .entry-content) .has-text-align-justify {
  text-align: justify;
}

:is(.prose-article, .guide-content, .entry-content) :is(.has-small-font-size, .has-smaller-font-size) {
  font-size: 0.875em;
}

:is(.prose-article, .guide-content, .entry-content) :is(.has-regular-font-size, .has-normal-font-size) {
  font-size: 1em;
}

:is(.prose-article, .guide-content, .entry-content) .has-medium-font-size {
  font-size: 1.25em;
}

:is(.prose-article, .guide-content, .entry-content) :is(.has-large-font-size, .has-larger-font-size) {
  font-size: 1.75em;
  line-height: 1.35;
}

:is(.prose-article, .guide-content, .entry-content) :is(.has-x-large-font-size, .has-huge-font-size) {
  font-size: 2.25em;
  line-height: 1.25;
}

:is(.prose-article, .guide-content, .entry-content) .has-drop-cap:not(:focus)::first-letter {
  float: left;
  margin: 0.05em 0.12em 0 0;
  font-size: 3.4em;
  font-weight: 600;
  line-height: 0.85;
  color: rgb(var(--text-primary));
}

:is(.prose-article, .guide-content, .entry-content) .has-background {
  padding: 1.1em 1.35em;
}

:is(.prose-article, .guide-content, .entry-content) .has-text-color:not(.has-link-color) a {
  color: inherit;
}

:is(.prose-article, .guide-content, .entry-content) :is(.is-content-justification-left, .items-justified-left) {
  justify-content: flex-start;
}

:is(.prose-article, .guide-content, .entry-content) :is(.is-content-justification-center, .items-justified-center) {
  justify-content: center;
}

:is(.prose-article, .guide-content, .entry-content) :is(.is-content-justification-right, .items-justified-right) {
  justify-content: flex-end;
}

:is(.prose-article, .guide-content, .entry-content) :is(.is-content-justification-space-between, .items-justified-space-between) {
  justify-content: space-between;
}

:is(.prose-article, .guide-content, .entry-content) :is(.is-vertically-aligned-top, .are-vertically-aligned-top) {
  align-items: flex-start;
}

:is(.prose-article, .guide-content, .entry-content) :is(.is-vertically-aligned-center, .are-vertically-aligned-center) {
  align-items: center;
}

:is(.prose-article, .guide-content, .entry-content) :is(.is-vertically-aligned-bottom, .are-vertically-aligned-bottom) {
  align-items: flex-end;
}

.prose-article :is(.wp-caption, .wp-block-image figcaption, figcaption),
.guide-content :is(.wp-caption, figcaption),
.entry-content :is(.wp-caption, figcaption) {
  max-width: 100%;
}

.prose-article :is(.wp-caption-text, figcaption),
.guide-content :is(.wp-caption-text, figcaption),
.entry-content :is(.wp-caption-text, figcaption) {
  margin-top: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: rgb(var(--text-secondary));
  text-align: center;
}

/* Gallery layout is printed late from article-gallery.css so WP / Rocket cannot override it. */

/* --- Separators --- */

.prose-article :is(hr, .wp-block-separator),
.guide-content hr,
.entry-content hr {
  margin: 2rem 0;
  border: 0;
  border-top: 1px solid rgb(var(--border-color));
}

.prose-article .wp-block-separator.is-style-wide,
.guide-content .wp-block-separator.is-style-wide {
  border-top-width: 2px;
}

.prose-article .wp-block-separator.is-style-dots,
.guide-content .wp-block-separator.is-style-dots {
  border: 0;
  text-align: center;
  color: rgb(var(--text-secondary));
}

.prose-article .wp-block-separator.is-style-dots::before,
.guide-content .wp-block-separator.is-style-dots::before {
  content: "···";
  letter-spacing: 1em;
}

/* --- Embeds & media --- */

.prose-article :is(.wp-block-embed, .wp-block-embed__wrapper, .is-type-video),
.guide-content :is(.wp-block-embed, .is-type-video),
.entry-content :is(.wp-block-embed, .is-type-video) {
  margin: 2rem 0;
}

.prose-article :is(.wp-block-embed iframe, .wp-block-video video),
.guide-content .wp-block-embed iframe,
.entry-content .wp-block-embed iframe {
  width: 100%;
  max-width: 100%;
  border: 0;
}

.prose-article .wp-block-embed :is(.youtube, .vimeo, .dailymotion) iframe,
.guide-content .wp-block-embed iframe,
.entry-content .wp-block-embed iframe {
  aspect-ratio: 16 / 9;
  height: auto;
}

.prose-article :is(.iframe-shortcode, .apester-media),
.guide-content :is(.iframe-shortcode, .apester-media),
.entry-content :is(.iframe-shortcode, .apester-media) {
  margin: 1.5rem 0;
  max-width: 100%;
}

.prose-article .iframe-shortcode iframe,
.guide-content .iframe-shortcode iframe,
.entry-content .iframe-shortcode iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}

.prose-article .gg-steam-embed,
.guide-content .gg-steam-embed,
.entry-content .gg-steam-embed {
  margin: 1.5rem 0 2rem;
  overflow: hidden;
  border-radius: var(--radius, 0.5rem);
  background: rgb(var(--card-bg, 23 23 23));
}

.prose-article .gg-steam-embed iframe,
.guide-content .gg-steam-embed iframe,
.entry-content .gg-steam-embed iframe {
  height: 190px;
  min-height: 190px;
}

.prose-article .iframe-shortcode.iframe-ks,
.guide-content .iframe-shortcode.iframe-ks,
.entry-content .iframe-shortcode.iframe-ks {
  max-width: 16rem;
}

.prose-article :is(.twitter-tweet, .twitter-timeline),
.guide-content :is(.twitter-tweet, .twitter-timeline),
.entry-content :is(.twitter-tweet, .twitter-timeline) {
  margin: 1.5rem auto !important;
}

/* Responsive wrapper for gfycat and similar inline-ratio embeds */
.prose-article div[style*="padding-bottom"],
.guide-content div[style*="padding-bottom"],
.entry-content div[style*="padding-bottom"] {
  position: relative;
  max-width: 100%;
  margin: 1.5rem 0;
  overflow: hidden;
}

.prose-article div[style*="padding-bottom"] iframe,
.guide-content div[style*="padding-bottom"] iframe,
.entry-content div[style*="padding-bottom"] iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* --- WordPress layout blocks --- */

.prose-article :is(.wp-block-columns, .wp-block-group),
.guide-content :is(.wp-block-columns, .wp-block-group),
.entry-content :is(.wp-block-columns, .wp-block-group) {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 2.25rem 0;
}

@media (min-width: 768px) {
  .prose-article .wp-block-columns,
  .guide-content .wp-block-columns,
  .entry-content .wp-block-columns {
    flex-direction: row;
    align-items: stretch;
    gap: 2rem;
  }

  .prose-article .wp-block-column,
  .guide-content .wp-block-column,
  .entry-content .wp-block-column {
    flex: 1;
    min-width: 0;
  }

  /*
   * Two-column image + copy (conclusion / Onidragon aside): ~33% image, ~66% text.
   * Matches the editorial split regardless of which side holds the figure.
   */
  :is(.prose-article, .guide-content, .entry-content) .wp-block-columns:has(> .wp-block-column:nth-child(2)):not(:has(> .wp-block-column:nth-child(3))) > .wp-block-column:has(img):not(:has(:is(p, h1, h2, h3, h4, h5, h6, li, blockquote))) {
    flex: 1 1 0;
    max-width: 36%;
  }

  :is(.prose-article, .guide-content, .entry-content) .wp-block-columns:has(> .wp-block-column:nth-child(2)):not(:has(> .wp-block-column:nth-child(3))) > .wp-block-column:has(:is(p, h1, h2, h3, h4, h5, h6, li, blockquote)):not(:has(img:not(.emoji))) {
    flex: 2 1 0;
  }
}

:is(.prose-article, .guide-content, .entry-content) :is(
  img[src*="onidragon"],
  img[src*="Onidragon"],
  img[data-lazy-src*="onidragon"],
  img[data-lazy-src*="Onidragon"],
  img[data-src*="onidragon"],
  img[data-src*="Onidragon"]
) {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(260px, 100%);
  max-height: 260px;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
}

:is(.prose-article, .guide-content, .entry-content) :is(figure, .wp-block-image):has(img[src*="onidragon" i], img[data-lazy-src*="onidragon" i], img[data-src*="onidragon" i]) {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Points forts / points faibles thumbs — sit on the table header line, not at 48–259px. */
:is(.prose-article, .guide-content, .entry-content) :is(thead, th) :is(sub, sup):has(img) {
  font-size: inherit;
  vertical-align: middle;
  line-height: 0;
}

:is(.prose-article, .guide-content, .entry-content) :is(
  thead img,
  th img,
  img[src*="pouce_haut" i],
  img[src*="pouce_bas" i],
  img[src*="pouce-haut" i],
  img[src*="pouce-bas" i],
  img[data-lazy-src*="pouce_haut" i],
  img[data-lazy-src*="pouce_bas" i],
  img[data-lazy-src*="pouce-haut" i],
  img[data-lazy-src*="pouce-bas" i],
  img[data-src*="pouce_haut" i],
  img[data-src*="pouce_bas" i],
  img[srcset*="pouce_haut" i],
  img[srcset*="pouce_bas" i],
  img[data-lazy-srcset*="pouce_haut" i],
  img[data-lazy-srcset*="pouce_bas" i]
) {
  display: inline-block;
  width: 1.5rem !important;
  height: 1.5rem !important;
  max-width: 1.5rem;
  max-height: 1.5rem;
  margin: 0 0.4em 0 0;
  vertical-align: middle;
  object-fit: contain;
}

.prose-article .wp-block-columns,
.guide-content .wp-block-columns,
.entry-content .wp-block-columns {
  padding: 1.25rem 1.5rem;
  border: 1px solid rgb(var(--border-color));
  border-radius: var(--radius);
  background: rgb(var(--section-tint) / 0.08);
}

.prose-article .wp-block-columns .wp-block-image,
.guide-content .wp-block-columns .wp-block-image,
.entry-content .wp-block-columns .wp-block-image {
  margin: 0;
}

.prose-article .wp-block-column,
.guide-content .wp-block-column,
.entry-content .wp-block-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
}

.prose-article .wp-block-column > *:first-child,
.guide-content .wp-block-column > *:first-child,
.entry-content .wp-block-column > *:first-child {
  margin-top: 0;
}

.prose-article .wp-block-column > *:last-child,
.guide-content .wp-block-column > *:last-child,
.entry-content .wp-block-column > *:last-child {
  margin-bottom: 0;
}

.prose-article .wp-block-media-text,
.guide-content .wp-block-media-text,
.entry-content .wp-block-media-text {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
  border: 1px solid rgb(var(--border-color));
  background: rgb(var(--card-bg));
}

@media (min-width: 768px) {
  .prose-article .wp-block-media-text,
  .guide-content .wp-block-media-text,
  .entry-content .wp-block-media-text {
    grid-template-columns: 1fr 1fr;
  }
}

.prose-article .wp-block-media-text__content,
.guide-content .wp-block-media-text__content,
.entry-content .wp-block-media-text__content {
  padding: 1.25rem;
}

.prose-article .wp-block-button,
.guide-content .wp-block-button,
.entry-content .wp-block-button {
  margin: 1rem 0;
}

.prose-article .wp-block-button__link,
.guide-content .wp-block-button__link,
.entry-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.625rem 1.25rem;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none !important;
  background: var(--content-accent);
  border-radius: var(--radius);
  transition: filter 0.2s ease, transform 0.2s ease;
}

.prose-article .wp-block-button__link:hover,
.guide-content .wp-block-button__link:hover,
.entry-content .wp-block-button__link:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

.prose-article .wp-block-cover,
.guide-content .wp-block-cover,
.entry-content .wp-block-cover {
  margin: 2rem 0;
  border-radius: var(--radius);
  overflow: hidden;
}

.prose-article .wp-block-spacer,
.guide-content .wp-block-spacer {
  display: block;
}

/* --- Utilities inside content --- */

.prose-article .clearboth,
.guide-content .clearboth,
.entry-content .clearboth {
  display: block;
  clear: both;
  height: 0;
  overflow: hidden;
}

.prose-article .center-block,
.guide-content .center-block,
.entry-content .center-block {
  display: block;
  margin-inline: auto;
}

.prose-article .last,
.guide-content .last,
.entry-content .last {
  margin-right: 0 !important;
}

.prose-article::after,
.guide-content::after,
.entry-content::after {
  content: "";
  display: table;
  clear: both;
}
