/* ============================================
   Typography & Font Loading
   ============================================ */

/* Font Imports */
@font-face {
  font-family: 'Arimo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Arimo-Regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Arimo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/Arimo-Medium.woff2') format('woff2');
}

@font-face {
  font-family: 'Arimo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/Arimo-Bold.woff2') format('woff2');
}

@font-face {
  font-family: 'Arimo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../assets/fonts/Arimo-SemiBold.woff2') format('woff2');
}

/* Typography Scale */
.text-xs {
  font-size: var(--font-size-12);
  line-height: 1.5;
}

.text-sm {
  font-size: var(--font-size-14);
  line-height: 1.5;
}

.text-base {
  font-size: var(--font-size-16);
  line-height: 1.6;
}

.text-lg {
  font-size: var(--font-size-20);
  line-height: 1.6;
}

.text-xl {
  font-size: var(--font-size-24);
  line-height: 1.4;
}

.text-2xl {
  font-size: var(--font-size-32);
  line-height: 1.2;
}

.text-3xl {
  font-size: var(--font-size-48);
  line-height: 1.1;
}

.text-4xl {
  font-size: var(--font-size-64);
  line-height: 1;
}

/* Font Weights */
.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

/* Font Families */
.font-arimo {
  font-family: var(--font-arimo);
}

/* Text Styles */
.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-justify {
  text-align: justify;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

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

/* Letter spacing */
.tracking-tight {
  letter-spacing: -0.02em;
}

.tracking-normal {
  letter-spacing: 0;
}

.tracking-wide {
  letter-spacing: 0.02em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

/* Line height utilities */
.leading-tight {
  line-height: 1.2;
}

.leading-normal {
  line-height: 1.4;
}

.leading-relaxed {
  line-height: 1.6;
}

.leading-loose {
  line-height: 1.8;
}
