/**
 * LegalMind Professional Font System
 * Professional typography for legal platform
 */

/* Import professional fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Source+Serif+Pro:wght@400;600;700&family=Playfair+Display:wght@400;600;700&display=swap');

/* Professional Font Variables */
:root {
  /* Primary Font - Clean, professional sans-serif */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  
  /* Secondary Font - Elegant serif for headings */
  --font-secondary: 'Source Serif Pro', Georgia, 'Times New Roman', serif;
  
  /* Display Font - Sophisticated serif for special headings */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  
  /* Font Weights */
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  
  /* Font Sizes */
  --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 */
  
  /* Line Heights */
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
}

/* Global Typography Reset */
* {
  font-family: var(--font-primary);
}

/* Professional Typography Classes */
.professional-heading {
  font-family: var(--font-display);
  font-weight: var(--font-bold);
  color: #0F2D52;
  line-height: var(--leading-tight);
}

.professional-subheading {
  font-family: var(--font-secondary);
  font-weight: var(--font-semibold);
  color: #1F2937;
  line-height: var(--leading-snug);
}

.professional-body {
  font-family: var(--font-primary);
  font-weight: var(--font-normal);
  color: #374151;
  line-height: var(--leading-relaxed);
}

.professional-small {
  font-family: var(--font-primary);
  font-weight: var(--font-normal);
  color: #6B7280;
  line-height: var(--leading-normal);
}

/* Legal Document Typography */
.legal-document {
  font-family: var(--font-secondary);
  font-weight: var(--font-normal);
  color: #1F2937;
  line-height: var(--leading-relaxed);
}

.legal-heading {
  font-family: var(--font-display);
  font-weight: var(--font-bold);
  color: #0F2D52;
  line-height: var(--leading-tight);
}

.legal-subheading {
  font-family: var(--font-secondary);
  font-weight: var(--font-semibold);
  color: #1F2937;
  line-height: var(--leading-snug);
}

/* Button Typography */
.btn-primary {
  font-family: var(--font-primary);
  font-weight: var(--font-semibold);
  letter-spacing: 0.025em;
}

.btn-secondary {
  font-family: var(--font-primary);
  font-weight: var(--font-medium);
  letter-spacing: 0.025em;
}

/* Navigation Typography */
.nav-link {
  font-family: var(--font-primary);
  font-weight: var(--font-medium);
  letter-spacing: 0.025em;
}

/* Form Typography */
.form-label {
  font-family: var(--font-primary);
  font-weight: var(--font-medium);
  color: #374151;
}

.form-input {
  font-family: var(--font-primary);
  font-weight: var(--font-normal);
}

/* Card Typography */
.card-title {
  font-family: var(--font-display);
  font-weight: var(--font-semibold);
  color: #0F2D52;
}

.card-subtitle {
  font-family: var(--font-secondary);
  font-weight: var(--font-normal);
  color: #6B7280;
}

.card-body {
  font-family: var(--font-primary);
  font-weight: var(--font-normal);
  color: #374151;
  line-height: var(--leading-relaxed);
}

/* Alert Typography */
.alert-title {
  font-family: var(--font-primary);
  font-weight: var(--font-semibold);
}

.alert-body {
  font-family: var(--font-primary);
  font-weight: var(--font-normal);
  line-height: var(--leading-relaxed);
}

/* Modal Typography */
.modal-title {
  font-family: var(--font-display);
  font-weight: var(--font-bold);
  color: #0F2D52;
}

.modal-body {
  font-family: var(--font-primary);
  font-weight: var(--font-normal);
  color: #374151;
  line-height: var(--leading-relaxed);
}

/* Table Typography */
.table-header {
  font-family: var(--font-primary);
  font-weight: var(--font-semibold);
  color: #374151;
}

.table-cell {
  font-family: var(--font-primary);
  font-weight: var(--font-normal);
  color: #1F2937;
}

/* Responsive Typography */
@media (max-width: 768px) {
  :root {
    --text-xs: 0.75rem;    /* 12px */
    --text-sm: 0.875rem;   /* 14px */
    --text-base: 0.9375rem; /* 15px */
    --text-lg: 1rem;       /* 16px */
    --text-xl: 1.125rem;   /* 18px */
    --text-2xl: 1.25rem;   /* 20px */
    --text-3xl: 1.5rem;    /* 24px */
    --text-4xl: 1.875rem;  /* 30px */
    --text-5xl: 2.25rem;   /* 36px */
  }
}

/* Print Styles */
@media print {
  .professional-heading,
  .legal-heading {
    font-family: var(--font-display);
    color: #000 !important;
  }
  
  .professional-body,
  .legal-document {
    font-family: var(--font-secondary);
    color: #000 !important;
  }
}
