/**
 * WebsiteFixs — readable text contrast on all pages (WCAG-oriented).
 */
:root,
body {
  --wf-dim: #b8c6d8;
  --wf-text-body: #d8e0ec;
  --wf-text-muted: #9eb2c8;
  --wf-text-strong: #f4f7fb;
  --text-secondary: #c5d0e0;
  --text-dim: #b8c6d8;
  --text-muted: #9eb2c8;
}

body.jm-premium-ui,
body.wf-luxury,
body.wf-platform-v2 {
  --text-secondary: #c5d0e0;
  --text-dim: #b8c6d8;
  color: var(--wf-text-body);
}

/* Global readable body copy */
body.jm-premium-ui p,
body.wf-luxury p,
body.wf-platform-v2 p,
.section-description,
.section-desc,
.hero-description,
.hero-offer,
.jm-showcase-pro__lead,
.wf-emergency-lanes__head p,
.wf-feature-vault__head p,
.wf-convert-strip p,
.wf-proof-bar__copy p,
.wf-how-it-works__grid p,
.wf-lux-feature p,
.wf-lane span,
.service-content .desc,
.service-content .who,
.feature-list li,
.faq-a p,
.cta-inner p,
.portfolio-content p,
.project-desc,
.page-hero p,
.trust-bridge-head p,
.wf-value-lead {
  color: var(--wf-text-body) !important;
}

/* Secondary / meta — still readable (≥ ~4.5:1 on #0a0a0f) */
body.jm-premium-ui .stat-label,
body.jm-premium-ui .portfolio-category,
body.jm-premium-ui .tech-tag,
.wf-trust-wall__stat span,
.wf-intake-step p,
.hero-visual-caption,
.hero-promise__item,
.nav-menu a,
.navbar .nav-links a,
.jm-footer-tagline,
.wf-emergency-lanes__foot,
.wf-lux-marquee__item {
  color: var(--wf-text-muted) !important;
}

/* Headings & emphasis */
body.jm-premium-ui h1,
body.jm-premium-ui h2,
body.jm-premium-ui h3,
body.jm-premium-ui h4,
body.jm-premium-ui strong,
body.wf-luxury strong,
body.wf-luxury b {
  color: var(--wf-text-strong);
}

/* Fix gradient-clip bleed on strong in content areas */
body.jm-premium-ui .hero-content strong,
body.jm-premium-ui .hero-promise__item strong,
body.jm-premium-ui .hero-offer strong,
body.jm-premium-ui .wf-convert-strip strong,
body.jm-premium-ui p strong,
body.jm-premium-ui li strong {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  color: #e8f4ff !important;
  font-weight: 700;
}

body.jm-premium-ui .jm-lead-magnet.wf-audit-block,
body.jm-premium-ui #free-audit.jm-lead-magnet {
  border: 1px solid rgba(0, 212, 255, 0.35) !important;
  background: linear-gradient(165deg, rgba(8, 14, 24, 0.98), rgba(12, 20, 32, 0.95)) !important;
  text-align: left !important;
}

body.jm-premium-ui .jm-lead-magnet.wf-audit-block h2,
body.jm-premium-ui #free-audit h2 {
  color: #f4f7fb !important;
  -webkit-text-fill-color: #f4f7fb !important;
}

body.jm-premium-ui .jm-lead-magnet.wf-audit-block p,
body.jm-premium-ui #free-audit p {
  color: #d8e0ec !important;
}

body.jm-premium-ui .jm-lead-magnet.wf-audit-block p strong,
body.jm-premium-ui #free-audit p strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
}

body.jm-premium-ui .jm-lead-magnet.wf-audit-block > a,
body.jm-premium-ui #free-audit > a {
  background: linear-gradient(135deg, #00d4ff, #7b2fff) !important;
  color: #04060b !important;
  -webkit-text-fill-color: #04060b !important;
}

body.jm-premium-ui .wf-audit-block__links a {
  color: #00d4ff !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 600 !important;
}

body.jm-premium-ui .wf-audit-block__links span {
  color: #b8c6d8 !important;
}


/* Links */
body.jm-premium-ui a:not(.btn):not(.wf-btn):not(.btn-primary):not(.btn-outline):not(.btn-whatsapp) {
  color: #5ce1ff;
}
body.jm-premium-ui a:not(.btn):not(.wf-btn):hover {
  color: #9aebff;
}

/* Nav active */
.nav-menu a.active,
.navbar .nav-links a:hover {
  color: #f0f4fa !important;
}

/* Form labels & inputs */
body.jm-premium-ui label,
.contact-form label,
.form-section label {
  color: #e2e8f4 !important;
}
body.jm-premium-ui input,
body.jm-premium-ui textarea,
body.jm-premium-ui select {
  color: #f0f4fa !important;
}
body.jm-premium-ui input::placeholder,
body.jm-premium-ui textarea::placeholder {
  color: #8fa3bc !important;
  opacity: 1;
}

/* Tables */
.comparison-table td,
.comparison-table th,
.wf-price-table td,
.wf-price-table th {
  color: var(--wf-text-body) !important;
}

/* Light cards on dark — bump inner text */
.highlight-item p,
.service-card p,
.assurance-card p,
.trust-bridge-card p {
  color: var(--wf-text-body) !important;
}

/* Footer */
footer p,
.footer p,
.jm-footer-col a {
  color: #b8c6d8 !important;
}
footer a:hover,
.footer a:hover {
  color: #e8f4ff !important;
}

/* Platform chrome */
.jm-explore-panel a,
.jm-cmd-item,
.jm-breadcrumb {
  color: #c5d0e0 !important;
}

/* Status ribbon — readable */
.wf-lux-ribbon__track {
  color: #b8c6d8 !important;
}
.wf-lux-ribbon__track strong {
  color: #5dffb8 !important;
}

/* Buttons — dark text on gradient */
.btn-primary,
.wf-btn--primary {
  color: #04060b !important;
}

@media (prefers-contrast: more) {
  :root {
    --wf-dim: #d0dae8;
    --wf-text-body: #eceff4;
    --wf-text-muted: #b8c8dc;
  }
  body.jm-premium-ui p,
  body.wf-luxury p {
    color: #eceff4 !important;
  }
}
