/* Keep text/background pairs together, including legacy functional islands. */
:root {--j3-accent-text:var(--j3-accent);--j3-positive-text:#373067;--j3-negative-text:#aa3737;--j3-muted:#56566b;}
html[data-theme=dark] {--j3-accent-text:#ff6b35;--j3-positive-text:#aca6d4;--j3-negative-text:#ffa7a7;}

/* Menus must resolve their colors again when the theme changes. */
body #nav.j3-header .j3-nav-panel a,
body .j3-menu-drawer .j3-mobile-groups a {color:var(--j3-ink);transition:none;}
body #nav.j3-header .j3-nav-panel a:is(:hover,:focus-visible,[aria-current=page]),
body .j3-menu-drawer .j3-mobile-groups a:is(:hover,:focus-visible,[aria-current=page]) {color:var(--j3-accent-text);background:var(--j3-sage);}
body #nav.j3-header .nav-dl.j3-download {background:var(--j3-brand);border-color:var(--j3-brand);color:#fff;}
body #nav.j3-header .nav-dl.j3-download:hover {background:#ff5722;border-color:#ff5722;}
body #nav.j3-header .nav-dl.j3-download :is(span,svg) {color:#fff;}
body #jl-footer .j3-motion-toggle {color:#bdbdcd;}

/* CTA bands stay dark in either theme; their cards need the same local palette. */
body.j3-page .j3-section-cta {
  --j3-white:#1c1c30;--j3-ink:#f8f7fc;--j3-muted:#c8c6d6;
  --j3-line:#4e496d;--j3-accent-text:var(--j3-accent);
}
body.j3-page .j3-section-cta .cta-step {color:var(--j3-ink);background:var(--j3-white);}
body.j3-page .j3-section-cta .cta-step-text {color:var(--j3-muted);}
body.j3-page .j3-section-cta .cta-step-text strong {color:var(--j3-ink);}

/* Orange text has a deeper shade on paper; filled orange buttons retain white text. */
body.j3-page :is(.sol-card-tag,.ann-k,.rc-kicker,.cal-footer strong,#compliance-label),
body.j3-page .dtab.is-on :is(.dtab-n,.dtab-p),
body.j3-page .dh--op .vmono {color:var(--j3-accent-text);}
html:not([data-theme=dark]) body.j3-page :is(.g,.grad) {color:var(--j3-accent);}
html body.j3-page .j3-section-cta :is(.g,.grad),
html:not([data-theme=dark]) body.j3-page .j3-section-cta :is(.g,.grad) {color:var(--j3-accent);}
body.j3-page #efficiency-leak :is(.j3-leak-solution-label,.uc-resolution-item span) {color:#4a4664;}
body.j3-page #esim-intro .prd-img .j3-product-note :is(.pb-card-lbl,.pb-meta-muted) {color:#494563;}
html:not([data-theme=dark]) body.j3-page #efficiency-leak .uc-card-stat {color:var(--j3-accent-text);}
body.j3-page .country-region {color:var(--j3-muted);}
html:not([data-theme=dark]) body .jlw-teaser-cta {color:#362f68;}

/* ROI: distinct readable labels on both pale panels and colored chart segments. */
body.j3-page .jl-cc-root {
  --jl-cc-ai-color:var(--j3-positive-text);--jl-cc-human-color:var(--j3-accent-text);
}
body.j3-page .jl-cc-prod-pct {color:var(--j3-positive-text);}
body.j3-page :is(.jl-cc-bar-productive,.jl-cc-bar-routine) {color:#08080f;}
body.j3-page .jl-cc-bar-routine {background:#c8895f;}
body.j3-page .jl-cc-tax-tag {color:#8f3e20;background:#ffe4db;}

/* Script-updated labels: keep IDs, values, backgrounds and interactions intact. */
html:not([data-theme=dark]) body.j3-page .prod-noise-badge {color:#594181;}
html:not([data-theme=dark]) body.j3-page .prod-stat--cost .prod-stat-n {color:var(--j3-negative-text);}
html:not([data-theme=dark]) body.j3-page :is(#lead-counter,.case-msg-tag--lead,.calc-cta-note) {color:#302a5c;}
/* The animated counter carries an inline color from the original page script. */
html:not([data-theme=dark]) body.j3-page #lead-counter {color:#302a5c!important;}
html:not([data-theme=dark]) body.j3-page .case-badge {color:#264f78;}
html:not([data-theme=dark]) body.j3-page .case-msg-tag--filter {color:var(--j3-negative-text);}
body.j3-page .prod-seg--faq .prod-seg-lbl,
body.j3-page .prod-seg--lead .prod-seg-lbl,
body.j3-page .prod-seg--book .prod-seg-lbl {color:#08080f;}
body.j3-page[data-j3-page="ai-lead-qualification"] .prod-seg--wrong .prod-seg-lbl {color:#08080f;}
body.j3-page:not(.pricing-page) :is(.calc-preset-btn.active,.calc-mod-price-val,.calc-total-val) {color:var(--j3-accent-text);}
body.j3-page:not(.pricing-page) .calc-usage-free {background:#2e2858;color:#fff;}
body.j3-page :is(.book-phone-kicker,.book-phone-sep) {color:var(--j3-muted);}
body.j3-page .prod-seg--spam {background:#bb3535;}
body.j3-page .prod-seg--spam .prod-seg-lbl,
body.j3-page .prod-seg--other .prod-seg-lbl,
body.j3-page[data-j3-page="ai-appointment-automation"] .prod-seg--faq .prod-seg-lbl {color:#fff;}
body.j3-page #filter-counter {color:var(--j3-negative-text)!important;}
html[data-theme=dark] body.j3-page :is(.prod-noise-badge,.case-msg-tag--filter) {color:var(--j3-negative-text);}
html[data-theme=dark] body.j3-page .case-msg-tag--lead {color:var(--j3-positive-text);}
body.j3-page:not(.pricing-page) .calc-preset-btn.active {color:var(--j3-accent-text);}
body.j3-page:not(.pricing-page) :is(.preset-popular-tag,.calc-module-badge) {color:#fff;background:var(--j3-accent);}
body.j3-page :is(.dv--jl b,.dh--jl b,.switch-num) {color:var(--j3-accent-text);}
body.j3-page .cta.cta-call {color:#fff;background:var(--j3-brand);}
body.j3-page .cta.cta-call:hover {background:#ff5722;}
body.j3-page :is(input,textarea)::placeholder {color:var(--j3-muted);opacity:1;}
/* Transient calculator notices also need a complete color pair. */
body.j3-page .calc-fly-badge.pos {background:#e8e7f0;color:#2e2858;}
body.j3-page .calc-fly-badge.neg {background:#fff0e3;color:#8f3e20;}
