/* ═══════════════════════════════════════════════════
   WORLDREACH — Light Theme Override (tusclicks)
   Loaded LAST — overrides custom.css dark theme
   ═══════════════════════════════════════════════════ */

/* ── 1. ROOT VARIABLE OVERRIDE ─────────────────────
   All 300+ uses of dark vars cascade from here       */
:root {
  --primary:         #2B8EB7;
  --primary-dark:    #0D5386;
  --primary-light:   #5baee8;
  --accent:          #2B8EB7;
  --accent-dark:     #0D5386;
  --accent-light:    #7ec2e8;
  --accent-green:    #10b981;

  /* backgrounds → white/light */
  --bg-dark:         #ffffff;
  --bg-darker:       #fafbff;
  --bg-card:         #f6f8fa;
  --bg-card-hover:   #eef2f6;

  /* text → dark */
  --text-primary:    #2b3a42;
  --text-secondary:  #5d6b75;
  --text-muted:      #8d9aa5;

  /* borders → visible on white */
  --border-color:    #e0e6ea;
  --border-light:    rgba(43,142,183,.15);

  /* gradients */
  --gradient-primary: linear-gradient(135deg,#2B8EB7 0%,#0D5386 100%);
  --gradient-dark:    linear-gradient(180deg,#ffffff 0%,#f6f8fa 100%);
}

/* ── 2. BODY & GLOBAL ───────────────────────────── */
html, body {
  background: #fff !important;
  color: #5d6b75;
  font-family: 'Lato', ui-sans-serif, system-ui, sans-serif;
}
.site-main { background: #fff; }

/* borders that used rgba(white,.06) are now invisible — fix them */
* { border-color: inherit; }

/* ── 3. HEADINGS ────────────────────────────────── */
h1, h2, h3, h4, h5, h6 { color: #2b3a42; }
p { color: #5d6b75; font-size: 1rem; }

/* ── 4. TEXT GRADIENT ───────────────────────────── */
.text-gradient, .grad {
  background: linear-gradient(130deg,#2B8EB7 0%,#0D5386 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ── 5. BADGES ──────────────────────────────────── */
.hero-badge, .section-badge, .featured-badge {
  background: rgba(43,142,183,.10) !important;
  border: 1px solid rgba(43,142,183,.25) !important;
  color: #2B8EB7 !important;
}

/* ── 6. BUTTONS ─────────────────────────────────── */
.btn-primary {
  background: #2B8EB7 !important;
  border-color: #2B8EB7 !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(43,142,183,.30) !important;
}
.btn-primary:hover { background: #0D5386 !important; border-color: #0D5386 !important; }

.btn-secondary, .btn-outline {
  background: #fff !important;
  color: #2b3a42 !important;
  border-color: #d0dae0 !important;
}
.btn-secondary:hover, .btn-outline:hover {
  border-color: #2B8EB7 !important;
  color: #2B8EB7 !important;
  background: #fff !important;
}

/* ── 7. HERO SECTIONS (all pages) ───────────────── */
.services-hero, .about-hero, .pricing-hero, .team-hero,
.contact-hero, .affiliate-hero, .careers-hero,
.support-hero, .blog-hero, .case-studies-hero,
.privacy-hero, .terms-hero, .page-hero,
[class$="-hero"], [class*="-hero "] {
  background: #fafbff !important;
  border-bottom: 1px solid #f0f2f4;
  color: #2b3a42;
}
[class$="-hero"] h1,
[class*="-hero "] h1,
.services-hero h1, .about-hero h1, .pricing-hero h1,
.team-hero h1, .contact-hero h1, .affiliate-hero h1,
.careers-hero h1, .support-hero h1, .blog-hero h1,
.case-studies-hero h1 { color: #2b3a42 !important; }

[class$="-hero"] .hero-subtitle,
.hero-subtitle { color: #5d6b75 !important; }

/* ── 8. SECTIONS ────────────────────────────────── */
section {
  background: #fff;
}
section:nth-child(even) {
  background: #fafafa;
}
.section-header h2 { color: #2b3a42; }
.section-header p   { color: #5d6b75; }

/* alternate section backgrounds used by page layouts */
.services-overview, .about-story, .about-values, .pricing-section,
.team-section, .careers-section, .affiliate-section,
.support-section, .blog-section, .case-studies-section,
.contact-section, .partners-section, .cta-section,
.services-list, .services-process, .services-cta {
  background: #fff;
}
.services-process, .about-mission, .pricing-faq,
.team-intro, .blog-grid-section {
  background: #fafafa;
}

/* ── 9. CARDS ───────────────────────────────────── */
.service-card, .stat-card, .story-stats .stat-card,
.overview-stats .stat-item, .feature-card, .plan-card,
.benefit-card, .process-step, .team-card, .blog-card,
.case-study-card, .career-card, .support-card,
[class*="-card"], [class*="card-"] {
  background: #f6f8fa !important;
  border: 1px solid #e0e6ea !important;
  color: #5d6b75;
}
[class*="-card"]:hover, [class*="card-"]:hover {
  background: #eef2f6 !important;
  border-color: rgba(43,142,183,.3) !important;
  box-shadow: 0 10px 30px rgba(30,50,70,.08) !important;
}
[class*="-card"] h3, [class*="card-"] h3,
[class*="-card"] h4, [class*="card-"] h4 {
  color: #2b3a42 !important;
}
[class*="-card"].featured {
  background: #e1ebf4 !important;
  border-color: rgba(43,142,183,.4) !important;
}

/* ── 10. STAT NUMBERS ───────────────────────────── */
.stat-value, .stat-number, .h-metric-num, .overview-stats .stat-value {
  color: #2b3a42 !important;
}
.stat-label { color: #5d6b75 !important; }

/* ── 11. LISTS & FEATURES ───────────────────────── */
.service-features li, .plan-features li,
[class*="feature"] li, [class*="features"] li {
  color: #5d6b75 !important;
}
.service-features li::before,
[class*="feature"] li::before { color: #2B8EB7 !important; }

/* ── 12. STORY / CONTENT GRIDS ──────────────────── */
.story-grid, .overview-grid, .team-grid, .blog-grid,
.careers-grid, .contact-grid { background: transparent; }
.story-content p, .overview-content p,
.overview-content .lead { color: #5d6b75 !important; }
.story-content strong { color: #2b3a42 !important; }

/* ── 13. FORMS ──────────────────────────────────── */
input, textarea, select {
  background: #fff !important;
  border-color: #d0dae0 !important;
  color: #2b3a42 !important;
}
input::placeholder, textarea::placeholder { color: #9aa6ad !important; }
input:focus, textarea:focus, select:focus {
  border-color: #2B8EB7 !important;
  box-shadow: 0 0 0 3px rgba(43,142,183,.12) !important;
  outline: none;
}
label { color: #3c4a53 !important; }

/* ── 14. BLOG & CASE STUDIES ────────────────────── */
.blog-card .blog-meta, .blog-card .blog-excerpt,
.case-study-meta, .case-study-excerpt { color: #5d6b75 !important; }
.blog-tag, .case-study-tag {
  background: rgba(43,142,183,.10) !important;
  color: #2B8EB7 !important;
  border-color: rgba(43,142,183,.2) !important;
}

/* ── 15. PRICING PAGE ───────────────────────────── */
.plan-card, .pricing-card, .price-card {
  background: #f6f8fa !important;
  border: 1px solid #e0e6ea !important;
}
.plan-card.featured, .pricing-card.featured {
  background: #e1ebf4 !important;
  border-color: rgba(43,142,183,.4) !important;
}
.plan-price, .price-amount { color: #2b3a42 !important; }
.plan-period, .price-period { color: #8d9aa5 !important; }
.plan-name, .plan-title     { color: #2b3a42 !important; }
.plan-desc, .price-desc     { color: #5d6b75 !important; }
.plan-divider               { background: #e0e6ea !important; }

/* ── 16. TEAM PAGE ──────────────────────────────── */
.team-member-name { color: #2b3a42 !important; }
.team-member-role, .team-member-bio { color: #5d6b75 !important; }

/* ── 17. PAGE BODY (Privacy/Terms) ──────────────── */
.page-body, .single-body {
  color: #5d6b75 !important;
  background: #fff !important;
}
.page-body h2, .single-body h2,
.page-body h3, .single-body h3 { color: #2b3a42 !important; }
.page-body blockquote, .single-body blockquote {
  background: #f6f8fa !important;
  border-left-color: #2B8EB7 !important;
  color: #5d6b75 !important;
}
.page-body code, .single-body code {
  background: #f6f8fa !important;
  color: #2b3a42 !important;
  border-color: #e0e6ea !important;
}
.page-body pre, .single-body pre {
  background: #f6f8fa !important;
  border-color: #e0e6ea !important;
}

/* ── 18. MISC DARK ELEMENTS ─────────────────────── */
/* remove dark glows */
.footer-glow,
[class*="-glow"] { display: none !important; }

/* orbs & animated backgrounds */
.h-orb, .h-orb-layer, .h-grid-bg,
[class*="-orb"], [class*="orb-"] { display: none !important; }

/* dark overlays on hero sections */
[class*="-hero"]::before,
[class*="-hero"]::after { background: none !important; }

/* ── 19. CTA SECTIONS ───────────────────────────── */
.cta-section, [class*="-cta"], [class*="cta-"] {
  background: linear-gradient(100deg,#ebf0f4 0%,#f1f6fa 45%,#f7faff 100%) !important;
}
.cta-card, .cta-box {
  background: #fff !important;
  border: 1px solid #e0e6ea !important;
}
.cta-card h2, .cta-box h2 { color: #2b3a42 !important; }
.cta-card p, .cta-box p   { color: #5d6b75 !important; }

/* ── 20. NAVIGATION (back-to-top, breadcrumbs) ──── */
.back-to-top {
  background: #2B8EB7 !important;
  border-color: rgba(43,142,183,.3) !important;
  box-shadow: 0 4px 16px rgba(43,142,183,.35) !important;
  color: #fff !important;
}
.breadcrumb { color: #5d6b75 !important; }
.breadcrumb a { color: #2B8EB7 !important; }

/* ── 21. PROCESS/TIMELINE STEPS ─────────────────── */
.process-step, .timeline-item {
  background: #f6f8fa !important;
  border-color: #e0e6ea !important;
}
.step-number, .process-number {
  background: #2B8EB7 !important;
  color: #fff !important;
}
.process-step h3, .timeline-item h3 { color: #2b3a42 !important; }

/* ── 22. TABLES ─────────────────────────────────── */
table { background: #fff; border-color: #e0e6ea; }
th { background: #f6f8fa; color: #2b3a42; }
td { color: #5d6b75; border-color: #e8eaec; }
tr:hover td { background: #f9fafb; }

/* ── 23. AFFILIATE PAGE SPECIFIC ────────────────── */
.aff-card, .affiliate-card, .commission-card {
  background: #f6f8fa !important;
  border-color: #e0e6ea !important;
}
.aff-card h3, .affiliate-card h3 { color: #2b3a42 !important; }

/* ── 24. DARK SEPARATORS → LIGHT ────────────────── */
hr { border-color: #e8eaec !important; }
.divider { background: #e8eaec !important; }

/* ── 25. ICONS ──────────────────────────────────── */
.service-icon, .feature-icon, [class*="-icon"] svg {
  color: #2B8EB7;
}

/* ── 26. SUPPORT PAGE ───────────────────────────── */
.support-card, .faq-item, .faq-question {
  background: #f6f8fa !important;
  border-color: #e0e6ea !important;
  color: #5d6b75 !important;
}
.faq-answer { color: #5d6b75 !important; }

/* ── 27. 404 PAGE ───────────────────────────────── */
.error-page, .not-found {
  background: #fafbff !important;
  color: #2b3a42 !important;
}

/* ── 28. THANK YOU PAGE ─────────────────────────── */
.thank-you-section, .success-section {
  background: #fafbff !important;
}

/* ════════════════════════════════════════════════════
   AFFILIATE PAGE — full light-theme override
   All dark colors hardcoded in custom.css, must
   override every element individually.
   ════════════════════════════════════════════════════ */

/* Hero */
.aff-hero { background: #fafbff !important; }
.aff-hero-bg { background: #fafbff !important; }
.aff-hero-glow-1, .aff-hero-glow-2 { display: none !important; }
.aff-hero-grid { background-image: none !important; }
.aff-hero-badge {
  background: rgba(43,142,183,.10) !important;
  border-color: rgba(43,142,183,.25) !important;
  color: #2B8EB7 !important;
  backdrop-filter: none !important;
}
.badge-dot { background: #10b981 !important; }
.aff-hero h1 { color: #2b3a42 !important; }
.aff-gradient-text {
  background: linear-gradient(135deg,#2B8EB7 0%,#0D5386 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.aff-hero-desc { color: #5d6b75 !important; }
.aff-hero-stats {
  background: #fff !important;
  border: 1px solid #e0e6ea !important;
  backdrop-filter: none !important;
}
.aff-hero-stat .stat-num   { color: #2b3a42 !important; }
.aff-hero-stat .stat-label { color: #8d9aa5 !important; }
.aff-stat-divider { background: linear-gradient(to bottom,transparent,#d0dae0,transparent) !important; }

/* Buttons */
.aff-btn-primary {
  background: #2B8EB7 !important;
  box-shadow: 0 4px 16px rgba(43,142,183,.3) !important;
  color: #fff !important;
}
.aff-btn-primary:hover { background: #0D5386 !important; box-shadow: 0 6px 22px rgba(43,142,183,.45) !important; }
.aff-btn-ghost {
  background: #f6f7f9 !important;
  color: #3c4a53 !important;
  border: 1px solid #d0dae0 !important;
}
.aff-btn-ghost:hover { background: #eef0f3 !important; border-color: #2B8EB7 !important; color: #2B8EB7 !important; }

/* Value section */
.aff-value { background: #fff !important; border-top: 1px solid #f0f2f4 !important; }
.aff-value-card { background: #f6f8fa !important; border: 1px solid #e0e6ea !important; }
.aff-value-card:hover { background: #eef2f6 !important; border-color: rgba(43,142,183,.3) !important; }
.aff-value-icon { background: rgba(43,142,183,.10) !important; color: #2B8EB7 !important; }
.aff-value-content h3 { color: #2b3a42 !important; }
.aff-value-content p  { color: #5d6b75 !important; }

/* Section headers */
.aff-section-label {
  background: rgba(43,142,183,.10) !important;
  border-color: rgba(43,142,183,.2) !important;
  color: #2B8EB7 !important;
}
.aff-section-header h2 { color: #2b3a42 !important; }

/* Calculator */
.aff-calc { background: #fafafa !important; }
.aff-calc-card { background: #fff !important; border: 1px solid #e0e6ea !important; backdrop-filter: none !important; }
.aff-calc-input-group label { color: #3c4a53 !important; }
.aff-calc-slider { background: #e0e6ea !important; }
.aff-calc-slider-value { background: rgba(43,142,183,.12) !important; color: #2B8EB7 !important; }
.aff-calc-amount { background: #f6f8fa !important; border: 1px solid #e0e6ea !important; }
.aff-calc-amount .currency { color: #8d9aa5 !important; }
.aff-calc-amount .amount   { color: #2b3a42 !important; }
.aff-calc-divider { background: linear-gradient(90deg,transparent,#e0e6ea,transparent) !important; }
.aff-calc-result-row { background: #f6f8fa !important; }
.aff-calc-result-row.highlight {
  background: rgba(43,142,183,.08) !important;
  border: 1px solid rgba(43,142,183,.2) !important;
}
.aff-calc-result-row .result-label { color: #5d6b75 !important; }
.aff-calc-result-row .result-value { color: #2b3a42 !important; }
.aff-calc-result-row.highlight .result-value {
  background: linear-gradient(135deg,#2B8EB7,#0D5386) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.aff-calc-example { background: #f6f8fa !important; border: 1px solid #e0e6ea !important; }
.aff-calc-example:hover { background: #eef2f6 !important; }
.aff-calc-example.featured { background: rgba(43,142,183,.06) !important; border-color: rgba(43,142,183,.25) !important; }
.aff-calc-example .example-label { color: #5d6b75 !important; }
.aff-calc-example .example-value { color: #2b3a42 !important; }
.aff-calc-example .example-value small { color: #8d9aa5 !important; }
.aff-calc-example .example-badge { background: #2B8EB7 !important; color: #fff !important; }
.example-icon { color: #2B8EB7 !important; }

/* How it works */
.aff-how { background: #fafbff !important; }
.aff-timeline-line { background: linear-gradient(to bottom,#2B8EB7,#0D5386) !important; opacity: .35 !important; }
.aff-timeline-marker { background: #2B8EB7 !important; box-shadow: 0 8px 24px rgba(43,142,183,.3) !important; color: #fff !important; }
.aff-timeline-content h3 { color: #2b3a42 !important; }
.aff-timeline-content p  { color: #5d6b75 !important; }

/* Compare */
.aff-compare { background: #fff !important; }
.aff-compare-table { background: #fff !important; border: 1px solid #e0e6ea !important; }
.aff-compare-row:not(:last-child) { border-bottom: 1px solid #f0f2f4 !important; }
.aff-compare-cell { color: #5d6b75 !important; }
.aff-compare-cell:first-child { color: #46535c !important; }
.aff-compare-cell.highlight { background: rgba(43,142,183,.06) !important; color: #2B8EB7 !important; }
.aff-compare-cell.highlight strong { color: #2b3a42 !important; }
.aff-compare-cell.highlight svg { color: #10b981 !important; }
.aff-compare-cell.muted { color: #9aa6ad !important; }
.aff-compare-header .aff-compare-cell { color: #46535c !important; }
.aff-compare-header .aff-compare-cell.highlight { background: #2B8EB7 !important; color: #fff !important; }

/* Audience */
.aff-audience { background: #fafafa !important; }
.aff-audience-card { background: #fff !important; border: 1px solid #e0e6ea !important; }
.aff-audience-card:hover { background: #f6f8fa !important; border-color: rgba(43,142,183,.28) !important; }
.aff-audience-card h3 { color: #2b3a42 !important; }
.aff-audience-card p  { color: #5d6b75 !important; }
.aff-audience-icon { color: #2B8EB7 !important; }

/* Apply */
.aff-apply { background: #fafbff !important; }
.aff-apply-info h2  { color: #2b3a42 !important; }
.aff-apply-info > p { color: #5d6b75 !important; }
.aff-apply-feature  { color: #46535c !important; }
.aff-apply-feature svg { color: #10b981 !important; }
.aff-apply-form { background: #fff !important; border: 1px solid #e0e6ea !important; backdrop-filter: none !important; }
.aff-apply-form h3 { color: #2b3a42 !important; }
.aff-form-group label { color: #3c4a53 !important; }
.aff-form-group input,
.aff-form-group select,
.aff-form-group textarea {
  background: #f6f8fa !important;
  border: 1px solid #d0dae0 !important;
  color: #2b3a42 !important;
}
.aff-form-group input:focus,
.aff-form-group select:focus,
.aff-form-group textarea:focus {
  border-color: #2B8EB7 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(43,142,183,.12) !important;
}
.aff-form-group input::placeholder,
.aff-form-group textarea::placeholder { color: #9aa6ad !important; }
.aff-form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238d9aa5' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
}
.aff-form-group select option { background: #fff !important; color: #2b3a42 !important; }
.aff-form-note { color: #9aa6ad !important; }
/* Cloudflare Turnstile dark→light */
.cf-turnstile[data-theme="dark"] { filter: invert(1) hue-rotate(180deg); }

/* Affiliate FAQ */
.aff-faq { background: #fff !important; }
.aff-faq-item { background: #f6f8fa !important; border: 1px solid #e0e6ea !important; }
.aff-faq-item:hover { border-color: rgba(43,142,183,.3) !important; }
.aff-faq-trigger { background: transparent !important; }
.aff-faq-trigger span:first-child { color: #2b3a42 !important; font-family: 'Lato',sans-serif !important; }
.aff-faq-trigger svg { color: #9aa6ad !important; }
.aff-faq-content p { color: #5d6b75 !important; }
