/* ==========================================================================
   Funeraire 360 — Design Tokens
   CSS Custom Properties for B2B, B2C, and shared design systems.
   ========================================================================== */

:root {
  /* ========================================================================
     B2B "Professional Trust" Palette
     ======================================================================== */
  --b2b-primary: #1B2A4A;
  --b2b-primary-light: #2A3D66;
  --b2b-primary-dark: #111C33;
  --b2b-secondary: #4A6FA5;
  --b2b-secondary-light: #6389BD;
  --b2b-secondary-dark: #3A5A88;
  --b2b-accent: #2A9D8F;
  --b2b-accent-light: #3DB5A6;
  --b2b-accent-dark: #1F7A6F;
  --b2b-bg: #F5F6FA;
  --b2b-surface: #FFFFFF;
  --b2b-surface-alt: #EDF0F7;
  --b2b-border: #D2D6E1;
  --b2b-border-light: #E8EBF2;
  --b2b-text: #2D3748;
  --b2b-text-muted: #718096;
  --b2b-text-inverse: #FFFFFF;
  --b2b-error: #E53E3E;
  --b2b-error-light: #FED7D7;
  --b2b-error-dark: #C53030;
  --b2b-success: #38A169;
  --b2b-success-light: #C6F6D5;
  --b2b-success-dark: #276749;
  --b2b-warning: #D69E2E;
  --b2b-warning-light: #FEFCBF;
  --b2b-warning-dark: #B7791F;
  --b2b-info: #3182CE;
  --b2b-info-light: #BEE3F8;

  /* B2B Typography */
  --b2b-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --b2b-font-size-base: 14px;
  --b2b-line-height-base: 1.5;

  /* ========================================================================
     B2C "Gentle Companion" Palette
     ======================================================================== */
  --b2c-primary: #6B8CAE;
  --b2c-primary-light: #8BA8C6;
  --b2c-primary-dark: #527396;
  --b2c-secondary: #8FA88C;
  --b2c-secondary-light: #A8BDA5;
  --b2c-secondary-dark: #748D71;
  --b2c-accent: #C9A96E;
  --b2c-accent-light: #D9C08E;
  --b2c-accent-dark: #B3904E;
  --b2c-bg: #FAF8F5;
  --b2c-surface: #FFFFFF;
  --b2c-surface-alt: #F3EDE5;
  --b2c-border: #E2DCD4;
  --b2c-border-light: #EDE8E1;
  --b2c-text: #3D3833;
  --b2c-text-muted: #8A8279;
  --b2c-text-inverse: #FFFFFF;
  --b2c-alert: #D4A5A5;
  --b2c-alert-light: #F0DADA;
  --b2c-alert-dark: #B88585;
  --b2c-success: #9BB09B;
  --b2c-success-light: #D4E4D4;
  --b2c-success-dark: #7A947A;
  --b2c-warning: #D4B88A;
  --b2c-warning-light: #F0E4D0;
  --b2c-candle: #E8C547;
  --b2c-candle-glow: rgba(232, 197, 71, 0.2);
  --b2c-heart: #D4707A;
  --b2c-heart-light: rgba(212, 112, 122, 0.15);
  --b2c-flower: #B8A9C9;
  --b2c-flower-light: rgba(184, 169, 201, 0.15);
  --b2c-prayer: #A5B8C9;
  --b2c-prayer-light: rgba(165, 184, 201, 0.15);

  /* B2C Typography */
  --b2c-font-heading: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --b2c-font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --b2c-font-size-base: 16px;
  --b2c-line-height-base: 1.65;

  /* ========================================================================
     Shared Spacing Scale (4px base)
     ======================================================================== */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  /* ========================================================================
     Shared Border Radius
     ======================================================================== */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* ========================================================================
     Shared Shadows
     ======================================================================== */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.05);
  --shadow-focus: 0 0 0 3px rgba(74, 111, 165, 0.3);

  /* ========================================================================
     Shared Transitions
     ======================================================================== */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-bounce: 250ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ========================================================================
     Shared Typography Scale
     ======================================================================== */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  /* ========================================================================
     Z-Index Scale
     ======================================================================== */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal-backdrop: 400;
  --z-modal: 500;
  --z-popover: 600;
  --z-tooltip: 700;
  --z-toast: 800;

  /* ========================================================================
     Semantic Color Tokens (mapped per theme via b2b.css / b2c.css)
     ======================================================================== */
  --color-primary: var(--b2b-primary);
  --color-primary-light: var(--b2b-primary-light);
  --color-primary-dark: var(--b2b-primary-dark);
  --color-secondary: var(--b2b-secondary);
  --color-accent: var(--b2b-accent);
  --color-bg: var(--b2b-bg);
  --color-surface: var(--b2b-surface);
  --color-surface-alt: var(--b2b-surface-alt);
  --color-border: var(--b2b-border);
  --color-border-light: var(--b2b-border-light);
  --color-text: var(--b2b-text);
  --color-text-muted: var(--b2b-text-muted);
  --color-text-inverse: var(--b2b-text-inverse);
  --color-error: var(--b2b-error);
  --color-error-light: var(--b2b-error-light);
  --color-success: var(--b2b-success);
  --color-success-light: var(--b2b-success-light);
  --color-warning: var(--b2b-warning);
  --color-warning-light: var(--b2b-warning-light);

  --font-family: var(--b2b-font-family);
  --font-family-heading: var(--b2b-font-family);
  --font-size-base: var(--b2b-font-size-base);
  --line-height-base: var(--b2b-line-height-base);
}
