/* Correção final específica: qualquer bloco escuro visível deve ter texto branco */
html body :is(
  .rev-footer,
  .rev-footer *,
  .rev-copy,
  .rev-copy *,
  .rev-foot-brand,
  .rev-foot-brand *,
  .rev-foot-menu,
  .rev-foot-menu *,
  .rev-foot-col,
  .rev-foot-col *,
  .rev-foot-card,
  .rev-foot-card *,
  .rev-page-cta,
  .rev-page-cta *,
  .rev-cta,
  .rev-cta *,
  .rev-dark-cta,
  .rev-dark-cta *,
  .rev-callout,
  .rev-callout *,
  .rev-partner-cta,
  .rev-partner-cta *,
  .rev-action-band,
  .rev-action-band *,
  .rev-section.dark,
  .rev-section.dark *,
  .rev-section.black,
  .rev-section.black *,
  .dark,
  .dark *,
  [class*="dark"],
  [class*="dark"] *,
  [class*="cta"],
  [class*="cta"] *
){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Botões claros dentro de área escura: fundo claro precisa texto preto */
html body :is(
  .rev-footer,
  .rev-page-cta,
  .rev-cta,
  .rev-dark-cta,
  .rev-callout,
  .rev-partner-cta,
  .rev-action-band,
  .rev-section.dark,
  [class*="cta"]
) :is(.rev-btn, .btn, button, a.button, .footer-policy-btn, .footer-legal a, .rev-legal a){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

html body :is(
  .rev-footer,
  .rev-page-cta,
  .rev-cta,
  .rev-dark-cta,
  .rev-callout,
  .rev-partner-cta,
  .rev-action-band,
  .rev-section.dark,
  [class*="cta"]
) :is(.rev-btn.outline, .btn.outline, a.outline){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:rgba(255,255,255,.75) !important;
}

/* Botões brancos/preenchidos devem manter leitura preta */
html body :is(
  .rev-page-cta,
  .rev-cta,
  .rev-dark-cta,
  .rev-callout,
  .rev-partner-cta,
  .rev-action-band,
  [class*="cta"]
) :is(.rev-btn, .btn, button, a.button){
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

/* Rodapé: botões legais em área escura com letra branca */
html body :is(.rev-footer,.site-footer,footer) :is(
  .footer-legal a,
  .rev-footer-legal a,
  .legal-links a,
  .terms-link,
  .privacy-link,
  a[href*="termos"],
  a[href*="privacidade"]
){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.08) !important;
}

/* Inputs sempre legíveis */
html body :is(input, textarea, select){
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
html body :is(input::placeholder, textarea::placeholder){
  color:#6b7280 !important;
  -webkit-text-fill-color:#6b7280 !important;
}


/* Parceiros: faixa escura de chamada com texto branco obrigatório */
html body .rev-partners-page-cta,
html body .rev-partners-page-cta div,
html body .rev-partners-page-cta span,
html body .rev-partners-page-cta strong{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

html body .rev-partners-page-cta .rev-btn{
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
