@layer reset, base, layout, design-system, components, woocommerce, utilities;

@layer base {
  :root {
    /* Authoritative Client Brand Palette */
    --green-950: #012117;
    --green-900: #023425;
    --green-800: #075B31;
    --green-700: #11704A;
    --green-600: #109E5B;
    --green-500: #2FCA77;
    --green-400: #55DB8E;

    --gold-700: #8E7528;
    --gold-600: #A68C33;
    --gold-500: #D1B257;
    --gold-400: #EED26C;
    --gold-300: #F4E59B;

    --white: #FFFFFF;
    --warm-white: #F6F6F3;
    --surface-light: #F4FAF7;
    --surface-green: #E5F6ED;

    --text-dark: #012117;
    --text-body: #35463E;
    --text-muted: #5C6856;
    --text-light: #F6F6F3;
    --text-light-muted: #CFE5DA;

    --border-light: #DDEBE4;
    --border-green: #BFE4CF;
    --border-gold: #EED26C;

    --success-state: #2FCA77;
    --warning-state: #EED26C;
    --error-state: #D94F4F;
    --info-state: #2D8CFF;

    /* Semantic Brand Accent Tokens */
    --agni-brand-deep: var(--green-950);
    --agni-brand-dark: var(--green-900);
    --agni-brand-primary: var(--green-600);
    --agni-brand-secondary: var(--green-700);
    --agni-brand-bright: var(--green-500);
    --agni-brand-light: var(--green-400);

    /* Semantic Gold Accent Tokens */
    --agni-gold-dark: var(--gold-700);
    --agni-gold-accent: var(--gold-600);
    --agni-gold: var(--gold-500);
    --agni-gold-rich: var(--gold-400);
    --agni-gold-light: var(--gold-300);

    /* Typography Families */
    --agni-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --agni-font-heading: "Plus Jakarta Sans", "Inter", sans-serif;
    --agni-font-mono: "JetBrains Mono", "Fira Code", monospace;

    /* Typographical Font Sizes */
    --agni-fs-xs: 0.75rem;     /* 12px */
    --agni-fs-sm: 0.875rem;    /* 14px */
    --agni-fs-base: 0.9375rem; /* 15px */
    --agni-fs-md: 1rem;        /* 16px */
    --agni-fs-lg: 1.125rem;    /* 18px */
    --agni-fs-xl: 1.25rem;     /* 20px */
    --agni-fs-2xl: 1.5rem;     /* 24px */
    --agni-fs-3xl: 1.875rem;   /* 30px */
    --agni-fs-4xl: 2.25rem;    /* 36px */
    --agni-fs-5xl: 3rem;       /* 48px */

    /* Font Weights */
    --agni-fw-normal: 400;
    --agni-fw-medium: 500;
    --agni-fw-semibold: 600;
    --agni-fw-bold: 700;
    --agni-fw-extrabold: 800;

    /* Line Heights */
    --agni-lh-none: 1;
    --agni-lh-tight: 1.2;
    --agni-lh-snug: 1.35;
    --agni-lh-normal: 1.5;
    --agni-lh-relaxed: 1.6;

    /* Core Theme Colors */
    --agni-navy: var(--green-950);
    --agni-charcoal: var(--green-900);
    --agni-surface-dark: var(--green-950);
    --agni-surface-dark-elevated: var(--green-900);
    --agni-surface-light: var(--surface-light);
    --agni-surface-soft: var(--surface-green);
    --agni-surface-card: var(--white);
    --agni-border-light: var(--border-light);
    --agni-border-green: var(--border-green);
    --agni-border-gold: var(--border-gold);
    --agni-border-dark: var(--green-800);

    --agni-white: var(--white);
    --agni-warm-white: var(--warm-white);
    --agni-black: #000000;
    --agni-slate-300: var(--text-light-muted);
    --agni-slate-400: var(--text-muted);
    --agni-navy-indigo: var(--green-900);
    --agni-blue: var(--info-state);
    --agni-red: var(--error-state);
    
    /* Legacy Compatibility Accent Aliases */
    --agni-fire-orange: var(--green-600);
    --agni-fire-amber: var(--green-500);
    --agni-fire-deep: var(--green-800);
    --agni-electric-indigo: var(--green-700);
    --agni-indigo-deep: var(--green-900);
    --agni-orange: var(--green-600);
    --agni-orange-dark: var(--green-800);
    --agni-emerald: var(--green-600);
    --agni-indigo: var(--green-600);
    --agni-charcoal-slate: var(--green-900);
    
    /* Semantic Text Mappings */
    --agni-text-primary: var(--text-dark);
    --agni-text-secondary: var(--text-body);
    --agni-text-muted: var(--text-muted);
    --agni-text-on-dark: var(--text-light);
    --agni-text-on-dark-muted: var(--text-light-muted);

    /* Functional Color Adaptations */
    --agni-primary: var(--agni-brand-primary);
    --agni-secondary: var(--agni-brand-secondary);
    --agni-accent: var(--agni-gold);

    /* Status Colors */
    --agni-success: var(--success-state);
    --agni-warning: var(--warning-state);
    --agni-danger: var(--error-state);
    --agni-info: var(--info-state);

    /* Badges */
    --agni-badge-sale-bg: var(--gold-600);
    --agni-badge-sale-text: var(--green-950);
    --agni-badge-new-bg: var(--green-600);
    --agni-badge-new-text: var(--white);
    --agni-badge-featured-bg: var(--gold-500);
    --agni-badge-featured-text: var(--green-950);
    --agni-badge-membership-bg: var(--green-900);
    --agni-badge-membership-text: var(--white);
    --agni-badge-premium-bg: var(--gold-600);
    --agni-badge-premium-text: var(--green-950);

    /* Spacings Scale (Allowed spacing values) */
    --agni-space-1: 4px;
    --agni-space-2: 8px;
    --agni-space-3: 12px;
    --agni-space-4: 16px;
    --agni-space-5: 20px;
    --agni-space-6: 24px;
    --agni-space-8: 32px;
    --agni-space-10: 40px;
    --agni-space-12: 48px;
    --agni-space-16: 64px;
    --agni-space-20: 80px;
    --agni-space-24: 96px;
    --agni-space-32: 128px;

    /* Radius Scales */
    --agni-radius-xs: 4px;
    --agni-radius-sm: 8px;
    --agni-radius-md: 12px;
    --agni-radius-lg: 16px;
    --agni-radius-xl: 24px;
    --agni-radius-full: 9999px;

    /* Z-index Architecture */
    --agni-z-header: 100;
    --agni-z-dropdown: 200;
    --agni-z-mobile-cta: 500;
    --agni-z-modal: 1000;
    --agni-z-toast: 9999;

    /* Icon Scale & Weight */
    --agni-icon-sm: 16px;
    --agni-icon-md: 20px;
    --agni-icon-lg: 24px;
    --agni-icon-stroke: 2px;

    /* Button System Dimensions */
    --agni-btn-height: 44px;
    --agni-btn-height-lg: 52px;
    --agni-btn-height-sm: 36px;
    --agni-btn-padding: var(--agni-space-4);
    --agni-btn-padding-lg: var(--agni-space-6);
    --agni-btn-padding-sm: var(--agni-space-3);

    /* Form Fields Dimensions */
    --agni-input-height: 48px;

    /* Containers */
    --agni-container-max: 1240px;
    --agni-container-padding-desktop: var(--agni-space-6);
    --agni-container-padding-mobile: var(--agni-space-4);
    --agni-layout-padding: 4.5rem;

    /* Separators / Borders */
    --agni-divider: rgba(255, 255, 255, 0.08);
    --agni-divider-light: rgba(15, 23, 42, 0.08);

    /* Shadow Elevations */
    --agni-shadow-sm: 0 1px 3px rgba(1, 33, 23, 0.05);
    --agni-shadow-md: 0 4px 12px rgba(1, 33, 23, 0.08);
    --agni-shadow-lg: 0 12px 28px rgba(1, 33, 23, 0.12);
    --agni-shadow-xl: 0 20px 48px rgba(1, 33, 23, 0.16);

    /* Shadow Targets */
    --agni-shadow-header: 0 2px 10px rgba(1, 33, 23, 0.04);
    --agni-shadow-card-hover: 0 10px 24px rgba(1, 33, 23, 0.1);
    --agni-shadow-dropdown: 0 6px 20px rgba(1, 33, 23, 0.12);
    --agni-shadow-modal: 0 24px 64px rgba(1, 33, 23, 0.18);

    /* Unified Motion Engine */
    --agni-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --agni-duration-hover: 180ms;
    --agni-duration-dropdown: 220ms;
    --agni-duration-modal: 250ms;
    --agni-duration-page: 300ms;
    --agni-duration-accordion: 180ms;
    --agni-duration-sheet: 250ms;

    --agni-transition: all var(--agni-duration-hover) var(--agni-ease);
    --agni-focus-ring: rgba(16, 158, 91, 0.25);

    --wp--preset--color--surface-light: var(--agni-surface-light);
    --wp--preset--color--text-primary: var(--agni-text-primary);
  }
}
