/* Global Dark Mode CSS for Sparq Enertech */

/* Enhanced CSS Variables for Light and Dark Mode */
:root {
    /* Core brand colors */
    --primary: #2DC653;
    --primary-hover: #26b348;
    --primary-light: rgba(45, 198, 83, 0.1);
    --primary-dark: #1ea23d;
    
    /* Light mode colors */
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #f1f3f4;
    --bg-card: #ffffff;
    --bg-overlay: rgba(255, 255, 255, 0.95);
    
    --text-primary: #1d1d1f;
    --text-secondary: #666666;
    --text-muted: #999999;
    --text-light: #b3b3b3;
    
    --border-light: rgba(0, 0, 0, 0.1);
    --border-medium: rgba(0, 0, 0, 0.15);
    --border-dark: rgba(0, 0, 0, 0.2);
    
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 8px 25px rgba(0, 0, 0, 0.15);
    
    --gradient-bg: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    --gradient-primary: linear-gradient(135deg, #2DC653 0%, #26b348 100%);
    
    /* Legacy support */
    --background: var(--bg-primary);
    --text-dark: var(--text-primary);
    --white: #ffffff;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Dark mode variables */
[data-theme="dark"] {
    --bg-primary: #0d1117;
    --bg-secondary: #161b22;
    --bg-tertiary: #21262d;
    --bg-card: #161b22;
    --bg-overlay: rgba(13, 17, 23, 0.95);
    
    --text-primary: #e6edf3;
    --text-secondary: #7d8590;
    --text-muted: #656d76;
    --text-light: #484f58;
    
    /* --border-light: rgba(240, 246, 252, 0.1); */
    --border-medium: rgba(240, 246, 252, 0.15);
    --border-dark: rgba(240, 246, 252, 0.2);
    
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 8px 25px rgba(0, 0, 0, 0.4);
    
    --gradient-bg: linear-gradient(135deg, #0d1117 0%, #161b22 100%);
    --gradient-primary: linear-gradient(135deg, #2DC653 0%, #26b348 100%);
    
    /* Legacy support */
    --background: var(--bg-primary);
    --text-dark: var(--text-primary);
}

/* Global element styles for dark mode */
body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    transition: var(--transition);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary) !important;
}

/* Paragraphs and text */
/* p, span, div {
    color: var(--text-primary);
} */

/* Links */
a {
    color: var(--text-primary);
    transition: var(--transition);
}

a:hover {
    color: var(--primary);
}

/* Cards and containers */
.card, .container, .section {
    background-color: var(--bg-card) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

/* Enhanced card styling for better dark mode visibility */
[data-theme="dark"] .card,
[data-theme="dark"] .feature-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .pricing-card,
[data-theme="dark"] .service-card,
[data-theme="dark"] .testimonial-card,
[data-theme="dark"] .blog-card,
[data-theme="dark"] .product-card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
}

/* Harden visibility for unknown card/panel containers across pages */
[data-theme="dark"] .card,
[data-theme="dark"] .card * {
    color: inherit !important;
}

/* EPC tables and ROI cards */
[data-theme="dark"] .roi-card,
[data-theme="dark"] .roi-table,
[data-theme="dark"] .pricing-card,
[data-theme="dark"] .comparison-card,
[data-theme="dark"] .data-card,
[data-theme="dark"] .info-card,
[data-theme="dark"] .results-card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
}

/* White/light background elements in dark mode */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-gray-50,
[data-theme="dark"] .bg-gray-100 {
    background-color: var(--bg-card) !important;
}

/* Recognition/Certification sections - remove white panels in dark mode */
[data-theme="dark"] .industry-recognition,
[data-theme="dark"] .recognition,
[data-theme="dark"] .certifications,
[data-theme="dark"] .awards {
    background-color: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .industry-recognition [class*="icon"],
[data-theme="dark"] .industry-recognition .icon-box,
[data-theme="dark"] .industry-recognition .icon-card,
[data-theme="dark"] .industry-recognition .icon-container {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Certification icons and headings - ensure visibility */
[data-theme="dark"] .industry-recognition i,
[data-theme="dark"] .industry-recognition .fa,
[data-theme="dark"] .industry-recognition .fas,
[data-theme="dark"] .industry-recognition .far,
[data-theme="dark"] .industry-recognition .fab {
    color: var(--primary) !important;
}

[data-theme="dark"] .industry-recognition h1,
[data-theme="dark"] .industry-recognition h2,
[data-theme="dark"] .industry-recognition h3,
[data-theme="dark"] .industry-recognition p,
[data-theme="dark"] .industry-recognition span {
    color: var(--text-primary) !important;
}

/* Explicitly neutralize the common light grey #f5f5f7 everywhere in dark mode */
[data-theme="dark"] *[style*="#f5f5f7"],
[data-theme="dark"] *[style*="rgb(245, 245, 247)"],
[data-theme="dark"] *[style*="rgb(245,245,247)"],
[data-theme="dark"] *[style*="linear-gradient(135deg, #f5f5f7"],
[data-theme="dark"] *[style*="linear-gradient(135deg,#f5f5f7"],
[data-theme="dark"] *[style*="linear-gradient(135deg, #f5f5f7 0%"],
[data-theme="dark"] *[style*="linear-gradient(135deg,#f5f5f7 0%"] {
    background: var(--bg-secondary) !important;
    background-color: var(--bg-secondary) !important;
}

/* Certification/Recognition specific wrappers */
[data-theme="dark"] .certification-section,
[data-theme="dark"] [class*="certification"],
[data-theme="dark"] [class*="recognition"] {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-light) !important;
}

/* Card headers and titles */
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-title,
[data-theme="dark"] .feature-title,
[data-theme="dark"] .stat-title {
    color: var(--text-primary) !important;
    background-color: transparent !important;
}

/* Card body text */
[data-theme="dark"] .card-body,
[data-theme="dark"] .card-text,
[data-theme="dark"] .feature-description,
[data-theme="dark"] .stat-description {
    color: var(--text-secondary) !important;
}

/* Rounded elements and boxes */
[data-theme="dark"] .rounded,
[data-theme="dark"] .rounded-lg,
[data-theme="dark"] .rounded-xl,
[data-theme="dark"] .box,
[data-theme="dark"] .content-box {
    background-color: var(--bg-card) !important;
    border-color: var(--border-light) !important;
}

/* Forms */
input, textarea, select {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

input::placeholder, textarea::placeholder {
    color: var(--text-muted) !important;
}

input:focus, textarea:focus, select:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(45, 198, 83, 0.1) !important;
}

/* Buttons */
.btn, button {
    transition: var(--transition);
}

.btn-primary, .primary-btn {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: white !important;
}

.btn-primary:hover, .primary-btn:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
}

.btn-secondary, .secondary-btn {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

.btn-secondary:hover, .secondary-btn:hover {
    background-color: var(--bg-tertiary) !important;
    color: var(--primary) !important;
}

/* Tables */
table {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

th, td {
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

thead th {
    background-color: var(--bg-secondary) !important;
}

/* Modals and overlays */
.modal, .overlay {
    background-color: var(--bg-overlay) !important;
    color: var(--text-primary) !important;
}

.modal-content, .modal-body {
    background-color: var(--bg-card) !important;
    border-color: var(--border-light) !important;
}

/* Navigation elements */
nav, .navbar {
    background-color: var(--bg-primary) !important;
    border-color: var(--border-light) !important;
}
/* Section-specific overrides */
[data-theme="dark"] .solar_journey_section_x7k2m9 {
    background: #0c1118 !important;
    background-color: #0c1118 !important;
}

/* absolute-final override to beat inline or late transparent backgrounds */
[data-theme="dark"] .solar_journey_section_x7k2m9,
[data-theme="dark"] .solar_journey_section_x7k2m9.solar_journey_section_x7k2m9 {
    background: #0c1118 !important;
    background-color: #0c1118 !important;
}

/* Dark mode: make journey icons and text accents green */
[data-theme="dark"] .solar_journey_section_x7k2m9 i,
[data-theme="dark"] .solar_journey_section_x7k2m9 .fa,
[data-theme="dark"] .solar_journey_section_x7k2m9 .fas,
[data-theme="dark"] .solar_journey_section_x7k2m9 .far,
[data-theme="dark"] .solar_journey_section_x7k2m9 .fab {
    color: var(--primary) !important;
}

/* Ensure SVG accents are green as well */
[data-theme="dark"] .solar_journey_section_x7k2m9 svg .solar_step,
[data-theme="dark"] .solar_journey_section_x7k2m9 svg .solar_base_circle {
    stroke: var(--primary) !important;
}

/* ===== Calculator page (calculator.php) ===== */
[data-theme="dark"] .calculator-content {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .section-title {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-menu {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .dropdown-item { color: var(--text-primary) !important; }
[data-theme="dark"] .dropdown-item:hover { background: var(--primary-light) !important; }

[data-theme="dark"] .dropdown-search {
    background: var(--bg-secondary) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .result-card {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* Light/Dark only helpers */
.dark-only { display: none; }
[data-theme="dark"] .light-only { display: none !important; }
[data-theme="dark"] .dark-only { display: block !important; }

.nav-link {
    color: var(--text-primary) !important;
}

.nav-link:hover {
    color: var(--primary) !important;
}

/* Specific utility classes */
.text-muted {
    color: var(--text-muted) !important;
}

.text-secondary {
    color: var(--text-secondary) !important;
}

.bg-light {
    background-color: var(--bg-secondary) !important;
}

.bg-white {
    background-color: var(--bg-card) !important;
}

.border {
    border-color: var(--border-light) !important;
}

/* Shadow utilities */
.shadow-sm {
    box-shadow: var(--shadow-sm) !important;
}

.shadow, .shadow-md {
    box-shadow: var(--shadow-md) !important;
}

.shadow-lg {
    box-shadow: var(--shadow-lg) !important;
}

/* Common component classes */
.hero-section {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

.feature-card {
    background-color: var(--bg-card) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

.stat-card {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

.testimonial {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

/* Footer */
footer {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-light) !important;
}

/* Code and pre blocks */
code, pre {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-light) !important;
}

/* Breadcrumbs */
/* .breadcrumb {
    background-color: var(--bg-secondary) !important;
} */

.breadcrumb-item a {
    color: var(--text-secondary) !important;
}

.breadcrumb-item.active {
    color: var(--text-primary) !important;
}

/* Progress bars */
.progress {
    background-color: var(--bg-secondary) !important;
}

.progress-bar {
    background-color: var(--primary) !important;
}

/* Alerts */
.alert {
    border-color: var(--border-light) !important;
}

.alert-success {
    background-color: rgba(45, 198, 83, 0.1) !important;
    border-color: rgba(45, 198, 83, 0.3) !important;
    color: var(--primary) !important;
}

/* Loading animations */
.spinner, .loading {
    border-color: var(--border-light) !important;
    border-top-color: var(--primary) !important;
}

/* Custom scrollbar for dark mode */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

/* Selection styling */
[data-theme="dark"] ::selection {
    background: rgba(45, 198, 83, 0.3);
    color: var(--text-primary);
}

/* Focus styles */
[data-theme="dark"] *:focus {
    outline-color: var(--primary) !important;
}

/* Ensure text remains readable */
[data-theme="dark"] * {
    border-color: var(--border-light);
}

/* Image filters for dark mode (optional) */
[data-theme="dark"] img.auto-dark {
    filter: brightness(0.8) contrast(1.2);
}

/* Video controls in dark mode */
[data-theme="dark"] video::-webkit-media-controls-panel {
    background-color: var(--bg-secondary);
}

/* Additional card and content styling for better visibility */
[data-theme="dark"] .hero-card,
[data-theme="dark"] .info-card,
[data-theme="dark"] .stats-card,
[data-theme="dark"] .process-card,
[data-theme="dark"] .team-card,
[data-theme="dark"] .calculator-card,
[data-theme="dark"] .results-card,
[data-theme="dark"] .faq-card,
[data-theme="dark"] .contact-card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

/* Content sections and panels */
[data-theme="dark"] .panel,
[data-theme="dark"] .section,
[data-theme="dark"] .content-panel,
[data-theme="dark"] .info-panel,
[data-theme="dark"] .details-panel {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

/* Light colored backgrounds that need dark mode treatment */
[data-theme="dark"] .light-bg,
[data-theme="dark"] .gray-bg,
[data-theme="dark"] .neutral-bg,
[data-theme="dark"] .secondary-bg {
    background-color: var(--bg-secondary) !important;
}

/* Table styling improvements */
[data-theme="dark"] .table-container,
[data-theme="dark"] .data-table,
[data-theme="dark"] .pricing-table {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .table-header,
[data-theme="dark"] .table-row {
    border-color: var(--border-light) !important;
}

/* Calculator and form result displays */
[data-theme="dark"] .result-display,
[data-theme="dark"] .calculation-result,
[data-theme="dark"] .output-panel,
[data-theme="dark"] .summary-panel {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
}

/* FAQ and accordion elements */
[data-theme="dark"] .accordion,
[data-theme="dark"] .faq-item,
[data-theme="dark"] .accordion-item,
[data-theme="dark"] .collapsible {
    background-color: var(--bg-card) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .accordion-header,
[data-theme="dark"] .faq-question {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .accordion-body,
[data-theme="dark"] .faq-answer {
    background-color: var(--bg-card) !important;
    color: var(--text-secondary) !important;
}

/* Force forms to true dark backgrounds and readable text */
[data-theme="dark"] form,
[data-theme="dark"] .form,
[data-theme="dark"] .form-container,
[data-theme="dark"] .form-panel,
[data-theme="dark"] .form-card,
[data-theme="dark"] .modal-content.form,
[data-theme="dark"] .modal .modal-content {
    background-color: #0d1117 !important;
    color: var(--text-primary) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .form-control,
[data-theme="dark"] .input-field,
[data-theme="dark"] .dropdown-search {
    background-color: #0d1117 !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--text-muted) !important;
}

[data-theme="dark"] label,
[data-theme="dark"] .form-label,
[data-theme="dark"] .section-title,
[data-theme="dark"] .calculator-subtitle {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-menu {
    background-color: #0d1117 !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item.active {
    background: rgba(45, 198, 83, 0.12) !important;
    color: var(--text-primary) !important;
}

/* Calculator page specific: darken white card and tiles */
[data-theme="dark"] .calculator-content {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-md) !important;
}

[data-theme="dark"] .method-button:not(.active) {
    background: var(--bg-secondary) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .method-button:not(.active):hover {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-medium) !important;
}

[data-theme="dark"] .result-card {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-light) !important;
}

/* Make method icons visible on active/focus (override global green icons) */
[data-theme="dark"] .method-button.active i,
[data-theme="dark"] .method-button:focus i,
[data-theme="dark"] .method-button.active .method-icon,
[data-theme="dark"] .method-button:focus .method-icon {
    color: #ffffff !important;
}

/* Disabled buttons in dark mode: avoid light backgrounds */
[data-theme="dark"] button:disabled,
[data-theme="dark"] .btn:disabled,
[data-theme="dark"] .primary-btn:disabled,
[data-theme="dark"] .calculate-button:disabled {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-light) !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* Returns/Cancel and policy pages */
[data-theme="dark"] header {
    background-color: var(--bg-primary) !important;
    border-bottom: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .section-tag {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .policy-section {
    background-color: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .process-card,
[data-theme="dark"] .contact-box {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .important-notice {
    background: rgba(255, 193, 7, 0.28) !important; /* higher contrast amber */
    border-left-color: #ffc107 !important;
    border: 1px solid rgba(255, 193, 7, 0.5) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .important-notice strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

[data-theme="dark"] .important-notice a {
    color: var(--primary) !important;
    text-decoration: underline;
}

/* Ensure all text inside the notice is readable */
[data-theme="dark"] .important-notice p,
[data-theme="dark"] .important-notice span,
[data-theme="dark"] .important-notice li {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Ensure policy text has sufficient contrast */
[data-theme="dark"] .policy-section p,
[data-theme="dark"] .policy-section li,
[data-theme="dark"] .policy-section h2,
[data-theme="dark"] .policy-section h3,
[data-theme="dark"] .policy-section h4 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .social-link {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
}

/* Contact page */
[data-theme="dark"] .hero-section .section-tag {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .stats-grid .stat-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
    transform: translateY(0);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="dark"] .stats-grid .stat-card:hover {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-medium) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4) !important;
    transform: translateY(-8px);
}

[data-theme="dark"] .support-section {
    background: var(--bg-secondary) !important;
}

[data-theme="dark"] .support-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .support-text,
[data-theme="dark"] .support-details {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .contact-form {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .contact-point {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .contact-point:hover {
    background: var(--primary) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .contact-point:hover .point-icon {
    color: #ffffff !important;
}

[data-theme="dark"] .location-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .location-address,
[data-theme="dark"] .location-contact-info {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .location-title {
    color: var(--primary) !important;
}

/* Third-party embedded form (Zoho) inside contact page */
[data-theme="dark"] .contact-form iframe {
    /* Simulated dark mode for cross-origin content */
    filter: invert(0.92) hue-rotate(180deg) contrast(0.95) saturate(0.9);
    background-color: transparent !important;
    border-radius: 16px;
}

/* Digital page - hero and sections */
[data-theme="dark"] .hero-section {
    background-color: var(--bg-primary) !important;
}

[data-theme="dark"] .hero-bg {
    opacity: 0.25 !important;
}

[data-theme="dark"] .hero-badge {
    background-color: rgba(45, 198, 83, 0.18) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .hero-feature-icon {
    background-color: rgba(45, 198, 83, 0.15) !important;
    color: var(--primary) !important;
}

[data-theme="dark"] .how-it-works,
[data-theme="dark"] .comparison-section,
[data-theme="dark"] .calculator-section,
[data-theme="dark"] .benefits-section,
[data-theme="dark"] .faq-section,
[data-theme="dark"] .cta-section {
    background-color: var(--bg-secondary) !important;
}

/* Steps and indicators */
[data-theme="dark"] .steps-indicator {
    background-color: var(--border-light) !important;
}

[data-theme="dark"] .steps-indicator::before,
[data-theme="dark"] .steps-indicator::after {
    background-color: var(--primary) !important;
}

[data-theme="dark"] .step-number {
    background-color: var(--bg-card) !important;
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

[data-theme="dark"] .step-description,
[data-theme="dark"] .section-description,
[data-theme="dark"] .slider-label,
[data-theme="dark"] .benefit-label,
[data-theme="dark"] .faq-answer p {
    color: var(--text-secondary) !important;
}

/* Cards and containers */
[data-theme="dark"] .comparison-card,
[data-theme="dark"] .calculator-container,
[data-theme="dark"] .benefit-card,
[data-theme="dark"] .faq-item,
[data-theme="dark"] .meter-container,
[data-theme="dark"] .savings-card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .comparison-card-header {
    border-bottom: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .comparison-card-subtitle,
[data-theme="dark"] .faq-answer,
[data-theme="dark"] .calculation-status,
[data-theme="dark"] .location-contact-info,
[data-theme="dark"] .support-details { 
    color: var(--text-secondary) !important;
}

/* Calculator form specifics */
[data-theme="dark"] .calculator-form {
    border-right-color: var(--border-light) !important;
}

[data-theme="dark"] .form-input,
[data-theme="dark"] .slider-wrapper {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-label {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .slider-track { 
    background-color: var(--primary) !important;
}

[data-theme="dark"] .slider-input::-webkit-slider-thumb,
[data-theme="dark"] .slider-input::-moz-range-thumb {
    background-color: var(--bg-card) !important;
    border-color: var(--primary) !important;
}

[data-theme="dark"] .calculator-help {
    background-color: rgba(45, 198, 83, 0.12) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .results-title { color: var(--text-primary) !important; }

/* Digital page: fix calculator results gradient and labels */
[data-theme="dark"] .calculator-results {
    background: linear-gradient(135deg, var(--bg-secondary), var(--bg-card)) !important;
}

[data-theme="dark"] .meter-label,
[data-theme="dark"] .savings-label,
[data-theme="dark"] .comparison-card-subtitle { 
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .slider-mark { 
    color: var(--text-secondary) !important;
}

/* Dim bright decorative backgrounds */
[data-theme="dark"] .comparison-bg { opacity: 0.25 !important; }

/* Ensure hero/section headings readable */
[data-theme="dark"] .section-title,
[data-theme="dark"] .step-title { color: var(--text-primary) !important; }

/* Back-to-top button visibility in dark mode */
[data-theme="dark"] .back-to-top {
    background-color: var(--primary) !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="dark"] .back-to-top i { color: #ffffff !important; }

/* Hero background particles/tint lowered for readability */
[data-theme="dark"] .hero-bg { opacity: 0.18 !important; }

/* Improve hero feature tile contrast */
[data-theme="dark"] .hero-feature-icon {
    background-color: rgba(45, 198, 83, 0.18) !important;
    color: var(--primary) !important;
}

[data-theme="dark"] .hero-feature-content h3 { color: var(--text-primary) !important; }
[data-theme="dark"] .hero-feature-content p { color: var(--text-secondary) !important; }

/* Disclaimer page */
[data-theme="dark"] .tab-button {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .tab-button.active {
    background: var(--primary) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .content-section {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .content-section h2,
[data-theme="dark"] .main-title,
[data-theme="dark"] .last-updated {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .content-section p,
[data-theme="dark"] .content-section li {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .cookie-type {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .cookie-type table {
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .cookie-type th,
[data-theme="dark"] .cookie-type td {
    border-bottom: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .settings-box {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .toggle-group {
    border-bottom: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .slider { background-color: var(--bg-tertiary) !important; }
[data-theme="dark"] .slider:before { background-color: var(--bg-card) !important; }

/* EPC page */
[data-theme="dark"] .hero-section {
    background: linear-gradient(180deg, rgba(45, 198, 83, 0.08) 0%, rgba(22, 27, 34, 0) 100%) !important;
}

[data-theme="dark"] .doodle { opacity: 0.25 !important; }

[data-theme="dark"] .service-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .service-description,
[data-theme="dark"] .service-features li { color: var(--text-secondary) !important; }

[data-theme="dark"] .service-features li:hover { color: var(--primary) !important; }

[data-theme="dark"] .table-responsive { background: var(--bg-card) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="dark"] table { background: var(--bg-card) !important; }
[data-theme="dark"] th { background: var(--bg-secondary) !important; color: var(--text-primary) !important; }
[data-theme="dark"] td { color: var(--text-secondary) !important; border-bottom: 1px solid var(--border-light) !important; }

[data-theme="dark"] .subsidy-card { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .subsidy-content p { color: var(--text-secondary) !important; }

[data-theme="dark"] .faq-section { background: var(--bg-secondary) !important; }
[data-theme="dark"] .faq-item { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .faq-question { color: var(--text-primary) !important; }
[data-theme="dark"] .faq-answer { color: var(--text-secondary) !important; }
[data-theme="dark"] .faq-category-btn { background: var(--bg-card) !important; color: var(--text-primary) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .faq-category-btn.active { background: var(--primary) !important; color: #ffffff !important; }

/* FAQ page */
[data-theme="dark"] .bg-pattern .pattern-grid { opacity: 0.08 !important; }

[data-theme="dark"] .faq-title,
[data-theme="dark"] .faq-subtitle { color: var(--text-primary) !important; }

[data-theme="dark"] .stats-section .stat-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .stat-label { color: var(--text-secondary) !important; }

[data-theme="dark"] .search-input {
    background: var(--bg-card) !important;
    border-color: var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .search-icon { color: var(--text-secondary) !important; }

[data-theme="dark"] .category-button {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .category-button.active { background: var(--primary) !important; color: #ffffff !important; }
[data-theme="dark"] .category-button.active i { color: #ffffff !important; }

[data-theme="dark"] .category-header { border-bottom: 2px solid var(--border-light) !important; }
[data-theme="dark"] .category-icon { background: rgba(45, 198, 83, 0.12) !important; }

[data-theme="dark"] .faq-item { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="dark"] .faq-toggle { background: var(--bg-tertiary) !important; }
[data-theme="dark"] .faq-toggle i { color: var(--text-secondary) !important; }
[data-theme="dark"] .faq-item.active .faq-toggle { background: var(--primary) !important; }
[data-theme="dark"] .faq-item.active .faq-toggle i { color: #ffffff !important; }
[data-theme="dark"] .faq-answer-content { color: var(--text-secondary) !important; }

/* Marketplace page */
[data-theme="dark"] .header-title,
[data-theme="dark"] .section-title { color: var(--text-primary) !important; }

[data-theme="dark"] .header-subtitle,
[data-theme="dark"] .section-subtitle { color: var(--text-secondary) !important; }

[data-theme="dark"] .doodle { opacity: 0.22 !important; }

[data-theme="dark"] .content-section {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .problem-card { background: rgba(45, 198, 83, 0.12) !important; }

[data-theme="dark"] .solution-card,
[data-theme="dark"] .feature-card { 
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .benefits-column { background: rgba(45, 198, 83, 0.12) !important; }
[data-theme="dark"] .benefit-item { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }

[data-theme="dark"] .features-grid .feature-card:hover,
[data-theme="dark"] .solutions-grid .solution-card:hover { border-color: var(--primary) !important; }

[data-theme="dark"] .faq-section { background: var(--bg-secondary) !important; }
[data-theme="dark"] .faq-category-btn { background: var(--bg-card) !important; color: var(--text-primary) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .faq-category-btn:hover { background: var(--bg-tertiary) !important; }
[data-theme="dark"] .faq-category-btn.active { background: var(--primary) !important; color: #ffffff !important; }
[data-theme="dark"] .faq-item { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .faq-answer { color: var(--text-secondary) !important; }

/* News page */
[data-theme="dark"] .main-title,
[data-theme="dark"] .subtitle { color: var(--text-primary) !important; }

[data-theme="dark"] .section-tag { background: var(--bg-tertiary) !important; border: 1px solid var(--border-light) !important; }

[data-theme="dark"] .filter-button {
    background: transparent !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .filter-button.active {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

[data-theme="dark"] .news-card { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="dark"] .news-image { background: var(--bg-secondary) !important; }
[data-theme="dark"] .news-image .placeholder { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; }
[data-theme="dark"] .news-date { color: var(--text-secondary) !important; }
[data-theme="dark"] .news-excerpt { color: var(--text-secondary) !important; }
[data-theme="dark"] .read-more { color: var(--primary) !important; }

[data-theme="dark"] .load-more {
    background: transparent !important;
    border: 2px solid var(--primary) !important;
    color: var(--primary) !important;
}

/* News detail page */
[data-theme="dark"] .breadcrumb { color: var(--text-secondary) !important; }
[data-theme="dark"] .breadcrumb a { color: var(--text-secondary) !important; }
[data-theme="dark"] .breadcrumb a:hover { color: var(--primary) !important; }

[data-theme="dark"] .article-meta { color: var(--text-secondary) !important; }
[data-theme="dark"] .article-title { color: var(--text-primary) !important; }
[data-theme="dark"] .article-subtitle { color: var(--text-secondary) !important; }

[data-theme="dark"] .article-cover { border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .article-content p { color: var(--text-primary) !important; }
[data-theme="dark"] .article-content h2 { color: var(--text-primary) !important; }

/* Force CMS-injected inline colors inside article content to be readable */
[data-theme="dark"] .article-content *[style*="color:"] {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .article-content *[style*="#666"],
[data-theme="dark"] .article-content *[style*="rgb(102, 102, 102)"],
[data-theme="dark"] .article-content *[style*="#333"],
[data-theme="dark"] .article-content *[style*="rgb(51, 51, 51)"] {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .share-section { border-top: 1px solid var(--border-light) !important; }
[data-theme="dark"] .share-title { color: var(--text-primary) !important; }
[data-theme="dark"] .share-button { background: var(--bg-tertiary) !important; color: var(--text-primary) !important; }
[data-theme="dark"] .share-button:hover { background: var(--primary) !important; color: #ffffff !important; }
[data-theme="dark"] .share-success { background: #1f6f2f !important; color: #ffffff !important; box-shadow: var(--shadow-md) !important; }

/* Partner page */
[data-theme="dark"] .hero-section {
    background: linear-gradient(rgba(13, 17, 23, 0.85), rgba(13, 17, 23, 0.85)), url('/api/placeholder/1400/600') !important;
    background-size: cover !important;
    background-position: center !important;
}

[data-theme="dark"] .main-title,
[data-theme="dark"] .section-title { color: var(--text-primary) !important; }
[data-theme="dark"] .subtitle { color: var(--text-secondary) !important; }
[data-theme="dark"] .section-tag { background: var(--bg-tertiary) !important; border: 1px solid var(--border-light) !important; }

[data-theme="dark"] .partnership-card,
[data-theme="dark"] .story-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}
[data-theme="dark"] .partnership-text,
[data-theme="dark"] .story-quote,
[data-theme="dark"] .stat-label { color: var(--text-secondary) !important; }

[data-theme="dark"] .process-section { background: var(--bg-secondary) !important; }
[data-theme="dark"] .process-step { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .step-number { background: var(--primary) !important; color: #ffffff !important; }

[data-theme="dark"] .benefits-section { background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%) !important; }
[data-theme="dark"] .benefit-item { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .benefit-icon { background: var(--bg-tertiary) !important; color: var(--primary) !important; }

[data-theme="dark"] #partner-form-container { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .form-iframe { filter: invert(0.92) hue-rotate(180deg) contrast(0.95) saturate(0.9); }

/* Privacy page */
[data-theme="dark"] .privacy-header .main-title { color: var(--text-primary) !important; }
[data-theme="dark"] .last-updated { color: var(--text-secondary) !important; }
[data-theme="dark"] .privacy-header .section-tag { background: var(--bg-tertiary) !important; border: 1px solid var(--border-light) !important; }

[data-theme="dark"] .privacy-section {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
}
[data-theme="dark"] .privacy-section h2,
[data-theme="dark"] .privacy-section h3 { color: var(--text-primary) !important; }
[data-theme="dark"] .privacy-section p,
[data-theme="dark"] .privacy-section li { color: var(--text-primary) !important; }

[data-theme="dark"] .contact-box {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}
[data-theme="dark"] .contact-box a { color: var(--primary) !important; }

/* Terms page */
[data-theme="dark"] .terms-header .main-title { color: var(--text-primary) !important; }
[data-theme="dark"] .terms-header .section-tag { background: var(--bg-tertiary) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .terms-header .last-updated { color: var(--text-secondary) !important; }

[data-theme="dark"] .terms-section {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
}
[data-theme="dark"] .terms-section h2 { color: var(--text-primary) !important; }
[data-theme="dark"] .terms-section p,
[data-theme="dark"] .terms-section li { color: var(--text-primary) !important; }
[data-theme="dark"] .terms-section a { color: var(--primary) !important; }

[data-theme="dark"] .important-note {
    background: var(--bg-card) !important;
    border-left-color: var(--primary) !important;
    border: 1px solid var(--border-light) !important;
}
[data-theme="dark"] .contact-box a[style*="color:"] { color: var(--primary) !important; }
/* FAQ */
[data-theme="dark"] .faq-section { background: var(--bg-secondary) !important; }
[data-theme="dark"] .faq-question { color: var(--text-primary) !important; }

/* CTA */
[data-theme="dark"] .cta-container { box-shadow: var(--shadow-md) !important; }

/* Images - subtle balancing for bright assets */
[data-theme="dark"] .hero-illustration,
[data-theme="dark"] .step-img {
    filter: brightness(0.92) contrast(1.05);
}

/* Digital page: ensure hero text contrasts in dark mode */
[data-theme="dark"] .hero-title,
[data-theme="dark"] .hero-description {
    color: var(--text-primary) !important;
}

/* Make highlighted word (e.g., Solar) highly legible in dark mode */
[data-theme="dark"] .highlight-underline {
    color: var(--primary) !important;
    text-shadow: 0 0 8px rgba(45, 198, 83, 0.35);
}

[data-theme="dark"] .highlight-underline::after {
    background-color: var(--primary) !important;
    opacity: 0.55 !important;
}

/* Digital page: secondary buttons shouldn't be white in dark mode */
[data-theme="dark"] .btn.btn-secondary,
[data-theme="dark"] .btn-secondary {
    background-color: transparent !important;
    color: var(--primary) !important;
    border: 1px solid var(--primary) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .btn.btn-secondary:hover,
[data-theme="dark"] .btn-secondary:hover {
    background-color: rgba(45, 198, 83, 0.12) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

/* Digital page: FAQ category chips and items */
[data-theme="dark"] .faq-category-btn {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .faq-category-btn:hover {
    background: var(--bg-tertiary) !important;
}

[data-theme="dark"] .faq-category-btn.active {
    background: var(--primary) !important;
    color: #ffffff !important;
}

/* Digital page: feature texts in hero/steps */
[data-theme="dark"] .hero-feature-content p,
[data-theme="dark"] .step-feature p {
    color: var(--text-secondary) !important;
}

/* Grid and layout containers */
[data-theme="dark"] .grid-container,
[data-theme="dark"] .layout-container,
[data-theme="dark"] .content-grid {
    background-color: transparent !important;
}

/* Specific utility classes that might have hardcoded colors */
[data-theme="dark"] .text-gray-600,
[data-theme="dark"] .text-gray-700,
[data-theme="dark"] .text-gray-800,
[data-theme="dark"] .text-slate-600,
[data-theme="dark"] .text-slate-700 {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .text-gray-900,
[data-theme="dark"] .text-black,
[data-theme="dark"] .text-slate-900 {
    color: var(--text-primary) !important;
}

/* Force all FontAwesome icons to green in dark mode */
/* [data-theme="dark"] .fa,
[data-theme="dark"] .fas,
[data-theme="dark"] .far,
[data-theme="dark"] .fal,
[data-theme="dark"] .fab,
[data-theme="dark"] i[class*="fa-"] {
    color: var(--primary) !important;
} */

/* Preserve icon color when inside primary buttons (keep white) */
[data-theme="dark"] .ab23button.cd45primary i,
[data-theme="dark"] .btn-primary i,
[data-theme="dark"] .primary-btn i {
    color: #ffffff !important;
}

/* Background utility classes */
[data-theme="dark"] .bg-gray-50,
[data-theme="dark"] .bg-gray-100,
[data-theme="dark"] .bg-gray-200,
[data-theme="dark"] .bg-slate-50,
[data-theme="dark"] .bg-slate-100 {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .bg-gray-800,
[data-theme="dark"] .bg-gray-900,
[data-theme="dark"] .bg-slate-800,
[data-theme="dark"] .bg-slate-900 {
    background-color: var(--bg-tertiary) !important;
}

/* Images and media in cards */
[data-theme="dark"] .card img,
[data-theme="dark"] .feature-card img,
[data-theme="dark"] .service-card img {
    border-radius: 8px;
    border: 1px solid var(--border-light);
}

/* Hover effects for cards */
[data-theme="dark"] .card:hover,
[data-theme="dark"] .feature-card:hover,
[data-theme="dark"] .service-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
    border-color: var(--border-medium) !important;
}

/* Ensure all common card/container patterns are styled properly */
[data-theme="dark"] [class*="card"],
[data-theme="dark"] [class*="panel"],
[data-theme="dark"] [class*="container"]:not(.nav):not(.navbar):not(.header):not(.footer) {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-light) !important;
}

/* Force visibility for any remaining problematic elements */
[data-theme="dark"] * {
    /* Ensure no element is completely invisible */
    opacity: 1;
}

[data-theme="dark"] .invisible-in-dark,
[data-theme="dark"] .hidden-text,
[data-theme="dark"] .white-text-issue {
    color: var(--text-primary) !important;
    background-color: var(--bg-card) !important;
}

/* Universal card pattern matching */
[data-theme="dark"] [class*="card"],
[data-theme="dark"] [class*="box"],
[data-theme="dark"] [class*="panel"],
[data-theme="dark"] [class*="container"]:not(.nav):not(.navbar) {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-light) !important;
}

/* Universal text patterns */
[data-theme="dark"] [class*="text"],
[data-theme="dark"] [class*="title"],
[data-theme="dark"] [class*="heading"],
[data-theme="dark"] [class*="label"],
[data-theme="dark"] [class*="description"] {
    color: inherit !important;
}

/* Ensure all clickable elements are visible */
[data-theme="dark"] button,
[data-theme="dark"] .btn,
[data-theme="dark"] .button,
[data-theme="dark"] a,
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    opacity: 1 !important;
}

/* Fix any remaining white backgrounds */
[data-theme="dark"] .white-bg,
[data-theme="dark"] .light-background,
[data-theme="dark"] .bright-bg {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

/* FAQ section - remove white background entirely in dark mode */
[data-theme="dark"] .faq-section,
[data-theme="dark"] .faq-container,
[data-theme="dark"] .faqs,
[data-theme="dark"] [class*="faq"][class*="section"],
[data-theme="dark"] [class*="faq"][class*="container"] {
    background-color: var(--bg-secondary) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Kill common light/white backgrounds set by classes (without touching nav/header/footer) */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-very-light,
[data-theme="dark"] .surface,
[data-theme="dark"] .panel-white,
[data-theme="dark"] .card-white,
[data-theme="dark"] .section-white,
[data-theme="dark"] .container-white {
    background-color: var(--bg-card) !important;
}

/* Generic containers: make neutral in dark mode, but do not affect nav/header/footer */
[data-theme="dark"] .container:not(.navbar):not(.xk92nav):not(footer):not(.nav):not(.header):not(.gh78mobile),
[data-theme="dark"] .wrapper:not(.navbar):not(.xk92nav):not(footer):not(.nav):not(.header) {
    background-color: transparent !important;
}

/* Icon squares/badges behind certification/service icons */
[data-theme="dark"] .icon-box,
[data-theme="dark"] .icon-card,
[data-theme="dark"] .icon-container,
[data-theme="dark"] .badge,
[data-theme="dark"] .logo-badge {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

/* Kill inline white backgrounds without affecting nav/header/footer */
[data-theme="dark"] *[style*="background: white"],
[data-theme="dark"] *[style*="background:white"],
[data-theme="dark"] *[style*="background-color: white"],
[data-theme="dark"] *[style*="background-color:white"],
[data-theme="dark"] *[style*="background: #fff"],
[data-theme="dark"] *[style*="background:#fff"],
[data-theme="dark"] *[style*="background-color: #fff"],
[data-theme="dark"] *[style*="background-color:#fff"],
[data-theme="dark"] *[style*="background: rgb(255, 255, 255)"],
[data-theme="dark"] *[style*="background-color: rgb(255, 255, 255)"] {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

/* Final fallback for visibility issues */
[data-theme="dark"] .content,
[data-theme="dark"] .main-content,
[data-theme="dark"] .page-content {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* Dark Mode Toggle Button Styles */
.dark-mode-toggle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid var(--border-light);
    background: var(--bg-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    margin-left: 8px;
}

.dark-mode-toggle:hover {
    background: var(--hover-bg, rgba(45, 198, 83, 0.1));
    border-color: var(--primary);
}

.dark-mode-toggle i {
    font-size: 16px;
    color: var(--text-primary);
    transition: var(--transition);
}

.dark-mode-toggle:hover i {
    color: var(--primary);
}

/* Dark mode toggle for mobile */
.mobile-dark-toggle {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 2px solid var(--border-light);
    background: var(--bg-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: var(--transition);
    margin-bottom: 8px;
    font-size: 14px;
    color: var(--text-primary);
}

.mobile-dark-toggle:hover {
    background: var(--hover-bg, rgba(45, 198, 83, 0.1));
    border-color: var(--primary);
    color: var(--primary);
}

/* ==========================
   Home (index.php) overrides
   ========================== */
[data-theme="dark"] .stats-section { background: transparent !important; }
[data-theme="dark"] .stats-grid {
    background: rgba(13, 17, 23, 0.6) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.35) !important;
}
[data-theme="dark"] .stats-section,
[data-theme="dark"] .stats-section .container { background: transparent !important; }
[data-theme="dark"] .stats-section::before,
[data-theme="dark"] .stats-section::after { content: none !important; display: none !important; }
[data-theme="dark"] .stat-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-sm) !important;
}
[data-theme="dark"] .stat-label { color: var(--text-secondary) !important; }
[data-theme="dark"] .stat-icon { color: var(--primary) !important; }
[data-theme="dark"] .stat-icon i,
[data-theme="dark"] .stat-icon .fa,
[data-theme="dark"] .stat-icon .fas,
[data-theme="dark"] .stat-icon .far,
[data-theme="dark"] .stat-icon .fab {
    color: var(--primary) !important;
}
[data-theme="dark"] .stat-number { 
    background: linear-gradient(45deg, var(--primary), #26b348) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: var(--primary) !important;
    transition: all 0.3s ease;
}

/* Additional hover effects for better dark mode experience */
[data-theme="dark"] .stat-card:hover {
    border-color: rgba(45, 198, 83, 0.3) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(45, 198, 83, 0.1) !important;
}

[data-theme="dark"] .stat-card:hover .stat-icon {
    transform: scale(1.1);
    filter: drop-shadow(0 0 8px rgba(45, 198, 83, 0.3));
}

[data-theme="dark"] .stat-card:hover .stat-number {
    transform: scale(1.05);
    filter: drop-shadow(0 0 4px rgba(45, 198, 83, 0.2));
}

[data-theme="dark"] .section-title { color: var(--text-primary) !important; }
[data-theme="dark"] .highlight-underline { color: var(--primary) !important; }
[data-theme="dark"] .highlight-underline::after { background: var(--primary) !important; opacity: 0.5 !important; }

/* Showcase */
[data-theme="dark"] .showcase-section { background: linear-gradient(180deg, var(--bg-secondary), var(--bg-primary)) !important; }
[data-theme="dark"] .showcase-overlay { color: #ffffff !important; }

/* Process */
[data-theme="dark"] .process-section { background: linear-gradient(180deg, var(--bg-secondary), var(--bg-primary)) !important; }
[data-theme="dark"] .process-card { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="dark"] .process-card p { color: var(--text-secondary) !important; }
[data-theme="dark"] .process-features li { color: var(--text-secondary) !important; }
[data-theme="dark"] .process-icon { background: rgba(45, 198, 83, 0.15) !important; color: var(--primary) !important; }

/* Stories/Testimonials */
[data-theme="dark"] .stories-section { background: var(--bg-secondary) !important; }
[data-theme="dark"] .story-card-modern,
[data-theme="dark"] .testimonial-card { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="dark"] .story-content p,
[data-theme="dark"] .testimonial-text,
[data-theme="dark"] .author-info p { color: var(--text-secondary) !important; }

/* Marketplace preview visuals */
[data-theme="dark"] .marketplace-preview-section { background: linear-gradient(135deg, var(--bg-secondary), var(--bg-primary)) !important; }
[data-theme="dark"] .visual-overlay { color: #ffffff !important; }
[data-theme="dark"] .marketplace-preview-text h3 { color: var(--text-primary) !important; }
[data-theme="dark"] .marketplace-preview-text p { color: var(--text-secondary) !important; }
[data-theme="dark"] .feature-item { color: var(--text-primary) !important; }

/* Incentives */
[data-theme="dark"] .incentives-section { background: linear-gradient(180deg, var(--bg-secondary), var(--bg-primary)) !important; }
[data-theme="dark"] .incentive-featured,
[data-theme="dark"] .incentive-grid-item { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="dark"] .featured-description,
[data-theme="dark"] .incentive-grid-item p { color: var(--text-secondary) !important; }

/* Partners strip */
[data-theme="dark"] .partners-section { background: var(--bg-secondary) !important; }
[data-theme="dark"] .partner-card { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }

/* Home FAQ */
[data-theme="dark"] .faq-section { background: var(--bg-secondary) !important; }
[data-theme="dark"] .faq-item { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .faq-answer p { color: var(--text-secondary) !important; }

/* ===== Navbar (index.php) ===== */
[data-theme="dark"] .xk92nav { background: var(--bg-primary) !important; border-bottom: 1px solid var(--border-light) !important; box-shadow: var(--shadow-sm) !important; }
[data-theme="dark"] .rt45container { background: transparent !important; }
[data-theme="dark"] .yz78item { color: var(--text-primary) !important; }
[data-theme="dark"] .yz78item:hover { background: rgba(45, 198, 83, 0.12) !important; color: var(--primary) !important; }
[data-theme="dark"] .ab12arrow::before { border-color: currentColor !important; }

/* Desktop dropdown */
[data-theme="dark"] .cd45submenu { background: var(--bg-card) !important; border: 1px solid var(--border-light) !important; box-shadow: var(--shadow-md) !important; }
[data-theme="dark"] .cd45submenu::before { background: var(--bg-card) !important; border-left: 1px solid var(--border-light) !important; border-top: 1px solid var(--border-light) !important; }
[data-theme="dark"] .mn56title { color: var(--text-secondary) !important; }
[data-theme="dark"] .qr90item { color: var(--text-primary) !important; }
[data-theme="dark"] .qr90item:hover { background: rgba(45, 198, 83, 0.12) !important; }
[data-theme="dark"] .qr90item i { color: var(--primary) !important; }
[data-theme="dark"] .uv34title { color: var(--text-primary) !important; }
[data-theme="dark"] .wx56desc { color: var(--text-secondary) !important; }
[data-theme="dark"] .yz90actions .ef67secondary { background: transparent !important; color: var(--text-primary) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .yz90actions .ef67secondary:hover { background: rgba(45, 198, 83, 0.12) !important; color: var(--primary) !important; }

/* Mobile navbar + sidebar */
[data-theme="dark"] .gh78mobile { background: var(--bg-primary) !important; border-bottom: 1px solid var(--border-light) !important; }
[data-theme="dark"] .kl12btn { color: var(--text-primary) !important; border-color: var(--border-light) !important; }
[data-theme="dark"] .mn34sidebar { background: var(--bg-card) !important; border-right: 1px solid var(--border-light) !important; box-shadow: var(--shadow-md) !important; }
[data-theme="dark"] .rs78header { border-bottom: 1px solid var(--border-light) !important; }
[data-theme="dark"] .vw12item { color: var(--text-primary) !important; }
[data-theme="dark"] .xy34chevron { color: var(--text-secondary) !important; }
[data-theme="dark"] .za56submenu { border-top: 1px solid var(--border-light) !important; }
[data-theme="dark"] .za56submenu .qr90item { color: var(--text-primary) !important; }
[data-theme="dark"] .za56submenu .qr90item:hover { background: rgba(45, 198, 83, 0.12) !important; }
[data-theme="dark"] .bc78overlay { background: rgba(0,0,0,0.45) !important; backdrop-filter: blur(4px); }

/* ===== Footer (index.php) ===== */
[data-theme="dark"] .xk92m { background: var(--bg-secondary) !important; border-top: 1px solid var(--border-light) !important; }
[data-theme="dark"] .w38jd h4 { color: var(--text-primary) !important; }
[data-theme="dark"] .b67lp,
[data-theme="dark"] .y52hx,
[data-theme="dark"] .j17vn,
[data-theme="dark"] .d72xt { color: var(--text-secondary) !important; }
[data-theme="dark"] .y52hx:hover { color: var(--text-primary) !important; }
[data-theme="dark"] .y52hx::after { background: var(--primary) !important; opacity: 0.3 !important; }
[data-theme="dark"] .u96dm { background: var(--bg-card) !important; color: var(--text-primary) !important; border: 1px solid var(--border-light) !important; }
[data-theme="dark"] .u96dm:hover { background: var(--primary) !important; color: #ffffff !important; }
[data-theme="dark"] .l24pq { border-top: 1px solid var(--border-light) !important; }
[data-theme="dark"] .k39mv { color: var(--text-secondary) !important; }
[data-theme="dark"] .k39mv:hover { color: var(--text-primary) !important; }
[data-theme="dark"] .k39mv::after { background: var(--primary) !important; }

/* ===== Solar Journey (index.php) ===== */
[data-theme="dark"] .solar_journey_section_x7k2m9 {
    background: #0c1118 !important;
}

[data-theme="dark"] .solar_container_q8w3e5 {
    background: transparent !important;
}

[data-theme="dark"] .solar_center_text_m5r7t9 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .solar_icon_wrapper_p6m8n3 {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
}

[data-theme="dark"] .solar_label_w9c5x8 { color: var(--text-primary) !important; }
[data-theme="dark"] .solar_duration_f3k7m1 { color: var(--text-secondary) !important; }

[data-theme="dark"] .solar_connection_l2q6z8 { stroke: var(--primary) !important; }
[data-theme="dark"] .solar_base_circle { stroke: var(--primary) !important; opacity: 0.25 !important; }