/**
 * El Attareen Group - Typography Architecture
 * Strict Rule: Letter-spacing is ONLY applied to Latin script (:lang(en)).
 * NEVER apply letter-spacing to Arabic text.
 */

@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@300;400;500;600;700;800;900&family=Cairo:wght@300;400;500;600;700;800&family=Cinzel+Decorative:wght@700;900&family=Cinzel:wght@400;500;600;700;800;900&family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400;1,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

/* Base Font Families by Language */
:root {
  font-family: var(--font-latin);
}

:lang(ar),
[dir="rtl"] {
  font-family: var(--font-arabic);
}

/* Headings Architecture */
h1,
h2,
h3,
h4,
h5,
h6,
.heading-display,
.heading-1,
.heading-2,
.heading-3,
.heading-4 {
  font-family: var(--font-latin-heading);
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-primary);
  text-wrap: balance;
}

:lang(en) h1,
:lang(en) h2,
:lang(en) h3,
:lang(en) .heading-display,
:lang(en) .heading-1,
:lang(en) .heading-2,
:lang(en) .heading-3,
:lang(en) .brand-title,
:lang(en) .portal-title {
  font-family: var(--font-latin-heading);
  letter-spacing: 0.04em;
}

:lang(ar) h1,
:lang(ar) h2,
:lang(ar) h3,
:lang(ar) h4,
:lang(ar) h5,
:lang(ar) h6,
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3,
[dir="rtl"] h4,
[dir="rtl"] h5,
[dir="rtl"] h6,
:lang(ar) .heading-display,
[dir="rtl"] .heading-display,
:lang(ar) .heading-1,
[dir="rtl"] .heading-1,
:lang(ar) .heading-2,
[dir="rtl"] .heading-2,
:lang(ar) .heading-3,
[dir="rtl"] .heading-3,
:lang(ar) .heading-4,
[dir="rtl"] .heading-4 {
  font-family: var(--font-arabic-heading);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: normal !important;
}

/* Heading Sizes */
.heading-display {
  font-size: var(--text-display);
  font-weight: 800;
}

.heading-1 {
  font-size: var(--text-4xl);
}

.heading-2 {
  font-size: var(--text-3xl);
}

.heading-3 {
  font-size: var(--text-2xl);
}

.heading-4 {
  font-size: var(--text-xl);
}

/* Body Text and Leads */
.text-lead {
  font-size: var(--text-lg);
  line-height: 1.65;
  color: var(--text-secondary);
  font-weight: 400;
}

:lang(ar) .text-lead,
[dir="rtl"] .text-lead {
  line-height: 1.8;
}

.text-body {
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--text-secondary);
}

:lang(ar) .text-body,
[dir="rtl"] .text-body {
  line-height: 1.85;
}

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

.text-small {
  font-size: var(--text-sm);
  line-height: 1.6;
}

/* Eyebrows and Kickers - Letter spacing strictly isolated to English */
.eyebrow,
.kicker,
.badge-label,
.nav-label {
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-bronze-400);
}

:lang(en) .eyebrow,
:lang(en) .kicker,
:lang(en) .badge-label,
:lang(en) .nav-label,
:lang(en) .latin-tracking {
  letter-spacing: 0.12em;
}

:lang(ar) .eyebrow,
:lang(ar) .kicker,
:lang(ar) .badge-label,
:lang(ar) .nav-label,
[dir="rtl"] .eyebrow,
[dir="rtl"] .kicker,
[dir="rtl"] .badge-label,
[dir="rtl"] .nav-label {
  text-transform: none;
  letter-spacing: normal !important;
  font-weight: 600;
}

/* Monumental Numbers */
.monumental-number {
  font-family: var(--font-latin-heading);
  font-size: clamp(2.5rem, 2rem + 2.5vw, 4.5rem);
  font-weight: 800;
  line-height: 1;
  color: rgba(255, 255, 255, 0.12);
}

[dir="rtl"] .monumental-number {
  font-family: var(--font-arabic-heading);
}

/* Monospace & Details */
.text-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: var(--text-xs);
}

:lang(en) .text-mono {
  letter-spacing: 0.05em;
}

:lang(ar) .text-mono,
[dir="rtl"] .text-mono {
  letter-spacing: normal !important;
}