/* ==========================================================
   ABJI THEME — Identidade visual unificada
   ----------------------------------------------------------
   Fundo: azul escuro institucional
   Gradiente: azul → verde água (identidade ABJI)
   Tipografia: Poppins / system-ui
   ========================================================== */

:root {
  --bg1: #003366;        /* azul institucional (navbar / base) */
  --bg2: #009688;        /* verde água ABJI */
  --card: #ffffff;       /* fundo dos cards */
  --ink: #1a1a1a;        /* texto principal */
  --ring: rgba(255,255,255,.25);
  --accent: #00bfa6;     /* verde principal */
  --accent-light: #5af0cc;
  --danger: #dc3545;
  --warning: #ffc107;
  --success: #28a745;
  --muted: #6c757d;
}

/* ====== Estrutura global ====== */
html, body {
  min-height: 100vh;
  background: linear-gradient(135deg, var(--bg1) 0%, var(--bg2) 100%) !important;
  background-attachment: fixed !important; /* mantém o degradê fixo ao rolar */
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: #f8f9fa !important; /* texto fora dos cards fica claro */
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}


/* ====== Navbar ====== */
.navbar {
  background: var(--bg1) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.navbar-brand strong { color:#fff; font-weight:600; letter-spacing:.5px; }
.navbar a.nav-link, .navbar .dropdown-item { font-weight:500; }
.navbar .nav-link { color:#f1f4ff !important; }
.navbar .nav-link:hover { color:var(--accent-light) !important; }

/* ====== Conteúdo e cartões ====== */
/* Mantém o fundo com o degradê visível e melhora contraste dentro do container */
main, .container {
  background: transparent !important;
  color: #f8f9fa; /* texto claro sobre o degradê */
}

/* Deixa o conteúdo centralizado e “respirando” melhor */
.container {
  padding-top: 2rem;
  padding-bottom: 2rem;
}


.card, .card-curved {
  background: var(--card);
  color: var(--ink);
  border: 0;
  border-radius: 1.25rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
}

.card h1, .card h2, .card h3, .card h4, .card h5, .card strong {
  color: var(--ink) !important;
}

.table thead th {
  color: var(--bg1);
  font-weight:600;
  border-bottom:2px solid rgba(0,0,0,.05);
}

/* ====== Formulários ====== */
.form-control, .form-select {
  border-radius: .9rem;
  border: 1px solid rgba(0,0,0,.12);
  padding: .8rem 1rem;
  background: #fff;
  color: #212529;
  transition: all .2s;
}
.form-control:focus, .form-select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 .25rem rgba(0,191,166,.25);
}
.form-label { font-weight:600; color:#1c2544; }
input::placeholder { color:#95a0c1; }

/* ====== Botões ====== */
.btn-primary {
  background: var(--accent);
  border: none;
  color: #fff;
  font-weight:600;
  transition: all .2s;
}
.btn-primary:hover {
  background: var(--accent-light);
  color:#003366;
}
.btn-soft {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
}
.btn-soft:hover {
  background: rgba(255,255,255,.3);
  color: #fff;
}

/* ====== Diversos ====== */
h1,h2,h3,h4,h5,strong { color:#fff !important; }
.text-light, .hero p { color:#e8edff !important; }

footer {
  color:#e8edff;
  background: transparent;
}

.table td, .table th {
  vertical-align: middle;
}

.ring {
  box-shadow: 0 0 0 2px var(--ring);
}

/* ====== Ajustes utilitários ====== */
.badge.bg-primary { background: var(--accent) !important; }
.badge.bg-secondary { background: #CC0 !important; }
.badge.bg-info { background: #17a2b8 !important; }
.badge.bg-success { background: var(--success) !important; }
.badge.bg-danger { background: var(--danger) !important; }


/* ——— Mata qualquer fundo branco em wrappers do layout ——— */
html, body, main {
  background: linear-gradient(135deg, #003366 0%, #00bfa6 100%) !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body, main,
.container, .container-fluid,
.container > .row, .row,
[class*="col-"],
.content, .page-content, .wrapper, .app-content {
  background-color: transparent !important;
  background: transparent !important;
}

/* texto fora dos cards legível sobre o degradê */
body, main, .container, .row, [class*="col-"] {
  color: #f1f4f8 !important;
}

/* mantém os cards brancos (se quiser, troque por vidro translúcido abaixo) */
.card, .card-curved {
  background: #fff !important;
  color: #212529 !important;
}

/* Dropdowns visíveis e bonitos */
.navbar .dropdown-menu {
  z-index: 2000;                 /* garante que fica acima de cards/containers */
  border-radius: 12px;
  padding: .5rem;
}

.navbar .dropdown-item {
  border-radius: 8px;
  padding: .5rem .75rem;
}

.navbar .dropdown-item:hover {
  background: rgba(0,0,0,.06);
}

/* Evita algum CSS antigo esconder o menu */
.dropdown-menu.show { display: block; }

.dropdown-item.active { 
  background: rgba(0,0,0,.08);
  font-weight: 600;
}
/* Ajusta contraste das labels de checkbox */
.form-check-label {
  color: #212529 !important; /* cor escura, legível sobre fundo claro */
  font-weight: 500;
}
/* === Ajuste de contraste da ficha de competição === */
.card,
.card .p-3,
.card .bg-light,
.card p,
.card div,
.card span,
.card strong,
.card h3,
.card h4,
.card h5 {
  color: #212529 !important; /* texto escuro e legível */
}


.bg-light {
  background-color: #f8f9fa !important;
  border: 1px solid #dee2e6;
  border-radius: 8px;
}


