/* Native-editor body only. No hero rules and no replacement page layout.
   Sections use Supertree .band/.container; grids and columns belong to blocks. */
.panda-editor-content,
.editor-styles-wrapper {
  /* Reuse existing WP preset slugs, mapped to the actual Panda identity. */
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--light-gray: #f4f5f7;
  --wp--preset--color--text: #1d2430;
  --wp--preset--color--text-soft: #404958;
  --wp--preset--color--purple: #c73557;
  --wp--preset--color--purple-bold: #9f2744;
  --wp--preset--color--line: #dce0e5;
  --wp--preset--color--black: #0d1118;
  /* Native typography presets must not shrink with the old fluid html root. */
  --wp--preset--font-size--x-small: 13px;
  --wp--preset--font-size--small: 15px;
  --wp--preset--font-size--medium: 17px;
  --wp--preset--font-size--large: 20px;
  --wp--preset--font-size--x-large: 28px;
  --wp--preset--font-size--display: 36px;
  --wp--preset--font-size--hero: 48px;
  font-family: Manrope, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: var(--panda-body);
}

/* The inherited palette has a `text` slug, whose .has-text-color rule
   collides with WP's generic colour flag. Keep each actual native preset
   authoritative inside page/pattern content, including white on dark panels. */
:is(.panda-editor-content, .editor-styles-wrapper) .has-text-color { color: var(--wp--preset--color--text) !important; }
:is(.panda-editor-content, .editor-styles-wrapper) .has-text-soft-color { color: var(--wp--preset--color--text-soft) !important; }
:is(.panda-editor-content, .editor-styles-wrapper) .has-purple-color { color: var(--wp--preset--color--purple) !important; }
:is(.panda-editor-content, .editor-styles-wrapper) .has-purple-bold-color { color: var(--wp--preset--color--purple-bold) !important; }
:is(.panda-editor-content, .editor-styles-wrapper) .has-line-color { color: var(--wp--preset--color--line) !important; }
:is(.panda-editor-content, .editor-styles-wrapper) .has-light-gray-color { color: var(--wp--preset--color--light-gray) !important; }
:is(.panda-editor-content, .editor-styles-wrapper) .has-black-color { color: var(--wp--preset--color--black) !important; }
:is(.panda-editor-content, .editor-styles-wrapper) .has-white-color { color: var(--wp--preset--color--white) !important; }

/* Do not let the legacy fluid 1rem paragraph/list fallback fight the editor's
   group typography. Explicit block typography remains editable and wins. */
.panda-editor-content :where(p, li) { font-size: inherit; line-height: inherit; }
.panda-editor-content [id] { scroll-margin-top: 112px; }

/* Prose links need a persistent non-colour cue, on the page and in Gutenberg.
   Buttons/card headings retain their existing component treatments. */
:is(.panda-editor-content, .editor-styles-wrapper) :is(p, li) a:not(.wp-block-button__link, .btn-primary, .btn-outline, .btn-text) {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  text-decoration-skip-ink: auto;
}
:is(.panda-editor-content, .editor-styles-wrapper) :is(p, li) a:not(.wp-block-button__link, .btn-primary, .btn-outline, .btn-text):is(:hover, :focus-visible) {
  text-decoration-thickness: 2px;
}

/* Canvas equivalence, scoped to this opt-in template by the settings filter. */
.editor-styles-wrapper {
  --wp--style--global--content-size: 1200px;
  --wp--style--global--wide-size: 1200px;
  background: var(--panda-haze);
}
.editor-styles-wrapper .is-root-container { max-width: none; }
/* Match the public base element treatment without importing site chrome. */
.editor-styles-wrapper *,
.editor-styles-wrapper *::before,
.editor-styles-wrapper *::after { box-sizing: border-box; }
.editor-styles-wrapper a { color: inherit; text-decoration: none; }
.editor-styles-wrapper img { display: block; }
.editor-styles-wrapper .section-label {
  color: var(--panda-green-700);
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: none;
  letter-spacing: .025em;
}
.editor-styles-wrapper .section-label::before { display: none; }
