/**
 * Sitewide: dark CTA / panel text contrast
 * Loads last so SEO prose (h3/p navy/gray) cannot crush light text on dark banners.
 */
:where(
  .cs-inline-cta,
  .bt-inline-cta,
  .sr-inline-cta,
  .fm-inline-cta,
  .lsu-inline-cta,
  .ps5-inline-cta,
  .ps-hub-inline-cta,
  .faq-inline-cta,
  .cs-cta__inner,
  .cs-cta
) {
  color: #ffffff;
}

:where(
  .cs-inline-cta,
  .bt-inline-cta,
  .sr-inline-cta,
  .fm-inline-cta,
  .lsu-inline-cta,
  .ps5-inline-cta,
  .ps-hub-inline-cta,
  .faq-inline-cta,
  .cs-cta__inner,
  .cs-cta
) :is(h1, h2, h3, h4),
:where(
  .cs-inline-cta,
  .bt-inline-cta,
  .sr-inline-cta,
  .fm-inline-cta,
  .lsu-inline-cta,
  .ps5-inline-cta,
  .ps-hub-inline-cta,
  .faq-inline-cta
) [class*="inline-cta__title"],
.cs-cta__title,
.cs-cta__inner :is(h1, h2, h3, h4) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: transparent !important;
  background-image: none !important;
}

:where(
  .cs-inline-cta,
  .bt-inline-cta,
  .sr-inline-cta,
  .fm-inline-cta,
  .lsu-inline-cta,
  .ps5-inline-cta,
  .ps-hub-inline-cta,
  .faq-inline-cta,
  .cs-cta__inner,
  .cs-cta
) :is(p, li),
:where(
  .cs-inline-cta,
  .bt-inline-cta,
  .sr-inline-cta,
  .fm-inline-cta,
  .lsu-inline-cta,
  .ps5-inline-cta,
  .ps-hub-inline-cta,
  .faq-inline-cta
) [class*="inline-cta__text"],
.cs-cta__copy p,
.cs-cta__list,
.cs-cta__list li {
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

:where(
  .cs-inline-cta,
  .bt-inline-cta,
  .sr-inline-cta,
  .fm-inline-cta,
  .lsu-inline-cta,
  .ps5-inline-cta,
  .ps-hub-inline-cta,
  .faq-inline-cta
) [class*="inline-cta__eyebrow"] {
  color: #ffd8b8 !important;
  -webkit-text-fill-color: #ffd8b8 !important;
}

:where(
  .cs-inline-cta,
  .bt-inline-cta,
  .sr-inline-cta,
  .fm-inline-cta,
  .lsu-inline-cta,
  .ps5-inline-cta,
  .ps-hub-inline-cta,
  .faq-inline-cta
) [class*="inline-cta__keyword"] {
  color: #ffe8d2 !important;
  -webkit-text-fill-color: #ffe8d2 !important;
}

/* SEO / article wrappers that force navy headings */
:is(.cs-seo__body, .kb-seo__body, .ts-seo-premium__article, .page-seo .cs-seo__body, .ps-hub-seo__body, article)
:is(.cs-inline-cta, .bt-inline-cta, .sr-inline-cta, .fm-inline-cta, .lsu-inline-cta, .ps5-inline-cta, .ps-hub-inline-cta, .faq-inline-cta)
:is(h1, h2, h3, h4, [class*="inline-cta__title"]) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(.cs-seo__body, .kb-seo__body, .ts-seo-premium__article, .page-seo .cs-seo__body, .ps-hub-seo__body, article)
:is(.cs-inline-cta, .bt-inline-cta, .sr-inline-cta, .fm-inline-cta, .lsu-inline-cta, .ps5-inline-cta, .ps-hub-inline-cta, .faq-inline-cta)
:is(p, [class*="inline-cta__text"], li) {
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

/* Keyboard hub article body color must not leak into CTA */
.keyboard-replacement-page .kb-seo__body :is(.cs-inline-cta, .bt-inline-cta, .sr-inline-cta, .fm-inline-cta) {
  color: #ffffff !important;
}
