// ==============================|| DEFAULT THEME - TYPOGRAPHY  ||============================== //

// Refined enterprise type scale (Stripe / Linear feel):
// - Tight negative tracking on display headings so large text reads crisp, not loose.
// - Buttons are medium-weight and case-preserving (no shouty UPPERCASE / Capitalize).
// - Slightly looser tracking on the small uppercase eyebrow/overline labels for legibility.
const Typography = (fontFamily) => ({
  htmlFontSize: 16,
  fontFamily,
  fontWeightLight: 300,
  fontWeightRegular: 400,
  fontWeightMedium: 500,
  fontWeightBold: 600,
  h1: {
    fontWeight: 700,
    fontSize: '2.25rem',
    lineHeight: 1.2,
    letterSpacing: '-0.025em'
  },
  h2: {
    fontWeight: 700,
    fontSize: '1.875rem',
    lineHeight: 1.25,
    letterSpacing: '-0.02em'
  },
  h3: {
    fontWeight: 600,
    fontSize: '1.5rem',
    lineHeight: 1.33,
    letterSpacing: '-0.018em'
  },
  h4: {
    fontWeight: 600,
    fontSize: '1.25rem',
    lineHeight: 1.4,
    letterSpacing: '-0.014em'
  },
  h5: {
    fontWeight: 600,
    fontSize: '1rem',
    lineHeight: 1.5,
    letterSpacing: '-0.01em'
  },
  h6: {
    fontWeight: 500,
    fontSize: '0.875rem',
    lineHeight: 1.57,
    letterSpacing: '-0.006em'
  },
  caption: {
    fontWeight: 400,
    fontSize: '0.75rem',
    lineHeight: 1.66,
    letterSpacing: '0'
  },
  body1: {
    fontSize: '0.875rem',
    lineHeight: 1.57,
    letterSpacing: '-0.006em'
  },
  body2: {
    fontSize: '0.75rem',
    lineHeight: 1.66,
    letterSpacing: '0'
  },
  subtitle1: {
    fontSize: '0.875rem',
    fontWeight: 600,
    lineHeight: 1.57,
    letterSpacing: '-0.006em'
  },
  subtitle2: {
    fontSize: '0.75rem',
    fontWeight: 500,
    lineHeight: 1.66
  },
  overline: {
    fontWeight: 600,
    fontSize: '0.6875rem',
    lineHeight: 1.66,
    letterSpacing: '0.06em',
    textTransform: 'uppercase'
  },
  button: {
    fontWeight: 600,
    letterSpacing: '-0.004em',
    textTransform: 'none'
  }
});

export default Typography;
