/* ================================================================
   TrkFit V4 — css/typography.css
   Font loading + typographic scale
================================================================ */

/* ── Google Fonts (moved to HTML head) ───────────────────── */
/* ── Heading scale ───────────────────────────────────────────── */
.h1 {
  font-family: var(--font-head);
  font-size: var(--fs-6xl);
  font-weight: 800;
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
  color: var(--c-text);
}

.h2 {
  font-family: var(--font-head);
  font-size: var(--fs-5xl);
  font-weight: 800;
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-snug);
  color: var(--c-text);
}

.h3 {
  font-family: var(--font-head);
  font-size: var(--fs-4xl);
  font-weight: 700;
  line-height: var(--lh-snug);
  color: var(--c-text);
}

.h4 {
  font-family: var(--font-head);
  font-size: var(--fs-3xl);
  font-weight: 700;
  line-height: var(--lh-snug);
  color: var(--c-text);
}

.h5 {
  font-family: var(--font-head);
  font-size: var(--fs-2xl);
  font-weight: 700;
  color: var(--c-text);
}

.h6 {
  font-family: var(--font-head);
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--c-text);
}

/* ── Body text ───────────────────────────────────────────────── */
.text-lg   { font-size: var(--fs-xl);   line-height: var(--lh-loose); }
.text-base { font-size: var(--fs-base); line-height: var(--lh-base);  }
.text-sm   { font-size: var(--fs-sm);   line-height: var(--lh-base);  }
.text-xs   { font-size: var(--fs-xs);   line-height: var(--lh-base);  }

/* ── Font families ───────────────────────────────────────────── */
.font-head { font-family: var(--font-head); }
.font-body { font-family: var(--font-body); }
.font-hi   { font-family: var(--font-hi);   }

/* ── Font weights ────────────────────────────────────────────── */
.fw-300 { font-weight: 300; }
.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }
.fw-800 { font-weight: 800; }

/* ── Colors ──────────────────────────────────────────────────── */
.text-primary  { color: var(--c-text);   }
.text-secondary{ color: var(--c-text2);  }
.text-muted    { color: var(--c-text3);  }
.text-faint    { color: var(--c-text4);  }
.text-accent   { color: var(--c-accent); }
.text-blue     { color: var(--c-blue);   }
.text-red      { color: var(--c-red);    }
.text-amber    { color: var(--c-amber);  }
.text-purple   { color: var(--c-purple); }
.text-white    { color: #fff;            }

/* ── Alignment ───────────────────────────────────────────────── */
.text-left   { text-align: left;   }
.text-center { text-align: center; }
.text-right  { text-align: right;  }

/* ── Transforms ──────────────────────────────────────────────── */
.uppercase { text-transform: uppercase; letter-spacing: var(--ls-wide); }
.capitalize{ text-transform: capitalize; }

/* ── Hindi / multilingual ────────────────────────────────────── */
[lang="hi"], [data-lang="hi"] {
  font-family: var(--font-hi);
}

/* ── Eyebrow label ───────────────────────────────────────────── */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: var(--ls-wider);
  color: var(--c-accent);
  background: var(--c-accent-lt);
  border: 1px solid var(--c-accent-md);
  border-radius: var(--r-full);
  padding: 5px 14px 5px 10px;
  margin-bottom: var(--sp-4);
}

.eyebrow-dot {
  width: 7px; height: 7px;
  background: var(--c-accent);
  border-radius: 50%;
  animation: pulseDot 2s infinite;
}

/* ── Truncate ────────────────────────────────────────────────── */
.truncate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
