
/* ============================================================
   ACELERITY V12 — GLOBAL BUTTON CONTRAST AUDIT
   Only content inside <main>. Header/navbar is untouched.
   ============================================================ */

/* Runtime-classified content actions */
body main .a-btn-surface-dark{
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
  opacity:1!important;
}

body main .a-btn-surface-light{
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
  opacity:1!important;
}

/* If the CTA has nested labels/spans, they must follow the button label. */
body main .a-btn-surface-dark > *:not(svg),
body main .a-btn-surface-light > *:not(svg){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* Known dark surfaces — static fallback before JS runs */
body main .src-hero :is(a.src-btn,a.btn,button.btn),
body main .v35-solution-hero :is(a.src-btn,a.btn,button.btn),
body main .v35-detail-cta :is(a.src-btn,a.btn,button.btn),
body main .v28-founder :is(a.src-btn,a.btn,button.btn),
body main .section-dark :is(a.src-btn,a.btn,button.btn,a.blogx-btn),
body main .src-section.dark :is(a.src-btn,a.btn,button.btn),
body main .src-section.charcoal :is(a.src-btn,a.btn,button.btn),
body main .blogx-article-cta :is(a.blogx-btn,a.btn,a.src-btn),
body main .v29-demo-page :is(button.v29-demo-submit,a.src-btn,a.btn),
body main .v29-approved-ia .section-dark :is(a.btn,a.src-btn),
body main .v40-growth-card :is(a.src-btn,a.btn),
body main .v45-flow-card :is(a.src-btn,a.btn){
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
  opacity:1!important;
}

/* Known light surfaces — static fallback */
body main .v40-role-pain :is(a.src-btn,a.btn),
body main .calculator-site-final :is(a.src-btn,a.btn),
body main .v40-integration-card :is(a.src-btn,a.btn),
body main .src-section:not(.dark):not(.charcoal) :is(a.src-btn,a.btn){
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
  opacity:1!important;
}

/* Button-system hover remains: accent background + dark label. */
body main :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit,
  .blogx-newsletter button[type="submit"]
):is(:hover,:focus-visible){
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
  opacity:1!important;
}

/* Nested text on hover must also invert. */
body main :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit,
  .blogx-newsletter button[type="submit"]
):is(:hover,:focus-visible) > *:not(svg){
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
}

/* Keep arrow circles unaffected. */
body main :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit,
  .blogx-newsletter button[type="submit"]
)::after{
  opacity:1!important;
}

/* Form actions and native buttons must never inherit reduced opacity */
body main button,
body main input[type="submit"]{
  opacity:1!important;
}

/* Special cases from current site */
body main .v29-demo-choice button{
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
}
body main .blogx-filter.is-active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body main .blogx-filter:not(.is-active){
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
}

/* Header/navbar intentionally omitted. */
