/* ===================================
   TYPOGRAPHY STANDARDIZATION
   Fixes inconsistent font sizes across all sections
   =================================== */

/* Base Typography Reset */
* {
    font-family: 'Poppins', 'Noto Sans Devanagari', sans-serif;
}

/* ===================================
   HEADING SIZES - STANDARDIZED
   =================================== */

/* Main Page Headings */
h1 {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

h2 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

h3 {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

h4 {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

/* Mobile Responsive Headings */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem !important;
    }

    h2 {
        font-size: 1.25rem !important;
    }

    h3 {
        font-size: 1rem !important;
    }
}

/* ===================================
   PARAGRAPH & BODY TEXT
   =================================== */

/* Standard paragraph text */
p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

/* Small text (descriptions, captions) */
.text-sm,
.text-xs {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}

/* Extra small text */
.text-xs {
    font-size: 0.75rem !important;
}

/* Large text */
.text-lg {
    font-size: 1.125rem !important;
    line-height: 1.6 !important;
}

/* Extra large text */
.text-xl {
    font-size: 1.25rem !important;
    line-height: 1.5 !important;
}

.text-2xl {
    font-size: 1.5rem !important;
    line-height: 1.4 !important;
}

.text-3xl {
    font-size: 1.875rem !important;
    line-height: 1.3 !important;
}

/* ===================================
   SECTION-SPECIFIC FIXES
   =================================== */

/* Hero Section */
.hero-section h1,
.hero-illustration h1 {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
}

.hero-section p,
.hero-illustration p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

@media (max-width: 768px) {

    .hero-section h1,
    .hero-illustration h1 {
        font-size: 2rem !important;
    }

    .hero-section p,
    .hero-illustration p {
        font-size: 0.875rem !important;
    }
}

/* Dashboard Section */
.dashboard-card h2,
.glass-card h2 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
}

.dashboard-card h3,
.glass-card h3 {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
}

.dashboard-card p,
.glass-card p {
    font-size: 1rem !important;
}

.dashboard-stat-card .text-2xl {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

.dashboard-stat-card .text-sm,
.dashboard-stat-card .text-xs {
    font-size: 0.875rem !important;
}

/* Professional Section Headers */
.prof-section-header h2,
.prof-section-header h3 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
}

.prof-section-header p {
    font-size: 0.875rem !important;
}

/* Important Dates Section */
.date-card h3,
.important-dates h3 {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

.date-card p,
.important-dates p {
    font-size: 0.875rem !important;
}

/* Featured Tools Grid */
.featured-tools h3,
.tool-card h3 {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
}

.featured-tools p,
.tool-card p {
    font-size: 0.875rem !important;
}

/* WhatsApp Channel Section */
.whatsapp-channel-card h2,
.whatsapp-card-title {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
}

.whatsapp-feature-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

.whatsapp-feature-desc {
    font-size: 0.875rem !important;
}

/* RTE Portal Access Section */
.portal-section h2 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
}

.portal-section h3 {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
}

.portal-section p {
    font-size: 1rem !important;
}

/* ===================================
   BUTTON & LINK TEXT
   =================================== */

/* Button text standardization */
button,
.btn,
a.btn,
.cta-button {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

/* Small buttons */
.btn-sm,
button.btn-sm {
    font-size: 0.875rem !important;
}

/* Large buttons */
.btn-lg,
button.btn-lg {
    font-size: 1.125rem !important;
}

/* Navigation links */
.nav-link,
nav a {
    font-size: 1rem !important;
    font-weight: 500 !important;
}

/* ===================================
   CARD COMPONENTS
   =================================== */

/* All card titles */
.card h3,
.card-title {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
}

/* All card descriptions */
.card p,
.card-description {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}

/* ===================================
   LIST & TABLE TEXT
   =================================== */

/* List items */
li {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

/* Table text */
table {
    font-size: 1rem !important;
}

table th {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

table td {
    font-size: 0.875rem !important;
}

/* ===================================
   UTILITY CLASSES
   =================================== */

/* Force specific sizes when needed */
.text-base {
    font-size: 1rem !important;
}

.font-normal {
    font-weight: 400 !important;
}

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

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

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

/* ===================================
   MOBILE OPTIMIZATIONS
   =================================== */

@media (max-width: 640px) {

    /* Reduce all text slightly on mobile */
    p {
        font-size: 0.9375rem !important;
    }

    .text-sm,
    .text-xs {
        font-size: 0.8125rem !important;
    }

    button,
    .btn {
        font-size: 0.9375rem !important;
    }
}

/* ===================================
   CONSISTENCY ENFORCEMENT
   =================================== */

/* Ensure all sections have consistent spacing */
section h2 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    margin-bottom: 1rem !important;
}

section h3 {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.75rem !important;
}

section p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-bottom: 0.5rem !important;
}