/**
 * CSS Custom Properties - Air Tasman Website
 * Design tokens and variables for consistent theming across all pages
 */

:root {
  /* =====================
     COLORS
     ===================== */
  
  /* Primary Brand Colors */
  --color-primary: #0066CC;
  --color-primary-dark: #0052A3;
  --color-primary-light: #E6F3FF;
  --color-secondary: #4A5568;
  
  /* Homepage-specific colors */
  --color-gradient-start: #0066CC;
  --color-gradient-end: #00A3E0;
  --color-overlay-dark: rgba(0, 0, 0, 0.4);
  --color-overlay-light: rgba(255, 255, 255, 0.95);
  --color-accent-gold: #FFB800;
  --color-background-alt: #F7FAFC;
  
  /* Semantic Colors */
  --color-success: #10B981;
  --color-error: #EF4444;
  --color-warning: #F59E0B;
  
  /* Neutral Colors */
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-gray-50: #F9FAFB;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-300: #D1D5DB;
  --color-gray-400: #9CA3AF;
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;
  
  /* Border Colors */
  --color-border: #E2E8F0;
  --color-border-focus: var(--color-primary);
  --color-border-error: var(--color-error);
  
  /* Background Colors */
  --color-bg-primary: var(--color-white);
  --color-bg-secondary: var(--color-gray-50);
  --color-bg-hero: linear-gradient(135deg, #0066CC 0%, #003D7A 100%);
  
  /* =====================
     SPACING
     ===================== */
  
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-3xl: 96px;
  
  /* =====================
     TYPOGRAPHY
     ===================== */
  
  /* Font Families */
  --font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  
  /* Font Sizes (1.25 modular scale) */
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --font-size-2xl: 32px;
  --font-size-3xl: 40px;
  
  /* Font Weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* =====================
     LAYOUT & SIZING
     ===================== */
  
  /* Breakpoints */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1440px;
  
  /* Border Radius */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 16px;
  --border-radius-full: 9999px;
  
  /* Component Sizes */
  --input-height: 48px;
  --button-height: 48px;
  --form-max-width: 480px;
  --touch-target-min: 48px;
  
  /* =====================
     ANIMATIONS & TRANSITIONS
     ===================== */
  
  /* Transition Durations */
  --transition-fast: 200ms;
  --transition-medium: 400ms;
  --transition-slow: 600ms;
  
  /* Transition Easings */
  --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  --ease-in-out: cubic-bezier(0.42, 0, 0.58, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  
  /* =====================
     SHADOWS & EFFECTS
     ===================== */
  
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 10px 25px rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 25px 50px rgba(0, 0, 0, 0.15);
  
  /* Focus Ring */
  --focus-ring: 0 0 0 4px rgba(0, 102, 204, 0.1);
  --focus-ring-error: 0 0 0 4px rgba(239, 68, 68, 0.1);
  
  /* =====================
     Z-INDEX SCALE
     ===================== */
  
  --z-dropdown: 1000;
  --z-modal: 1050;
  --z-popover: 1100;
  --z-tooltip: 1150;
  --z-skip-link: 10000;
}