/* =====================================================================
   CLUBE DA PESCA - Identidade visual
   Verde escuro / verde oliva / preto / branco / dourado
   ===================================================================== */

:root{
  --verde-escuro:#0f2e1d;
  --verde-mata:#17452b;
  --oliva:#6b7440;
  --oliva-claro:#8a9a5b;
  --dourado:#c9a227;
  --dourado-claro:#e3c463;
  --preto:#12140f;
  --areia:#f4f1e8;
  --cinza:#e6e3d9;
}

body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:#22261d;
  background:#fff;
}

h1,h2,h3,h4,h5,.titulo{
  font-family:'Oswald','Inter',sans-serif;
  font-weight:600;
  letter-spacing:.5px;
  text-transform:uppercase;
}

a{color:var(--verde-mata);}
a:hover{color:var(--dourado);}

/* ---------- Utilitários de marca ---------- */
.bg-verde{background:var(--verde-escuro)!important;}
.bg-oliva{background:var(--oliva)!important;}
.bg-areia{background:var(--areia)!important;}
.texto-dourado{color:var(--dourado)!important;}
.texto-oliva{color:var(--oliva)!important;}

.btn-agro{
  background:var(--dourado); border:none; color:var(--preto);
  font-weight:600; text-transform:uppercase; letter-spacing:.6px;
}
.btn-agro:hover{background:var(--dourado-claro); color:var(--preto);}
.btn-verde{background:var(--verde-mata); border:none; color:#fff; font-weight:600;}
.btn-verde:hover{background:var(--verde-escuro); color:var(--dourado-claro);}

.eyebrow{
  font-family:'Oswald',sans-serif; text-transform:uppercase;
  letter-spacing:3px; font-size:.78rem; color:var(--dourado);
}

.linha-dourada{height:3px;width:70px;background:var(--dourado);border:0;opacity:1;margin:12px 0 22px;}

/* ---------- Topo ---------- */
.navbar-agro{background:var(--verde-escuro);border-bottom:3px solid var(--dourado);}
.navbar-agro .navbar-brand{font-family:'Oswald',sans-serif;font-size:1.6rem;letter-spacing:2px;color:#fff;}
.navbar-agro .navbar-brand span{color:var(--dourado);}
.navbar-agro .nav-link{color:#e9e6da;text-transform:uppercase;font-size:.9rem;letter-spacing:1px;font-weight:500;}
.navbar-agro .nav-link:hover,.navbar-agro .nav-link.ativo{color:var(--dourado);}
.barra-topo{background:var(--preto);color:#cfcbbd;font-size:.82rem;padding:6px 0;}
.barra-topo a{color:#cfcbbd;text-decoration:none;}
.barra-topo a:hover{color:var(--dourado);}

/* ---------- Banner ---------- */
.hero{
  position:relative;color:#fff;
  background:
    linear-gradient(rgba(10,25,15,.72),rgba(10,25,15,.85)),
    radial-gradient(circle at 20% 30%, #24512f 0%, transparent 55%),
    linear-gradient(135deg,var(--verde-escuro) 0%, var(--preto) 100%);
  padding:96px 0 88px;
}
.hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;}
.hero p{max-width:640px;color:#dcd8ca;font-size:1.08rem;}

/* ---------- Cards ---------- */
.card-agro{border:1px solid var(--cinza);border-radius:10px;overflow:hidden;transition:.2s;background:#fff;}
.card-agro:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(15,46,29,.15);}
.card-agro .card-img-top,.card-agro .capa{height:190px;object-fit:cover;width:100%;}
.capa-vazia{
  height:190px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--verde-mata),var(--oliva));
  color:var(--dourado-claro);font-family:'Oswald',sans-serif;font-size:1.4rem;letter-spacing:2px;
}
.selo-categoria{
  position:absolute;top:12px;left:12px;background:var(--dourado);color:var(--preto);
  font-size:.72rem;font-weight:700;text-transform:uppercase;padding:3px 10px;border-radius:3px;letter-spacing:1px;
}

/* ---------- Barra de progresso ---------- */
.progress{height:14px;background:var(--cinza);border-radius:20px;}
.progress-bar{background:linear-gradient(90deg,var(--oliva),var(--dourado));font-size:.7rem;font-weight:700;}

/* ---------- Grade de números ---------- */
.grade-numeros{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(64px,1fr));
  gap:7px;
}
.num{
  border:none;border-radius:6px;padding:9px 2px;font-size:.86rem;font-weight:700;
  font-family:'Oswald',sans-serif;letter-spacing:1px;cursor:pointer;
  transition:transform .08s ease, box-shadow .12s ease;
  color:#0f2e1d;background:#8fd19e;
}
.num:hover{transform:scale(1.06);}
.num.livre{background:#79c98d;color:#0d2b17;}
.num.reservado{background:#f1c40f;color:#4a3a00;cursor:not-allowed;}
.num.pago{background:#d94a3d;color:#fff;cursor:not-allowed;}
.num.selecionado{background:#1e6fd9;color:#fff;box-shadow:0 0 0 3px rgba(30,111,217,.35);}
.num.destacado{outline:3px solid var(--dourado);outline-offset:2px;}
.num:disabled{opacity:.92;}

.legenda span{display:inline-flex;align-items:center;gap:6px;margin-right:16px;font-size:.86rem;}
.bolinha{width:15px;height:15px;border-radius:4px;display:inline-block;}
.bolinha.livre{background:#79c98d;}
.bolinha.reservado{background:#f1c40f;}
.bolinha.pago{background:#d94a3d;}
.bolinha.selecionado{background:#1e6fd9;}

/* Barra fixa de resumo da seleção */
.barra-selecao{
  position:sticky;bottom:0;z-index:1030;
  background:var(--verde-escuro);color:#fff;border-top:3px solid var(--dourado);
  padding:12px 16px;box-shadow:0 -6px 20px rgba(0,0,0,.25);
}
.barra-selecao .valor{font-family:'Oswald',sans-serif;font-size:1.5rem;color:var(--dourado);}

/* ---------- Premiações do torneio ---------- */
.card-premio{
  display:flex;gap:14px;align-items:flex-start;
  background:#fff;border:1px solid var(--cinza);border-radius:10px;
  border-left:5px solid var(--dourado);padding:16px;height:100%;
}
.card-premio .premio-colocacao{
  font-family:'Oswald',sans-serif;font-size:1.9rem;line-height:1;
  color:var(--dourado);min-width:46px;text-align:center;
}
.card-premio .premio-titulo{
  font-size:.74rem;text-transform:uppercase;letter-spacing:1.2px;color:#7a7a6d;
}
.card-premio .premio-descricao{font-weight:600;color:var(--verde-escuro);}
.card-premio .premio-valor{font-family:'Oswald',sans-serif;color:var(--verde-mata);font-size:1.15rem;}

/* Destaque extra para o 1º lugar */
.card-premio.premio-primeiro{border-left-width:8px;background:#fffdf5;}
.card-premio.premio-primeiro .premio-colocacao{font-size:2.3rem;}

/* Lista compacta (cards da listagem e comprovante) */
.premio-posicao{
  display:inline-block;min-width:26px;font-family:'Oswald',sans-serif;
  color:var(--dourado);font-weight:600;
}
.premios-mini{border-left:3px solid var(--dourado);padding-left:10px;}
.lista-premios{list-style:none;padding:0;margin:0;}
.lista-premios li{
  display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;
  padding:8px 0;border-bottom:1px dashed var(--cinza);
}
.lista-premios li:last-child{border-bottom:0;}
.lista-premios .premio-valor{margin-left:auto;font-weight:600;color:var(--verde-mata);}

/* ---------- Rodapé ---------- */
.rodape{background:var(--preto);color:#b9b5a7;padding:52px 0 0;}
.rodape h5{color:#fff;font-size:1rem;letter-spacing:1.5px;}
.rodape a{color:#b9b5a7;text-decoration:none;}
.rodape a:hover{color:var(--dourado);}
.rodape .creditos{border-top:1px solid #2a2c25;margin-top:36px;padding:16px 0;font-size:.82rem;}

/* ---------- Admin ---------- */
.admin-sidebar{
  background:var(--verde-escuro);min-height:100vh;padding-top:12px;
  border-right:3px solid var(--dourado);
}
.admin-sidebar .marca{font-family:'Oswald',sans-serif;color:#fff;letter-spacing:2px;padding:14px 18px;font-size:1.25rem;}
.admin-sidebar .marca span{color:var(--dourado);}
.admin-sidebar a{
  display:block;color:#d8d4c6;padding:11px 18px;text-decoration:none;font-size:.93rem;border-left:3px solid transparent;
}
.admin-sidebar a:hover{background:rgba(255,255,255,.06);color:#fff;}
.admin-sidebar a.ativo{background:rgba(201,162,39,.14);color:var(--dourado);border-left-color:var(--dourado);}
.admin-topo{background:#fff;border-bottom:1px solid var(--cinza);padding:12px 18px;}
.card-indicador{border:1px solid var(--cinza);border-radius:10px;background:#fff;padding:18px;}
.card-indicador .numero{font-family:'Oswald',sans-serif;font-size:1.9rem;color:var(--verde-escuro);line-height:1;}
.card-indicador .rotulo{font-size:.78rem;text-transform:uppercase;letter-spacing:1px;color:#7a7a6d;}
.tabela-agro thead th{background:var(--verde-escuro);color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.6px;}

/* ---------- Login ---------- */
.tela-login{
  min-height:100vh;display:flex;align-items:center;
  background:linear-gradient(rgba(10,25,15,.9),rgba(10,25,15,.95)),
             linear-gradient(135deg,var(--verde-mata),var(--preto));
}
.caixa-login{background:#fff;border-radius:12px;padding:34px;border-top:5px solid var(--dourado);}

/* ---------- Impressão ---------- */
@media print{
  .sem-impressao{display:none!important;}
  body{background:#fff;}
}

/* ---------- Acessibilidade / responsivo ---------- */
:focus-visible{outline:3px solid var(--dourado);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;}
}
@media (max-width:576px){
  .grade-numeros{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:5px;}
  .hero{padding:64px 0 56px;}
}
