/**
 * Educare International - Unified Font System
 * This file enforces consistent typography across the entire website
 * Load this AFTER all other stylesheets to override conflicts
 */

:root {
  /* Primary Font Stack - Modern & Professional */
  --font-primary: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-heading: 'Plus Jakarta Sans', 'Inter', sans-serif;
  --font-serif: 'Playfair Display', 'Georgia', serif;

  /* Legacy variable support (for compatibility with existing CSS) */
  --primary-font: 'Inter', system-ui, -apple-system, sans-serif;
  --heading-font: 'Plus Jakarta Sans', 'Inter', sans-serif;
  --body-font: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ========================================
   GLOBAL FONT ENFORCEMENT
   ======================================== */

/* Base body font */
body {
  font-family: var(--font-primary) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* All headings use heading font */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading) !important;
}

/* Paragraph and text elements */
p, span, div, a, li, td, th, label, input, textarea, select, button {
  font-family: inherit;
}

/* Navigation elements */
nav, .nav, .navbar, .menu {
  font-family: var(--font-primary) !important;
}

/* Cards and components */
.card, .card-body, .card-title, .card-text {
  font-family: inherit;
}

/* Buttons */
.btn, button, .button {
  font-family: var(--font-primary) !important;
}

/* Forms */
input, textarea, select, .form-control, .form-select {
  font-family: var(--font-primary) !important;
}

/* Tables */
table, .table {
  font-family: var(--font-primary) !important;
}

/* Modal and popups */
.modal, .popup, .tooltip {
  font-family: var(--font-primary) !important;
}

/* Override specific problematic classes */
.highlighter, .sec-title, .section-title {
  font-family: var(--font-heading) !important;
}

/* Hero sections */
.hero-title, .hero-subtitle, .hero-section {
  font-family: var(--font-heading) !important;
}

/* Service cards */
.service-title, .service-description, .service-card {
  font-family: var(--font-primary) !important;
}

.service-title {
  font-family: var(--font-heading) !important;
}

/* Blog elements */
.blog-title, .post-title {
  font-family: var(--font-heading) !important;
}

.blog-content, .post-content {
  font-family: var(--font-primary) !important;
  line-height: 1.7;
}

/* Contact page */
.cu-page, .cu-hero, .cu-body {
  font-family: var(--font-primary) !important;
}

.cu-hero__title, .cu-offices-title, .cu-card h3 {
  font-family: var(--font-heading) !important;
}

/* Footer */
footer, .footer {
  font-family: var(--font-primary) !important;
}

/* ========================================
   EXCEPTIONS FOR SPECIAL CASES
   ======================================== */

/* Use serif font for quotes and testimonials */
blockquote, .testimonial, .quote {
  font-family: var(--font-serif) !important;
  font-style: italic;
}

/* Code and monospace */
code, pre, kbd, samp, .code {
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace !important;
}

/* Admin panel - keep system fonts for better performance */
.admin-panel, .crm-panel, .sidebar-mini {
  font-family: system-ui, -apple-system, sans-serif !important;
}

/* ========================================
   FONT WEIGHTS
   ======================================== */

.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }

/* ========================================
   TEXT STYLES
   ======================================== */

.text-primary { font-family: var(--font-primary) !important; }
.text-heading { font-family: var(--font-heading) !important; }
.text-serif { font-family: var(--font-serif) !important; }