/* =============================================================================
 * DREAM ACADEMY — BRAND TOKENS  (brand-identity, 2026-10)
 * -----------------------------------------------------------------------------
 * SINGLE source of truth for the brand. Source: "Dream Academy — Brand Identity
 * Guidelines v1.0 (2026)" — page numbers cited inline as (p.N).
 * Loaded FIRST (inc/theme-setup.php, priority 5) so every stylesheet after it —
 * style.css, dream-player.css, dream-coach.css, dream-pay.css, dream-brand.css —
 * can reference these variables. Legacy names (--dream-*, --pd-*, --cd-*) are
 * aliased to these in their own files, so changing a value HERE re-skins the site.
 *
 * Rules (p.12, p.23): 60% black · 30% white/grey · 10% green. Green is an accent,
 * never a large fill, never body text, never text on white. One accent colour.
 * Any value marked ASSUMPTION is not in the brand book — see BRAND_PROGRESS.md.
 * ========================================================================== */

/* Dream Academy brand fonts — self-hosted (SIL Open Font License 1.1, see fonts/OFL-*.txt).
 * Source: Google Fonts (fonts.gstatic.com), woff2, subset arabic / latin / latin-ext.
 * Changa = Arabic display · Tajawal = Arabic text · Chakra Petch = Latin (brand book pp.13-14). */
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:400;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:400;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:500;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:500;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:600;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:600;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:700;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Chakra Petch';font-style:normal;font-weight:700;font-display:swap;size-adjust:105%;src:url('../fonts/chakra-petch-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Changa';font-style:normal;font-weight:600 800;font-display:swap;src:url('../fonts/changa-600-800-arabic.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Changa';font-style:normal;font-weight:600 800;font-display:swap;src:url('../fonts/changa-600-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Changa';font-style:normal;font-weight:600 800;font-display:swap;src:url('../fonts/changa-600-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/tajawal-400-arabic.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/tajawal-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/tajawal-500-arabic.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/tajawal-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/tajawal-700-arabic.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/tajawal-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/tajawal-800-arabic.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/tajawal-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root {
	/* ---- Core colours (p.11) ---- */
	--da-green:        #B1FA05;   /* Dream Green  RGB 177·250·5  — the only accent */
	--da-green-rgb:    177, 250, 5;
	--da-black:        #0A0A0A;   /* Dream Black  RGB 10·10·10   — the floor       */
	--da-black-rgb:    10, 10, 10;
	--da-white:        #FFFFFF;   /* Pure White                                    */
	--da-white-rgb:    255, 255, 255;

	/* ---- Supporting neutrals & tints (p.11) ---- */
	--da-graphite:     #1C1F24;   /* secondary backgrounds                         */
	--da-graphite-rgb: 28, 31, 36;
	--da-steel:        #4A5058;   /* supporting text — LIGHT backgrounds only (2.43:1 on black) */
	--da-silver:       #C9CDD3;   /* borders, dividers; muted text on dark (12.4:1) */
	--da-silver-rgb:   201, 205, 211;
	--da-smoke:        #F2F4F6;   /* light floors                                  */
	--da-green-light:  #D7FD72;   /* green tint — charts / tiers (p.11)            */
	--da-green-dark:   #8FD004;   /* dark green — charts / tiers, non-text on dark (p.11-12) */

	/* ---- Derived surfaces — tints of Black/Graphite/White, no new hues ---- */
	/* ASSUMPTION: the book defines one secondary surface (graphite); UI elevation
	 * needs 4 steps, so steps 1/3/4 are mixes of the documented neutrals. */
	--da-surface-1:    #131517;   /* 50% graphite over black   */
	--da-surface-1-rgb: 19, 21, 23;
	--da-surface-2:    var(--da-graphite);
	--da-surface-3:    #2E3136;   /* graphite + 8% white       */
	--da-surface-4:    #404347;   /* graphite + 16% white — strong borders */

	/* ---- Text on dark (contrast vs black / vs graphite) ---- */
	--da-text:         var(--da-white);   /* 19.8:1 / 16.5:1 */
	--da-text-rgb:     var(--da-white-rgb);
	--da-text-2:       var(--da-silver);  /* 12.4:1 / 10.3:1 — muted (approved: silver, not steel) */
	--da-text-3:       #9A9EA4;           /* ASSUMPTION: silver 75% over black — 7.35:1 black / 6.14:1 graphite / 4.85:1 surface-3 */
	--da-text-disabled: var(--da-steel);  /* decorative / disabled only — exempt from 4.5:1 */
	--da-on-green:     var(--da-black);   /* 15.6:1 */

	/* ---- Interactive states for green (ASSUMPTION: book defines no states) ---- */
	--da-green-hover:  var(--da-green-light);
	--da-green-press:  var(--da-green-dark);
	--da-green-tint:   rgba(var(--da-green-rgb), .10);
	--da-green-line:   rgba(var(--da-green-rgb), .28);

	/* ---- Secondary emphasis: the book allows ONE accent, so the former cyan /
	 * violet secondary accents resolve to silver (approved default). ---- */
	--da-support:      var(--da-silver);
	--da-support-rgb:  var(--da-silver-rgb);

	/* ---- Functional status (NOT brand colours — kept for meaning) ---- */
	--da-danger:       #FF6B6B;   /* 7.1:1 on black */
	--da-danger-rgb:   255, 107, 107;
	--da-danger-text:  #FF8A8A;
	--da-warning:      #FFCF5E;   /* pending / awaiting — 13.5:1 on black */
	--da-warning-rgb:  255, 207, 94;
	--da-success:      var(--da-green);

	/* ---- Rank / tier ramp — neutral → green (approved default; p.11 tints) ---- */
	--da-tier-1:       var(--da-silver);
	--da-tier-2:       var(--da-white);
	--da-tier-3:       var(--da-green-dark);
	--da-tier-4:       var(--da-green-light);
	--da-tier-5:       var(--da-green);

	/* ---- Lines ---- */
	--da-line:         rgba(var(--da-white-rgb), .08);
	--da-line-2:       rgba(var(--da-white-rgb), .14);
	--da-line-strong:  var(--da-surface-4);

	/* ---- Typography (p.13-15) ---- */
	/* Chakra Petch is listed FIRST: it only covers Latin/digits (unicode-range), so
	 * Latin words + numbers render in the Latin brand face (+5% size-adjust, p.14)
	 * and Arabic falls through to the Arabic face. */
	--da-font-display: 'Chakra Petch', 'Changa', Arial, sans-serif;   /* headings  */
	--da-font-text:    'Chakra Petch', 'Tajawal', Arial, sans-serif;  /* body / UI */
	--da-font-latin:   'Chakra Petch', 'Tajawal', Arial, sans-serif;  /* labels, numbers, prices */
	--da-fw-regular: 400; --da-fw-medium: 500; --da-fw-semibold: 600; --da-fw-bold: 700; --da-fw-xbold: 800;

	/* Screen scale = print scale (p.15) × 1.6 (body 10pt → 16px), clamped for
	 * mobile. ASSUMPTION: clamp minimums; captions/labels floored at 14px (p.15). */
	--da-fs-h1:      clamp(36px, 5.2vw, 64px);  /* Changa 800 · lh 1.25 */
	--da-fs-h2:      clamp(28px, 3.6vw, 44px);  /* Changa 800 · lh 1.3  */
	--da-fs-h3:      clamp(20px, 2.1vw, 28px);  /* Changa 700 · lh 1.35 */
	--da-fs-h4:      clamp(18px, 1.5vw, 21px);  /* Changa 700 · lh 1.4  */
	--da-fs-body:    16px;                      /* Tajawal 400 · lh 1.7 */
	--da-fs-caption: 14px;                      /* Tajawal 400 · lh 1.55 */
	--da-fs-label:   14px;                      /* Chakra 600 · UPPERCASE · .18em */
	--da-lh-h1: 1.25; --da-lh-h2: 1.3; --da-lh-h3: 1.35; --da-lh-h4: 1.4; --da-lh-body: 1.7; --da-lh-caption: 1.55;
	--da-tracking-label: .18em;   /* Latin labels/buttons only (p.13) — never on Arabic */
	--da-measure: 70ch;           /* max line length (p.14) */

	/* ---- Shape (ASSUMPTION: book shows square-cornered blocks & buttons, p.20-21) ---- */
	--da-radius-sm: 2px;
	--da-radius-md: 4px;
	--da-radius-lg: 8px;
	--da-radius-round: 50%;       /* avatars / dots only */

	/* ---- Elevation (ASSUMPTION: no glow — p.10 misuse; neutral shadows only) ---- */
	--da-shadow-1: 0 2px 8px rgba(0, 0, 0, .35);
	--da-shadow-2: 0 12px 32px rgba(0, 0, 0, .45);
	--da-shadow-3: 0 24px 70px rgba(0, 0, 0, .6);

	/* ---- Focus ring (ASSUMPTION) — 2px green, 15.6:1 against black ---- */
	--da-focus-ring: 0 0 0 2px var(--da-black), 0 0 0 4px var(--da-green);
	--da-focus-outline: 2px solid var(--da-green);

	/* ---- Spacing (ASSUMPTION: 4px base) ---- */
	--da-space-1: 4px; --da-space-2: 8px; --da-space-3: 12px; --da-space-4: 16px;
	--da-space-5: 24px; --da-space-6: 32px; --da-space-7: 48px; --da-space-8: 64px;

	/* ---- Motion (ASSUMPTION) — functional only; reduced-motion handled in style.css ---- */
	--da-ease: cubic-bezier(.2, .7, .2, 1);
	--da-dur-fast: .15s; --da-dur: .22s;
}

/* Elementor global kit → brand. Elementor only renders /our-team/ and /contact-us/
 * (each a single shortcode widget). body.elementor-kit-N (0,1,1) beats the kit's own
 * .elementor-kit-N (0,1,0) without touching the database. */
body[class*="elementor-kit-"] {
	--e-global-color-primary:   var(--da-white);
	--e-global-color-secondary: var(--da-green);
	--e-global-color-text:      var(--da-text-2);
	--e-global-color-accent:    var(--da-black);
	--e-global-typography-primary-font-family:   'Chakra Petch', 'Changa';
	--e-global-typography-secondary-font-family: 'Chakra Petch', 'Changa';
	--e-global-typography-text-font-family:      'Chakra Petch', 'Tajawal';
	--e-global-typography-accent-font-family:    'Chakra Petch';
}
