/* ============================================
   JUMPO DESIGN SYSTEM - CSS VARIABLES
   100% Pixel Perfect Design Implementation
   ============================================ */

:root {
  /* ========================================
     COLOR PALETTE
     ======================================== */

  /* Brand Colors */
  --color-brand-orange: #EA6B41;
  --color-brand-yellow: #FFDA79;
  --color-brand-yellow-light: #FFF0BF;
  --color-brand-purple: #8a38f5;
  --color-text-dark: #444444;
  --color-white: #ffffff;
  --color-off-white: #FFFDFC;
  --color-bg-light: #fffcfb;
  --color-accent-red: #ff0000;
  --color-gray: #929292;

  /* Semantic Colors */
  --color-primary: var(--color-brand-orange);
  --color-text-primary: var(--color-text-dark);
  --color-text-secondary: #666666;
  --color-bg-primary: var(--color-white);
  --color-bg-secondary: var(--color-bg-light);
  --color-border: #e0e0e0;
  --color-success: #10b981;
  --color-warning: var(--color-accent-red);
  --color-error: var(--color-accent-red);

  /* ========================================
     TYPOGRAPHY SCALE
     ======================================== */

  /* Heading Sizes */
  --font-size-h1: 112px;
  --font-size-h2: 88px;
  --font-size-h3: 64px;
  --font-size-h4: 46px;
  --font-size-h5: 40px;
  --font-size-h6: 32px;

  /* Body Sizes */
  --font-size-body-lg: 40px;
  --font-size-body-md: 18px;
  --font-size-body-sm: 16px;
  --font-size-body-xs: 14px;

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Line Heights (Ratio) */
  --line-height-tight: 1.2;
  --line-height-normal: 1.4;
  --line-height-relaxed: 1.5;
  --line-height-loose: 1.8;

  /* Letter Spacing */
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.02em;

  /* ========================================
     LAYOUT & SPACING
     ======================================== */

  /* Container Widths */
  --container-width-max: 1280px;
  --viewport-width-desktop: 1440px;
  --viewport-width-tablet: 768px;
  --viewport-width-mobile: 393px;

  /* Margin/Padding Scales */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --spacing-2xl: 32px;
  --spacing-3xl: 48px;
  --spacing-4xl: 64px;
  --spacing-5xl: 80px;

  /* Responsive Margins */
  --margin-horizontal: var(--margin-horizontal-desktop);
  --margin-horizontal-desktop: 24px;
  --margin-horizontal-tablet: 20px;
  --margin-horizontal-mobile: 16px;

  /* Gap/Column Spacing */
  --gap-sm: 8px;
  --gap-md: 16px;
  --gap-lg: 24px;
  --gap-xl: 32px;

  /* ========================================
     BORDER & RADIUS
     ======================================== */

  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-full: 9999px;

  --border-width-thin: 1px;
  --border-width-normal: 2px;
  --border-width-thick: 3px;

  /* ========================================
     SHADOWS
     ======================================== */

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);

  /* ========================================
     TRANSITIONS & ANIMATIONS
     ======================================== */

  --transition-fast: 150ms;
  --transition-normal: 200ms;
  --transition-slow: 300ms;

  --timing-ease-out: cubic-bezier(0.4, 0, 0.2, 1);
  --timing-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --timing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  /* ========================================
     Z-INDEX SCALE
     ======================================== */

  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-modal-backdrop: 40;
  --z-modal: 50;
  --z-tooltip: 60;
  --z-notification: 70;
}

/* ========================================
   TABLET BREAKPOINT VARIABLES
   ======================================== */

@media (max-width: 768px) {
  :root {
    --margin-horizontal: var(--margin-horizontal-tablet);
    --font-size-h1: 64px;
    --font-size-h2: 56px;
    --font-size-h3: 48px;
    --font-size-h4: 40px;
    --font-size-body-lg: 32px;
  }
}

/* ========================================
   TABLET LARGE BREAKPOINT (iPad Landscape)
   ======================================== */

@media (min-width: 1025px) and (max-width: 1280px) {
  :root {
    --font-size-h1: 80px;
    --font-size-h2: 64px;
    --font-size-h3: 48px;
    --font-size-h4: 36px;
    --font-size-h5: 32px;
    --font-size-body-lg: 28px;
  }
}

/* ========================================
   TABLET BREAKPOINT VARIABLES (iPad)
   ======================================== */

@media (min-width: 769px) and (max-width: 1024px) {
  :root {
    --margin-horizontal: var(--margin-horizontal-tablet);
    --font-size-h1: 56px;
    --font-size-h2: 44px;
    --font-size-h3: 36px;
    --font-size-h4: 28px;
    --font-size-h5: 24px;
    --font-size-body-lg: 22px;
  }
}

/* ========================================
   SMALL TABLET BREAKPOINT (iPad Mini/Surface)
   ======================================== */

@media (min-width: 481px) and (max-width: 768px) {
  :root {
    --margin-horizontal: var(--margin-horizontal-tablet);
    --font-size-h1: 44px;
    --font-size-h2: 36px;
    --font-size-h3: 28px;
    --font-size-h4: 22px;
    --font-size-h5: 20px;
    --font-size-body-lg: 18px;
  }
}

/* ========================================
   MOBILE BREAKPOINT VARIABLES (Phone)
   ======================================== */

@media (max-width: 480px) {
  :root {
    --margin-horizontal: var(--margin-horizontal-mobile);
    --font-size-h1: 32px;
    --font-size-h2: 28px;
    --font-size-h3: 24px;
    --font-size-h4: 20px;
    --font-size-h5: 18px;
    --font-size-body-lg: 16px;
  }
}
