/*
Theme Name: PCF
Theme URI: https://pcf.saosdev2.com/
Author: Studio Ace of Spades
Author URI: https://studioaceofspades.com/
Description: PCF site theme. Child of Maisha during the Elementor-to-block-editor rebuild; new work lands here while legacy templates continue to resolve to the parent. Intended to be flattened into a standalone theme once the parent is fully overridden.
Template: maishawp
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pcf
*/

/**
 * The theme header above is the only thing WordPress needs from this file.
 *
 * THE BLOCK CANVAS DESIGN SYSTEM USED TO LIVE HERE AND NOW DOES NOT. It is
 * compiled instead, from src/canvas.scss into build/canvas.css, because the
 * same rules have to reach the editor as well and the two contexts cannot share
 * a selector:
 *
 *   FRONT END   .pcf-upgraded .pcf-canvas    build/canvas.css
 *   EDITOR      body -> .editor-styles-wrapper   build/editor.css
 *
 * Both come from one mixin in src/styles/_canvas.scss, so they cannot drift.
 * Add canvas rules there, not here. This file cannot be compiled into: Maisha
 * enqueues it by name and the theme header has to survive, which is exactly why
 * the rules moved out.
 *
 * Everything below is context the rules still depend on. It is kept here
 * because this is the file anyone looks in first.
 *
 * WHY THE DESIGN SYSTEM IS NOT IN theme.json "styles"
 *
 * theme.json emits its styles as bare, unscoped element selectors (h1..h6 { },
 * a:where(:not(.wp-element-button)) { }) that apply to the WHOLE document at
 * specificity 0-0-1. On this site that leaks straight into Elementor sections
 * and overrides the Elementor global kit wherever the kit relies on inheritance
 * -- headings silently switch font and colour across ~61 pages.
 *
 * So theme.json carries SETTINGS only (the design tokens, exposed as
 * --wp--preset--* custom properties) and the styles consuming those tokens are
 * scoped. Block Canvas pages get the new design system; Elementor pages are
 * untouched. Once Elementor is gone, the rules can move into theme.json
 * "styles" and the scope can be dropped.
 *
 * WHY THE FRONT-END SCOPE CARRIES .pcf-upgraded AS WELL
 *
 * Elementor's global kit emits `.elementor-kit-5257 h1 { font-family:
 * Merriweather }` and puts that class on <body>, so it matches inside the
 * canvas too. It is (0,1,1) -- exactly what a bare `.pcf-canvas h1` is -- and
 * its stylesheet loads later, so the tie broke Elementor's way and every
 * heading on a Block Canvas page rendered in the kit's Merriweather. Not a
 * missing token, no !important: a tie decided by load order. .pcf-upgraded is
 * already on <body> for these pages (see pcf_is_upgraded), so it costs no
 * markup and takes each rule to (0,2,1), which wins outright.
 *
 * A NOTE ON rem, WHICH MAKES THE WHOLE SCALE LOOK SMALL
 *
 * Maisha sets `html { font-size: 62.5% }` (its style.css:83) -- the old 10px
 * root trick. Every size in theme.json is in rem, so 1rem is 10px here and the
 * preset scale renders about a third smaller than it was drawn: xx-large is
 * 2.5rem, which is 25px on this site and 40px on a normal root.
 *
 * Deliberately not fixed. Putting the root back to 100% would re-scale every
 * rem in Maisha's own stylesheet, which is written expecting 10px, across the
 * whole site. The choice is to raise the values in theme.json or to leave
 * Maisha's root behind when it goes -- a design decision, not a bug fix.
 */
