/* =============================
   EternoAmparo – main.css (clean)
   Paleta clara com destaque azul
   ============================= */
:root{
  --brand:#2563eb;            /* azul de ação */
  --brand-600:#1d4ed8;
  --brand-700:#1e40af;
  --gold:#E0B74A;             /* pode usar em badges */
  --bg:#f8fafc;               /* fundo claro */
  --card:#ffffff;             /* cartões/boxes */
  --text:#0f172a;             /* texto principal (slate-900) */
  --muted:#475569;            /* texto secundário (slate-600) */
  --line:#e2e8f0;             /* linhas/bordas (slate-200) */
  --chip:#0b1220;             /* chip escuro p/ contraste */
  --success:#16a34a;
  --warning:#f59e0b;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}

.container{max-width:1100px;margin:0 auto;padding:24px}

/* ================= Hero ================= */
.hero{
  background:
    linear-gradient(180deg, rgba(255,255,255,.75) 0%, rgba(255,255,255,.95) 60%),
    url('assets/img/hero.jpg') center/cover no-repeat;
  border-bottom:1px solid var(--line);
}
.slogan,
.badge{
  display:inline-block;
  background:#eef2ff;                /* azul bem claro */
  border:1px solid #c7d2fe;
  color:var(--brand-700);
  padding:6px 12px;
  border-radius:999px;
  font-weight:600;
  font-size:14px;
  letter-spacing:.2px
}
h1{font-size:44px;line-height:1.1;margin:14px 0 8px;font-weight:800}
.sub{color:var(--muted);max-width:820px;font-size:18px}

/* KPIs compactos */
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.kpi,.para{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px
}
.kpi .v{font-size:22px;font-weight:800;color:var(--brand-700)}
.muted{color:var(--muted);font-size:.95em}

/* ================= Botões ================= */
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.btn{
  padding:12px 18px;border-radius:12px;border:1px solid var(--line);
  font-weight:700;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--text)
}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(2,6,23,.06)}
.btn-primary{background:var(--brand);color:#fff;border-color:transparent}
.btn-primary:hover{background:var(--brand-600)}
.btn-ghost{background:transparent}
.btn-ghost:hover{background:#f1f5f9}
.btn-group{border-color:#c7d2fe;background:#eef2ff;color:var(--brand-700)}
.btn-group:hover{background:#e0e7ff}

/* ================= Cards / Grades ================= */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
.card h3{margin:6px 0 8px;font-size:18px}

/* ================= Boxes e elementos gerais ================= */
.box{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
.section{padding:36px 0;border-top:1px solid var(--line);background:transparent}
.footer{padding:26px 0;color:var(--muted);text-align:center;border-top:1px solid var(--line);background:#ffffff}

/* Inputs */
.label{display:block;margin-bottom:6px;color:var(--muted);font-size:14px}
.input,.select{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 14px;
  color:var(--text);
  outline:none
}
.input:focus{border-color:#93c5fd; box-shadow:0 0 0 3px rgba(147,197,253,.35)}

/* Tabela */
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}
.table th{color:var(--muted);font-weight:600}

/* Avisos */
.notice{
  background:#fff7ed;
  border:1px dashed #fdba74;
  padding:12px;border-radius:12px;color:#9a3412
}

/* Contador */
.countdown{display:flex;gap:10px;margin-top:12px}
.cd-item{
  background:#ffffff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;
  text-align:center;min-width:70px;box-shadow:0 3px 10px rgba(2,6,23,.04)
}
.cd-item .num{font-size:24px;font-weight:800;color:var(--brand-700)}

/* Top 3 (animação suave) */
.top3-wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.top3-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;width:250px;text-align:center;
  box-shadow:0 8px 24px rgba(2,6,23,.06);transform:translateY(18px);opacity:0;animation:fadeUp .7s ease forwards;
}
.top3-card .pos{font-size:14px;color:var(--muted)}
.top3-card .name{font-size:20px;font-weight:700;margin-top:8px;color:var(--brand-700)}
.top3-card .val{font-size:18px;margin-top:8px;color:var(--text)}
.top3-title{text-align:center;margin-bottom:12px;color:var(--brand-700)}
.no-data{color:var(--muted)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Chips/Badges auxiliares */
.badge-em-breve{
  background:#f1f5f9;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:.75rem;
  padding:2px 8px;border-radius:999px;margin-left:6px
}

/* Utilitários */
.mt-10{margin-top:10px}
.mt-14{margin-top:14px}
.mb-14{margin-bottom:14px}
.mt-16{margin-top:16px}

/* Responsivo */
@media (max-width: 1024px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
}
@media (prefers-color-scheme: dark){
  /* fallback dark elegante (opcional) */
  :root{
    --bg:#0b1220;
    --card:#0f172a;
    --text:#e5e7eb;
    --muted:#94a3b8;
    --line:#1f2a3b;
    --brand:#3b82f6; --brand-600:#2563eb; --brand-700:#1d4ed8;
  }
  .hero{
    background:
      linear-gradient(180deg, rgba(11,18,32,.65) 0%, rgba(11,18,32,.92) 60%),
      url('assets/img/hero.jpg') center/cover no-repeat;
    border-bottom:1px solid var(--line);
  }
  .btn{background:#111827;color:#e5e7eb;border-color:var(--line)}
  .btn:hover{box-shadow:0 8px 20px rgba(0,0,0,.35)}
  .btn-group{background:#0b1220;border-color:#1e293b;color:#c7d2fe}
}