/* ============================================================
   BOLÃO FULERO — app.css
============================================================ */

:root {
  --verde:        #1a7a3c;
  --verde-claro:  #2db356;
  --amarelo:      #f5d800;
  --amarelo-q:    #ffb300;
  --laranja:      #e85d04;
  --marrom:       #3d1f00;
  --azul:         #003580;
  --perigo:       #c0392b;
  --creme:        #f0e8d0;
  --papel:        #faf3e0;
  --bg:           #f5f0e4;
  --cinza:        #2a2a2a;
  --cinza-claro:  #f8f8f8;
  --borda:        #e0d8c8;
  --texto:        #1a1a1a;
  --texto-suave:  #666;
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family: 'Barlow', sans-serif;
  background: var(--bg);
  color: var(--texto);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* ── Nav ────────────────────────────────────────────────── */
.nav-principal {
  background: var(--verde);
  border-bottom: 4px solid var(--amarelo);
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
}

.nav-logo {
  font-family: 'Bebas Neue', cursive;
  font-size: 1.8rem;
  color: var(--amarelo);
  letter-spacing: 3px;
  text-shadow: 2px 2px 0 var(--marrom);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

.nav-logo-img { height: 52px; width: auto; display: block; }
.nav-logo-emoji { animation: wobble 2.5s infinite; display:inline-block; }
@keyframes wobble { 0%,100%{transform:rotate(-6deg)} 50%{transform:rotate(6deg)} }

.nav-links {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.nav-link {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: 1px;
  padding: 6px 10px;
  border-radius: 4px;
  transition: color .15s, background .15s;
}
.nav-link:hover { color: var(--amarelo); background: rgba(255,255,255,.08); }

.nav-usuario {
  color: rgba(255,255,255,.75);
  font-size: .85rem;
  font-weight: 500;
  padding: 0 4px;
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-block;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all .15s;
}

.btn-verde   { background: var(--verde);        color: white; }
.btn-verde:hover { background: var(--verde-claro); transform: translateY(-1px); }
.btn-amarelo { background: var(--amarelo);      color: var(--marrom); font-weight: 900; }
.btn-amarelo:hover { background: var(--amarelo-q); transform: translateY(-1px); }
.btn-laranja { background: var(--laranja);      color: white; }
.btn-laranja:hover { background: #c04a00; }
.btn-perigo  { background: #fee; color: var(--perigo); border: 2px solid #fcc; }
.btn-perigo:hover { background: var(--perigo); color: white; }
.btn-ghost   { background: transparent; color: var(--cinza); border: 2px solid var(--borda); }
.btn-ghost:hover { border-color: var(--verde); color: var(--verde); }
.btn-outline { background: transparent; color: white; border: 2px solid white; }
.btn-outline:hover { background: rgba(255,255,255,.12); }

.btn-grande  { font-family:'Bebas Neue',cursive; font-size: 1.3rem; padding: 12px 32px; letter-spacing:2px; }
.btn-pequeno { font-size:.75rem; padding: 6px 12px; letter-spacing:1px; }
.btn-block   { display:block; width:100%; text-align:center; }

/* nav buttons */
.nav-btn { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.85rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:8px 16px; border-radius:5px; border:none; cursor:pointer; transition:all .15s; }
.nav-btn-verde   { background:var(--verde-claro); color:white; }
.nav-btn-amarelo { background:var(--amarelo); color:var(--marrom); font-weight:900; }
.nav-btn-laranja { background:var(--laranja); color:white; }
.nav-btn-ghost   { background:rgba(255,255,255,.12); color:rgba(255,255,255,.85); border:1.5px solid rgba(255,255,255,.25); }
.nav-btn-ghost:hover { background:rgba(255,255,255,.2); }

/* ── Flash ──────────────────────────────────────────────── */
.flash {
  padding: 14px 1.5rem;
  font-weight: 600;
  font-size: .95rem;
  text-align: center;
}
.flash-sucesso { background: #d4edda; color: #155724; border-bottom: 3px solid #28a745; }
.flash-erro    { background: #f8d7da; color: #721c24; border-bottom: 3px solid var(--perigo); }
.flash-aviso   { background: #fff3cd; color: #856404; border-bottom: 3px solid var(--amarelo-q); }

/* ── Layout utilitários ──────────────────────────────────── */
.main-content { flex: 1; }
.container    { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }

/* ── Hero ───────────────────────────────────────────────── */
.hero {
  background: linear-gradient(150deg, var(--verde) 0%, #0d5c2e 55%, var(--marrom) 100%);
  padding: 4rem 1.5rem 3rem;
  position: relative;
  overflow: hidden;
}

.hero::before {
  content:'';
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(45deg,transparent,transparent 50px,rgba(245,216,0,.02) 50px,rgba(245,216,0,.02) 51px);
}

.hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

.hero-eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--amarelo-q);
  margin-bottom: 8px;
}

.hero-title {
  font-family: 'Bebas Neue', cursive;
  font-size: clamp(4rem, 9vw, 8rem);
  line-height: .9;
  color: var(--amarelo);
  text-shadow: 5px 5px 0 rgba(0,0,0,.25);
  letter-spacing: 4px;
}

.hero-sub {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.8);
  margin: 12px 0 24px;
}

.hero-ctas { display:flex; gap:.8rem; flex-wrap:wrap; margin-bottom:2rem; }

.hero-stats { display:flex; gap:2rem; flex-wrap:wrap; }
.hero-stat-num {
  font-family: 'Bebas Neue', cursive;
  font-size: 2rem;
  color: var(--amarelo);
  display:block;
  line-height:1;
}
.hero-stat-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .75rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}

.hero-trophy {
  font-size: 8rem;
  animation: float 3s ease-in-out infinite;
  filter: drop-shadow(0 10px 30px rgba(0,0,0,.3));
}
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-16px)} }

/* ── Seções ─────────────────────────────────────────────── */
.secao     { padding: 3rem 1.5rem; }
.secao-alt { background: white; }
.secao-titulo {
  font-family: 'Bebas Neue', cursive;
  font-size: 2.2rem;
  letter-spacing: 3px;
  color: var(--marrom);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 10px;
}
.secao-titulo::after {
  content:'';
  flex:1;
  height:3px;
  background: linear-gradient(90deg, var(--amarelo), transparent);
  border-radius:2px;
}

/* ── Tabela ─────────────────────────────────────────────── */
.tabela-wrap { border-radius:10px; overflow:hidden; border:2px solid var(--borda); }
.tabela { width:100%; border-collapse:collapse; }
.tabela thead { background:var(--verde); color:var(--amarelo); font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:.8rem; letter-spacing:2px; text-transform:uppercase; }
.tabela th, .tabela td { padding:10px 14px; text-align:left; }
.tabela tbody tr { border-bottom:1px solid #f0f0f0; transition:background .12s; }
.tabela tbody tr:hover { background:#fffbe8; }
.tabela-pequena td { padding:8px 12px; font-size:.9rem; }

.td-pos  { font-family:'Bebas Neue',cursive; font-size:1.4rem; color:var(--verde); text-align:center; width:50px; }
.td-pts  { font-family:'Bebas Neue',cursive; font-size:1.4rem; color:var(--verde); text-align:center; }
.td-num  { text-align:center; color:var(--texto-suave); font-size:.9rem; }

.linha-ouro   { background:rgba(245,216,0,.1); }
.linha-prata  { background:rgba(192,192,192,.08); }
.linha-bronze { background:rgba(205,127,50,.07); }
.linha-destaque { background:rgba(26,122,60,.1); border-left:4px solid var(--verde); }

/* ── Jogos Cards ──────────────────────────────────────────── */
.jogos-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; }

.jogo-card {
  background:white;
  border-radius:10px;
  padding:1rem 1.2rem;
  border:2px solid var(--borda);
  box-shadow:3px 3px 0 #ddd;
  transition:all .18s;
}
.jogo-card:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--verde); border-color:var(--verde); }

.jogo-card-topo { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.jogo-fase      { font-family:'Barlow Condensed',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--laranja); }
.jogo-data      { font-size:.78rem; color:var(--texto-suave); margin-top:8px; text-align:center; }

.jogo-times {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:10px 0;
  gap:6px;
}
.time-item  { display:flex; flex-direction:column; align-items:center; gap:4px; flex:1; }
.time-flag  { font-size:2rem; }
.time-nome  { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:1px; text-transform:uppercase; color:var(--cinza); text-align:center; }

.placar-exibicao { font-family:'Bebas Neue',cursive; font-size:1.8rem; color:var(--verde); background:var(--papel); padding:3px 10px; border-radius:6px; border:2px solid var(--amarelo); letter-spacing:2px; white-space:nowrap; }
.placar-pendente { font-family:'Bebas Neue',cursive; font-size:1.4rem; color:#bbb; background:#f5f5f5; padding:3px 10px; border-radius:6px; border:2px solid #ddd; letter-spacing:2px; }

/* ── Status badges ─────────────────────────────────────── */
.status-badge {
  display:inline-block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:4px;
  white-space:nowrap;
}
.status-agendado  { background:var(--amarelo); color:var(--marrom); }
.status-ao_vivo   { background:#ff4444; color:white; animation:pulse 1s infinite; }
.status-encerrado { background:#555; color:white; }
.status-pendente  { background:rgba(255,179,0,.2); color:#7a5000; }
.status-aprovada  { background:var(--verde); color:white; }
.status-recusada  { background:#fee; color:var(--perigo); }
.status-calculado { background:rgba(26,122,60,.12); color:var(--verde); }
.live-dot { display:inline-block; width:7px; height:7px; background:white; border-radius:50%; margin-right:4px; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.6} }

/* ── Auth ───────────────────────────────────────────────── */
.auth-wrap {
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: linear-gradient(135deg, var(--verde) 0%, var(--marrom) 100%);
}

.auth-card {
  background: var(--papel);
  border-radius: 16px;
  padding: 2.5rem;
  width: 100%;
  max-width: 420px;
  border: 3px solid var(--amarelo);
  box-shadow: 8px 8px 0 rgba(0,0,0,.3);
}

.auth-logo  { font-size:3rem; text-align:center; margin-bottom:.5rem; }
.auth-title { font-family:'Bebas Neue',cursive; font-size:2.2rem; letter-spacing:3px; color:var(--verde); text-align:center; margin-bottom:4px; }
.auth-sub   { font-size:.85rem; color:var(--texto-suave); text-align:center; margin-bottom:1.5rem; }
.auth-link  { font-size:.85rem; text-align:center; margin-top:1rem; color:var(--texto-suave); }
.auth-link a{ color:var(--verde); font-weight:600; }

/* ── Formulários ─────────────────────────────────────────── */
.form-group    { margin-bottom:1rem; }
.form-label    { display:block; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.78rem; letter-spacing:2px; text-transform:uppercase; color:var(--marrom); margin-bottom:5px; }
.form-input    { width:100%; padding:10px 14px; border:2px solid var(--borda); border-radius:8px; font-family:'Barlow',sans-serif; font-size:.95rem; background:white; transition:border-color .15s; color:var(--cinza); }
.form-input:focus { outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(26,122,60,.12); }
.form-textarea { resize:vertical; min-height:200px; }
.form-row      { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-acoes    { display:flex; gap:.8rem; margin-top:1.5rem; flex-wrap:wrap; }

/* ── Painel / Sidebar ─────────────────────────────────────── */
.painel-wrap { display:grid; grid-template-columns:250px 1fr; gap:1.5rem; padding:1.5rem; max-width:1300px; margin:0 auto; align-items:start; }
.gestor-wrap { display:grid; grid-template-columns:250px 1fr; gap:1.5rem; padding:1.5rem; max-width:1300px; margin:0 auto; align-items:start; }

.sidebar {
  background: var(--verde);
  border-radius: 12px;
  padding: 1.4rem;
  position: sticky;
  top: 80px;
  border: 3px solid var(--marrom);
  box-shadow: 5px 5px 0 var(--marrom);
}

.sidebar-gestor { background: var(--marrom); }

.sidebar-user { text-align:center; padding-bottom:1.2rem; border-bottom:2px solid rgba(255,255,255,.12); margin-bottom:1.2rem; }
.sidebar-avatar { width:64px; height:64px; border-radius:50%; background:var(--amarelo); display:flex; align-items:center; justify-content:center; font-size:1.8rem; margin:0 auto 8px; border:3px solid rgba(255,255,255,.2); }
.sidebar-avatar-gestor { background:var(--laranja); }
.sidebar-nome { font-family:'Bebas Neue',cursive; font-size:1.3rem; color:var(--amarelo); letter-spacing:2px; }
.sidebar-pts  { font-size:.8rem; color:rgba(255,255,255,.6); margin-top:2px; }

.sidebar-nav { display:flex; flex-direction:column; gap:4px; }
.sidebar-link { display:flex; align-items:center; justify-content:space-between; padding:9px 12px; background:rgba(255,255,255,.08); border-radius:8px; color:rgba(255,255,255,.85); text-decoration:none; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:.9rem; letter-spacing:1px; transition:all .15s; }
.sidebar-link:hover, .sidebar-link-ativo { background:var(--amarelo); color:var(--marrom); }

.badge-nav { background:var(--laranja); color:white; font-size:.65rem; font-weight:900; padding:2px 6px; border-radius:10px; }

/* ── Dashboard cards ─────────────────────────────────────── */
.painel-conteudo { flex:1; min-width:0; }
.painel-titulo   { font-family:'Bebas Neue',cursive; font-size:2rem; letter-spacing:3px; color:var(--marrom); margin-bottom:1.5rem; }

.dash-card {
  background:white;
  border-radius:12px;
  padding:1.4rem;
  border:2px solid var(--borda);
  box-shadow:3px 3px 0 #ddd;
  margin-bottom:1.2rem;
}

.dash-card-titulo {
  font-family:'Bebas Neue',cursive;
  font-size:1.4rem;
  letter-spacing:2px;
  color:var(--marrom);
  margin-bottom:1rem;
  padding-bottom:.7rem;
  border-bottom:2px solid var(--amarelo);
}

/* ── Stats grid ─────────────────────────────────────────── */
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1.2rem; }
.stat-card  { background:white; border-radius:10px; padding:1rem; border:2px solid var(--borda); box-shadow:3px 3px 0 #ddd; text-align:center; }
.stat-num   { font-family:'Bebas Neue',cursive; font-size:2.2rem; color:var(--verde); letter-spacing:2px; line-height:1; }
.stat-label { font-family:'Barlow Condensed',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#888; margin-top:4px; }
.stat-amarelo { color:var(--amarelo-q) !important; }
.stat-laranja { color:var(--laranja) !important; }
.stat-verde   { color:var(--verde) !important; }

/* ── Alertas ────────────────────────────────────────────── */
.alerta { padding:12px 16px; border-radius:8px; font-size:.9rem; font-weight:500; margin-bottom:1rem; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.alerta-aviso   { background:rgba(255,179,0,.15); color:#7a5000; border:1.5px solid var(--amarelo-q); }
.alerta-urgente { background:#fff3cd; color:#856404; border:2px solid var(--amarelo-q); }
.info-box       { background:rgba(245,216,0,.15); border:1.5px solid var(--amarelo-q); border-radius:8px; padding:10px 14px; font-size:.85rem; color:#7a5000; margin-bottom:1rem; }

/* ── Palpites ────────────────────────────────────────────── */
.palpite-jogo {
  background: var(--papel);
  border-radius: 10px;
  padding: 1rem 1.2rem;
  margin-bottom:.8rem;
  border: 2px solid var(--borda);
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.palpite-jogo-enviado { border-color:var(--verde-claro); background:rgba(26,122,60,.04); }
.palpite-jogo-cabecalho { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; font-size:.78rem; color:var(--texto-suave); width:100%; }
.palpite-jogo-corpo { display:flex; align-items:center; justify-content:space-between; width:100%; gap:1rem; flex-wrap:wrap; }
.palpite-time { display:flex; align-items:center; gap:8px; font-weight:700; font-size:.95rem; flex:1; }
.palpite-form { display:flex; align-items:center; gap:8px; }
.palpite-enviado { display:flex; flex-direction:column; align-items:center; gap:6px; }

.palpite-score { font-family:'Bebas Neue',cursive; font-size:1.6rem; color:var(--verde); }
.pontos-badge  { background:var(--amarelo); color:var(--marrom); padding:3px 10px; border-radius:10px; font-weight:900; font-size:.8rem; }

.score-input { width:52px; height:52px; text-align:center; font-family:'Bebas Neue',cursive; font-size:1.8rem; border:3px solid var(--borda); border-radius:8px; background:white; color:var(--verde); transition:border-color .15s; }
.score-input:focus { outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(26,122,60,.12); }
.score-x { font-family:'Bebas Neue',cursive; font-size:1.4rem; color:#aaa; }

/* ── Gestor apostas/jogos ─────────────────────────────── */
.aposta-row, .usuario-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; background:var(--papel); border-radius:8px;
  margin-bottom:8px; border:2px solid var(--borda); flex-wrap:wrap; gap:8px;
}
.aposta-info, .usuario-info { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.aposta-acoes, .usuario-acoes { display:flex; gap:6px; }
.aposta-jogo { font-size:.9rem; font-weight:600; }
.aposta-data, .aposta-enviada { font-size:.75rem; color:var(--texto-suave); }
.chip-jogador { background:var(--verde); color:white; padding:3px 10px; border-radius:20px; font-size:.8rem; font-weight:700; }
.usuario-email { color:var(--texto-suave); font-size:.85rem; }
.usuario-data  { font-size:.75rem; color:var(--texto-suave); }

/* ── Jogo admin card ────────────────────────────────────── */
.jogo-admin-card {
  background:white; border-radius:10px; padding:1rem 1.2rem;
  border:2px solid var(--borda); box-shadow:2px 2px 0 #ddd;
  margin-bottom:.8rem;
}
.jogo-admin-info { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.jogo-admin-times { font-size:.95rem; font-weight:600; }
.jogo-admin-acoes { display:flex; gap:8px; flex-wrap:wrap; }
.placar-form-inline { display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:var(--papel); padding:12px; border-radius:8px; margin-top:8px; border:2px dashed var(--amarelo-q); }
.placar-form-label { font-weight:700; font-size:.85rem; }

/* ── Blog ───────────────────────────────────────────────── */
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:1.5rem; }

.blog-card { display:flex; flex-direction:column; text-decoration:none; color:inherit; background:white; border-radius:12px; overflow:hidden; border:2px solid var(--borda); box-shadow:3px 3px 0 #ddd; transition:all .18s; }
.blog-card:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--verde); border-color:var(--verde); }

.blog-card-img { height:160px; background-size:cover; background-position:center; }
.blog-card-img-placeholder { display:flex; align-items:center; justify-content:center; font-size:3rem; background:var(--creme); }

.blog-card-body  { padding:1rem; flex:1; display:flex; flex-direction:column; gap:6px; }
.blog-card-data  { font-size:.75rem; color:var(--texto-suave); font-weight:600; text-transform:uppercase; letter-spacing:1px; }
.blog-card-titulo { font-family:'Barlow Condensed',sans-serif; font-size:1.2rem; font-weight:700; color:var(--marrom); line-height:1.3; }
.blog-card-resumo { font-size:.85rem; color:var(--texto-suave); line-height:1.5; flex:1; }
.blog-leia-mais  { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:1px; text-transform:uppercase; color:var(--verde); margin-top:auto; }

.blog-post-wrap  { max-width:820px; margin:0 auto; padding:2.5rem 1.5rem; }
.blog-post-capa  { width:100%; height:320px; background-size:cover; background-position:center; border-radius:12px; margin-bottom:2rem; }
.blog-post       { }
.blog-post-header { margin-bottom:1.5rem; border-bottom:2px solid var(--amarelo); padding-bottom:1rem; }
.blog-post-titulo { font-family:'Bebas Neue',cursive; font-size:2.8rem; letter-spacing:2px; color:var(--marrom); line-height:1.1; margin:8px 0; }
.blog-post-resumo { font-size:1.1rem; color:var(--texto-suave); font-style:italic; line-height:1.6; }
.blog-post-conteudo { line-height:1.8; font-size:.98rem; }
.blog-post-conteudo h2, .blog-post-conteudo h3 { font-family:'Bebas Neue',cursive; letter-spacing:2px; color:var(--marrom); margin:1.5rem 0 .5rem; }
.blog-post-conteudo p { margin-bottom:1rem; }
.blog-post-conteudo img { max-width:100%; border-radius:8px; margin:1rem 0; }

/* ── Paginação ───────────────────────────────────────────── */
.paginacao { display:flex; gap:6px; justify-content:center; margin-top:2rem; }
.paginacao-btn { font-family:'Barlow Condensed',sans-serif; font-weight:700; padding:8px 14px; border:2px solid var(--borda); border-radius:6px; text-decoration:none; color:var(--cinza); transition:all .15s; }
.paginacao-btn:hover { border-color:var(--verde); color:var(--verde); }
.paginacao-btn-ativo { background:var(--verde); color:white; border-color:var(--verde); }

/* ── Rodapé ─────────────────────────────────────────────── */
.rodape { background:var(--marrom); color:rgba(255,255,255,.6); padding:1.5rem; margin-top:auto; }
.rodape-inner { max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; font-size:.85rem; }
.rodape-links { display:flex; gap:1rem; }
.rodape-links a { color:rgba(255,255,255,.5); text-decoration:none; transition:color .15s; }
.rodape-links a:hover { color:var(--amarelo); }

/* ── Utilitários ────────────────────────────────────────── */
.vazio { color:var(--texto-suave); font-style:italic; padding:1rem 0; }

/* ── Responsivo ─────────────────────────────────────────── */
@media (max-width:768px) {
  .painel-wrap, .gestor-wrap { grid-template-columns:1fr; padding:1rem; }
  .sidebar { position:static; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .form-row { grid-template-columns:1fr; }
  .hero-inner { grid-template-columns:1fr; }
  .hero-trophy { display:none; }
  .tabela th:nth-child(n+4), .tabela td:nth-child(n+4) { display:none; }
}

@media (max-width:480px) {
  .nav-link { display:none; }
  .stats-grid { grid-template-columns:1fr 1fr; }
}
