/**
 * Task #1510823 — Sitewide Visual Regression Fix (2026-05-11)
 * Owns: Nuclear override for white-on-white text, pill/badge contrast,
 *       centering, footer layout, pricing page, and navigation visibility.
 * Does NOT own: page-specific layout, animations, component structures.
 *
 * WHY THIS FILE EXISTS:
 * User-reported visual regressions after DATABASE_URL outage recovery:
 * - White text on white backgrounds across homepage and sitewide
 * - Unreadable pills/badges (black on green, white on white)
 * - Broken centering on headings and card grids
 * - Footer contrast, copy, alignment issues
 * - Pricing page title not centered, Autopilot features invisible
 * - Navigation elements hidden
 *
 * STRATEGY: Loaded as LAST stylesheet. Uses html body prefix + !important
 * + -webkit-text-fill-color for maximum cascade authority.
 */


/* ══════════════════════════════════════════════════════════════════════════
   1. TEXT VISIBILITY — Scoped dark text on light backgrounds only
   WHY changed (Task #1534412): The original nuclear rules forced dark text
   on EVERY element globally, which broke EVERY dark-background component
   (announcement bar, nudge bars, bundles, toasts, cross-sell cards, etc.)
   and caused a visible flash of dark text on refresh.
   Now uses non-!important defaults that components can override naturally.
   ══════════════════════════════════════════════════════════════════════════ */

/* Body baseline — non-!important so dark containers override naturally */
html body {
  color: #1a1a1a;
  -webkit-text-fill-color: #1a1a1a;
}

/* Muted/secondary text — scoped to light-bg contexts only */
html body small, html body .text-muted, html body .text-secondary {
  color: #6B7280 !important;
  -webkit-text-fill-color: #6B7280 !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   2. DARK BACKGROUND EXCEPTIONS — White text on dark/colored backgrounds
   These elements ACTUALLY have dark backgrounds and need white text.
   ══════════════════════════════════════════════════════════════════════════ */

/* Primary/emerald CTA buttons */
html body .btn-primary,
html body .btn-primary span,
html body a.btn-primary,
html body button.btn-primary,
html body .btn-emerald,
html body .btn-green,
html body .cta-primary,
html body .cta-emerald,
html body .cta-green,
html body [class*="btn-primary"],
html body .hp-email-capture__btn,
html body .sr-ft-email-btn,
html body .hn-cta,
html body a.hn-cta,
html body .hn-mobile-cta {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Dark unclaimed money section */
html body .hp-unclaimed,
html body .hp-unclaimed h2,
html body .hp-unclaimed p,
html body .hp-unclaimed span,
html body .hp-unclaimed__headline,
html body .hp-unclaimed__eyebrow,
html body .hp-unclaimed__value,
html body .hp-unclaimed__subline,
html body .hp-unclaimed__pill {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Dark-background sections (streaks, leaderboards, games) */
html body [class*="streak"] h2,
html body [class*="streak"] p,
html body [class*="streak"] span,
html body [class*="leaderboard"] h2,
html body [class*="leaderboard"] p,
html body [class*="leaderboard"] span,
html body .sr-confetti-section h2,
html body .sr-confetti-section p {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Inline dark-bg buttons */
html body a[style*="background:#00B37D"],
html body a[style*="background:#00875A"],
html body a[style*="background:#047857"],
html body a[style*="background:#16a34a"],
html body a[style*="background:#059669"],
html body button[style*="background:#00B37D"],
html body button[style*="background:#00875A"],
html body button[style*="background:#047857"],
html body a[style*="background:linear-gradient"],
html body button[style*="background:linear-gradient"] {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   3. PILL/BADGE CONTRAST — WCAG AA 4.5:1 minimum
   Light bg pill = dark text. Dark bg pill = white text.
   ══════════════════════════════════════════════════════════════════════════ */

/* Light-background badges — dark text */
html body .badge,
html body [class*="badge-"],
html body [class*="-badge"],
html body .pill,
html body [class*="-pill"],
html body .tag {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Green-background badges — white text */
html body .badge-success,
html body .badge[style*="background:#00"],
html body .badge[style*="background:#16"],
html body .badge[style*="background:#10"],
html body .badge[style*="background:#05"],
html body .badge[style*="background: #00"],
html body .badge[style*="background: #16"],
html body .badge[style*="background: #10"],
html body .badge[style*="background: #05"],
html body [class*="badge"][style*="background:#00"],
html body [class*="badge"][style*="background:#16"],
html body [class*="badge"][style*="background:#10"],
html body [class*="badge"][style*="background: #00"],
html body [class*="badge"][style*="background: #16"],
html body [class*="badge"][style*="background: #10"],
html body span[style*="background:#22c55e"],
html body span[style*="background:#3b82f6"],
html body span[style*="background:#10b981"],
html body span[style*="background:#16a34a"],
html body span[style*="background:#00B37D"],
html body span[style*="background:#00875A"],
html body span[style*="background:#dc2626"],
html body span[style*="background:#7c3aed"],
html body span[style*="background:#0369a1"],
html body span[style*="background:#d97706"],
html body span[style*="background:#059669"],
html body .hp-sotd__badge,
html body .fomo-urgency-badge.fomo-badge-closing-soon,
html body .fomo-urgency-badge.fomo-badge-final-call,
html body .fomo-urgency-badge.fomo-badge-closes-today {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Red badges */
html body .badge-error,
html body .badge-deadline-red {
  color: #991B1B !important;
  -webkit-text-fill-color: #991B1B !important;
}

/* Yellow/amber badges */
html body .badge-deadline-yellow {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

/* Green deadline badges */
html body .badge-deadline-green {
  color: #065F46 !important;
  -webkit-text-fill-color: #065F46 !important;
}

/* Category badges on settlement cards */
html body .card-category,
html body .sd-category-badge,
html body .detail-cat-banner-label {
  color: #065F46 !important;
  -webkit-text-fill-color: #065F46 !important;
}

/* Status badges */
html body .sr-status-open {
  color: #065F46 !important;
  -webkit-text-fill-color: #065F46 !important;
}

/* No-proof badge — dark green on light green bg */
html body .sr2-noproof-badge,
html body [class*="noproof"] {
  color: #166534 !important;
  -webkit-text-fill-color: #166534 !important;
}

/* High-value badge */
html body .sr2-highvalue-badge {
  color: #065F46 !important;
  -webkit-text-fill-color: #065F46 !important;
}

/* New badge */
html body .sr2-new-badge {
  color: #1e40af !important;
  -webkit-text-fill-color: #1e40af !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   4. CENTERING — Fix misaligned headings, grids, and CTAs
   ══════════════════════════════════════════════════════════════════════════ */

/* Section headings — center */
html body .section-heading,
html body .section-label,
html body .hp-section-header.center,
html body .hp-section-header.center h2,
html body .hp-section-header.center p {
  text-align: center !important;
}

/* Card grids — center (excludes card-content grids that clip text when centered) */
html body .settlement-grid,
html body .hp-cat-grid,
html body .hp-pricing-grid,
html body [class*="-grid"]:not(.sr-carousel-grid):not(.hp-sotd__grid):not(.hp-bounty__grid):not(.hp-payout-scroll) {
  justify-content: center !important;
}

/* CTA buttons — center */
html body .hp-hero__ctas,
html body .hp-final-cta__ctas,
html body [class*="__ctas"] {
  justify-content: center !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   5. FOOTER — Fix contrast, alignment, centering
   ══════════════════════════════════════════════════════════════════════════ */

/* Footer white background, dark text */
html body footer,
html body footer.sr-ramsey-footer,
html body footer.fn-footer {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #1F2A37 !important;
  -webkit-text-fill-color: #1F2A37 !important;
}

/* Footer text elements */
html body .sr-ramsey-footer h2,
html body .sr-ramsey-footer h3,
html body .sr-ramsey-footer h4,
html body .sr-ramsey-footer p,
html body .sr-ramsey-footer span,
html body .sr-ramsey-footer li,
html body .sr-ramsey-footer a,
html body .sr-ramsey-footer summary,
html body .sr-ft-col-header,
html body .sr-ft-about-brand {
  color: #1F2A37 !important;
  -webkit-text-fill-color: #1F2A37 !important;
}

/* Footer column headers — bold dark */
html body .sr-ft-col-header {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
  font-weight: 700 !important;
}

/* Footer links */
html body .sr-ft-col-links a {
  color: #374151 !important;
  -webkit-text-fill-color: #374151 !important;
}

/* Footer muted text */
html body .sr-ft-muted,
html body .sr-ramsey-footer small,
html body .sr-ft-copy,
html body .sr-ft-address,
html body .sr-ft-terms-links a {
  color: #6B7280 !important;
  -webkit-text-fill-color: #6B7280 !important;
}

/* Footer trust badges — ensure readable */
html body .sr-ft-trust-badge,
html body .sr-ft-trust-item {
  color: #374151 !important;
  -webkit-text-fill-color: #374151 !important;
}

/* Footer trust strip — center */
html body .sr-ft-trust-strip,
html body .sr-ft-trust-badges {
  text-align: center !important;
  justify-content: center !important;
}

/* Footer bottom section — center */
html body .sr-ft-bottom-bar {
  text-align: center !important;
}
html body .sr-ft-bottom-bar p {
  text-align: center !important;
}

/* Footer email capture — readable */
html body .sr-ft-email-headline {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}
html body .sr-ft-email-sub {
  color: #6B7280 !important;
  -webkit-text-fill-color: #6B7280 !important;
}
html body .sr-ft-email-btn {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   6. PRICING PAGE — Title centering + Autopilot visibility
   ══════════════════════════════════════════════════════════════════════════ */

/* Pricing hero centering */
html body .pr-hero,
html body .pr-hero h1,
html body .pr-hero p,
html body .pr-hero-sub {
  text-align: center !important;
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}
html body .pr-hero-sub {
  color: #374151 !important;
  -webkit-text-fill-color: #374151 !important;
}

/* Pricing cards — ensure ALL text visible */
html body .pr-card,
html body .pr-card h3,
html body .pr-card p,
html body .pr-card li,
html body .pr-card span,
html body .pr-card strong,
html body [class*="pr-card"] {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Autopilot card — ensure all features visible */
html body .pr-card--autopilot,
html body .pr-card--autopilot h3,
html body .pr-card--autopilot p,
html body .pr-card--autopilot li,
html body .pr-card--autopilot span,
html body .pr-card--autopilot strong,
html body .pr-card--autopilot ul,
html body .pr-card--autopilot .pr-features,
html body .pr-card--autopilot [class*="feature"] {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
}
html body .pr-card--autopilot ul {
  display: block !important;
}
html body .pr-card--autopilot li {
  display: list-item !important;
}

/* Pricing card buttons — white text on green bg */
html body .pr-card a[class*="btn"],
html body .pr-card a[href*="stripe.com"],
html body .pr-card a[href*="buy.stripe"],
html body .pr-card button {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Pricing plan name headings */
html body .pr-card h3 {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

/* Pricing card price */
html body .pr-card [class*="price"],
html body .pr-card [class*="amount"] {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

/* Compare Plans table */
html body .pr-compare th,
html body .pr-compare td {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* FAQ section */
html body .pr-faq summary,
html body .pr-faq p,
html body [class*="faq"] summary,
html body [class*="faq"] p {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   7. NAVIGATION — Ensure all items visible
   ══════════════════════════════════════════════════════════════════════════ */

/* Desktop nav — visible */
@media (min-width: 1024px) {
  html body .hn-nav,
  html body .hn-right {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  html body .hn-nav-link,
  html body .hn-nav-btn {
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  /* Hide mobile elements on desktop */
  html body .hn-hamburger,
  html body .hn-mobile-menu,
  html body .hn-mobile-pricing,
  html body .hn-sticky-bottom {
    display: none !important;
  }
}

/* Mobile nav — visible hamburger */
@media (max-width: 1023px) {
  html body .hn-hamburger {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  html body .hn-hamburger span {
    background: #374151 !important;
    display: block !important;
    visibility: visible !important;
  }
  /* Mobile menu when open */
  body.mobile-menu-open .hn-mobile-menu,
  html body .hn-mobile-menu.open,
  html body .hn-mobile-menu[aria-hidden="false"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  /* Mobile menu links */
  html body .hn-mobile-link,
  html body .hn-mobile-section summary,
  html body .hn-mobile-section-link {
    color: #1a1a1a !important;
    -webkit-text-fill-color: #1a1a1a !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* ══════════════════════════════════════════════════════════════════════════
   8. REVEAL ANIMATIONS — Force-show ALL content
   If IntersectionObserver JS fails, content should still be visible.
   ══════════════════════════════════════════════════════════════════════════ */

html body .reveal,
html body .reveal-stagger > *,
html body .sr-reveal,
html body .sr-reveal-scale,
html body .sr-reveal-from-left,
html body .sr-reveal-from-right,
html body .sr-scroll-reveal,
html body [class*="scroll-reveal"],
html body [class*="sr-reveal-delay"],
html body [data-reveal],
html body .pr-reveal,
html body .pr-reveal-stagger > * {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   9. HOMEPAGE HERO — Nuclear dark text enforcement
   ══════════════════════════════════════════════════════════════════════════ */

html body .hp-hero,
html body .hp-hero__inner {
  background: #FFFFFF !important;
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

html body .hp-hero__headline,
html body .hp-hero h1 {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

html body .hp-hero__headline em {
  color: #065F46 !important;
  -webkit-text-fill-color: #065F46 !important;
}

html body .hp-hero__sub,
html body .hp-hero p {
  color: #1F2A37 !important;
  -webkit-text-fill-color: #1F2A37 !important;
}

html body .hp-hero__eyebrow {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

/* Hero CTA buttons */
html body .hp-hero__ctas .btn-primary,
html body .hp-hero__ctas a.btn-primary {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

html body .hp-hero__ctas .btn-secondary,
html body .hp-hero__ctas a.btn-secondary {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

/* Trust bar */
html body .trust-bar,
html body .trust-item,
html body .trust-bar span {
  color: #1F2A37 !important;
  -webkit-text-fill-color: #1F2A37 !important;
}

/* Counter */
html body .hp-counter__value,
html body .hp-counter__label {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

/* Social proof */
html body .hp-hero__proof-text,
html body .hp-hero__social-proof {
  color: #374151 !important;
  -webkit-text-fill-color: #374151 !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   10. HOMEPAGE SECTIONS — Dark text on white backgrounds
   ══════════════════════════════════════════════════════════════════════════ */

/* How it works */
html body #how-it-works h2,
html body #how-it-works h3,
html body #how-it-works p,
html body .hp-step__title,
html body .hp-step__desc,
html body .hp-step__num {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Categories */
html body #categories h2,
html body .hp-cat-card__name,
html body .hp-cat-card__count {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Testimonials */
html body #testimonials h2,
html body .hp-testimonial-card p,
html body .hp-testimonial-card__quote,
html body .hp-testimonial-card__name,
html body .hp-testimonial-card__loc {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Stats */
html body .hp-stat__value,
html body .hp-stat__label {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

/* Pricing cards on homepage */
html body .hp-pricing-card h3,
html body .hp-pricing-card p,
html body .hp-pricing-card li,
html body .hp-pricing-card__price,
html body .hp-pricing-card__period {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Payout cards */
html body .hp-payout-card__name,
html body .hp-payout-card__settlement,
html body .hp-payout-card__amount {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}
html body .hp-payout-card__label {
  color: #065F46 !important;
  -webkit-text-fill-color: #065F46 !important;
}

/* Feed table */
html body .hp-feed-row td,
html body .hp-feed-row a,
html body .hp-feed__company,
html body .hp-feed__title,
html body .hp-feed__payout {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Settlement of the day */
html body .hp-sotd__title,
html body .hp-sotd__company,
html body .hp-sotd__payout {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Email capture + final CTA — white bg sections */
html body .hp-email-capture h2,
html body .hp-email-capture p {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}
html body .hp-final-cta h2,
html body .hp-final-cta p,
html body .hp-final-cta span {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}

/* B2B section */
html body .hp-b2b h2,
html body .hp-b2b__card-title,
html body .hp-b2b__card-desc {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* FOMO ticker */
html body #fomo-ticker,
html body #fomo-ticker span,
html body .fomo-ticker-msg,
html body .fomo-ticker-num {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}
html body .fomo-ticker-cta-btn {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Bounty board */
html body .hp-bounty-card__rank,
html body .hp-bounty-card__company,
html body .hp-bounty-card__title,
html body .hp-bounty-card__payout {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

/* Claim of the day */
html body .hp-cotd__title,
html body .hp-cotd__sub,
html body .hp-cotd__payout,
html body .hp-cotd__countdown {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   11. SETTLEMENT DETAIL PAGES — Dark text on white
   ══════════════════════════════════════════════════════════════════════════ */

html body.page-settlement-detail h1,
html body.page-settlement-detail h2,
html body.page-settlement-detail h3,
html body.page-settlement-detail p,
html body.page-settlement-detail li,
html body.page-settlement-detail td,
html body.page-settlement-detail th {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   12. INLINE WHITE TEXT CATCH-ALL — Override any style="color:#fff"
   ══════════════════════════════════════════════════════════════════════════ */

/* Elements with inline white text that are NOT inside known dark containers */
html body section:not([class*="dark"]):not([class*="navy"]):not(.hp-unclaimed):not([class*="streak"]):not([class*="leaderboard"]) [style*="color:#fff"]:not(.btn-primary):not(a[style*="background:#0"]):not(button[style*="background:#0"]):not([class*="btn"]):not([class*="cta"]):not([class*="badge"]):not([class*="pill"]):not([class*="countdown"]):not([class*="toast"]):not([class*="timer"]) {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

html body section:not([class*="dark"]):not([class*="navy"]):not(.hp-unclaimed):not([class*="streak"]):not([class*="leaderboard"]) [style*="color: #fff"]:not(.btn-primary):not(a[style*="background:#0"]):not(button[style*="background:#0"]):not([class*="btn"]):not([class*="cta"]):not([class*="badge"]):not([class*="pill"]):not([class*="countdown"]):not([class*="toast"]):not([class*="timer"]) {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

html body section:not([class*="dark"]):not([class*="navy"]):not(.hp-unclaimed):not([class*="streak"]):not([class*="leaderboard"]) [style*="color:white"]:not(.btn-primary):not(a[style*="background:#0"]):not(button[style*="background:#0"]):not([class*="btn"]):not([class*="cta"]):not([class*="badge"]):not([class*="pill"]):not([class*="countdown"]):not([class*="toast"]):not([class*="timer"]) {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

html body section:not([class*="dark"]):not([class*="navy"]):not(.hp-unclaimed):not([class*="streak"]):not([class*="leaderboard"]) [style*="color:#ffffff"]:not(.btn-primary):not(a[style*="background:#0"]):not(button[style*="background:#0"]):not([class*="btn"]):not([class*="cta"]):not([class*="badge"]):not([class*="pill"]):not([class*="countdown"]):not([class*="toast"]):not([class*="timer"]) {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   13. PRE-FOOTER CTA BANNER + SHARE STRIP
   ══════════════════════════════════════════════════════════════════════════ */

html body .sr-footer-cta-banner h2,
html body .sr-footer-cta-banner p,
html body .sr-footer-cta-banner span {
  color: #0A0A0A !important;
  -webkit-text-fill-color: #0A0A0A !important;
}
html body .sr-footer-cta-banner a.btn-primary {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

html body .sr-sitewide-share-strip p,
html body .sr-sitewide-share-strip span {
  color: #1a1a1a !important;
  -webkit-text-fill-color: #1a1a1a !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   14. SEARCH BAR — Fix double-box (Task #1514398)
   Root cause: Global input[type="text"] rule (specificity 0,1,1) in
   design-system.css applies border: 1.5px solid to ALL text inputs,
   overriding .hn-search-input's border:none (specificity 0,1,0).
   Result: outer .hn-search wrapper has border + inner input has border = double box.
   Fix: Remove border/height/padding/background from search inputs so only
   the outer wrapper provides the single visible border.
   ══════════════════════════════════════════════════════════════════════════ */

/* Desktop header search input */
html body .hn-search input.hn-search-input,
html body input.hn-search-input {
  border: none !important;
  background: transparent !important;
  height: auto !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Mobile header search input */
html body .hn-mobile-search-wrap input.hn-mobile-search-input,
html body input.hn-mobile-search-input {
  border: none !important;
  background: transparent !important;
  height: auto !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Directory/settlements page search input */
html body .dir-hero-search-wrap input.dir-hero-search-input,
html body input.dir-hero-search-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Homepage hero search input (if present) */
html body .sr-hero__search-wrap input.sr-hero__search-input,
html body input.sr-hero__search-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* General search inputs nested inside bordered wrappers */
html body [class*="search-wrap"] input[type="text"],
html body [class*="search-wrap"] input[type="search"] {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
