/* ==========================================================================
   AudiTax Typography — Bilingual Precision Scale (Arabic & English)
   ========================================================================== */

/* Import Google Fonts: Cairo & IBM Plex Sans Arabic + Plus Jakarta Sans & Outfit */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&family=IBM+Plex+Sans+Arabic:wght@300;400;500;600;700&family=Outfit:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  /* Font Family Definitions */
  --font-arabic-display: 'Cairo', system-ui, -apple-system, sans-serif;
  --font-arabic-body: 'IBM Plex Sans Arabic', system-ui, -apple-system, sans-serif;
  --font-english-display: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-english-body: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

  /* Default Active Fonts (Arabic is default) */
  --font-display: var(--font-arabic-display);
  --font-body: var(--font-arabic-body);

  /* Fluid Typographic Scale */
  --font-size-hero: clamp(1.85rem, 4.5vw, 3.5rem);   /* 28px - 56px */
  --font-size-h1: clamp(1.5rem, 3.5vw, 2.5rem);      /* 24px - 40px */
  --font-size-h2: clamp(1.25rem, 2.8vw, 2rem);       /* 20px - 32px */
  --font-size-h3: clamp(1.1rem, 2.2vw, 1.45rem);     /* ~17.5px - 23px */
  --font-size-h4: 1.05rem;                          /* ~16.8px */
  --font-size-lead: clamp(0.95rem, 1.6vw, 1.15rem); /* ~15px - 18.5px */
  --font-size-body: 0.95rem;                         /* 15.2px */
  --font-size-small: 0.85rem;                        /* 13.6px */
  --font-size-caption: 0.75rem;                      /* 12px */

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-snug: 1.35;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.75;

  /* Font Weights */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;
}

/* Tablet & Mobile Typographic Scale (max-width: 768px) */
@media (max-width: 768px) {
  :root {
    --font-size-hero: clamp(1.4rem, 4.8vw, 1.85rem);
    --font-size-h1: clamp(1.22rem, 3.8vw, 1.5rem);
    --font-size-h2: clamp(1.1rem, 3vw, 1.28rem);
    --font-size-h3: clamp(1rem, 2.4vw, 1.15rem);
    --font-size-h4: 0.95rem;
    --font-size-lead: 0.9rem;
    --font-size-body: 0.88rem;
    --font-size-small: 0.8rem;
    --font-size-caption: 0.72rem;
  }
}

/* Small Mobile Screens Scale (max-width: 480px) */
@media (max-width: 480px) {
  :root {
    --font-size-hero: 1.45rem;
    --font-size-h1: 1.25rem;
    --font-size-h2: 1.1rem;
    --font-size-h3: 0.98rem;
    --font-size-h4: 0.88rem;
    --font-size-lead: 0.85rem;
    --font-size-body: 0.84rem;
    --font-size-small: 0.76rem;
    --font-size-caption: 0.68rem;
  }
}

/* English Mode Font Overrides */
[dir="ltr"],
html[lang="en"] {
  --font-display: var(--font-english-display);
  --font-body: var(--font-english-body);
}

/* General Typography Rules */
body {
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: var(--line-height-normal);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--text);
  font-weight: var(--fw-bold);
  line-height: var(--line-height-tight);
  letter-spacing: -0.015em;
  margin: 0;
}

[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3 {
  letter-spacing: normal;
  line-height: 1.3;
}

.text-hero {
  font-size: var(--font-size-hero);
  font-weight: var(--fw-black);
  line-height: 1.15;
}

.text-h1 {
  font-size: var(--font-size-h1);
}

.text-h2 {
  font-size: var(--font-size-h2);
}

.text-h3 {
  font-size: var(--font-size-h3);
}

.text-lead {
  font-size: var(--font-size-lead);
  line-height: var(--line-height-relaxed);
  color: var(--text-secondary);
}

.text-small {
  font-size: var(--font-size-small);
}

.text-caption {
  font-size: var(--font-size-caption);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

[dir="rtl"] .text-caption {
  letter-spacing: normal;
}

.text-accent {
  color: var(--accent);
}

.text-muted {
  color: var(--text-muted);
}
