body {
    transition: background-color 1s ease, color 0.5s ease;
    background-color: #ffffff;
    color: #374151 !important;
}

h1, h2, h3, h4, h5, h6 {
    color: #111827 !important;
    transition: color 0.5s ease;
}

/* Dynamic container transparency so background-color can show cleanly */
.elementor-section:not([class*="elementor-bg"]),
.e-con:not([class*="elementor-bg"]) {
    background-color: transparent !important;
}

/* Professional Card Styling */
.e-con.card, .elementor-widget-image-box {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
    transition: border-color 0.3s ease, transform 0.3s ease !important;
}
.e-con.card:hover, .elementor-widget-image-box:hover {
    border-color: #2563eb !important;
    transform: translateY(-2px);
}

/* Statistics counters */
.elementor-counter-number-wrapper {
    color: #2563eb !important; /* Alternates to primary blue */
}
.elementor-counter-title {
    color: #374151 !important;
}

/* Category Badges */
.badge-grant { background-color: #def7ec; color: #03543f; }
.badge-teacher { background-color: #f3e8ff; color: #551a8b; }
.badge-community { background-color: #e1effe; color: #1e429f; }
.badge-environment { background-color: #d1fae5; color: #065f46; }
.badge-workforce { background-color: #feecdc; color: #b43403; }
