/* ITF Omnia Serif Font Family */
@font-face {
  font-family: 'ITF Omnia Serif';
  src: url('fonts/itfOmniaserif-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'ITF Omnia Serif';
  src: url('fonts/itfOmniaserif-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'ITF Omnia Serif';
  src: url('fonts/itfOmniaserif-SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'ITF Omnia Serif';
  src: url('fonts/itfOmniaserif-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'ITF Omnia Serif';
  src: url('fonts/itfOmniaserif-ExtraBold.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Apply ITF Omnia Serif font to Web Module only */
/* This applies to all elements in the web module layout */
body {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
}

/* Headings use ITF Omnia Serif */
h1, h2, h3, h4, h5, h6,
.hero-title,
.hero-sub-title,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.navbar-brand,
.footer-title,
.section-title,
.badge,
.card-title,
.modal-title {
  font-family: 'ITF Omnia Serif', var(--font-headings, 'Public Sans', sans-serif) !important;
}
/* Body and content elements */
body, p, span, div, .availability-badge, .availability-text, .app-text, .text-content, .nav-link, .btn, .footer-text, .footer-link, .form-control, label, small, .landing-footer, .footer-logo-description {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
}

/* ============================================
   Typography System - Professional Font Hierarchy
   نظام الخطوط الاحترافي - تدرج واضح للأحجام والأوزان
   ============================================ */

/* ============================================
   HEADING LEVELS - مستويات العناوين
   ============================================ */

/* H1 - Main Hero Heading - العنوان الرئيسي الكبير */
/* Weight: 600 (Semi Bold) - مناسب للعناوين الرئيسية */
.font-heading-main,
.font-h1 {
  font-family: 'ITF Omnia Serif', var(--font-headings, 'Public Sans', sans-serif) !important;
  font-size: 2.5rem !important; /* 36px - 76px */
  font-weight: 300 !important; /* Semi Bold */
  line-height: 1.2 !important; /* Tighter for large headings */
  letter-spacing: -0.02em !important; /* Slight negative for large text */
  color: #1f2021 !important;
  margin-top: 0 !important;
/*   margin-bottom: clamp(25px, 4vw, 40px) !important;
 */  padding-top: 0 !important;
}

/* H2 - Section Heading - عنوان القسم */
/* Weight: 600 (Semi Bold) - للتمييز بين الأقسام */
.font-heading-sub,
.font-h2 {
  font-family: 'ITF Omnia Serif', var(--font-headings, 'Public Sans', sans-serif) !important;
  font-size: clamp(1.75rem, 4.5vw, 3rem) !important; /* 28px - 48px */
  font-weight: 500 !important; /* Semi Bold */
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  color: #1f2021  !important;
  margin-top: 0 !important;
  margin-bottom: clamp(20px, 3vw, 30px) !important;
}

/* H3 - Subsection Heading - عنوان القسم الفرعي */
/* Weight: 600 (Semi Bold) - للتوازن مع H2 */
.font-h3 {
  font-family: 'ITF Omnia Serif', var(--font-headings, 'Public Sans', sans-serif) !important;
  font-size: clamp(1.5rem, 3.5vw, 2.25rem) !important; /* 24px - 36px */
  font-weight: 100 !important; /* Semi Bold */
  line-height: 1.4 !important;
  color: #2c3e50 !important;
  margin-top: 0 !important;
  margin-bottom: clamp(16px, 2.5vw, 24px) !important;
}

/* H4 - Card/Component Heading - عنوان البطاقة أو المكون */
/* Weight: 500 (Medium) - أخف قليلاً للتنويع */
.font-h4 {
  font-family: 'ITF Omnia Serif', var(--font-headings, 'Public Sans', sans-serif) !important;
  font-size: clamp(1.25rem, 3vw, 1.875rem) !important; /* 20px - 30px */
  font-weight: 500 !important; /* Medium */
  line-height: 1.5 !important;
  color: #000C27 !important;
  margin-top: 0 !important;
  margin-bottom: clamp(12px, 2vw, 20px) !important;
}

/* H5 - Small Heading - عنوان صغير */
/* Weight: 500 (Medium) */
.font-h5 {
  font-family: 'ITF Omnia Serif', var(--font-headings, 'Public Sans', sans-serif) !important;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem) !important; /* 18px - 24px */
  font-weight: 500 !important; /* Medium */
  line-height: 1.5 !important;
  color: #000C27 !important;
  margin-top: 0 !important;
  margin-bottom: clamp(10px, 1.5vw, 16px) !important;
}

/* H6 - Smallest Heading - أصغر عنوان */
/* Weight: 500 (Medium) */
.font-h6 {
  font-family: 'ITF Omnia Serif', var(--font-headings, 'Public Sans', sans-serif) !important;
  font-size: clamp(1rem, 2vw, 1.25rem) !important; /* 16px - 20px */
  font-weight: 500 !important; /* Medium */
  line-height: 1.6 !important;
  color: #000C27 !important;
  margin-top: 0 !important;
  margin-bottom: clamp(8px, 1.2vw, 14px) !important;
}

/* ============================================
   BODY TEXT LEVELS - مستويات النصوص
   ============================================ */

/* Large Body Text - النص الكبير */
/* Weight: 400 (Regular) - للقراءة المريحة */
.font-body-large,
.font-description {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem) !important; /* 18px - 24px */
  font-weight: 400 !important; /* Regular */
  line-height: 1.7 !important; /* Comfortable reading */
  color: #000C27 !important;
  /* margin-bottom: clamp(20px, 3vw, 30px) !important; */
}

/* Regular Body Text - النص العادي */
/* Weight: 400 (Regular) - للنصوص الأساسية */
.font-body,
.font-text {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
  font-size: clamp(1rem, 2vw, 1.25rem) !important; /* 16px - 20px */
  font-weight: 400 !important; /* Regular */
  line-height: 1.6 !important;
  color: black !important;
  margin-bottom: clamp(16px, 2.5vw, 24px) !important;
}

/* Small Body Text - النص الصغير */
/* Weight: 400 (Regular) */
.font-body-small,
.font-text-small {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
  font-size: clamp(0.875rem, 1.8vw, 1rem) !important; /* 14px - 16px */
  font-weight: 400 !important; /* Regular */
  line-height: 1.5 !important;
  color: #7f8c8d !important;
  margin-bottom: clamp(12px, 2vw, 18px) !important;
}

/* Extra Small Text - نص صغير جداً */
/* Weight: 400 (Regular) */
.font-body-xs,
.font-text-xs {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
  font-size: clamp(0.75rem, 1.5vw, 0.875rem) !important; /* 12px - 14px */
  font-weight: 400 !important; /* Regular */
  line-height: 1.4 !important;
  color: #95a5a6 !important;
  margin-bottom: clamp(8px, 1.5vw, 14px) !important;
}

/* ============================================
   SPECIAL ELEMENTS - عناصر خاصة
   ============================================ */

/* Link - الرابط */
/* Weight: 400 (Regular) - مع hover effect */
.font-link,
a.font-link {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
  font-size: clamp(1rem, 2.2vw, 1.375rem) !important; /* 16px - 22px */
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: rgb(4 49 229 / 87%) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
}

.font-link:hover {
  opacity: 0.8 !important;
  color: rgb(4 49 229 / 100%) !important;
  text-decoration-thickness: 2px !important;
}

/* Bold/Strong Text - النص السميك */
/* Weight: 700 (Bold) */
.font-bold,
strong.font-bold {
  font-weight: 700 !important; /* Bold */
  color: #2c3e50 !important;
}

/* Medium Weight Text - النص متوسط الوزن */
.font-medium {
  font-weight: 500 !important; /* Medium */
}

/* Semi Bold Text - النص شبه سميك */
.font-semi-bold {
  font-weight: 600 !important; /* Semi Bold */
}

/* Caption/Label - التسمية التوضيحية */
/* Weight: 500 (Medium) */
.font-caption,
.font-label {
  font-family: 'ITF Omnia Serif', var(--font-content, 'Public Sans', sans-serif) !important;
  font-size: clamp(0.8125rem, 1.6vw, 0.9375rem) !important; /* 13px - 15px */
  font-weight: 500 !important; /* Medium */
  line-height: 1.4 !important;
  color: #7f8c8d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS - التعديلات المتجاوبة
   ============================================ */

@media (max-width: 1200px) {
  /* Slightly reduce large headings on large tablets */
  .font-heading-main,
  .font-h1 {
    font-size: clamp(2rem, 5.5vw, 4rem) !important;
  }
}

@media (max-width: 992px) {
  /* Tablet adjustments */
  .font-heading-main,
  .font-h1 {
    font-size: clamp(1.875rem, 5.5vw, 3rem) !important;
    margin-bottom: clamp(20px, 3.5vw, 35px) !important;
  }
  
  .font-heading-sub,
  .font-h2 {
    font-size: clamp(1.5rem, 4vw, 2.5rem) !important;
    margin-bottom: clamp(18px, 2.8vw, 26px) !important;
  }
  
  .font-h3 {
    font-size: clamp(1.375rem, 3.2vw, 2rem) !important;
    margin-bottom: clamp(14px, 2.2vw, 20px) !important;
  }
  
  .font-body-large,
  .font-description {
    font-size: clamp(1.0625rem, 2.3vw, 1.375rem) !important;
    margin-bottom: clamp(18px, 2.8vw, 26px) !important;
  }
}

@media (max-width: 768px) {
  /* Mobile landscape adjustments */
  .font-heading-main,
  .font-h1 {
    font-size: clamp(1.75rem, 5.2vw, 2.625rem) !important;
    line-height: 1.25 !important;
    margin-bottom: clamp(18px, 3vw, 30px) !important;
  }
  
  .font-heading-sub,
  .font-h2 {
    font-size: clamp(1.375rem, 3.8vw, 2.125rem) !important;
    margin-bottom: clamp(16px, 2.5vw, 24px) !important;
  }
  
  .font-h3 {
    font-size: clamp(1.25rem, 3vw, 1.75rem) !important;
    margin-bottom: clamp(12px, 2vw, 18px) !important;
  }
  
  .font-body-large,
  .font-description {
    font-size: clamp(1rem, 2.2vw, 1.25rem) !important;
    line-height: 1.65 !important;
    margin-bottom: clamp(16px, 2.5vw, 24px) !important;
  }
  
  .font-body,
  .font-text {
    font-size: clamp(0.9375rem, 1.9vw, 1.125rem) !important;
    margin-bottom: clamp(14px, 2.2vw, 20px) !important;
  }
}

@media (max-width: 576px) {
  /* Mobile portrait adjustments */
  .font-heading-main,
  .font-h1 {
    font-size: clamp(1.625rem, 5vw, 2.375rem) !important;
    margin-bottom: clamp(16px, 2.8vw, 26px) !important;
  }
  
  .font-heading-sub,
  .font-h2 {
    font-size: clamp(1.25rem, 3.5vw, 1.875rem) !important;
    margin-bottom: clamp(14px, 2.3vw, 22px) !important;
  }
  
  .font-h3 {
    font-size: clamp(1.125rem, 2.8vw, 1.5rem) !important;
    margin-bottom: clamp(10px, 1.8vw, 16px) !important;
  }
}

@media (max-width: 700px) {
  /* Small mobile adjustments */
  .font-heading-main,
  .font-h1 {
    font-size: clamp(1.5rem, 4.8vw, 2.125rem) !important;
    margin-top: 26px !important;
    }
  
  .font-heading-sub,
  .font-h2 {
    font-size: clamp(1.125rem, 3.2vw, 1.625rem) !important;
    margin-bottom: clamp(12px, 2vw, 20px) !important;
  }
  
  .font-h3 {
    font-size: clamp(1rem, 2.6vw, 1.375rem) !important;
    margin-bottom: clamp(8px, 1.6vw, 14px) !important;
  }
  
  .font-body-large,
  .font-description {
    font-size: clamp(0.9375rem, 2vw, 1.125rem) !important;
    margin-bottom: clamp(14px, 2.2vw, 20px) !important;
  }
  
  .font-body,
  .font-text {
    font-size: clamp(0.875rem, 1.8vw, 1rem) !important;
    margin-bottom: clamp(12px, 2vw, 18px) !important;
  }
  
  .font-body-small,
  .font-text-small {
    font-size: clamp(0.8125rem, 1.6vw, 0.9375rem) !important;
    margin-bottom: clamp(10px, 1.8vw, 16px) !important;
  }
  
  .font-body-small-bold,
  .font-text-small-bold {
    font-size: clamp(0.8125rem, 1.6vw, 0.9375rem) !important;
    margin-bottom: clamp(10px, 1.8vw, 16px) !important;
    font-weight: 700 !important;
  }
}

/* ============================================
   DIRECTIONAL SUPPORT - دعم الاتجاهات (RTL/LTR)
   ============================================ */

[dir="rtl"] .font-heading-main,
[dir="rtl"] .font-h1,
[dir="rtl"] .font-heading-sub,
[dir="rtl"] .font-h2,
[dir="rtl"] .font-h3,
[dir="rtl"] .font-h4,
[dir="rtl"] .font-h5,
[dir="rtl"] .font-h6,
[dir="rtl"] .font-body-large,
[dir="rtl"] .font-description,
[dir="rtl"] .font-body,
[dir="rtl"] .font-text,
[dir="rtl"] .font-body-small,
[dir="rtl"] .font-text-small,
[dir="rtl"] .font-body-xs,
[dir="rtl"] .font-text-xs,
[dir="rtl"] .font-link {
  text-align: right;
}

[dir="ltr"] .font-heading-main,
[dir="ltr"] .font-h1,
[dir="ltr"] .font-heading-sub,
[dir="ltr"] .font-h2,
[dir="ltr"] .font-h3,
[dir="ltr"] .font-h4,
[dir="ltr"] .font-h5,
[dir="ltr"] .font-h6,
[dir="ltr"] .font-body-large,
[dir="ltr"] .font-description,
[dir="ltr"] .font-body,
[dir="ltr"] .font-text,
[dir="ltr"] .font-body-small,
[dir="ltr"] .font-text-small,
[dir="ltr"] .font-body-xs,
[dir="ltr"] .font-text-xs,
[dir="ltr"] .font-link {
  text-align: left;
}