/* ── Hero banner ────────────────────────────────────────── */
.eventos-hero {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  border-radius: 1.25rem;
  padding: 2.5rem 2rem;
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
}
.eventos-hero::before {
  content: '🏇';
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 5rem;
  opacity: .15;
  pointer-events: none;
}
.eventos-hero h1 { color: #fff; font-weight: 700; margin: 0; }
.eventos-hero p  { color: rgba(255,255,255,.65); margin: .4rem 0 0; }

/* ── Cards ──────────────────────────────────────────────── */
.evento-card {
  border: none;
  border-radius: 1rem;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
.evento-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,.15);
}

/* Faixa colorida no topo quando não há banner */
.evento-card-cover {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.5rem;
  position: relative;
}
.evento-card-cover img {
  width: 100%; height: 100%; object-fit: cover;
  position: absolute; inset: 0;
}
.evento-card-cover .cover-icon { position: relative; z-index: 1; }

/* Gradientes por modalidade / índice */
.cover-grad-0 { background: linear-gradient(135deg, #667eea, #764ba2); }
.cover-grad-1 { background: linear-gradient(135deg, #f093fb, #f5576c); }
.cover-grad-2 { background: linear-gradient(135deg, #4facfe, #00f2fe); }
.cover-grad-3 { background: linear-gradient(135deg, #43e97b, #38f9d7); }
.cover-grad-4 { background: linear-gradient(135deg, #fa709a, #fee140); }
.cover-grad-5 { background: linear-gradient(135deg, #a18cd1, #fbc2eb); }
.cover-grad-6 { background: linear-gradient(135deg, #fccb90, #d57eeb); }
.cover-grad-7 { background: linear-gradient(135deg, #a1c4fd, #c2e9fb); }

/* ── Badge de status ────────────────────────────────────── */
.status-badge {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .3em .7em;
  border-radius: 2rem;
}
.status-CRIADO     { background: #e9ecef; color: #495057; }
.status-PUBLICADO  { background: #cff4fc; color: #055160; }
.status-ABERTO     { background: #d1e7dd; color: #0a3622; }
.status-ENCERRADO  { background: #f8d7da; color: #58151c; }
.status-CANCELADO  { background: #fff3cd; color: #664d03; }

/* ── Linha de info ──────────────────────────────────────── */
.evento-info-row {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .82rem;
  color: var(--bs-secondary-color);
  margin-top: .3rem;
}
.evento-info-row i { flex-shrink: 0; }

/* ── Tags de categoria ──────────────────────────────────── */
.cat-tags { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .6rem; }
.cat-tag {
  font-size: .7rem;
  padding: .25em .6em;
  border-radius: .4rem;
  background: color-mix(in srgb, var(--bs-primary) 12%, var(--bs-body-bg));
  color: var(--bs-primary);
  border: 1px solid color-mix(in srgb, var(--bs-primary) 25%, transparent);
  font-weight: 600;
}

/* ── Empty state ────────────────────────────────────────── */
.empty-state {
  text-align: center;
  padding: 4rem 1rem;
}
.empty-state .empty-icon {
  font-size: 5rem;
  line-height: 1;
  display: block;
  margin-bottom: 1rem;
  opacity: .35;
}