/* Geral is the single source of color for every public LabVotos module. */
.labvotos-portal.labvotos-portal,
.labvotos-results.labvotos-results,
.labvotos-colinha.labvotos-colinha,
.labvotos-profiles.labvotos-profiles {
  --lv-blue: var(--labvotos-primary, #198754) !important;
  --lv-primary: var(--labvotos-primary, #198754) !important;
  --lv-accent: var(--labvotos-accent, #2fb344) !important;
  --lv-navy: var(--labvotos-primary, #198754) !important;
}

.labvotos-services-shell .labvotos-services-head,
.labvotos-portal .labvotos-portal-head,
.labvotos-results .labvotos-results-head,
.labvotos-colinha > header,
.labvotos-profiles .labvotos-profile-hero {
  background: var(--labvotos-primary, #198754) !important;
  color: var(--labvotos-primary-contrast, #fff) !important;
}
.labvotos-services-head h1,
.labvotos-services-head span,
.labvotos-services-head p,
.labvotos-portal-head h1,
.labvotos-portal-head > span,
.labvotos-portal-head p,
.labvotos-results-head h1,
.labvotos-results-head > span,
.labvotos-results-head p,
.labvotos-colinha > header h1,
.labvotos-colinha > header > span,
.labvotos-colinha > header p,
.labvotos-profile-hero h2,
.labvotos-profile-hero p,
.labvotos-profile-hero small {
  color: var(--labvotos-primary-contrast, #fff) !important;
}

.labvotos-services-shell .labvotos-service-action,
.labvotos-colinha .labvotos-colinha-generate,
.labvotos-colinha .labvotos-colinha-output button:not(:last-child),
.labvotos-tse-offices button.is-active,
.labvotos-tse-location small b {
  background: var(--labvotos-primary, #198754) !important;
  color: var(--labvotos-primary-contrast, #fff) !important;
  border-color: var(--labvotos-primary, #198754) !important;
}
.labvotos-services-shell .labvotos-service-icon,
.labvotos-widget .labvotos-demo,
.labvotos-widget .labvotos-percent,
.labvotos-widget .labvotos-pill,
.labvotos-profile-hero mark {
  background: color-mix(in srgb, var(--labvotos-primary, #198754) 12%, white) !important;
  color: var(--labvotos-primary, #198754) !important;
}
.labvotos-services-shell .labvotos-service-more,
.labvotos-tse-offices button,
.labvotos-tse-tabs button.is-active,
.labvotos-profile-tabs button.is-active,
.labvotos-colinha .labvotos-colinha-output button:last-child {
  color: var(--labvotos-primary, #198754) !important;
  border-color: var(--labvotos-primary, #198754) !important;
}
.labvotos-widget header strong,
.labvotos-widget .labvotos-row em,
.labvotos-widget .labvotos-news a,
.labvotos-portal .labvotos-preview-avatar,
.labvotos-results .labvotos-preview-avatar,
.labvotos-tse-election strong,
.labvotos-tse-candidate > span:last-child small,
.labvotos-profile-detail > footer a,
.labvotos-colinha .labvotos-colinha-choice b,
.labvotos-colinha .labvotos-colinha-photo {
  color: var(--labvotos-primary, #198754) !important;
}
.labvotos-widget .labvotos-track i,
.labvotos-colinha .labvotos-colinha-progress button.is-done span,
.labvotos-colinha .labvotos-colinha-progress button.is-active span,
.labvotos-profile-bars > div > i em {
  background: var(--labvotos-primary, #198754) !important;
}
.labvotos-results-state > strong,
.labvotos-tse-tabs span,
.labvotos-tse-location > span,
.labvotos-colinha .labvotos-colinha-eyebrow,
.labvotos-colinha .labvotos-colinha-output > span {
  color: var(--labvotos-accent, #2fb344) !important;
}
.labvotos-results-state > strong i {
  background: var(--labvotos-accent, #2fb344) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--labvotos-accent, #2fb344) 18%, transparent) !important;
}
.labvotos-tse-notice {
  border-left-color: var(--labvotos-accent, #2fb344) !important;
  background: color-mix(in srgb, var(--labvotos-accent, #2fb344) 9%, white) !important;
}

.lv-widget-card.lv-widget-card {
  border-top-color: var(--labvotos-primary, #198754) !important;
  background: #fff !important;
  color: #17202b !important;
}
.lv-widget-card .lv-widget-badge {
  border-color: var(--labvotos-accent, #2fb344) !important;
  background: color-mix(in srgb, var(--labvotos-accent, #2fb344) 12%, white) !important;
  color: var(--labvotos-primary, #198754) !important;
}
.lv-widget-card .lv-widget-action {
  border-color: var(--labvotos-primary, #198754) !important;
  background: var(--labvotos-primary, #198754) !important;
  color: var(--labvotos-primary-contrast, #fff) !important;
}
.lv-widget-card .lv-widget-more,
.lv-widget-card .lv-widget-meta strong {
  border-color: var(--labvotos-primary, #198754) !important;
  color: var(--labvotos-primary, #198754) !important;
}
.lv-widget-card .lv-widget-result i em {
  background: var(--labvotos-accent, #2fb344) !important;
}

/* Text on colored LabVotos surfaces stays white, independently of theme button rules. */
.labvotos-services-shell .labvotos-services-head,
.labvotos-services-shell .labvotos-services-head h1,
.labvotos-services-shell .labvotos-services-head span,
.labvotos-services-shell .labvotos-services-head p,
.labvotos-portal .labvotos-portal-head,
.labvotos-portal .labvotos-portal-head h1,
.labvotos-portal .labvotos-portal-head > span,
.labvotos-portal .labvotos-portal-head p,
.labvotos-results .labvotos-results-head,
.labvotos-results .labvotos-results-head h1,
.labvotos-results .labvotos-results-head > span,
.labvotos-results .labvotos-results-head p,
.labvotos-colinha > header,
.labvotos-colinha > header h1,
.labvotos-colinha > header > span,
.labvotos-colinha > header p,
.labvotos-profiles .labvotos-profile-hero,
.labvotos-profiles .labvotos-profile-hero h2,
.labvotos-profiles .labvotos-profile-hero p,
.labvotos-profiles .labvotos-profile-hero small {
  color: #fff !important;
}

.labvotos-results .labvotos-tse-candidate:hover,
.labvotos-results .labvotos-tse-candidate:focus,
.labvotos-results .labvotos-tse-candidate:focus-visible,
.labvotos-results .labvotos-tse-candidate:active {
  background: color-mix(in srgb, var(--labvotos-primary, #198754) 6%, #fff) !important;
  color: #26313e !important;
}
.labvotos-results .labvotos-tse-candidate:focus-visible {
  outline: 2px solid var(--labvotos-primary, #198754) !important;
  outline-offset: -2px;
}
