/* ============================================
   Font Styles
   ============================================ */

/* Font Family Variables */
:root {
    --font-family-primary: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Typography Size Variables */
:root {
    /* Standardized Typography */
    --header-size: 2.5rem;
    --subheader-size: 1.25rem;
    --paragraph-size: 1rem;
    /* Responsive Sizes */
    --header-size-mobile: 2rem;
    --subheader-size-mobile: 1.1rem;
    --paragraph-size-mobile: 0.95rem;
}

/* Base Font Settings */
body {
    font-family: var(--font-family-primary);
    line-height: 1.6;
}

/* Standardized Typography - Headers */
h2, .display-4, .display-5, .features-title, .services-title, .stats-title, .why-learning-title, .about-title {
    font-size: var(--header-size) !important;
    font-weight: 700;
    line-height: 1.2;
}

/* Standardized Typography - Subheaders */
h3, h4, h5, .slider-subheader-fly, .features-subtitle, .services-subtitle, .stats-subtitle {
    font-size: var(--subheader-size) !important;
    font-weight: 400;
    line-height: 1.4;
}

/* Standardized Typography - Paragraphs */
p, .lead, .about-text, .features-subtitle, .service-content p, .why-choosing-content p, .card-text {
    font-size: var(--paragraph-size) !important;
    line-height: 1.6;
    font-weight: 400;
}

/* Responsive Typography */
@media (max-width: 768px) {
    h2, .display-4, .display-5, .features-title, .services-title, .stats-title, .why-learning-title, .about-title {
        font-size: var(--header-size-mobile) !important;
    }
    
    h3, h4, h5, .slider-subheader-fly, .features-subtitle, .services-subtitle, .stats-subtitle {
        font-size: var(--subheader-size-mobile) !important;
    }
    
    p, .lead, .about-text, .features-subtitle, .service-content p, .why-choosing-content p, .card-text {
        font-size: var(--paragraph-size-mobile) !important;
    }
}

/* Additional Font Styles */
.navbar-brand {
    font-weight: bold;
    font-size: 1.5rem;
}

.nav-link {
    font-weight: 500;
}

.top-bar a {
    font-size: 1.1rem;
}

.top-bar small {
    font-size: 0.875rem;
}

.btn {
    font-weight: 500;
}

/* Font Sizes for Specific Elements */
.about-desc-badge,
.embrace-badge,
.what-we-do-badge,
.legal-information-badge,
.OM-tech-badge,
.contact-banner-badge,
.contact-innovative-badge,
.map-section-badge {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 1px;
}

.stats-badge {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 1px;
}

.about-banner-badge {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 2px;
}

.what-we-offer-badge {
    font-size: 0.9rem;
    font-weight: 600;
}

/* Heading Font Sizes */
.about-banner-title {
    font-size: 4rem;
    font-weight: 700;
}

.contact-banner-title {
    font-size: 4rem;
    font-weight: 700;
}

.about-banner-subtitle {
    font-size: 1.5rem;
}

.contact-banner-subtitle {
    font-size: 1.5rem;
}

/* Card and Content Font Sizes */
.card-body {
    font-size: var(--paragraph-size);
}

.stat-item h3 {
    font-weight: 700;
}

.stat-item p {
    font-weight: 500;
    font-size: 1rem;
}

.why-choosing-content h4 {
    font-weight: 600;
}

.why-choosing-content p {
    font-weight: 400;
}

/* Form Font Sizes */
.form-group label {
    font-size: 0.95rem;
    font-weight: 600;
}

.form-control {
    font-size: var(--paragraph-size);
}

/* Footer Font Sizes */
.footer-logo h3 {
    font-weight: bold;
}

/* Responsive Font Adjustments */
@media (max-width: 768px) {
    .about-banner-title,
    .contact-banner-title {
        font-size: 2.5rem;
    }
    
    .about-banner-subtitle,
    .contact-banner-subtitle {
        font-size: 1.2rem;
    }
    
    .about-desc-badge,
    .embrace-badge,
    .what-we-do-badge,
    .legal-information-badge,
    .OM-tech-badge,
    .contact-banner-badge,
    .contact-innovative-badge,
    .map-section-badge {
        font-size: 0.8rem;
    }
}

