/* ============================================================
   TheSelfistry — Design System (CSS Custom Properties)
   File: static/css/components/design_tokens.css
   Loaded via base.html — available globally
   ============================================================ */

/* ---- Google Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  /* ---- Colour Palette ---- */
  --color-primary:        #63D3C6;   /* Main Teal accent */
  --color-primary-dark:   #3FA69A;   /* Deep Teal hover state */
  --color-primary-deep:   #20423D;   /* Dark forest teal for headers/dark sections */
  --color-primary-light:  #E4F7F4;   /* Soft teal tint for badges & hover BG */
  --color-bg:             #FAF8F5;   /* Warm off-white page background */
  --color-surface:        #FFFFFF;   /* Cards, modals */
  --color-accent:         #F5D6B8;   /* Peach — section backgrounds, badges */
  --color-accent-dark:    #E9BD8C;   /* Deep peach */
  --color-text:           #333333;   /* Primary body text */
  --color-text-dark:      #333333;
  --color-text-muted:     #666666;   /* Secondary/metadata text */
  --color-text-light:     #666666;   /* Light text */
  --color-border:         #EDE7DE;   /* Dividers, card borders */
  --color-border-light:   #F0EDE8;
  --color-white:          #FFFFFF;
  --color-black:          #1A1A1A;

  /* ---- Semantic Colours ---- */
  --color-success:        #7BCFA5;
  --color-error:          #E57373;
  --color-info:           #64B5F6;
  --color-warning:        #FFB74D;

  /* ---- Typography ---- */
  --font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:    'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-xs:   0.75rem;   /*  12px */
  --text-sm:   0.875rem;  /*  14px */
  --text-base: 1rem;      /*  16px */
  --text-lg:   1.125rem;  /*  18px */
  --text-xl:   1.25rem;   /*  20px */
  --text-2xl:  1.5rem;    /*  24px */
  --text-3xl:  1.875rem;  /*  30px */
  --text-4xl:  2.25rem;   /*  36px */
  --text-5xl:  3rem;      /*  48px */
  --text-6xl:  3.75rem;   /*  60px */

  --leading-tight:   1.25;
  --leading-snug:    1.375;
  --leading-normal:  1.6;
  --leading-relaxed: 1.75;

  /* ---- Spacing ---- */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* ---- Layout ---- */
  --container-width: 1240px;
  --container-padding: 1.5rem;

  /* ---- Border Radius ---- */
  --radius-sm:   10px;
  --radius-md:   20px;
  --radius-lg:   32px;
  --radius-xl:   40px;
  --radius-full: 9999px;
  --radius-pill: 9999px;

  /* ---- Shadows & Transitions ---- */
  --shadow-soft: 0 8px 30px rgba(51,51,51,0.07);
  --shadow-lift: 0 24px 55px rgba(32,66,61,0.16);
  --shadow-xs:   0 1px 3px rgba(0,0,0,0.04);
  --shadow-sm:   0 2px 8px rgba(0,0,0,0.06);
  --shadow-md:   0 4px 20px rgba(0,0,0,0.08);
  --shadow-lg:   0 8px 40px rgba(0,0,0,0.10);
  --shadow-xl:   0 16px 64px rgba(0,0,0,0.12);

  --ease:              cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast:   all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --transition:        all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:   all 0.5s cubic-bezier(0.4, 0, 0.2, 1);

  /* ---- Z-index layers ---- */
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    300;
  --z-toast:    400;
}
