/**
 * Harbor Law Marketing Site - Theme Variables
 * Matches iOS app (harbor-law-ios) + app.harbor.law – maritime navy blue
 */

:root {
  /* ===== BRAND COLORS (iOS navy theme) ===== */
  /* Primary – navy blue */
  --color-primary: #1E4D7B;
  --color-primary-hover: #163A52;
  --color-primary-light: #D1E3F0;
  --color-primary-dark: #0F2A3D;

  /* Secondary – lighter navy */
  --color-secondary: #2E6FA0;
  --color-secondary-hover: #1E4D7B;
  --color-secondary-light: #F0F5FA;

  /* Accent – lighter blue for CTAs */
  --color-accent: #3D85B8;
  --color-accent-hover: #2E6FA0;

  /* ===== TEXT COLORS ===== */
  --color-text-primary: #1E293B;
  --color-text-body: #64748B;
  --color-text-light: #94A3B8;
  --color-text-white: #FFFFFF;

  /* ===== BACKGROUND COLORS ===== */
  --color-bg-primary: #FFFFFF;
  --color-bg-secondary: #F8FAFC;
  --color-bg-dark: #0F2A3D;

  /* ===== UTILITY COLORS (match iOS semantic) ===== */
  --color-success: #16A34A;
  --color-success-light: #F0FDF4;
  --color-warning: #D97706;
  --color-warning-light: #FFFBEB;
  --color-error: #DC2626;
  --color-error-light: #FEF2F2;
  --color-info: #0284C7;
  --color-info-light: #F0F9FF;
  
  /* ===== TYPOGRAPHY ===== */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-display: 'Merriweather', Georgia, serif;
  
  /* Font Sizes */
  --font-size-xs: 0.75rem;      /* 12px */
  --font-size-sm: 0.875rem;     /* 14px */
  --font-size-base: 1rem;       /* 16px */
  --font-size-lg: 1.125rem;     /* 18px */
  --font-size-xl: 1.25rem;      /* 20px */
  --font-size-2xl: 1.5rem;      /* 24px */
  --font-size-3xl: 2rem;        /* 32px */
  --font-size-4xl: 2.5rem;      /* 40px */
  --font-size-display: 2rem;    /* 32px - matches Laravel */
  --font-size-display-lg: 2.5rem; /* 40px - matches Laravel */
  
  /* Font Weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;
  --line-height-loose: 1.8;
  
  /* ===== SPACING ===== */
  --spacing-xs: 0.5rem;     /* 8px */
  --spacing-sm: 1rem;       /* 16px */
  --spacing-md: 1.5rem;     /* 24px */
  --spacing-lg: 2rem;       /* 32px */
  --spacing-xl: 3rem;       /* 48px */
  --spacing-2xl: 4rem;      /* 64px */
  --spacing-3xl: 6rem;      /* 96px */
  
  /* ===== BORDER RADIUS ===== */
  --radius-sm: 0.25rem;     /* 4px */
  --radius-md: 0.5rem;      /* 8px */
  --radius-lg: 0.75rem;     /* 12px - matches Laravel xl */
  --radius-xl: 1rem;        /* 16px */
  
  /* ===== SHADOWS ===== */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-soft: 0 1px 3px 0 rgb(0 0 0 / 0.06), 0 1px 2px -1px rgb(0 0 0 / 0.06);
  --shadow-card: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
  --shadow-card-hover: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.08);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  
  /* ===== TRANSITIONS ===== */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  
  /* ===== BREAKPOINTS (for reference in JS) ===== */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  
  /* ===== LAYOUT ===== */
  --container-max-width: 1152px;  /* 6xl = 72rem matches Laravel */
  --container-padding: 1rem;
  --container-padding-lg: 1.5rem;
}
