:root {
  --cor-fundo: #ffffff;
  --cor-texto: #0b2447; /* azul escuro para contraste */
  --cor-primaria: #0d6efd; /* Bootstrap primary */
  --cor-card: #f8f9fa;
}

[data-theme="dark"] {
  /* Paleta escura */
  --cor-fundo: #1f2937; /* cinza escuro */
  --cor-texto: #ffffff; /* todo texto branco */
  --cor-primaria: #60a5fa; /* azul claro */
  --cor-card: #374151;

  /* Integração com Bootstrap 5 (melhora legibilidade global) */
  --bs-body-bg: var(--cor-fundo);
  --bs-body-color: var(--cor-texto);
  --bs-body-color-rgb: 255, 255, 255;
  --bs-heading-color: var(--cor-texto);
  --bs-secondary-color: rgba(255,255,255,.75);
  --bs-tertiary-color: rgba(255,255,255,.55);
  --bs-border-color: rgba(255,255,255,.15);
  color-scheme: dark;
}

html, body { background: var(--cor-fundo); color: var(--cor-texto); }

.navbar, .card { background-color: var(--cor-card) !important; }
.navbar .navbar-brand, .navbar .navbar-brand:hover, .navbar .navbar-brand:focus {
  color: var(--cor-texto) !important;
}
.navbar .btn, .navbar .nav-link { color: var(--cor-texto); }
.card, .navbar, .list-group-item, .dropdown-menu { color: var(--cor-texto); }
.list-group-item { background-color: color-mix(in srgb, var(--cor-card) 92%, black); border-color: var(--bs-border-color); }
.card .card-title, .card .card-subtitle, .card .card-text, .card label { color: var(--cor-texto); }
.text-muted { color: rgba(255,255,255,.75) !important; }
.border, .border-top, .border-bottom, .list-group, .card { border-color: var(--bs-border-color) !important; }
.form-control, .form-select { color: var(--cor-texto); background-color: color-mix(in srgb, var(--cor-fundo) 90%, black); border-color: var(--bs-border-color); }
.form-control::placeholder { color: rgba(255,255,255,.6); }
.form-check-label { color: var(--cor-texto); }
.nav-link, a { color: var(--cor-primaria); }
.btn-outline-primary { color: var(--cor-primaria) !important; border-color: var(--cor-primaria) !important; }
.btn-outline-secondary { color: rgba(255,255,255,.85) !important; border-color: var(--bs-border-color) !important; }

.btn-primary {
  background-color: var(--cor-primaria) !important;
  border-color: var(--cor-primaria) !important;
}

.pp-card-deck .btn {
  margin: .25rem;
}

.pp-voto-oculto {
  filter: blur(6px);
}

.pp-contagem-overlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.5);
  z-index: 1050;
  color: #fff;
  font-size: 5rem;
  font-weight: bold;
}

.pp-contagem-overlay.show { display: flex; }

.pp-footer {
  font-size: .9rem;
}
.btn-outline-secondary { /* ajuste cross-theme */ }
[data-theme="dark"] .btn-outline-secondary {
  --bs-btn-color: #ffffff;
  --bs-btn-border-color: rgba(255,255,255,.3);
  --bs-btn-hover-bg: rgba(255,255,255,.1);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-border-color: rgba(255,255,255,.45);
}

/* Botão específico: Convidar Jogadores */
.pp-btn-convidar {
  /* tema claro: texto preto */
  --bs-btn-color: #000000;
  --bs-btn-border-color: rgba(0,0,0,.35);
  --bs-btn-hover-color: #000000;
  --bs-btn-hover-bg: rgba(0,0,0,.08);
  --bs-btn-hover-border-color: rgba(0,0,0,.45);
}
[data-theme="dark"] .pp-btn-convidar {
  /* tema escuro: texto branco */
  --bs-btn-color: #ffffff;
  --bs-btn-border-color: rgba(255,255,255,.35);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: rgba(255,255,255,.12);
  --bs-btn-hover-border-color: rgba(255,255,255,.55);
}
