/* ==========================================================================
   HealthCode Design System — Dark Glassmorphism Medical AI Theme
   Version: 2.0.0 — Rewritten for Elementor Flexbox Containers (e-con)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS CUSTOM PROPERTIES
   -------------------------------------------------------------------------- */
:root {
    --hc-bg-primary: #0a0e1a;
    --hc-bg-secondary: #0f1225;
    --hc-bg-tertiary: #141830;
    --hc-bg-elevated: #1a1f3a;

    --hc-glass-bg: rgba(255, 255, 255, 0.03);
    --hc-glass-bg-hover: rgba(255, 255, 255, 0.06);
    --hc-glass-border: rgba(255, 255, 255, 0.08);
    --hc-glass-border-hover: rgba(255, 255, 255, 0.15);
    --hc-glass-blur: 20px;

    --hc-cyan: #06b6d4;
    --hc-blue: #3b82f6;
    --hc-emerald: #10b981;
    --hc-purple: #8b5cf6;
    --hc-amber: #f59e0b;
    --hc-rose: #f43f5e;

    --hc-gradient-primary: linear-gradient(135deg, #06b6d4, #3b82f6);
    --hc-gradient-health: linear-gradient(135deg, #10b981, #06b6d4);
    --hc-gradient-ai: linear-gradient(135deg, #8b5cf6, #3b82f6);
    --hc-gradient-mesh: linear-gradient(135deg, #0a0e1a 0%, #0f1225 25%, #1a1040 50%, #0f1225 75%, #0a0e1a 100%);

    --hc-text-primary: #f1f5f9;
    --hc-text-secondary: #d1d9e6;
    --hc-text-muted: #a8b5c8;
    --hc-text-accent: #06b6d4;

    --hc-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --hc-shadow-md: 0 4px 20px rgba(0, 0, 0, 0.4);
    --hc-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.5);
    --hc-glow-cyan: 0 0 20px rgba(6, 182, 212, 0.25);
    --hc-glow-blue: 0 0 20px rgba(59, 130, 246, 0.25);
    --hc-glow-purple: 0 0 20px rgba(139, 92, 246, 0.25);

    --hc-font-heading: 'Space Grotesk', system-ui, sans-serif;
    --hc-font-body: 'Inter', system-ui, sans-serif;

    --hc-radius-sm: 8px;
    --hc-radius-md: 12px;
    --hc-radius-lg: 16px;
    --hc-radius-xl: 24px;

    --hc-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --hc-duration: 0.4s;
}

/* --------------------------------------------------------------------------
   2. OVERRIDE ASTRA CSS VARIABLES — Force dark palette
   -------------------------------------------------------------------------- */
:root,
body,
.hc-dark-theme {
    --ast-global-color-0: #06b6d4 !important;
    --ast-global-color-1: #3b82f6 !important;
    --ast-global-color-2: #f1f5f9 !important;
    --ast-global-color-3: #cbd5e1 !important;
    --ast-global-color-4: #0a0e1a !important;
    --ast-global-color-5: #0f1225 !important;
    --ast-global-color-6: #0a0e1a !important;
    --ast-global-color-7: #0a0e1a !important;
    --ast-global-color-8: #0a0e1a !important;
}

/* --------------------------------------------------------------------------
   3. NUCLEAR DARK BACKGROUND — Override everything white
   -------------------------------------------------------------------------- */
.hc-dark-theme,
.hc-dark-theme body,
body.hc-dark-theme {
    background: var(--hc-bg-primary) !important;
    background-color: var(--hc-bg-primary) !important;
    color: var(--hc-text-primary) !important;
    font-family: var(--hc-font-body) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: clip;
}

/* Override ALL Elementor containers, sections, and columns */
.hc-dark-theme .e-con,
.hc-dark-theme .e-con-inner,
.hc-dark-theme .e-parent,
.hc-dark-theme .e-child,
.hc-dark-theme .elementor-element,
.hc-dark-theme .elementor-section,
.hc-dark-theme .elementor-column,
.hc-dark-theme .elementor-widget-wrap,
.hc-dark-theme .elementor-row {
    background-color: transparent !important;
}

/* Override Elementor's per-element generated backgrounds — match their specificity */
.hc-dark-theme [class*="elementor-element-"] {
    background-color: transparent !important;
}
/* Nuclear: override ALL Elementor page-specific generated CSS */
[class*="elementor-"] [class*="elementor-element-"]:not(.elementor-button):not(.elementor-widget-social-icons .elementor-icon) {
    background-color: transparent !important;
}
/* Override the :not(.elementor-motion-effects-element-type-background) selectors Elementor generates */
[class*="elementor-"] .elementor-element:not(.elementor-motion-effects-element-type-background) {
    background-color: transparent !important;
}
[class*="elementor-"] .elementor-element > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: transparent !important;
}

/* POPUP — Higher specificity overrides restore popup backgrounds.
   :not() with descendant selectors is INVALID CSS. Use specificity instead. */
.hc-dark-theme .wpr-template-popup .wpr-popup-container {
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden;
}
.hc-dark-theme .wpr-popup-overlay {
    background: rgba(0, 0, 0, 0.6) !important;
}
/* Restore popup element backgrounds.
   Nuclear rule has specificity 0,4,0 due to :not() pseudo-classes.
   Must exceed that here. 5 class-level selectors = 0,5,0. */
.hc-dark-theme .wpr-template-popup .wpr-popup-container .wpr-popup-container-inner [class*="elementor-element-"] {
    background-color: #ffffff !important;
}
.hc-dark-theme .wpr-template-popup .wpr-popup-container .wpr-popup-container-inner .elementor-element {
    background-color: #ffffff !important;
}
.hc-dark-theme .wpr-template-popup .wpr-popup-container .elementor-widget-container {
    color: #222 !important;
}
.hc-dark-theme .wpr-template-popup .wpr-popup-container .wpr-popup-container-inner .e-con {
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: none !important;
}
.hc-dark-theme .wpr-popup-container-inner {
    background: #ffffff !important;
}
.hc-dark-theme .wpr-template-popup h1,
.hc-dark-theme .wpr-template-popup h2,
.hc-dark-theme .wpr-template-popup h3,
.hc-dark-theme .wpr-template-popup h4,
.hc-dark-theme .wpr-template-popup p,
.hc-dark-theme .wpr-template-popup label,
.hc-dark-theme .wpr-template-popup a:not(.elementor-button) {
    color: #222 !important;
}
.hc-dark-theme .wpr-template-popup input:not([type="submit"]) {
    background: #fff !important;
    color: #222 !important;
    border-color: #ddd !important;
}

/* Override common white backgrounds from Astra + WP */
.hc-dark-theme #page,
.hc-dark-theme #content,
.hc-dark-theme #primary,
.hc-dark-theme .site-content,
.hc-dark-theme .ast-container,
.hc-dark-theme .ast-separate-container,
.hc-dark-theme .ast-page-builder-template .site-content > .ast-container,
.hc-dark-theme .entry-content,
.hc-dark-theme .page-content,
.hc-dark-theme article,
.hc-dark-theme main {
    background: transparent !important;
    background-color: transparent !important;
}

/* Kill Elementor background-image gradients on ALL page containers (the nuclear CSS only kills background-color).
   Exclude hero (first-child, has its own dark gradient) and popups. */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con:not(:first-child),
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-child {
    background-image: none !important;
}
/* Also kill ::before overlays Elementor generates on containers */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con:not(:first-child)::before,
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-child::before {
    background-image: none !important;
    background: none !important;
}
/* Kill Elementor light backgrounds on ALL page sections that aren't the hero */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-parent:not(:first-child):not(.elementor-motion-effects-element-type-background) {
    background-color: transparent !important;
    background-image: none !important;
}

/* Override Elementor kit/global white backgrounds */
.hc-dark-theme .elementor-kit-*,
.hc-dark-theme [data-elementor-type="wp-page"],
.hc-dark-theme [data-elementor-type="wp-post"],
.hc-dark-theme [data-elementor-type="header"],
.hc-dark-theme [data-elementor-type="footer"] {
    background-color: transparent !important;
}

/* Animated mesh gradient background on body */
.hc-dark-theme::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--hc-gradient-mesh);
    background-size: 400% 400%;
    animation: hc-mesh-shift 20s ease infinite;
    z-index: -2;
    pointer-events: none;
}

@keyframes hc-mesh-shift {
    0%, 100% { background-position: 0% 50%; }
    25% { background-position: 100% 0%; }
    50% { background-position: 100% 100%; }
    75% { background-position: 0% 100%; }
}

/* Dot grid overlay */
.hc-dark-theme::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 40px 40px;
    z-index: -1;
    pointer-events: none;
}

/* Scrollbar */
.hc-dark-theme ::-webkit-scrollbar { width: 8px; }
.hc-dark-theme ::-webkit-scrollbar-track { background: var(--hc-bg-primary); }
.hc-dark-theme ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 4px; }
.hc-dark-theme ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }

.hc-dark-theme ::selection {
    background: rgba(6, 182, 212, 0.3);
    color: var(--hc-text-primary);
}

/* --------------------------------------------------------------------------
   4. TYPOGRAPHY
   -------------------------------------------------------------------------- */
.hc-dark-theme h1,
.hc-dark-theme h2,
.hc-dark-theme h3,
.hc-dark-theme h4,
.hc-dark-theme h5,
.hc-dark-theme h6,
.hc-dark-theme .elementor-heading-title {
    font-family: var(--hc-font-heading) !important;
    color: var(--hc-text-primary) !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.hc-dark-theme p,
.hc-dark-theme .elementor-text-editor,
.hc-dark-theme .elementor-widget-text-editor {
    color: var(--hc-text-secondary) !important;
    font-family: var(--hc-font-body) !important;
    line-height: 1.7;
}

.hc-dark-theme a:not(.elementor-button) {
    color: var(--hc-cyan) !important;
    text-decoration: none !important;
    transition: color var(--hc-duration) var(--hc-ease);
}
.hc-dark-theme a:not(.elementor-button):hover {
    color: var(--hc-blue) !important;
}

/* Gradient text utility */
.hc-gradient-text,
.hc-dark-theme .hc-gradient-text .elementor-heading-title {
    background: var(--hc-gradient-primary) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* --------------------------------------------------------------------------
   5. HEADER — Glassmorphic dark header
   -------------------------------------------------------------------------- */
/* Header — Sticky via position:fixed on the INNER container (.e-con.e-parent inside .elementor-1904).
   DO NOT put position:fixed or backdrop-filter on the OUTER .elementor-1904 wrapper.
   DO NOT use GSAP animations on the header — all GSAP selectors must use
   [data-elementor-type="wp-page"] to exclude header/footer templates. */
.hc-dark-theme .elementor-1904 .e-con.e-parent {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: rgba(10, 14, 26, 0.95) !important;
    border-bottom: 1px solid var(--hc-glass-border) !important;
    box-shadow: var(--hc-shadow-md) !important;
}

/* Header inner containers transparent */
.hc-dark-theme .elementor-1904 .e-con-inner {
    background: transparent !important;
}

/* Push page content below fixed header (header ~70px) */
.hc-dark-theme .site-content,
.hc-dark-theme #content,
.hc-dark-theme [data-elementor-type="wp-page"],
.hc-dark-theme [data-elementor-type="section"] {
    padding-top: 75px !important;
}

/* Header Elementor containers */
.hc-dark-theme .elementor-1904 .e-con,
.hc-dark-theme .elementor-1904 .e-con-inner,
.hc-dark-theme .elementor-1904 .elementor-element {
    background: transparent !important;
    background-color: transparent !important;
}

/* Logo — original is dark text on transparent bg, invert for dark theme */
.hc-dark-theme .elementor-1904 .elementor-widget-image img,
.hc-dark-theme header .custom-logo-link img,
.hc-dark-theme .site-logo img,
.hc-dark-theme .custom-logo {
    filter: brightness(0) invert(1) !important;
    transition: filter var(--hc-duration) var(--hc-ease) !important;
}

/* Site title */
.hc-dark-theme .site-title a,
.hc-dark-theme .ast-site-identity .site-title a {
    color: var(--hc-text-primary) !important;
    font-family: var(--hc-font-heading) !important;
    font-weight: 700 !important;
}

/* Navigation links — targets Jeg Elementor Kit nav (medisynth-menu-pro) */
.hc-dark-theme .medisynth-menu-pro .menu-item a,
.hc-dark-theme .jkit-nav-menu .jkit-menu > li > a,
.hc-dark-theme [data-elementor-type="header"] a:not(.elementor-button) {
    color: var(--hc-text-secondary) !important;
    transition: color var(--hc-duration) var(--hc-ease), background-color var(--hc-duration) var(--hc-ease) !important;
}
.hc-dark-theme .medisynth-menu-pro .menu-item a:hover,
.hc-dark-theme .medisynth-menu-pro .menu-item.current-menu-item > a,
.hc-dark-theme .medisynth-menu-pro .menu-item.current-menu-ancestor > a,
.hc-dark-theme .jkit-nav-menu .jkit-menu > li > a:hover,
.hc-dark-theme .jkit-nav-menu .jkit-menu > li.current-menu-item > a {
    color: var(--hc-cyan) !important;
    background-color: rgba(6, 182, 212, 0.08) !important;
}

/* Dropdown arrows */
.hc-dark-theme .medisynth-menu-pro .fa-angle-down,
.hc-dark-theme .medisynth-menu-pro .jeg-sub-arrow {
    color: var(--hc-text-muted) !important;
}

/* Dropdown menus — solid dark, no transparency (page content was bleeding through) */
.hc-dark-theme .medisynth-menu-pro .sub-menu,
.hc-dark-theme .jkit-nav-menu .jkit-menu .sub-menu {
    background: var(--hc-bg-secondary) !important;
    background-color: var(--hc-bg-secondary) !important;
    background-image: none !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-top: 2px solid var(--hc-cyan) !important;
    border-radius: 0 0 var(--hc-radius-sm) var(--hc-radius-sm) !important;
    box-shadow: var(--hc-shadow-lg) !important;
    z-index: 10000 !important;
}
.hc-dark-theme .medisynth-menu-pro .sub-menu .menu-item a {
    color: var(--hc-text-secondary) !important;
    background-color: transparent !important;
    border-left: 3px solid transparent !important;
}
.hc-dark-theme .medisynth-menu-pro .sub-menu .menu-item a:hover,
.hc-dark-theme .medisynth-menu-pro .sub-menu .menu-item a:active {
    background-color: rgba(6, 182, 212, 0.08) !important;
    color: var(--hc-cyan) !important;
    border-left: 3px solid var(--hc-cyan) !important;
}

/* Right-side header tools (search icon, divider) */
.hc-dark-theme .header-search-icon {
    color: var(--hc-text-muted) !important;
    border-right-color: var(--hc-glass-border) !important;
}

/* Mobile menu — jkit slide-in panel */
.hc-dark-theme .jkit-nav-menu .jkit-menu-wrapper {
    background-color: var(--hc-bg-secondary) !important;
}
.hc-dark-theme .jkit-nav-menu .jkit-nav-identity-panel {
    background-color: var(--hc-bg-tertiary) !important;
}
.hc-dark-theme .jkit-hamburger-menu {
    color: var(--hc-text-primary) !important;
}

/* --------------------------------------------------------------------------
   6. FOOTER — Dark footer
   -------------------------------------------------------------------------- */
.hc-dark-theme .site-footer,
.hc-dark-theme footer,
.hc-dark-theme .ast-small-footer,
.hc-dark-theme [data-elementor-type="footer"],
.hc-dark-theme [data-elementor-type="footer"] .e-con {
    background: var(--hc-bg-secondary) !important;
    border-top: 1px solid var(--hc-glass-border) !important;
    color: var(--hc-text-muted) !important;
}
.hc-dark-theme [data-elementor-type="footer"] .elementor-heading-title {
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme [data-elementor-type="footer"] p,
.hc-dark-theme [data-elementor-type="footer"] .elementor-text-editor,
.hc-dark-theme [data-elementor-type="footer"] a:not(.elementor-button) {
    color: var(--hc-text-muted) !important;
}
.hc-dark-theme [data-elementor-type="footer"] a:hover {
    color: var(--hc-cyan) !important;
}

/* --------------------------------------------------------------------------
   7. HERO SECTION — First e-con.e-parent on the page
   NOTE: Selectors use [data-elementor-type="wp-page"] NOT .elementor-page .elementor
   because hc-dark-theme and elementor-page are both on <body> (same element),
   so descendant combinator fails. data-elementor-type is on a real descendant DIV.
   -------------------------------------------------------------------------- */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child {
    position: relative;
    min-height: 85vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Hero dark background — override Elementor's radial-gradient(#BCFFF1→#FFFFFF) */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child,
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child:not(.elementor-motion-effects-element-type-background) {
    background: linear-gradient(180deg, #0f1225 0%, #0a0e1a 40%, #0a0e1a 100%) !important;
    background-image: linear-gradient(180deg, #0f1225 0%, #0a0e1a 40%, #0a0e1a 100%) !important;
    background-color: var(--hc-bg-primary) !important;
}
/* Kill Elementor's ::before overlay gradient (radial-gradient #B1D2FF) */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child::before {
    background: none !important;
    background-image: none !important;
    background-color: transparent !important;
}
/* Hero child containers also transparent */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .e-con {
    background: transparent !important;
    border: none !important;
}

/* Hero heading — large gradient text */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-heading-title {
    font-size: clamp(2.5rem, 5vw, 4.5rem) !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, var(--hc-text-primary) 0%, var(--hc-cyan) 50%, var(--hc-blue) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    line-height: 1.1 !important;
}
/* The .gradient-text span inside the h1 */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .gradient-text {
    background: linear-gradient(135deg, var(--hc-cyan) 0%, var(--hc-blue) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
/* Hero "Blogs, reviews & toolbox" badge — HOME PAGE ONLY (elementor-2471) */
.hc-dark-theme .elementor-2471 > .e-con.e-parent:first-child h6 .elementor-heading-title,
.hc-dark-theme .elementor-2471 > .e-con.e-parent:first-child .elementor-widget-heading:first-child .elementor-widget-container {
    background-color: rgba(6, 182, 212, 0.1) !important;
    border-color: rgba(6, 182, 212, 0.2) !important;
    color: var(--hc-cyan) !important;
}
/* Category page headings — remove badge bg, add proper glass box with padding */
.hc-dark-theme .elementor-2847 .elementor-widget-heading .elementor-widget-container,
.hc-dark-theme .elementor-2910 .elementor-widget-heading .elementor-widget-container,
.hc-dark-theme .elementor-2928 .elementor-widget-heading .elementor-widget-container,
.hc-dark-theme .elementor-2945 .elementor-widget-heading .elementor-widget-container,
.hc-dark-theme .elementor-2956 .elementor-widget-heading .elementor-widget-container {
    background-color: rgba(6, 182, 212, 0.08) !important;
    border: 1px solid rgba(6, 182, 212, 0.15) !important;
    border-radius: var(--hc-radius-lg) !important;
    padding: 30px 50px !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Hero text */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-text-editor {
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    color: var(--hc-text-secondary) !important;
}

/* Hero counters — override any white backgrounds on counter widgets */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-widget-counter .elementor-widget-container,
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-counter {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Hero buttons — keep "Read Reviews" white button as glass variant */
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-button[style*="background-color:#FFFFFF"],
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-button.elementor-button-link {
    background: var(--hc-gradient-primary) !important;
    color: #fff !important;
}

/* --------------------------------------------------------------------------
   8. ELEMENTOR WIDGET OVERRIDES
   -------------------------------------------------------------------------- */

/* --- Buttons --- */
.hc-dark-theme .elementor-widget-button {
    margin-top: 16px !important;
}
.hc-dark-theme .elementor-button {
    background: var(--hc-gradient-primary) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--hc-radius-md) !important;
    font-family: var(--hc-font-heading) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    padding: 14px 32px !important;
    position: relative;
    overflow: hidden;
    transition: transform var(--hc-duration) var(--hc-ease), box-shadow var(--hc-duration) var(--hc-ease) !important;
    box-shadow: 0 4px 15px rgba(6, 182, 212, 0.3) !important;
}
.hc-dark-theme .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(6, 182, 212, 0.4) !important;
}
.hc-dark-theme .elementor-button:active {
    transform: translateY(0) scale(0.98) !important;
}
/* Button shimmer */
.hc-dark-theme .elementor-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.6s var(--hc-ease);
}
.hc-dark-theme .elementor-button:hover::before {
    left: 100%;
}
/* Ghost button variant */
.hc-dark-theme .elementor-button.hc-ghost {
    background: transparent !important;
    border: 1px solid var(--hc-cyan) !important;
    color: var(--hc-cyan) !important;
    box-shadow: none !important;
}
.hc-dark-theme .elementor-button.hc-ghost:hover {
    background: rgba(6, 182, 212, 0.1) !important;
    box-shadow: var(--hc-glow-cyan) !important;
}

/* --- Icon Boxes --- */
.hc-dark-theme .elementor-widget-icon-box .elementor-icon-box-wrapper {
    background: var(--hc-glass-bg) !important;
    backdrop-filter: blur(var(--hc-glass-blur));
    -webkit-backdrop-filter: blur(var(--hc-glass-blur));
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    padding: 32px !important;
    transition: all var(--hc-duration) var(--hc-ease);
}
.hc-dark-theme .elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
    border-color: var(--hc-glass-border-hover) !important;
    background: var(--hc-glass-bg-hover) !important;
    box-shadow: var(--hc-shadow-md), var(--hc-glow-cyan);
    transform: translateY(-4px);
}
.hc-dark-theme .elementor-widget-icon-box .elementor-icon {
    color: var(--hc-cyan) !important;
}
.hc-dark-theme .elementor-icon-box-title,
.hc-dark-theme .elementor-icon-box-title a {
    color: var(--hc-text-primary) !important;
    font-family: var(--hc-font-heading) !important;
}
.hc-dark-theme .elementor-icon-box-description {
    color: var(--hc-text-secondary) !important;
}

/* --- Counters --- */
.hc-dark-theme .elementor-widget-counter .elementor-counter {
    background: var(--hc-glass-bg) !important;
    backdrop-filter: blur(var(--hc-glass-blur));
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    padding: 28px 24px !important;
    transition: all var(--hc-duration) var(--hc-ease);
}
.hc-dark-theme .elementor-counter-number-wrapper {
    color: transparent !important;
    background: var(--hc-gradient-primary) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    font-family: var(--hc-font-heading) !important;
    font-weight: 700 !important;
}
.hc-dark-theme .elementor-counter-title {
    color: var(--hc-text-secondary) !important;
    font-family: var(--hc-font-body) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 13px !important;
}

/* --- Images --- */
.hc-dark-theme .elementor-widget-image img {
    border-radius: var(--hc-radius-md);
    transition: transform var(--hc-duration) var(--hc-ease);
}
.hc-dark-theme .elementor-widget-image:hover img {
    transform: scale(1.02);
}

/* --- Testimonials --- */
.hc-dark-theme .elementor-widget-testimonial .elementor-testimonial-wrapper {
    background: var(--hc-glass-bg) !important;
    backdrop-filter: blur(var(--hc-glass-blur));
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    padding: 32px !important;
}
.hc-dark-theme .elementor-testimonial-content { color: var(--hc-text-secondary) !important; }
.hc-dark-theme .elementor-testimonial-name { color: var(--hc-text-primary) !important; }
.hc-dark-theme .elementor-testimonial-job { color: var(--hc-text-muted) !important; }
.hc-dark-theme .elementor-testimonial-img img {
    border: 2px solid var(--hc-cyan) !important;
    border-radius: 50% !important;
}

/* --- Forms --- */
.hc-dark-theme input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.hc-dark-theme textarea,
.hc-dark-theme select {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-sm) !important;
    color: var(--hc-text-primary) !important;
    font-family: var(--hc-font-body) !important;
    padding: 12px 16px !important;
    transition: border-color var(--hc-duration) var(--hc-ease), box-shadow var(--hc-duration) var(--hc-ease) !important;
}
.hc-dark-theme input:focus,
.hc-dark-theme textarea:focus,
.hc-dark-theme select:focus {
    border-color: var(--hc-cyan) !important;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15) !important;
    outline: none !important;
}
.hc-dark-theme label {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme input::placeholder,
.hc-dark-theme textarea::placeholder {
    color: var(--hc-text-muted) !important;
}

/* --- Social Icons --- */
.hc-dark-theme .elementor-widget-social-icons .elementor-icon {
    background: var(--hc-glass-bg) !important;
    border: 1px solid var(--hc-glass-border) !important;
    transition: all var(--hc-duration) var(--hc-ease) !important;
}
.hc-dark-theme .elementor-widget-social-icons .elementor-icon:hover {
    background: var(--hc-glass-bg-hover) !important;
    border-color: var(--hc-cyan) !important;
    box-shadow: var(--hc-glow-cyan) !important;
    transform: translateY(-3px);
}
.hc-dark-theme .elementor-widget-social-icons .elementor-icon i,
.hc-dark-theme .elementor-widget-social-icons .elementor-icon svg {
    color: var(--hc-text-secondary) !important;
    fill: var(--hc-text-secondary) !important;
}
.hc-dark-theme .elementor-widget-social-icons .elementor-icon:hover i,
.hc-dark-theme .elementor-widget-social-icons .elementor-icon:hover svg {
    color: var(--hc-cyan) !important;
    fill: var(--hc-cyan) !important;
}

/* --- Post Grid / Blog Cards --- */
.hc-dark-theme .elementor-post,
.hc-dark-theme .elementor-posts-container article,
.hc-dark-theme .jet-listing-grid__item,
.hc-dark-theme .elementor-widget-loop-grid article {
    background: var(--hc-glass-bg) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    overflow: hidden;
    transition: all var(--hc-duration) var(--hc-ease);
}
.hc-dark-theme .elementor-post:hover,
.hc-dark-theme .jet-listing-grid__item:hover {
    border-color: var(--hc-glass-border-hover) !important;
    box-shadow: var(--hc-shadow-md) !important;
    transform: translateY(-4px);
}
.hc-dark-theme .elementor-post__title,
.hc-dark-theme .elementor-post__title a {
    color: var(--hc-text-primary) !important;
    font-family: var(--hc-font-heading) !important;
}
.hc-dark-theme .elementor-post__excerpt { color: var(--hc-text-secondary) !important; }
.hc-dark-theme .elementor-post__meta-data { color: var(--hc-text-muted) !important; }
.hc-dark-theme .elementor-post__badge {
    background: var(--hc-gradient-primary) !important;
    color: #ffffff !important;
    border-radius: var(--hc-radius-sm) !important;
}

/* --- Tabs & Accordions --- */
.hc-dark-theme .elementor-tab-title {
    color: var(--hc-text-secondary) !important;
    font-family: var(--hc-font-heading) !important;
    border-color: var(--hc-glass-border) !important;
    background: transparent !important;
}
.hc-dark-theme .elementor-tab-title.elementor-active,
.hc-dark-theme .elementor-tab-title:hover {
    color: var(--hc-cyan) !important;
}
.hc-dark-theme .elementor-tab-content {
    background: var(--hc-glass-bg) !important;
    border-color: var(--hc-glass-border) !important;
    color: var(--hc-text-secondary) !important;
}

/* --- Dividers --- */
.hc-dark-theme .elementor-divider-separator {
    border-color: var(--hc-glass-border) !important;
}

/* --- Widget containers general text color --- */
.hc-dark-theme .elementor-widget-container {
    color: var(--hc-text-secondary);
}

/* --- Card-like e-child containers — SCOPED to page content only --- */
/* Glass card styling for direct children of non-hero page sections. */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-parent:not(:first-child) > .e-con-inner > .e-con.e-child {
    background: var(--hc-glass-bg) !important;
    background-color: var(--hc-glass-bg) !important;
    background-image: none !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    padding: 24px !important;
    transition: all var(--hc-duration) var(--hc-ease) !important;
    overflow: hidden;
}
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-parent:not(:first-child) > .e-con-inner > .e-con.e-child:hover {
    border-color: var(--hc-glass-border-hover) !important;
    box-shadow: var(--hc-shadow-md), var(--hc-glow-cyan) !important;
    transform: translateY(-4px);
}

/* Wrapper e-children that CONTAIN nested cards — make wrapper transparent, apply glass to inner cards.
   This handles "Choose Your Path" where: e-parent > e-child (wrapper) > e-child (individual cards). */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-parent:not(:first-child) > .e-con-inner > .e-con.e-child:has(> .e-con-inner > .e-con.e-child) {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
}
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-parent:not(:first-child) > .e-con-inner > .e-con.e-child:has(> .e-con-inner > .e-con.e-child):hover {
    box-shadow: none !important;
    transform: none !important;
}

/* Second-level e-children (actual cards inside wrapper) — apply glass */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-parent:not(:first-child) .e-con.e-child > .e-con-inner > .e-con.e-child {
    background: var(--hc-glass-bg) !important;
    background-color: var(--hc-glass-bg) !important;
    background-image: none !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    padding: 24px !important;
    transition: all var(--hc-duration) var(--hc-ease) !important;
    overflow: hidden;
}
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-parent:not(:first-child) .e-con.e-child > .e-con-inner > .e-con.e-child:hover {
    border-color: var(--hc-glass-border-hover) !important;
    box-shadow: var(--hc-shadow-md), var(--hc-glow-cyan) !important;
    transform: translateY(-4px);
}

/* Add gap between sibling cards inside a wrapper */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-child > .e-con-inner {
    gap: 20px;
}

/* Third level and deeper — keep transparent */
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-child .e-con.e-child .e-con.e-child {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
}
.hc-dark-theme [data-elementor-type="wp-page"] .e-con.e-child .e-con.e-child .e-con.e-child:hover {
    box-shadow: none !important;
    transform: none !important;
}
/* Header and footer children — explicitly NO glass card */
.hc-dark-theme .elementor-1904 .e-con.e-child,
.hc-dark-theme .elementor-1907 .e-con.e-child {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* --------------------------------------------------------------------------
   8b. CUSTOM LOGIN/REGISTER POPUP (#hca-custom-popup)
   -------------------------------------------------------------------------- */
.hc-dark-theme #hca-custom-popup .hca-popup-content {
    background: rgba(15, 18, 37, 0.97) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important;
    padding: 32px !important;
    max-width: 440px !important;
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme .hca-popup-overlay {
    background: rgba(0, 0, 0, 0.7) !important;
}
/* Tabs */
.hc-dark-theme .hca-tab-link {
    color: var(--hc-text-muted) !important;
    border-bottom: 2px solid transparent !important;
}
.hc-dark-theme .hca-tab-link.active,
.hc-dark-theme .hca-tab-link:hover {
    color: var(--hc-cyan) !important;
    border-bottom-color: var(--hc-cyan) !important;
}
/* Form inputs inside popup */
.hc-dark-theme .hca-popup-content input:not([type="submit"]):not([type="button"]) {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-sm) !important;
    color: var(--hc-text-primary) !important;
    padding: 12px 16px !important;
}
.hc-dark-theme .hca-popup-content input:focus {
    border-color: var(--hc-cyan) !important;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15) !important;
}
.hc-dark-theme .hca-popup-content input::placeholder {
    color: var(--hc-text-muted) !important;
}
/* Close button */
.hc-dark-theme .hca-popup-close {
    color: var(--hc-text-muted) !important;
}
.hc-dark-theme .hca-popup-close:hover {
    color: var(--hc-text-primary) !important;
}
/* OR divider text */
.hc-dark-theme .hca-popup-content {
    color: var(--hc-text-secondary) !important;
}
/* Subscribe/login button */
.hc-dark-theme .hca-popup-content button[type="submit"],
.hc-dark-theme .hca-popup-content .hca-submit-btn {
    background: var(--hc-gradient-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--hc-radius-md) !important;
    padding: 12px 32px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

/* --------------------------------------------------------------------------
   9. ECG PULSE LINE
   -------------------------------------------------------------------------- */
.hc-ecg-container {
    position: absolute;
    bottom: 10%;
    left: 0;
    width: 100%;
    height: 80px;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
    opacity: 0.2;
}
.hc-ecg-line {
    position: absolute;
    width: 200%;
    height: 100%;
    animation: hc-ecg-scroll 4s linear infinite;
}
.hc-ecg-line svg {
    width: 50%;
    height: 100%;
    float: left;
}
.hc-ecg-line svg path {
    fill: none;
    stroke: var(--hc-cyan);
    stroke-width: 2;
    filter: drop-shadow(0 0 6px rgba(6, 182, 212, 0.5));
}

@keyframes hc-ecg-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --------------------------------------------------------------------------
   10. PARTICLES CANVAS
   -------------------------------------------------------------------------- */
#hc-particles-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    opacity: 0.4;
}

/* --------------------------------------------------------------------------
   11. SCROLL ANIMATION CLASSES
   -------------------------------------------------------------------------- */
.hc-reveal { opacity: 0; transform: translateY(30px); }
.hc-reveal-left { opacity: 0; transform: translateX(-40px); }
.hc-reveal-right { opacity: 0; transform: translateX(40px); }
.hc-reveal-scale { opacity: 0; transform: scale(0.9); }

/* --------------------------------------------------------------------------
   12. GLASS CARD UTILITY
   -------------------------------------------------------------------------- */
.hc-dark-theme .hc-glass {
    background: var(--hc-glass-bg) !important;
    backdrop-filter: blur(var(--hc-glass-blur)) !important;
    -webkit-backdrop-filter: blur(var(--hc-glass-blur)) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    box-shadow: var(--hc-shadow-sm) !important;
    padding: 24px !important;
    transition: all var(--hc-duration) var(--hc-ease) !important;
}
.hc-dark-theme .hc-glass:hover {
    background: var(--hc-glass-bg-hover) !important;
    border-color: var(--hc-glass-border-hover) !important;
    box-shadow: var(--hc-shadow-md), var(--hc-glow-cyan) !important;
    transform: translateY(-4px);
}

/* --------------------------------------------------------------------------
   13. ANIMATION UTILITIES
   -------------------------------------------------------------------------- */
.hc-dark-theme .hc-pulse {
    animation: hc-pulse-glow 2s ease-in-out infinite;
}
@keyframes hc-pulse-glow {
    0%, 100% { box-shadow: 0 0 5px rgba(6, 182, 212, 0.2); }
    50% { box-shadow: 0 0 20px rgba(6, 182, 212, 0.4); }
}

.hc-shimmer {
    background: linear-gradient(90deg, var(--hc-glass-bg) 25%, rgba(255,255,255,0.06) 50%, var(--hc-glass-bg) 75%);
    background-size: 200% 100%;
    animation: hc-shimmer-move 1.5s ease infinite;
}
@keyframes hc-shimmer-move {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* Color utilities */
.hc-dark-theme .hc-text-cyan { color: var(--hc-cyan) !important; }
.hc-dark-theme .hc-text-blue { color: var(--hc-blue) !important; }
.hc-dark-theme .hc-text-emerald { color: var(--hc-emerald) !important; }
.hc-dark-theme .hc-text-purple { color: var(--hc-purple) !important; }

/* --------------------------------------------------------------------------
   14. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child {
        min-height: 70vh;
    }
}
@media (max-width: 768px) {
    .hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child {
        min-height: 60vh;
    }
    .hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-heading-title {
        font-size: clamp(1.8rem, 6vw, 2.5rem) !important;
    }
    #hc-particles-canvas { display: none; }
    .hc-ecg-container { opacity: 0.1; }
}
@media (max-width: 480px) {
    .hc-dark-theme .elementor-button {
        padding: 12px 24px !important;
        font-size: 14px !important;
    }
}

/* --------------------------------------------------------------------------
   15. REDUCED MOTION
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .hc-dark-theme::before { animation: none; }
    .hc-ecg-line { animation: none; }
    .hc-dark-theme .hc-pulse { animation: none; }
    .hc-shimmer { animation: none; }
    .hc-reveal, .hc-reveal-left, .hc-reveal-right, .hc-reveal-scale {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* --------------------------------------------------------------------------
   16. SMOOTH SCROLLING
   -------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
}

/* --------------------------------------------------------------------------
   17. NEUROSCAN OVERRIDES — Filter buttons, search, grid cards for dark theme
   -------------------------------------------------------------------------- */
/* Filter buttons — dark theme */
.hc-dark-theme .neuro-filter-btn {
    background: transparent !important;
    border: 1px solid var(--hc-glass-border) !important;
    color: var(--hc-text-secondary) !important;
    box-shadow: none !important;
}
.hc-dark-theme .neuro-filter-btn:hover {
    background: rgba(6, 182, 212, 0.08) !important;
    border-color: var(--hc-cyan) !important;
    color: var(--hc-cyan) !important;
}
.hc-dark-theme .neuro-filter-btn.active {
    background: var(--hc-gradient-primary) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* Search input — fix icon overlap */
.hc-dark-theme .neuro-search-wrapper {
    position: relative;
}
.hc-dark-theme .neuro-search-icon {
    position: absolute;
    right: 14px !important;
    left: auto !important;
    top: 50%;
    transform: translateY(-50%);
    color: var(--hc-text-muted) !important;
    pointer-events: none;
    z-index: 1;
}
.hc-dark-theme #neuro-live-search {
    padding-left: 16px !important;
    padding-right: 40px !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-xl) !important;
    color: var(--hc-text-primary) !important;
    width: 100%;
}

/* NeuroScan grid cards (verified: .neuro-card from Code Snippets) */
.hc-dark-theme .neuro-card {
    background: var(--hc-glass-bg) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .neuro-card:hover {
    border-color: var(--hc-glass-border-hover) !important;
    box-shadow: var(--hc-shadow-md) !important;
}
.hc-dark-theme .neuro-card h3,
.hc-dark-theme .neuro-card h3 a {
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme .neuro-card .neuro-meta {
    color: var(--hc-text-muted) !important;
}
/* NeuroScan breadcrumbs */
.hc-dark-theme .neuro-breadcrumbs {
    color: var(--hc-text-muted) !important;
}
.hc-dark-theme .neuro-breadcrumbs a {
    color: var(--hc-cyan) !important;
}
.hc-dark-theme .neuro-breadcrumbs .current {
    color: var(--hc-text-secondary) !important;
}

/* --------------------------------------------------------------------------
   18. VERIFIED DOM OVERRIDES — Real selectors from live site inspection
   -------------------------------------------------------------------------- */

/* --- A. Home page review cards (Code Snippets: .card-*) --- */
.hc-dark-theme .card-body {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .card-title,
.hc-dark-theme .card-title a {
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme .card-pros li,
.hc-dark-theme .card-pros .text-slate-600,
.hc-dark-theme .card-pros .text-sm {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .verdict-row {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .verdict-badge {
    color: var(--hc-emerald) !important;
}
.hc-dark-theme .verdict-label {
    color: var(--hc-text-muted) !important;
}
/* Star badge */
.hc-dark-theme .star-badge {
    color: var(--hc-amber) !important;
}

/* --- B. Single post title (Jeg Kit: h2.post-title.style-color) --- */
.hc-dark-theme .post-title,
.hc-dark-theme .post-title.style-color,
.hc-dark-theme h2.post-title,
.hc-dark-theme .jkit-post-title .post-title {
    color: var(--hc-text-primary) !important;
}

/* --- C. Author info (Royal Addons: .wpr-post-info, Code Snippets: .author-info) --- */
.hc-dark-theme .wpr-post-info,
.hc-dark-theme .wpr-post-info span,
.hc-dark-theme .wpr-post-info a,
.hc-dark-theme .wpr-post-info-author span {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .wpr-post-info-date span {
    color: var(--hc-text-muted) !important;
}
.hc-dark-theme .author-info .name {
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme .author-info .role {
    color: var(--hc-text-muted) !important;
}

/* --- D. Rating Breakdown (verified: .neuro-bar-wrapper, .label, .score) --- */
.hc-dark-theme .neuro-bar-wrapper {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .neuro-bar-header .label {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .neuro-bar-header .score {
    color: var(--hc-cyan) !important;
}
.hc-dark-theme .neuro-bar-track {
    background: rgba(255, 255, 255, 0.08) !important;
}
.hc-dark-theme .neuro-bar-fill {
    background: var(--hc-gradient-primary) !important;
}

/* --- E. Tech Specs table (verified: .neuro-specs-table) --- */
.hc-dark-theme .neuro-specs-table {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .neuro-specs-table .spec-label {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .neuro-specs-table .spec-value {
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme .neuro-specs-table tr {
    border-color: var(--hc-glass-border) !important;
}
.hc-dark-theme .neuro-specs-table td {
    border-color: var(--hc-glass-border) !important;
    color: var(--hc-text-secondary) !important;
}

/* --- F. AI Summary box (verified: .medisynth-wrapper, .medisynth-content) --- */
.hc-dark-theme .medisynth-wrapper {
    color: var(--hc-text-secondary) !important;
    border-color: var(--hc-glass-border) !important;
}
.hc-dark-theme .medisynth-header {
    color: var(--hc-emerald) !important;
}
.hc-dark-theme .medisynth-header span {
    color: var(--hc-emerald) !important;
}
.hc-dark-theme .medisynth-content,
.hc-dark-theme .medisynth-content li,
.hc-dark-theme .medisynth-content li span,
.hc-dark-theme .medisynth-content li p {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .medisynth-content strong,
.hc-dark-theme .medisynth-content strong span {
    color: var(--hc-text-primary) !important;
}

/* --- G. Post body text — higher contrast --- */
.hc-dark-theme .entry-content p,
.hc-dark-theme .entry-content li,
.hc-dark-theme .entry-content td,
.hc-dark-theme .entry-content th,
.hc-dark-theme .entry-content blockquote,
.hc-dark-theme .elementor-widget-theme-post-content p,
.hc-dark-theme .elementor-widget-theme-post-content li {
    color: var(--hc-text-secondary) !important;
}

/* --- H. Shortcode containers general text --- */
.hc-dark-theme .elementor-shortcode,
.hc-dark-theme .elementor-widget-shortcode .elementor-widget-container {
    color: var(--hc-text-secondary) !important;
}

/* --- I. Benchmark chart — gray bars invisible on dark bg (verified: .bar.gray) --- */
.hc-dark-theme .bar.gray {
    background-color: #0ea5e9 !important;
}
.hc-dark-theme .widget-card {
    background: var(--hc-glass-bg) !important;
    border: 1px solid var(--hc-glass-border) !important;
    border-radius: var(--hc-radius-lg) !important;
}
.hc-dark-theme .widget-title {
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme .widget-footer {
    color: var(--hc-text-muted) !important;
}
.hc-dark-theme .bar-group .label {
    color: var(--hc-text-muted) !important;
}

/* --- J. Category page headings — widen the bg box so text centers properly --- */
/* Verified: element 67f7242 has --width:50% in post-2847.css making the box too tight.
   Elementor already sets text-align:center on the heading widget (f1888ad).
   Fix: widen the container so text has room to center visually. */
.hc-dark-theme .elementor-2847 .e-con.e-parent:first-child > .e-con-inner > .e-con.e-child,
.hc-dark-theme .elementor-2910 .e-con.e-parent:first-child > .e-con-inner > .e-con.e-child,
.hc-dark-theme .elementor-2928 .e-con.e-parent:first-child > .e-con-inner > .e-con.e-child,
.hc-dark-theme .elementor-2945 .e-con.e-parent:first-child > .e-con-inner > .e-con.e-child,
.hc-dark-theme .elementor-2956 .e-con.e-parent:first-child > .e-con-inner > .e-con.e-child {
    --width: 70% !important;
    text-align: center !important;
}

/* --- K. Tailwind utility overrides for dark theme --- */
.hc-dark-theme .text-slate-600,
.hc-dark-theme .text-slate-500,
.hc-dark-theme .text-gray-600,
.hc-dark-theme .text-gray-500 {
    color: var(--hc-text-secondary) !important;
}
.hc-dark-theme .text-slate-900,
.hc-dark-theme .text-gray-900,
.hc-dark-theme .text-slate-800,
.hc-dark-theme .text-gray-800 {
    color: var(--hc-text-primary) !important;
}
.hc-dark-theme .bg-white,
.hc-dark-theme .bg-slate-50,
.hc-dark-theme .bg-gray-50 {
    background-color: var(--hc-glass-bg) !important;
}
.hc-dark-theme .border-slate-200,
.hc-dark-theme .border-gray-200 {
    border-color: var(--hc-glass-border) !important;
}

/* --------------------------------------------------------------------------
   19. FIX: Hero centering on mobile
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child {
        text-align: center !important;
    }
    .hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-widget-container {
        text-align: center !important;
    }
    .hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-widget-heading .elementor-widget-container {
        display: inline-block !important;
    }
}

/* --------------------------------------------------------------------------
   20. FIX: Counter cards responsive — force equal sizing
   -------------------------------------------------------------------------- */
.hc-dark-theme .elementor-widget-counter .elementor-counter {
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* --------------------------------------------------------------------------
   21. FIX: Category page hero spacing
   -------------------------------------------------------------------------- */
/* Category/archive pages — reduce excessive hero height */
.hc-dark-theme .category .e-con.e-parent:first-child,
.hc-dark-theme .archive .e-con.e-parent:first-child,
.hc-dark-theme [data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(.elementor-widget-heading:only-child) {
    min-height: auto !important;
    padding-top: 80px !important;
    padding-bottom: 60px !important;
}

/* --------------------------------------------------------------------------
   22. ASKME CHATBOT — Isolate from dark theme overrides
   Every rule uses #medibot-container prefix for high specificity
   -------------------------------------------------------------------------- */
#medibot-container #medibot-window {
    background-color: #f8fafc !important;
}
#medibot-container .msg-bubble.bot {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid #e2e8f0 !important;
}
#medibot-container .msg-bubble.user {
    background: #0d9488 !important;
    color: #ffffff !important;
}
#medibot-container .mb-header {
    background: linear-gradient(to right, #0284c6, #14b8a7) !important;
    color: #ffffff !important;
}
#medibot-container .mb-header .mb-title {
    color: #ffffff !important;
}
#medibot-container .mb-header .mb-close-btn {
    color: #ffffff !important;
    background: transparent !important;
}
#medibot-container #mb-messages {
    background: #f8fafc !important;
}
#medibot-container .mb-footer {
    background: #ffffff !important;
}
#medibot-container #mb-input {
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
}
#medibot-container #mb-send {
    background-color: #0d9488 !important;
    color: #ffffff !important;
}
#medibot-container #mb-mic {
    background: #f1f5f9 !important;
    color: #64748b !important;
}
#medibot-container .mb-disclaimer {
    color: #94a3b8 !important;
}

/* --------------------------------------------------------------------------
   23. PRINT
   -------------------------------------------------------------------------- */
@media print {
    .hc-dark-theme, .hc-dark-theme body {
        background: #fff !important;
        color: #000 !important;
    }
    #hc-particles-canvas, .hc-ecg-container { display: none !important; }
}
