
/* ============================================================
   Acelerity V9 — button contrast audit
   Header/navbar intentionally excluded.
   ============================================================ */

/* Keep current button system, but make label contrast explicit. */
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"]
){
  isolation:isolate;
}

/* Dark surfaces: content button labels must always start light. */
main :is(
  .section-dark,
  .dark,
  .v29-demo-dark,
  .v29-demo-final,
  .v28-final,
  .v28-final-cta,
  .v29-final,
  .v29-cta,
  .v40-growth-card,
  .v45-flow-card,
  .v45-api-system,
  .v34-dark,
  .src-dark,
  [data-theme="dark"]
) :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"]
){
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
  opacity:1!important;
}

/* Generic explicitly-dark inline backgrounds. */
main [style*="background:#26262D"] :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
),
main [style*="background: #26262D"] :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
),
main [style*="background:#202127"] :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
){
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
}

/* Hover/focus follows the one-page reference: fill accent + dark text. */
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;
}

/* Primary buttons on pale/light surfaces stay dark and fully opaque. */
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"]
):not(:hover):not(:focus-visible){
  opacity:1!important;
}

/* Form actions: keep labels readable even if page CSS lowers opacity. */
main form :is(
  button[type="submit"],
  input[type="submit"]
){
  opacity:1!important;
}

/* Specific demo/register CTA groups seen on dark sections. */
main :is(
  .hero-actions,
  .src-btns,
  .v29-demo-actions,
  .v29-cta-actions,
  .final-actions,
  .cta-actions
) > :is(a,button){
  text-decoration:none!important;
}

/* Prevent inherited very-dark text from old page-specific rules on dark CTAs. */
main .section-dark :is(a.btn,a.src-btn),
main .dark :is(a.btn,a.src-btn),
main .v29-demo-final :is(a,button),
main .v28-final :is(a,button){
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
}

/* Preserve inverse hover. */
main .section-dark :is(a.btn,a.src-btn):is(:hover,:focus-visible),
main .dark :is(a.btn,a.src-btn):is(:hover,:focus-visible),
main .v29-demo-final :is(a,button):is(:hover,:focus-visible),
main .v28-final :is(a,button):is(:hover,:focus-visible){
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
}

/* Do not touch navbar/header. */
