/**
 * GEBA Group — token alias layer.
 *
 * theme.json is the single source of truth for every design token. WordPress
 * emits those as --wp--preset--* and --wp--custom--*; this file re-exposes the
 * same values under the design reference's own names, so markup transplanted
 * from design/_extracted/ keeps working unchanged and no value is defined
 * twice.
 *
 * Every right-hand side here is a var() reference. If you find yourself
 * typing a literal hex, px or ms value in this file, the token is missing
 * from theme.json — add it there instead.
 *
 * Names verified against `wp eval 'echo wp_get_global_stylesheet(["variables"]);'`.
 * Two of WordPress's transformations are easy to get wrong:
 *   - settings.custom keys are kebab-cased: cardSm → --wp--custom--pad--card-sm
 *   - preset SLUGS are kebab-cased too:     2xl    → --wp--preset--font-size--2-xl
 *
 * See docs/design-system.md.
 */

:root {
  /* ---------------------------------------------------------------- brand */
  --geba-blue: var(--wp--preset--color--geba-blue);
  --geba-black: var(--wp--preset--color--geba-black);
  --geba-orange: var(--wp--preset--color--geba-orange);

  /* ----------------------------------------------------------- blue ramp */
  --blue-50: var(--wp--preset--color--blue-50);
  --blue-100: var(--wp--preset--color--blue-100);
  --blue-200: var(--wp--preset--color--blue-200);
  --blue-300: var(--wp--preset--color--blue-300);
  --blue-400: var(--wp--preset--color--blue-400);
  --blue-500: var(--wp--preset--color--blue-500);
  --blue-600: var(--wp--preset--color--blue-600);
  --blue-700: var(--wp--preset--color--blue-700);
  --blue-800: var(--wp--preset--color--blue-800);
  --blue-900: var(--wp--preset--color--blue-900);
  --blue-950: var(--wp--preset--color--blue-950);

  /* ------------------------------------- neutral ramp (cool, CGP-anchored) */
  --ink-0: var(--wp--preset--color--ink-0);
  --ink-25: var(--wp--preset--color--ink-25);
  --ink-50: var(--wp--preset--color--ink-50);
  --ink-100: var(--wp--preset--color--ink-100);
  --ink-200: var(--wp--preset--color--ink-200);
  --ink-300: var(--wp--preset--color--ink-300);
  --ink-400: var(--wp--preset--color--ink-400);
  --ink-500: var(--wp--preset--color--ink-500);
  --ink-600: var(--wp--preset--color--ink-600);
  --ink-700: var(--wp--preset--color--ink-700);
  --ink-800: var(--wp--preset--color--ink-800);
  --ink-900: var(--wp--preset--color--ink-900);
  --ink-950: var(--wp--preset--color--ink-950);

  --orange-50: var(--wp--preset--color--orange-50);
  --orange-600: var(--wp--preset--color--orange-600);

  /* The entry screen's ground: a warm, light neutral beside the cool inks. */
  --sand-50: var(--wp--preset--color--sand-50);
  --sand-100: var(--wp--preset--color--sand-100);
  --sand-200: var(--wp--preset--color--sand-200);
  --sand-300: var(--wp--preset--color--sand-300);

  /* --------------------------------------------------------------- status */
  --success-500: var(--wp--preset--color--success-500);
  --success-50: var(--wp--preset--color--success-50);
  --warning-500: var(--wp--preset--color--warning-500);
  --warning-50: var(--wp--preset--color--warning-50);
  --danger-500: var(--wp--preset--color--danger-500);
  --danger-50: var(--wp--preset--color--danger-50);

  /* ------------------------------------------- domain pair: cooling/heating */
  --cooling: var(--wp--custom--domain--cooling);
  --heating: var(--wp--custom--domain--heating);

  /* ------------------------------------------------------------- surfaces */
  --surface-page: var(--wp--custom--surface--page);
  --surface-muted: var(--wp--custom--surface--muted);
  --surface-card: var(--wp--custom--surface--card);
  --surface-raised: var(--wp--custom--surface--raised);
  --surface-sunken: var(--wp--custom--surface--sunken);
  --surface-band: var(--wp--custom--surface--band);
  --surface-inverse: var(--wp--custom--surface--inverse);
  --surface-inverse-soft: var(--wp--custom--surface--inverse-soft);
  --surface-brand: var(--wp--custom--surface--brand);
  --surface-brand-soft: var(--wp--custom--surface--brand-soft);
  --surface-brand-deep: var(--wp--custom--surface--brand-deep);
  --surface-overlay: var(--wp--custom--surface--overlay);
  --surface-glass: var(--wp--custom--surface--glass);

  /* ----------------------------------------------------------------- text */
  --text-primary: var(--wp--custom--ink--primary);
  --text-secondary: var(--wp--custom--ink--secondary);
  --text-muted: var(--wp--custom--ink--muted);
  --text-faint: var(--wp--custom--ink--faint);
  --text-brand: var(--wp--custom--ink--brand);
  --text-inverse: var(--wp--custom--ink--inverse);
  --text-inverse-muted: var(--wp--custom--ink--inverse-muted);
  --text-on-brand: var(--wp--custom--ink--on-brand);

  /* -------------------------------------------------------------- borders */
  --border-subtle: var(--wp--custom--line--subtle);
  --border-default: var(--wp--custom--line--default);
  --border-strong: var(--wp--custom--line--strong);
  --border-brand: var(--wp--custom--line--brand);
  --border-band: var(--wp--custom--line--band);
  --border-inverse: var(--wp--custom--line--inverse);

  /* -------------------------------------------------------- links & focus */
  --link-color: var(--wp--custom--link--color);
  --link-color-hover: var(--wp--custom--link--hover);
  --link-color-inverse: var(--wp--custom--link--inverse);
  --focus-ring: var(--wp--custom--focus-ring);

  /* --------------------------------------------------- signature gradients */
  --wash-ink: var(--wp--preset--gradient--wash-ink);
  --wash-ink-side: var(--wp--preset--gradient--wash-ink-side);
  --wash-brand: var(--wp--preset--gradient--wash-brand);
  --wash-brand-deep: var(--wp--preset--gradient--brand-deep);

  /* ----------------------------------------------------------- typography */
  --font-core: var(--wp--preset--font-family--core);
  --font-display: var(--wp--preset--font-family--display);
  --font-body: var(--wp--preset--font-family--core);
  --font-mono: var(--wp--preset--font-family--mono);

  --weight-extralight: var(--wp--custom--weight--extralight);
  --weight-light: var(--wp--custom--weight--light);
  --weight-book: var(--wp--custom--weight--book);
  --weight-medium: var(--wp--custom--weight--medium);
  --weight-bold: var(--wp--custom--weight--bold);
  --weight-black: var(--wp--custom--weight--black);

  --text-2xs: var(--wp--preset--font-size--2-xs);
  --text-xs: var(--wp--preset--font-size--xs);
  --text-sm: var(--wp--preset--font-size--sm);
  --text-base: var(--wp--preset--font-size--base);
  --text-md: var(--wp--preset--font-size--md);
  --text-lg: var(--wp--preset--font-size--lg);
  --text-xl: var(--wp--preset--font-size--xl);
  --text-2xl: var(--wp--preset--font-size--2-xl);
  --text-3xl: var(--wp--preset--font-size--3-xl);
  --text-4xl: var(--wp--preset--font-size--4-xl);
  --text-5xl: var(--wp--preset--font-size--5-xl);
  --text-6xl: var(--wp--preset--font-size--6-xl);

  --leading-flat: var(--wp--custom--leading--flat);
  --leading-tight: var(--wp--custom--leading--tight);
  --leading-snug: var(--wp--custom--leading--snug);
  --leading-normal: var(--wp--custom--leading--normal);
  --leading-relaxed: var(--wp--custom--leading--relaxed);

  --tracking-tight: var(--wp--custom--tracking--tight);
  --tracking-snug: var(--wp--custom--tracking--snug);
  --tracking-normal: var(--wp--custom--tracking--normal);
  --tracking-wide: var(--wp--custom--tracking--wide);
  --tracking-eyebrow: var(--wp--custom--tracking--eyebrow);
  --tracking-caps: var(--wp--custom--tracking--caps);

  /* composed type roles — prefer these over raw scale steps */
  --type-hero-size: var(--text-6xl);
  --type-hero-weight: var(--weight-bold);
  --type-hero-leading: var(--leading-tight);
  --type-h2-size: var(--text-4xl);
  --type-h3-size: var(--text-2xl);
  --type-h4-size: var(--text-lg);
  --type-body-size: var(--text-md);
  --type-body-weight: var(--weight-light);
  --type-body-leading: var(--leading-relaxed);
  --type-label-size: var(--text-sm);
  --type-label-weight: var(--weight-medium);
  --type-eyebrow-size: var(--text-xs);

  /* ---------------------------------------------------- space (4px grid) */
  --space-0: var(--wp--custom--space--0);
  --space-05: var(--wp--custom--space--05);
  --space-1: var(--wp--custom--space--1);
  --space-15: var(--wp--custom--space--15);
  --space-2: var(--wp--custom--space--2);
  --space-3: var(--wp--custom--space--3);
  --space-4: var(--wp--custom--space--4);
  --space-5: var(--wp--custom--space--5);
  --space-6: var(--wp--custom--space--6);
  --space-7: var(--wp--custom--space--7);
  --space-8: var(--wp--custom--space--8);
  --space-10: var(--wp--custom--space--10);
  --space-12: var(--wp--custom--space--12);
  --space-14: var(--wp--custom--space--14);
  --space-16: var(--wp--custom--space--16);
  --space-20: var(--wp--custom--space--20);
  --space-24: var(--wp--custom--space--24);
  --space-28: var(--wp--custom--space--28);
  --space-36: var(--wp--custom--space--36);
  --space-44: var(--wp--custom--space--44);

  --pad-card: var(--wp--custom--pad--card);
  --pad-card-sm: var(--wp--custom--pad--card-sm);
  --pad-card-lg: var(--wp--custom--pad--card-lg);
  --pad-control-x: var(--wp--custom--pad--control-x);
  --pad-control-y: var(--wp--custom--pad--control-y);
  --stack-tight: var(--wp--custom--stack--tight);
  --stack: var(--wp--custom--stack--base);
  --stack-loose: var(--wp--custom--stack--loose);

  /* --------------------------------------------------------------- radius */
  --radius-none: var(--wp--custom--radius--none);
  --radius-xs: var(--wp--custom--radius--xs);
  --radius-sm: var(--wp--custom--radius--sm);
  --radius-md: var(--wp--custom--radius--md);
  --radius-lg: var(--wp--custom--radius--lg);
  --radius-xl: var(--wp--custom--radius--xl);
  --radius-2xl: var(--wp--custom--radius--xxl);
  --radius-pill: var(--wp--custom--radius--pill);
  --radius-circle: var(--wp--custom--radius--circle);

  --radius-card: var(--wp--custom--radius--card);
  --radius-media: var(--wp--custom--radius--media);
  --radius-control: var(--wp--custom--radius--control);
  --radius-field: var(--wp--custom--radius--field);
  --radius-chip: var(--wp--custom--radius--chip);

  /* ------------------------------------------------------------ elevation */
  --shadow-none: none;
  --shadow-xs: var(--wp--preset--shadow--xs);
  --shadow-sm: var(--wp--preset--shadow--sm);
  --shadow-md: var(--wp--preset--shadow--md);
  --shadow-lg: var(--wp--preset--shadow--lg);
  --shadow-xl: var(--wp--preset--shadow--xl);
  --shadow-lifted: var(--wp--preset--shadow--lifted);
  --shadow-brand: var(--wp--preset--shadow--brand);
  --shadow-brand-sm: var(--wp--preset--shadow--brand-sm);
  --shadow-sand-sm: var(--wp--preset--shadow--sand-sm);
  --shadow-sand: var(--wp--preset--shadow--sand);
  --shadow-sand-lifted: var(--wp--preset--shadow--sand-lifted);
  --shadow-sand-card: var(--wp--preset--shadow--sand-card);
  --shadow-sand-card-lifted: var(--wp--preset--shadow--sand-card-lifted);
  --shadow-inset-hairline: inset 0 0 0 var(--rule-hairline) var(--border-subtle);

  --blur-glass: var(--wp--custom--blur--glass);
  --blur-header: var(--wp--custom--blur--header);

  /* --------------------------------------------------------------- motion */
  --ease-standard: var(--wp--custom--ease--standard);
  --ease-out-expo: var(--wp--custom--ease--out-expo);
  --ease-in-out: var(--wp--custom--ease--in-out);
  --ease-linear: var(--wp--custom--ease--linear);

  --dur-instant: var(--wp--custom--dur--instant);
  --dur-fast: var(--wp--custom--dur--fast);
  --dur-base: var(--wp--custom--dur--base);
  --dur-slow: var(--wp--custom--dur--slow);
  --dur-reveal: var(--wp--custom--dur--reveal);
  --dur-shine: var(--wp--custom--dur--shine);

  --lift-card: var(--wp--custom--motion--lift-card);
  --press-scale: var(--wp--custom--motion--press-scale);
  --reveal-distance: var(--wp--custom--motion--reveal-distance);
  --reveal-stagger: var(--wp--custom--motion--reveal-stagger);

  /*
	 * Composed transitions. These read --dur-* through the aliases above, so
	 * the reduced-motion override at the bottom of this file reaches them too.
	 */
  --transition-control:
    background-color var(--dur-base) var(--ease-standard),
    color var(--dur-base) var(--ease-standard),
    border-color var(--dur-base) var(--ease-standard),
    box-shadow var(--dur-base) var(--ease-standard),
    transform var(--dur-base) var(--ease-standard);
  --transition-card:
    transform var(--dur-slow) var(--ease-out-expo),
    box-shadow var(--dur-slow) var(--ease-out-expo),
    border-color var(--dur-base) var(--ease-standard);

  /* --------------------------------------------------------------- layout */
  --container-max: var(--wp--custom--container--max);
  --container-wide: var(--wp--custom--container--wide);
  --container-narrow: var(--wp--custom--container--narrow);
  --container-text: var(--wp--custom--container--text);

  --gutter: var(--wp--custom--gutter--base);
  --gutter-lg: var(--wp--custom--gutter--lg);

  --section-y: var(--wp--custom--section--y);
  --section-y-sm: var(--wp--custom--section--y-sm);
  --section-y-xs: var(--wp--custom--section--y-xs);

  --grid-gap: var(--wp--custom--grid--gap);
  --grid-gap-sm: var(--wp--custom--grid--gap-sm);
  --grid-gap-lg: var(--wp--custom--grid--gap-lg);

  --topbar-h: var(--wp--custom--header--topbar);
  --header-h: var(--wp--custom--header--height);
  --header-h-scrolled: var(--wp--custom--header--height-scrolled);
  --header-h-mobile: var(--wp--custom--header--height-mobile);

  --z-base: var(--wp--custom--z--base);
  --z-raised: var(--wp--custom--z--raised);
  --z-sticky: var(--wp--custom--z--sticky);
  --z-header: var(--wp--custom--z--header);
  --z-overlay: var(--wp--custom--z--overlay);
  --z-modal: var(--wp--custom--z--modal);
  --z-toast: var(--wp--custom--z--toast);

  --hairline: var(--wp--custom--rule--hairline);
  --rule-hairline: var(--wp--custom--rule--hairline);
  --rule-strong: var(--wp--custom--rule--strong);
  --bar-accent: var(--wp--custom--rule--bar-accent);
}

/**
 * Ported verbatim from the design reference. Overriding the aliases rather
 * than the --wp--custom--* originals keeps the change in one layer, and
 * --transition-card / --transition-control pick it up because they are
 * composed from the aliases.
 */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms;
    --dur-base: 1ms;
    --dur-slow: 1ms;
    --dur-reveal: 1ms;
    --dur-shine: 1ms;
    --lift-card: 0px;
    --reveal-distance: 0px;
  }
}
