Skip to content

PR: Add style variations and preset cleanup#1

Open
ZaredRogers wants to merge 6 commits intodevelopfrom
theme-update
Open

PR: Add style variations and preset cleanup#1
ZaredRogers wants to merge 6 commits intodevelopfrom
theme-update

Conversation

@ZaredRogers
Copy link
Contributor

@ZaredRogers ZaredRogers commented Feb 6, 2026

General Pull Request

This repository enforces changelog, release, and label automation for all PRs and issues.
See the organisation-wide Automation Governance & Release Strategy for contributor rules.

Changelog

Added

  • Style variation files for Medical Chronicle, SA Ophthalmology Journal, Specialist Forum, and Pharmacy Magazine.
  • Variable WOFF2 font assets for Nunito Sans, Roboto, Roboto Slab, Rubik, and Frank Ruhl Libre.

Changed

  • Updated pattern and stylesheet preset references to numeric font-size/spacing/color slugs.
  • Aligned button and text color presets to the new token set.

Fixed

  • Removed orphaned preset references across patterns and styles.

Removed


Risk Assessment

Risk Level: Medium

Potential Impact:

  • Theme presets and pattern styling could render incorrectly if any tokens are missing or mis-mapped.

Mitigation Steps:

  • Updated presets consistently across patterns and styles.
  • Verify style variations and key templates in the editor and front-end.

How to Test

Prerequisites

  • WordPress running with the ma-theme active.

Test Steps

  1. Step 1: Open the Site Editor and insert the updated patterns (hero, query grids/lists, 404). Confirm typography sizes render correctly.
  2. Step 2: Switch between style variations (Medical Chronicle, SA Ophthalmology Journal, Specialist Forum, Pharmacy Magazine) and confirm palette + fonts change.
  3. Step 3: View front-end templates (home, single, 404) and confirm colors and spacing presets resolve.

Expected Results

  • No missing preset warnings, fonts load correctly, and patterns render as designed.

Edge Cases to Verify

  • 404 page with no posts
  • Query blocks with empty results
  • Mobile viewport spacing and typography
  • Keyboard navigation focus states

Checklist (Global DoD / PR)

  • All AC met and demonstrated
  • Tests added/updated (unit/E2E as appropriate)
  • A11y considerations addressed where relevant
  • Docs/readme/changelog updated (if user-facing)
  • Security/perf impact reviewed where relevant
  • Code/design reviews approved
  • CI green; linked issues closed; release notes prepared (if shipping)
  • Risk assessment completed above
  • Testing instructions provided above

References

Summary by CodeRabbit

  • New Features

    • Added expanded theme configuration options with richer color palettes, new presets, and additional font-family support.
    • Editor styling enhancements for a clearer block editing experience.
  • Style & Design Updates

    • Unified design tokens: updated color themes, font-size scale, and spacing for consistent visuals.
    • Refreshed templates and component styles for improved typography hierarchy and layout.
  • Chores

    • Removed legacy style presets and simplified theme manifest entries.

@coderabbitai
Copy link

coderabbitai bot commented Feb 6, 2026

Warning

Rate limit exceeded

@ZaredRogers has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 0 minutes and 25 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Note

.coderabbit.yml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: '$schema', 'path_filters', 'auto_review', 'path_instructions'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
📝 Walkthrough

Walkthrough

Large theme-wide update: tokenized color/typography migration, extensive theme.json restructuring, removal of legacy style presets, addition of multiple new theme variant manifests, many block pattern style updates, and new editor/frontend CSS assets.

Changes

Cohort / File(s) Summary
Theme schema & core config
theme.json
Major schema update to official WP 6.9 URL and extensive restructuring: new layout, styles, spacing, public color/typography token system, fontFamilies, templateParts, customTemplates, and expanded per-block style declarations.
New theme variant manifests
styles/mc.json, styles/pm.json, styles/saoj.json, styles/sf.json
Added four new theme.json-style manifests defining palettes, fontFamilies/fontFace entries, typography presets, and style mappings (local WOFF2 assets referenced).
Removed legacy style files & presets
styles/blocks/button-primary.json, styles/blocks/button-rounded.json, styles/blocks/heading-serif.json, styles/colors/palette.json, styles/dark.json, styles/presets/dark.json, styles/sections/content-section.json, styles/sections/hero-section.json, styles/typography/serif-titles.json
Deleted multiple legacy theme/preset JSON files and section fragments (color palettes, button/heading presets, dark preset, hero/content section styles, typography tokens).
Block pattern styling updates
patterns/*.php, inc/block-patterns.php
Widespread presentation-only updates across patterns: font-size token changes (e.g., large→500, medium→400, small→300), spacing updates (many uses of 90), color token swaps (primary/background→information-foreground/error-background, neutral→neutral-900), border/token class renames; content structure unchanged.
Post & metadata patterns
patterns/post-card.php, patterns/post-meta.php, patterns/single-post-content.php, patterns/query-posts-grid.php, patterns/query-posts-list.php
Typography and spacing tweaks for post-related patterns (font-size token updates, blockGap adjustments, borderColor → neutral-900); no behavior changes.
Header/footer/other patterns
patterns/header.php, patterns/footer.php, patterns/hero.php, patterns/call-to-action.php, patterns/comments.php, patterns/features.php, patterns/testimonials.php, patterns/author-header.php, patterns/404-content.php, patterns/testimonials.php
Consistent token and class updates for color and typography across header, footer, hero, CTA, comments, features, testimonials, author header, 404 content.
CSS: editor & frontend assets
src/css/editor.css, src/css/editor.min.css, src/css/editor.scss, src/css/style.css, src/css/style.min.css, src/css/style.scss
Added new editor and frontend stylesheets and SCSS changes: imports, custom properties, accessibility helpers, button/quote/group/image/nav styles, inspector/editor overrides; token substitutions to new color/spacing variables.
Template adjustment
templates/home-sidebar.html
Updated left column gap spacing token from `var:preset
Block patterns registration
inc/block-patterns.php
Updated pattern content strings for hero/CTA/team patterns to use new tokens and spacing (padding 90, neutral-900, information-foreground, error-background).
Build / instructions tweak
.github/instructions/wpcs-css.instructions.md, functions.php
.github instruction field applyTo changed from an array to a comma-separated string. functions.php now enqueues 'wp-block-editor' unconditionally at start of editor enqueue function.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: addition of style variations and cleanup of presets, which is the primary focus of the changeset across multiple files.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch theme-update

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link

Summary of Changes

Hello @ZaredRogers, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a comprehensive update to the theme's styling system. It adds several new style variations, each with distinct visual characteristics, and significantly refactors how colors, spacing, and typography are defined and referenced across the theme. The changes aim to standardize the theme's design tokens, improve maintainability, and provide greater flexibility for future customization.

Highlights

  • New Style Variations: Introduced four new style variations: Medical Chronicle, SA Ophthalmology Journal, Specialist Forum, and Pharmacy Magazine, each with unique color palettes and font families.
  • Font Assets: Added variable WOFF2 font assets for Nunito Sans, Roboto, Roboto Slab, Rubik, and Frank Ruhl Libre to support the new style variations.
  • Preset Cleanup and Standardization: Refactored pattern and stylesheet preset references to use a new numeric system for font-size, spacing, and color slugs, replacing older descriptive names (e.g., 'x-large' to '90'). This includes aligning button and text color presets to a new token set and removing orphaned preset references.
  • Theme.json Overhaul: The main theme.json file has been significantly updated to reflect the new numeric preset system for colors, spacing, typography, and shadows, and to integrate the new font families and style definitions.
  • CSS Updates: New editor.css and style.css files (and their minified/map versions) have been added, and editor.scss and style.scss have been updated to incorporate the new color and spacing variables, and to define new block and element styles.
Changelog
  • .github/instructions/wpcs-css.instructions.md
    • Changed applyTo field from an array to a comma-separated string for CSS file matching.
  • inc/block-patterns.php
    • Updated spacing presets (e.g., x-large to 90, medium to 90).
    • Updated font size presets (e.g., xx-large to 700, large to 500).
    • Updated color presets (e.g., primary to information-foreground, background to error-background, neutral to neutral-900).
  • patterns/404-content.php
    • Updated font size presets (e.g., large to 500, small to 300).
  • patterns/author-header.php
    • Updated font size preset (medium to 400).
  • patterns/call-to-action.php
    • Updated color presets (primary to information-foreground, background to error-background).
    • Updated font size preset (medium to 400).
  • patterns/comments.php
    • Updated spacing preset (medium to 90).
  • patterns/features.php
    • Updated color presets (neutral to neutral-900).
    • Updated font size preset (large to 500).
  • patterns/footer.php
    • Updated color presets (neutral to neutral-900, foreground to error-foreground).
    • Updated font size presets (e.g., large to 500, small to 300, medium to 400).
  • patterns/header.php
    • Updated color presets (background to error-background, foreground to error-foreground).
    • Updated font size presets (e.g., medium to 400, small to 300).
  • patterns/hero.php
    • Updated font size preset (large to 500).
  • patterns/post-card.php
    • Updated color presets (neutral to neutral-900).
    • Updated font size presets (e.g., x-small to 200, medium to 400, small to 300).
    • Adjusted blockGap spacing.
  • patterns/post-meta.php
    • Updated font size preset (small to 300).
  • patterns/query-posts-grid.php
    • Updated font size presets (e.g., small to 300, medium to 400).
  • patterns/query-posts-list.php
    • Updated font size presets (e.g., large to 500, small to 300).
  • patterns/single-post-content.php
    • Adjusted blockGap spacing.
    • Updated font size preset (small to 300).
  • patterns/testimonials.php
    • Updated color presets (neutral to neutral-900, background to error-background).
    • Updated font size preset (small to 300).
  • src/css/editor.css
    • Added new editor-specific CSS file.
  • src/css/editor.css.map
    • Added source map for editor.css.
  • src/css/editor.min.css
    • Added minified editor.css.
  • src/css/editor.min.css.map
    • Added source map for editor.min.css.
  • src/css/editor.scss
    • Updated color presets (background to error-background, neutral to neutral-900, primary to information-foreground).
  • src/css/style.css
    • Added new main theme CSS file.
  • src/css/style.css.map
    • Added source map for style.css.
  • src/css/style.min.css
    • Added minified style.css.
  • src/css/style.min.css.map
    • Added source map for style.min.css.
  • src/css/style.scss
    • Updated theme color properties to use new numeric color slugs.
    • Updated spacing properties to use new numeric spacing slugs (e.g., x-small to 90).
    • Updated button hover color, quote color, group padding, post title gradient, navigation padding, and skip-link colors to align with new presets.
  • styles/blocks/button-primary.json
    • Removed old button style definition file.
  • styles/blocks/button-rounded.json
    • Removed old button style definition file.
  • styles/blocks/heading-serif.json
    • Removed old heading style definition file.
  • styles/colors/palette.json
    • Removed old color palette definition file.
  • styles/dark.json
    • Removed old dark mode style definition file.
  • styles/mc.json
    • Added new style variation file for Medical Chronicle, including specific color palette and font families (Montserrat, Nunito Sans).
  • styles/pm.json
    • Added new style variation file for Pharmacy Magazine, including specific color palette and font families (Rubik, Frank Ruhl Libre).
  • styles/presets/dark.json
    • Removed old dark mode preset definition file.
  • styles/saoj.json
    • Added new style variation file for SA Ophthalmology Journal, including specific color palette and font families (Roboto Slab, Roboto).
  • styles/sections/content-section.json
    • Removed old content section style definition file.
  • styles/sections/hero-section.json
    • Removed old hero section style definition file.
  • styles/sf.json
    • Added new style variation file for Specialist Forum, including specific color palette and font families (Rubik, Frank Ruhl Libre).
  • styles/typography/serif-titles.json
    • Removed old serif typography definition file.
  • templates/home-sidebar.html
    • Updated spacing preset (large to 90).
  • theme.json
    • Updated $schema reference.
    • Refactored color settings: removed default palettes/gradients, introduced a new extensive numeric-based color palette (Neutral, Cta, Brand, Accent, Information, Success, Warning, Error colors).
    • Refactored typography settings: removed old fluid properties, font families, and font sizes. Introduced new fluid font sizes (100-900) and new font families (Montserrat, Ubuntu) with fontFace definitions.
    • Refactored spacing settings: defaultSpacingSizes set to false, spacingSizes replaced with new numeric-based slugs (5-100) using clamp values.
    • Removed old dimensions settings (aspectRatio, minHeight, defaultAspectRatios, aspectRatios).
    • Refactored shadow settings: defaultPresets set to false, presets replaced with new numeric-based slugs (100-600) with specific shadow values.
    • Removed old background settings (backgroundImage, backgroundSize).
    • Refactored border settings: radius enabled, radiusSizes defined with new numeric slugs (0-500).
    • Updated block-specific styles for core/avatar, core/button (including new outline variation), core/columns, core/buttons, core/code, core/comment-author-name, core/comment-content, core/comment-date, core/comment-edit-link, core/comment-reply-link, core/post-comments-form, core/comments-pagination (and its sub-blocks), core/post-date, core/post-navigation-link, core/post-terms, core/post-title, core/quote (including new plain variation), core/pullquote, core/query-pagination, core/search, core/separator (including new wide variation), core/site-tagline, core/site-title, core/term-description, core/navigation, and core/list to align with the new numeric preset system and introduce new styling properties.
    • Introduced a new custom section for color tokens (txt, bg, input, disabled, cta, brand, accent) and lineHeight values.
    • Updated element-specific styles for button, caption, heading (and h1-h6), and link to use the new numeric presets and styling properties.
    • Updated templateParts to include new header and footer variations and removed some old ones.
    • Updated customTemplates to simplify page-no-title.
  • theme.json.bk
    • Added a backup of the previous theme.json file.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@ZaredRogers ZaredRogers requested review from Copilot and krugazul and removed request for Copilot February 6, 2026 10:58
@ZaredRogers ZaredRogers self-assigned this Feb 6, 2026
@ZaredRogers ZaredRogers added area:theme Theme & styles (templates, template parts, FSE) comp:style-variations JSON style variations comp:theme-json Tokens, presets, settings lang:json JSON config/content labels Feb 6, 2026
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request primarily updates WordPress block patterns and theme styles to align with a new design system, introducing new color and spacing presets. Key changes include replacing descriptive spacing values (e.g., x-large, medium) with numeric ones (e.g., 90, 50), updating color assignments in various blocks (e.g., primary to information-foreground, background to error-background, neutral to neutral-900), and adjusting font sizes (e.g., xx-large to 700, large to 500, small to 300). Additionally, new editor-specific CSS styles are introduced, and the main theme.json file is significantly refactored to define a new color palette, typography settings, spacing scales, and block-specific styles, replacing previous generic values. Review comments highlight a duplicate cta-800 color slug in the theme.json palette, inconsistent custom spacing variable definitions in style.scss (all set to 90), and the problematic use of !important in custom CSS for core/post-comments-form and core/separator blocks. A backup file, theme.json.bk, was also mistakenly committed and needs removal.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 16

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/css/style.scss (1)

161-169: ⚠️ Potential issue | 🟡 Minor

.is-style-gradient applies a flat color, not a gradient.

background: var(--wp--preset--color--information-foreground) is a single solid color. Combined with background-clip: text, this is functionally identical to setting color — the "gradient" class name is misleading and the visual effect is just colored text, not gradient text. If a gradient is intended, use linear-gradient(...).

🤖 Fix all issues with AI agents
In `@src/css/editor.min.css`:
- Line 1: Remove or resolve the node_modules import at the top (the `@import`
"../../node_modules/@wordpress/block-editor/build-style/style.css" line) so the
built file doesn't include unresolved imports—either delete that import
(WordPress already enqueues block-editor styles in the editor) or configure your
PostCSS/webpack pipeline to resolve and inline that stylesheet during build so
build/css/editor-style.css contains the inlined CSS. Also change the color token
used in the .block-editor-block-inspector .components-panel__header rule
(currently var(--wp--preset--color--error-background)) to a neutral or surface
token (e.g., var(--wp--preset--color--neutral-100) or
var(--wp--preset--color--background)) to avoid implying an error state for a
panel header.

In `@src/css/style.scss`:
- Around line 21-25: The five theme spacing CSS variables (--theme-spacing-xs,
--theme-spacing-sm, --theme-spacing-md, --theme-spacing-lg, --theme-spacing-xl)
are all set to the same --wp--preset--spacing--90 which collapses the scale;
update each variable to a distinct spacing preset (for example map
xs→--wp--preset--spacing--30, sm→--wp--preset--spacing--50,
md→--wp--preset--spacing--60, lg→--wp--preset--spacing--70,
xl→--wp--preset--spacing--90) to restore a graduated scale, or if these
identical values are intentional as a temporary placeholder add a clear /* TODO:
set real spacing presets */ comment above the block referencing the variable
names so future reviewers know it’s temporary.
- Around line 13-18: The CSS custom-property aliases (--theme-primary,
--theme-secondary, --theme-background, --theme-foreground, --theme-accent,
--theme-neutral) currently map to WP tokens whose semantics (e.g.,
--wp--preset--color--error-background,
--wp--preset--color--information-foreground) are misleading; fix by either
renaming the WP tokens to reflect their actual role (so
--wp--preset--color--error-background becomes a semantically correct name like
--wp--preset--color--base-background) or remove these --theme-* aliases entirely
and use the WP preset tokens directly where the theme variables are consumed
(update references to --theme-background, --theme-primary, etc. to point at the
appropriate --wp--preset--color--* tokens), and ensure you do not leave any
other rules referencing the old aliases to avoid accidental coupling between
error/information palettes and global theme styles.

In `@styles/pm.json`:
- Around line 7-144: The palette array in this variation ("palette") only
defines Cta/Brand/Accent groups so WordPress will replace the entire palette and
drop neutral/semantic tokens; fix by adding the missing neutral and semantic
color tokens (e.g., "neutral-900", "neutral-700", "error-background",
"error-foreground", "information-foreground", etc.) into the same "palette"
array in pm.json with the same slug names used in the main theme, or
alternatively change the build/merge logic to merge palettes instead of
replacing the "palette" array so tokens referenced by the theme (neutral/* and
semantic tokens) remain defined when pm.json is active.

In `@styles/saoj.json`:
- Around line 7-145: The custom color.palette in saoj.json replaces the parent
palette and omits 18 required tokens so components fail to resolve; update the
"color.palette" in saoj.json to include the missing semantic, neutral and base
tokens (error-background, error-foreground, information-background,
information-foreground, success-background, success-foreground,
warning-background, warning-foreground, neutral-100 through neutral-900, base,
contrast) or change the variation to only override the specific CTA/Brand/Accent
tokens and allow fallback to the parent theme; ensure the added entries use the
same "color"/"name"/"slug" structure as existing items so references like
neutral-900 and error-background resolve.

In `@theme.json`:
- Around line 1092-1102: The heading block in theme.json nests "color" inside
"typography", which WordPress ignores; update the "heading" object so "color" is
a sibling of "typography" (i.e., move the existing "color":
{"text":"var:preset|color|contrast"} out one level so "heading" contains both
"typography": { ... } and "color": { ... }); verify the "heading" key still
contains "typography", "color", and any other existing properties unchanged.
- Around line 96-110: Fix the palette scale so slugs and names are unique and
sequential: change the first offending palette entry that currently uses "slug":
"cta-800" and "name": "Cta 800" (color "#8E3715") to use "slug": "cta-700" and
"name": "Cta 700" to restore the missing cta-700 step, and ensure the remaining
"slug": "cta-800" stays unique; also update the "cta-900" entry so its color is
a distinct, darker value than the cta-800 entry (confirm the exact hex with
design) so each cta-{700,800,900} slug maps to unique colors and names.

In `@theme.json.bk`:
- Around line 217-246: Foreground/background token pairs (warning-, error-,
success-, information-) use identical hex colors causing unreadable text; update
the background tokens (warning-background, error-background, success-background,
information-background) to lighter tints (or adjust the corresponding
foregrounds) so each pair has sufficient contrast, e.g., generate lighter
background hexes for those slugs and replace the identical values, then verify
contrast ratio (aim >= 4.5:1 for body text) and update any docs/components that
assume the old colors.
- Line 798: The inline CSS references an undefined variable
--wp--preset--color--cta in the rule .wp-block-button:focus-within
.wp-block-button__link; fix by either adding a fallback value to the var() usage
(e.g. var(--wp--preset--color--cta, `#0073e6`)) or by switching to an existing
preset variable (for example var(--wp--preset--color--primary)), or define
--wp--preset--color--cta in your theme presets so the focus outline resolves;
update the css string accordingly to ensure the focus outline uses a valid
color.
- Around line 727-758: The theme's link and button element styles reference
non-existent color slugs (primary, primary-dark, cta); update every occurrence
in the "link" and "button" blocks to use palette slugs that actually exist (for
example replace var(--wp--preset--color--primary) with
var(--wp--preset--color--brand-500) or brand-600, replace primary-dark with
brand-700/brand-800, and replace cta with the correct cta-500/cta-600 variant),
and ensure the same replacements are applied for :hover, :focus, :focus-visible,
and :visited rules so all link/button color references match the palette
definition.
- Around line 812-819: The "core/site-tagline" block references an undefined CSS
variable var(--wp--preset--color--neutral); update the color reference to a
concrete palette step (for example var(--wp--preset--color--neutral-600)) so it
matches the defined neutral-100..neutral-900 tokens; change the "color" ->
"text" value in the "core/site-tagline" entry to use the specific neutral step
(e.g., neutral-600).
- Around line 666-670: The theme's styles.color references invalid CSS variables
var(--wp--preset--color--background) and var(--wp--preset--color--foreground)
which don't exist in the palette; update those references inside the "styles" ->
"color" object to use the actual preset slugs (e.g.
var(--wp--preset--color--base) for background and
var(--wp--preset--color--contrast) for text) or alternatively add palette
entries named background and foreground to match the existing var names so the
variables resolve; make the change where "styles", "color", "background", and
"text" are defined.
- Around line 97-116: There are duplicate palette slugs "cta-800" in the color
entries and the "cta-700" scale is missing; update the middle duplicate (the
entry with "color": "#8E3715" and "name": "Cta 800") to have "slug": "cta-700"
and "name": "Cta 700" so each slug is unique and the CTA scale runs
600→700→800→900; verify no other duplicate slugs exist in the palette.
- Around line 162-206: The palette contains two entries with slug "accent-400"
where the first should be "accent-300"; update the first duplicate object by
changing its "slug" to "accent-300" and "name" to "Accent 300" (keep the
existing "color" value), then scan the surrounding accent entries
(accent-100..accent-900) to ensure there are no other duplicate slugs and the
scale is contiguous.
- Around line 613-642: The theme.json has invalid top-level settings: "radius",
"style", "width" should be moved under the border settings object (e.g.,
settings.border) instead of being direct children, and the custom "radiusSizes"
array is not a recognized theme.json property and will be ignored; remove
"radiusSizes" from theme.json and, if you need custom radius presets, implement
them as CSS custom properties in your stylesheet or register them via a
supported mechanism. Locate the entries named "radius", "style", "width", and
"radiusSizes" in the file and relocate the boolean flags into settings.border
while deleting or externalizing the radiusSizes definition.
- Around line 666-821: The theme.json has a structural error: "styles",
"customTemplates", and "templateParts" are nested inside the "settings" object
instead of being top-level sibling keys. Fix by moving the closing brace that
ends the "settings" object to directly after the "blocks" object (so "settings"
contains only its intended properties), then lift "styles", "customTemplates",
and "templateParts" out to be root-level keys alongside "settings" (ensure keys
"styles", "customTemplates", "templateParts" are siblings of "settings"), and
remove the extra trailing brace that was left after the original nested block;
check identifiers "settings", "styles", "customTemplates", "templateParts", and
the "blocks" object to locate where to cut and paste.
🟡 Minor comments (7)
.github/instructions/wpcs-css.instructions.md-3-3 (1)

3-3: ⚠️ Potential issue | 🟡 Minor

Change applyTo to use brace expansion syntax for consistency with other instruction files.

The applyTo field should be "**/*.{css,scss,sass}" instead of "**/*.css, **/*.scss, **/*.sass". All other instruction files in the repository use brace expansion ({ext1,ext2,ext3}) to specify multiple file extensions; the comma-separated format in this file breaks that established pattern and is not standard glob syntax.

styles/mc.json-89-98 (1)

89-98: ⚠️ Potential issue | 🟡 Minor

Brand 800 and Brand 900 share the same hex value #061A29 — likely a copy-paste error.

In a 100→900 scale, 900 should be darker than 800. Every other color group (CTA, Accent) has distinct values at each step. This looks like an oversight.

🐛 Proposed fix
 			{
-				"color": "#061A29",
+				"color": "#030D15",
 				"name": "Brand 900",
 				"slug": "brand-900"
 			},

(Exact hex value should be confirmed against the design spec.)

theme.json-586-605 (1)

586-605: ⚠️ Potential issue | 🟡 Minor

Shadow presets "Medium" (400) and "Large" (500) are identical.

Both produce 1px 4px 12px 4px rgba(17, 17, 17, 0.3). There is no visual distinction between the two sizes. Consider increasing the spread, blur, or opacity for the "Large" preset.

💡 Suggested differentiation
 			{
 				"name": "Large",
 				"slug": "500",
-				"shadow": "1px 4px 12px 4px rgba(17, 17, 17, 0.3)"
+				"shadow": "2px 6px 16px 6px rgba(17, 17, 17, 0.3)"
 			},
inc/block-patterns.php-37-38 (1)

37-38: ⚠️ Potential issue | 🟡 Minor

Same incorrect CSS class on hero button: has-error-background-color should be has-background.

Same issue as in patterns/call-to-action.php line 32 — the button's textColor is "information-foreground" (correctly represented by has-information-foreground-color), so has-error-background-color is a stray class. Replace it with has-background.

Proposed fix
-<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-information-foreground-color has-error-background-background-color has-text-color has-error-background-color wp-element-button">{{hero_button_text}}</a></div>
+<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-information-foreground-color has-error-background-background-color has-text-color has-background wp-element-button">{{hero_button_text}}</a></div>
inc/block-patterns.php-25-26 (1)

25-26: ⚠️ Potential issue | 🟡 Minor

Same incorrect CSS class: has-background-color should be has-background.

Same issue as in patterns/call-to-action.php — line 26 has has-background-color but WordPress expects has-background as the utility class when backgroundColor is set.

Proposed fix
-<div class="wp-block-group alignfull has-background-color has-information-foreground-background-color has-text-color has-error-background-color" style="padding-top:var(--wp--preset--spacing--90);padding-bottom:var(--wp--preset--spacing--90)">
+<div class="wp-block-group alignfull has-error-background-color has-information-foreground-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--90);padding-bottom:var(--wp--preset--spacing--90)">
patterns/call-to-action.php-19-20 (1)

19-20: ⚠️ Potential issue | 🟡 Minor

Incorrect CSS class: has-background-color should be has-background.

On line 20, the outer group div has the class has-background-color, but WordPress generates has-background (not has-background-color) as the utility class when backgroundColor is set. The current class won't trigger core styles that key off has-background (e.g., default padding on groups with backgrounds).

Proposed fix
-<div class="wp-block-group alignfull has-background-color has-information-foreground-background-color has-text-color has-error-background-color" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)">
+<div class="wp-block-group alignfull has-error-background-color has-information-foreground-background-color has-text-color has-background" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)">
patterns/call-to-action.php-31-32 (1)

31-32: ⚠️ Potential issue | 🟡 Minor

Incorrect CSS class on button: has-error-background-color should be has-background.

On line 32, the button link has has-error-background-color which would indicate textColor:"error-background", but the actual textColor is "information-foreground" (already represented by has-information-foreground-color). The class that's missing is has-background — the standard WordPress utility class for elements with a backgroundColor set.

Proposed fix
-<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-information-foreground-color has-error-background-background-color has-text-color has-error-background-color wp-element-button" href="#"><?php echo esc_html( $cta_button ); ?></a></div>
+<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-information-foreground-color has-error-background-background-color has-text-color has-background wp-element-button" href="#"><?php echo esc_html( $cta_button ); ?></a></div>
🧹 Nitpick comments (7)
src/css/editor.min.css (1)

1-1: Semantically misleading use of error-background for the inspector panel header.

The color token --wp--preset--color--error-background is applied to .block-editor-block-inspector .components-panel__header as a background color. Using an "error" semantic token for a non-error UI element is confusing and may lead to unintended color changes if the error palette is updated. Consider using a more appropriate token (e.g., a neutral or brand token).

src/css/style.min.css (1)

1-2: Build artifacts committed — ensure the build step is part of your workflow.

Both the SCSS source, compiled CSS, and minified CSS are checked in. If the build step is ever skipped, these will drift out of sync. Consider automating CSS compilation in CI or a pre-commit hook to prevent stale build artifacts. No content issues — the minified output matches the source.

styles/mc.json (1)

148-241: Consider consolidating Montserrat into a single variable font file if one is available.

Currently, Montserrat requires loading 9 individual static font files (~35K each, ~315K total) to support weights 100–900, while Nunito Sans uses a single variable font file (~31K). This creates a significant size penalty if multiple weights are used. Variable fonts are standard in other style variations (sf.json uses variable fonts for both heading and body), and would reduce asset weight considerably. However, verify that a Montserrat variable font source is available before implementing this change.

patterns/footer.php (1)

56-62: Social icons use error-foreground token — semantic mismatch.

error-foreground (#C9242D) is intended for error states, not decorative/brand use. If the error color is later adjusted for accessibility or UX reasons, social icons will change unintentionally. Consider adding a dedicated palette entry (e.g., social-icons or reusing a CTA/brand token) rather than repurposing an error token.

patterns/header.php (1)

15-16: Confusing semantic token names used for primary brand colors.

Using error-background and error-foreground as the header's primary background and navigation text colors is semantically misleading. These slugs imply error/status styling, not brand identity. This leads to awkward auto-generated classes like has-error-background-background-color and will confuse future maintainers who expect these tokens to represent error states.

This concern extends across the PR (CTA, testimonials, hero in inc/block-patterns.php). Consider renaming these tokens to something brand-appropriate (e.g., brand-background, brand-foreground, or base-background/base-foreground) in theme.json and updating references accordingly.

theme.json.bk (2)

1-3: A .bk backup file should not be committed to the repository.

This file (theme.json.bk) appears to be a manual backup of theme.json. Committing backup files clutters the repo and risks confusion about which file is authoritative. Version control already serves as the backup mechanism. Consider adding *.bk to .gitignore and removing this file.


248-254: Gradient references palette slugs by color value, not by CSS variable — this is fine, but the naming is stale.

The gradient is named "Primary to Secondary" but uses hardcoded hex values #00B2D5 (brand-500) and #12A9AC (accent-500). Consider using CSS variable references for consistency with the token system, and updating the name to match the new token terminology (e.g., "Brand to Accent").

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/css/style.scss (1)

186-196: ⚠️ Potential issue | 🟡 Minor

Skip-link focus background is nearly transparent — may fail WCAG contrast requirements.

--wp--preset--color--error-background resolves to #C9242D1a (≈10% opacity) in the base palette. On a white page the effective background is very light pink, and with --wp--preset--color--error-foreground (#C9242D) as text, the contrast ratio is borderline for WCAG AA (4.5:1). The box-shadow helps, but a solid or higher-opacity background would be more accessible.

Consider using a solid background color here (e.g., base/contrast or a dedicated skip-link token) to guarantee a reliable contrast ratio.

🤖 Fix all issues with AI agents
In `@src/css/style.scss`:
- Around line 81-84: The hover rule inside the outline button selector currently
sets color to the translucent token --wp--preset--color--error-background (≈10%
alpha) which makes text unreadable; update the &:hover color to a
solid/high-contrast token (for example replace
--wp--preset--color--error-background with --wp--preset--color--error or
--wp--preset--color--error-foreground, or a base text token) so the hovered
label remains legible — modify the &:hover block in the same selector to use the
chosen solid token instead of --wp--preset--color--error-background.

In `@theme.json`:
- Around line 216-240: The theme JSON uses 8-digit hex colors with alpha (e.g.,
"#CB6F0F1a", "#C9242D1a", "#1380271a", "#0D66D01a") which are valid but
unconventional in mixed-case and one of them
(--wp--preset--color--error-background / "#C9242D1a") is later used as a text
color in style.scss making hovered button text nearly invisible; update the
theme to use fully-opaque text-safe colors for any token consumed as a
foreground (or reduce alpha) and/or convert these background presets to proper
background tokens (remove or lower alpha) and ensure style.scss references a
high-contrast color (e.g., use "--wp--preset--color--error-foreground" or a
solid hex) instead of "--wp--preset--color--error-background"; normalize hex
casing for consistency.
- Around line 591-605: The "Large" shadow preset (name "Large", slug "500") is
identical to "Medium" (slug "400"); update the "Large" shadow value to be
visually larger by increasing blur and/or spread (for example raise blur from
12px to a larger value and increase the spread from 4px to something larger) so
it provides clear gradation from the "Medium" preset; locate the object with
"name": "Large" / "slug": "500" in the shadow presets and replace its "shadow"
string with the adjusted shadow parameters.
🧹 Nitpick comments (1)
src/css/style.scss (1)

10-26: Remove unused --theme-* custom properties.

These custom properties are declared but never consumed in the codebase. All styles reference --wp--preset--* tokens directly. If these aliases are not used in patterns, templates, or PHP elsewhere, they should be removed.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@functions.php`:
- Around line 86-87: Add a short comment above the explicit wp_enqueue_style(
'wp-block-editor' ); call explaining why you're forcing that core stylesheet to
be enqueued (e.g., workaround for missing load in a specific admin context,
fixing load order for overrides, or addressing a known core bug) so future
maintainers understand intent; alternatively, instead of enqueuing it directly,
declare 'wp-block-editor' as a dependency when registering/enqueuing your custom
editor stylesheet (i.e., add 'wp-block-editor' to the dependency array in the
wp_enqueue_style call that registers your custom editor stylesheet) to make the
relationship and load order explicit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:theme Theme & styles (templates, template parts, FSE) comp:style-variations JSON style variations comp:theme-json Tokens, presets, settings lang:json JSON config/content

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant