/* Shared block presentation in Gutenberg's canvas and published articles. */
:is(.sp-article-content, .editor-styles-wrapper) {
  color: var(--skupeek-text-secondary);
  background: var(--skupeek-background);
  font: 400 18px/1.8 var(--skupeek-font);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.editor-styles-wrapper { padding-inline: var(--skupeek-gutter); }
.editor-styles-wrapper .wp-block { max-width: var(--skupeek-reading-width); }
.editor-styles-wrapper .wp-block[data-align="wide"] { max-width: var(--skupeek-wide-width); }
.editor-styles-wrapper .wp-block[data-align="full"] { max-width: none; }
:is(.sp-article-content, .editor-styles-wrapper) :where(p, ul, ol, blockquote, figure, pre, .wp-block-group, .wp-block-columns, .wp-block-buttons) { margin-block: 0 var(--skupeek-space-6); }
:is(.sp-article-content, .editor-styles-wrapper) :where(h1, h2, h3, h4, h5, h6) { color: var(--skupeek-text); font-family: var(--skupeek-font); font-weight: 700; line-height: 1.25; letter-spacing: 0; }
:is(.sp-article-content, .editor-styles-wrapper) h1 { margin-block: var(--skupeek-space-10) var(--skupeek-space-6); font-size: 36px; }
:is(.sp-article-content, .editor-styles-wrapper) h2 { margin-block: var(--skupeek-space-12) var(--skupeek-space-5); font-size: 30px; }
:is(.sp-article-content, .editor-styles-wrapper) h3 { margin-block: var(--skupeek-space-8) var(--skupeek-space-4); font-size: 24px; }
:is(.sp-article-content, .editor-styles-wrapper) h4 { margin-block: var(--skupeek-space-6) var(--skupeek-space-3); font-size: 20px; }
:is(.sp-article-content, .editor-styles-wrapper) :where(h5, h6) { margin-block: var(--skupeek-space-6) var(--skupeek-space-3); font-size: 18px; }
:is(.sp-article-content, .editor-styles-wrapper) :where(ul, ol) { padding-left: var(--skupeek-space-6); }
:is(.sp-article-content, .editor-styles-wrapper) li { margin-bottom: var(--skupeek-space-2); }
:is(.sp-article-content, .editor-styles-wrapper) li > :where(ul, ol) { margin-block: var(--skupeek-space-2) 0; }
.skupeek-site .sp-article-content a:not(.wp-block-button__link),
.editor-styles-wrapper a:not(.wp-block-button__link) { color: var(--skupeek-primary); text-decoration: underline; text-underline-offset: 3px; }
.skupeek-site .sp-article-content a:not(.wp-block-button__link):hover,
.editor-styles-wrapper a:not(.wp-block-button__link):hover { color: var(--skupeek-primary-hover); }
:is(.sp-article-content, .editor-styles-wrapper) :where(a, button):focus-visible { outline: 2px solid var(--skupeek-focus); outline-offset: 2px; }
:is(.sp-article-content, .editor-styles-wrapper) :where(img, video) { max-width: 100%; height: auto; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-image img { border-radius: var(--skupeek-radius-lg); }
:is(.sp-article-content, .editor-styles-wrapper) figure { margin-inline: 0; }
:is(.sp-article-content, .editor-styles-wrapper) figcaption { margin-top: var(--skupeek-space-3); color: var(--skupeek-text-subtle); font-size: 14px; line-height: 24px; text-align: left; }
:is(.sp-article-content, .editor-styles-wrapper) blockquote { padding: var(--skupeek-space-4) var(--skupeek-space-6); border-left: 3px solid var(--skupeek-primary); background: var(--skupeek-surface); color: var(--skupeek-text-muted); font-size: inherit; font-style: normal; }
:is(.sp-article-content, .editor-styles-wrapper) blockquote p:last-of-type { margin-bottom: 0; }
:is(.sp-article-content, .editor-styles-wrapper) blockquote cite { display: block; margin-top: var(--skupeek-space-3); color: var(--skupeek-text-subtle); font-size: 14px; font-style: normal; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table { overflow-x: auto; overscroll-behavior-x: contain; margin-block: var(--skupeek-space-8); border: 1px solid var(--skupeek-border); border-radius: var(--skupeek-radius-lg); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table table { width: 100%; margin: 0; border: 0; border-collapse: collapse; color: var(--skupeek-text-secondary); font-family: var(--skupeek-font); font-size: 14px; line-height: 24px; font-variant-numeric: tabular-nums; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table :where(th, td) { min-width: 112px; padding: var(--skupeek-space-3) var(--skupeek-space-4); border: 0; border-bottom: 1px solid var(--skupeek-border); text-align: left; vertical-align: top; overflow-wrap: normal; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table :where(th, td):not(:last-child) { border-right: 1px solid var(--skupeek-border); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table th { background: var(--skupeek-surface); color: var(--skupeek-text-muted); font-weight: 600; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table .has-text-align-right { text-align: right; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table .has-text-align-center { text-align: center; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table table.has-fixed-layout { min-width: min-content; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table tbody tr:last-child td { border-bottom: 0; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table :where(thead, tfoot) { border: 0; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table tfoot td { border-top: 1px solid var(--skupeek-border); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--skupeek-surface); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-table figcaption { margin: 0; padding: var(--skupeek-space-3) var(--skupeek-space-4); border-top: 1px solid var(--skupeek-border); background: var(--skupeek-background); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-buttons { gap: var(--skupeek-space-3); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-button .wp-block-button__link { display: inline-flex; min-height: 44px; padding: calc(var(--skupeek-space-3) - 1px) var(--skupeek-space-5); align-items: center; justify-content: center; border: 1px solid transparent; border-radius: var(--skupeek-radius-md); background: var(--skupeek-primary); color: var(--skupeek-background); font-family: var(--skupeek-font); font-size: 14px; font-weight: 500; line-height: 20px; text-decoration: none; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-button .wp-block-button__link:hover { background: var(--skupeek-primary-hover); color: var(--skupeek-background); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-button .wp-block-button__link:focus { background: var(--skupeek-primary); color: var(--skupeek-background); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link { border: 1px solid var(--skupeek-border); background: var(--skupeek-background); color: var(--skupeek-text-secondary); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--skupeek-surface); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-group.has-background { padding: var(--skupeek-space-6); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-group__inner-container { max-width: none; padding: 0; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-columns { gap: var(--skupeek-space-8); }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-column { min-width: 0; }
:is(.sp-article-content, .editor-styles-wrapper) .wp-block-separator { width: 100%; height: 1px; margin-block: var(--skupeek-space-10); border: 0; background: var(--skupeek-border); }
:is(.sp-article-content, .editor-styles-wrapper) pre { overflow-x: auto; padding: var(--skupeek-space-5); border: 1px solid var(--skupeek-border); border-radius: var(--skupeek-radius-md); background: var(--skupeek-surface); font-size: 14px; line-height: 24px; white-space: pre; }
:is(.sp-article-content, .editor-styles-wrapper) > :last-child { margin-bottom: 0; }

/* Native Group patterns stay editable and use the same presentation in both canvases. */
:is(.sp-article-content, .editor-styles-wrapper) :is(.sp-key-findings, .sp-research-callout) { margin-block: var(--skupeek-space-8); padding: var(--skupeek-space-5) var(--skupeek-space-6); border-left: 3px solid var(--skupeek-primary); background: var(--skupeek-surface); }
:is(.sp-article-content, .editor-styles-wrapper) :is(.sp-key-findings, .sp-research-callout) > :first-child { margin-top: 0; }
:is(.sp-article-content, .editor-styles-wrapper) :is(.sp-key-findings, .sp-research-callout) > :last-child { margin-bottom: 0; }
:is(.sp-article-content, .editor-styles-wrapper) :is(.sp-key-findings, .sp-research-callout) :is(h2, h3) { margin: 0 0 var(--skupeek-space-4); font-size: 20px; line-height: 28px; }
:is(.sp-article-content, .editor-styles-wrapper) :is(.sp-key-findings, .sp-research-callout) :is(p, li) { color: var(--skupeek-text-control); font-size: 16px; line-height: 28px; }
:is(.sp-article-content, .editor-styles-wrapper) .sp-key-findings ul { margin: 0; padding-left: var(--skupeek-space-5); }
:is(.sp-article-content, .editor-styles-wrapper) .sp-key-findings li:last-child { margin-bottom: 0; }

/* The native CTA pattern also appears outside the article content container. */
.sp-research-cta { margin-block: 0; padding-block: var(--skupeek-space-8); border-top: 1px solid var(--skupeek-primary-border); background: var(--skupeek-background); color: var(--skupeek-text); font-family: var(--skupeek-font); text-align: center; }
.sp-research-cta > .sp-container { width: 100%; max-width: var(--skupeek-wide-width); margin: 0 auto; padding: 0 var(--skupeek-gutter); }
.sp-research-cta h2 { margin: 0; color: var(--skupeek-text); font-size: 24px; font-weight: 700; line-height: 30px; overflow-wrap: anywhere; }
.sp-research-cta p { margin: var(--skupeek-space-4) 0 0; color: var(--skupeek-text-muted); font-size: 16px; line-height: 28px; }
.sp-research-cta .sp-cta-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: var(--skupeek-space-3); margin: var(--skupeek-space-4) 0 0; }
.sp-research-cta .wp-block-button { margin: 0; }
.sp-research-cta .wp-block-button .wp-block-button__link { display: inline-flex; min-height: 44px; width: 100%; padding: var(--skupeek-space-3) var(--skupeek-space-5); align-items: center; justify-content: center; border: 0; border-radius: var(--skupeek-radius-md); background: var(--skupeek-primary); color: var(--skupeek-background); font-family: var(--skupeek-font); font-size: 14px; font-weight: 500; line-height: 20px; text-decoration: none; box-shadow: 0 10px 15px -3px var(--skupeek-primary-shadow), 0 4px 6px -4px var(--skupeek-primary-shadow); }
.sp-research-cta .wp-block-button .wp-block-button__link:hover { background: var(--skupeek-primary-hover); color: var(--skupeek-background); }
.sp-research-cta .wp-block-button .wp-block-button__link:focus { background: var(--skupeek-primary); color: var(--skupeek-background); }
.sp-research-cta .wp-block-button .wp-block-button__link:focus-visible { outline: 2px solid var(--skupeek-focus); outline-offset: 2px; }

@media (min-width: 640px) {
  .sp-research-cta { padding-block: var(--skupeek-space-6); }
  .sp-research-cta .sp-cta-actions { flex-direction: row; }
}
