/* ============================================================
   ProGaming-Tips — pg-fonts.css
   Google Fonts imports and font utility classes
   ============================================================ */

/* Import from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Rajdhani:wght@400;500;600;700&family=Exo+2:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,500&display=swap');

/* Font utility classes */
.pg-font-display  { font-family: 'Orbitron', sans-serif; }
.pg-font-heading  { font-family: 'Rajdhani', sans-serif; }
.pg-font-body     { font-family: 'Exo 2', sans-serif; }

/* Weight utilities */
.pg-fw-300 { font-weight: 300; }
.pg-fw-400 { font-weight: 400; }
.pg-fw-500 { font-weight: 500; }
.pg-fw-600 { font-weight: 600; }
.pg-fw-700 { font-weight: 700; }
.pg-fw-800 { font-weight: 800; }
.pg-fw-900 { font-weight: 900; }

/* Size utilities */
.pg-text-xs   { font-size: 0.72rem; }
.pg-text-sm   { font-size: 0.85rem; }
.pg-text-base { font-size: 1rem; }
.pg-text-lg   { font-size: 1.125rem; }
.pg-text-xl   { font-size: 1.25rem; }
.pg-text-2xl  { font-size: 1.5rem; }
.pg-text-3xl  { font-size: 1.875rem; }
.pg-text-4xl  { font-size: 2.25rem; }

/* Color utilities */
.pg-text-primary   { color: var(--pg-text-primary) !important; }
.pg-text-secondary { color: var(--pg-text-secondary) !important; }
.pg-text-neon-cyan { color: var(--pg-neon-cyan) !important; }
.pg-text-neon-green{ color: var(--pg-neon-green) !important; }
.pg-text-violet    { color: var(--pg-neon-violet) !important; }
.pg-text-amber     { color: var(--pg-accent-amber) !important; }

/* Letter spacing */
.pg-ls-tight  { letter-spacing: -0.02em; }
.pg-ls-normal { letter-spacing: 0; }
.pg-ls-wide   { letter-spacing: 0.1em; }
.pg-ls-wider  { letter-spacing: 0.15em; }
.pg-ls-widest { letter-spacing: 0.25em; }

/* Line height */
.pg-lh-tight  { line-height: 1.2; }
.pg-lh-snug   { line-height: 1.35; }
.pg-lh-normal { line-height: 1.6; }
.pg-lh-relaxed{ line-height: 1.75; }
.pg-lh-loose  { line-height: 2; }

/* Text transform */
.pg-uppercase { text-transform: uppercase; }
.pg-lowercase { text-transform: lowercase; }
.pg-capitalize{ text-transform: capitalize; }

/* Special headings */
.pg-heading-xl {
  font-family: 'Orbitron', sans-serif;
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.pg-heading-lg {
  font-family: 'Rajdhani', sans-serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.pg-heading-md {
  font-family: 'Rajdhani', sans-serif;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 700;
  line-height: 1.3;
}

.pg-label-mono {
  font-family: 'Orbitron', monospace;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pg-neon-cyan);
}

/* Article typography */
.pg-article-body {
  font-family: 'Exo 2', sans-serif;
  font-size: 1.05rem;
  line-height: 1.85;
  color: var(--pg-text-secondary);
}

.pg-article-lead {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.75;
  color: #b0bec5;
}

/* Decorative separator text */
.pg-text-separator {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--pg-text-secondary);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 24px 0;
}

.pg-text-separator::before,
.pg-text-separator::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--pg-border-subtle);
}
