/* ===== Reset basico ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===== Variaveis de cor ===== */
:root {
  --cor-fundo: #0f1115;
  --cor-superficie: #1a1d24;
  --cor-borda: #2a2e37;
  --cor-texto: #e8e8ea;
  --cor-texto-fraco: #9a9aa3;
  --cor-destaque: #22c55e;
}

/* ===== Body ===== */
body {
  background-color: var(--cor-fundo);
  color: var(--cor-texto);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.6;
}

html {
  scroll-behavior: smooth;
}

/* ===== Scrollbar (Firefox) ===== */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--cor-destaque) var(--cor-fundo);
}

/* ===== Scrollbar (Chrome, Edge, Safari) ===== */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: var(--cor-fundo);
}

::-webkit-scrollbar-thumb {
  background: var(--cor-borda);
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--cor-destaque);
}

/* ===== Navbar ===== */
nav {
  background-color: var(--cor-superficie);
  border-bottom: 1px solid var(--cor-borda);
  position: sticky;
  top: 0;
  z-index: 100;
}

nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 15px;
  gap: 10px;
}

nav ul li a {
  color: var(--cor-texto-fraco);
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  transition: color 0.2s, background-color 0.2s;
}

nav ul li a:hover {
  color: var(--cor-texto);
  background-color: var(--cor-borda);
}

/* ===== Hero ===== */
.hero {
  text-align: center;
  padding: 100px 20px;
  border-bottom: 1px solid var(--cor-borda);
}

.hero h1 {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.hero h1 span {
  color: var(--cor-destaque);
}

.hero p {
  font-size: 18px;
  color: var(--cor-texto-fraco);
  max-width: 600px;
  margin: 0 auto 30px;
}

.botoes {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: background-color 0.2s, color 0.2s;
}

.btn-primario {
  background-color: var(--cor-destaque);
  color: #0f1115;
}

.btn-primario:hover {
  background-color: #16a34a;
}

.btn-secundario {
  background-color: transparent;
  color: var(--cor-texto);
  border: 1px solid var(--cor-borda);
}

.btn-secundario:hover {
  background-color: var(--cor-superficie);
}

/* ===== Secoes ===== */
section {
  max-width: 1000px;
  margin: 0 auto;
  padding: 80px 20px;
}

section h2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--cor-destaque);
}

section p {
  margin-bottom: 15px;
  color: var(--cor-texto-fraco);
  font-size: 16px;
}

section p strong {
  color: var(--cor-texto);
}

/* Subtitulo logo abaixo do h2 */
.subtitulo-secao {
  font-size: 17px;
  color: var(--cor-texto-fraco);
  margin-bottom: 36px;
  max-width: 820px;
  line-height: 1.65;
}

/* Subtitulos h3 dentro de uma secao */
.subtitulo {
  font-size: 22px;
  font-weight: 600;
  color: var(--cor-texto);
  margin-top: 50px;
  margin-bottom: 20px;
}

/* Faixa alternada para dar ritmo visual */
.secao-alternada {
  background-color: rgba(34, 197, 94, 0.025);
  max-width: none;
  padding: 80px 20px;
  border-top: 1px solid var(--cor-borda);
  border-bottom: 1px solid var(--cor-borda);
}

.secao-alternada > h2,
.secao-alternada > p,
.secao-alternada > h3,
.secao-alternada > .subtitulo-secao,
.secao-alternada > .estatisticas,
.secao-alternada > .cards,
.secao-alternada > .tabela-wrapper,
.secao-alternada > .callout {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

/* Caixa de destaque (callout) */
.callout {
  background-color: var(--cor-superficie);
  border-left: 3px solid var(--cor-destaque);
  border-radius: 6px;
  padding: 28px 32px;
  margin-top: 36px;
  margin-bottom: 8px;
}

.callout h3 {
  color: var(--cor-destaque);
  font-size: 18px;
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.callout p {
  color: var(--cor-texto-fraco);
  font-size: 15px;
  margin-bottom: 12px;
  line-height: 1.7;
}

.callout p:last-child {
  margin-bottom: 0;
}

.callout p strong {
  color: var(--cor-texto);
}

.callout .citacao {
  border-left: 2px solid var(--cor-borda);
  padding-left: 16px;
  font-style: italic;
  color: var(--cor-texto);
}

/* Lista de acoes dentro do callout */
.lista-acoes {
  list-style: none;
  padding: 0;
  margin-top: 8px;
}

.lista-acoes li {
  color: var(--cor-texto-fraco);
  font-size: 15px;
  padding: 8px 0 8px 24px;
  position: relative;
  line-height: 1.6;
}

.lista-acoes li::before {
  content: "→";
  color: var(--cor-destaque);
  position: absolute;
  left: 0;
  font-weight: bold;
}

/* Variante de card com destaque (linha lateral) */
.card-destaque {
  border-left: 3px solid var(--cor-destaque);
}

/* Tabela comparativa */
.tabela-wrapper {
  overflow-x: auto;
  margin: 20px 0 40px;
  border: 1px solid var(--cor-borda);
  border-radius: 8px;
}

.tabela-comparativa {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--cor-superficie);
  font-size: 14px;
}

.tabela-comparativa thead {
  background-color: rgba(34, 197, 94, 0.08);
}

.tabela-comparativa th {
  text-align: left;
  padding: 14px 16px;
  color: var(--cor-destaque);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  border-bottom: 1px solid var(--cor-borda);
}

.tabela-comparativa td {
  padding: 14px 16px;
  color: var(--cor-texto-fraco);
  border-bottom: 1px solid var(--cor-borda);
}

.tabela-comparativa tbody tr:last-child td {
  border-bottom: none;
}

.tabela-comparativa tbody tr:hover {
  background-color: rgba(34, 197, 94, 0.04);
}

.tabela-comparativa td strong {
  color: var(--cor-destaque);
}

/* Inline code */
code {
  font-family: ui-monospace, "Menlo", "Consolas", monospace;
  background-color: var(--cor-borda);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.88em;
  color: var(--cor-texto);
}

/* ===== Estatisticas ===== */
.estatisticas {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.estatistica h3 {
  white-space: nowrap;
}

.estatistica {
  background-color: var(--cor-superficie);
  border: 1px solid var(--cor-borda);
  border-radius: 8px;
  padding: 30px 20px;
  text-align: center;
}

.estatistica h3 {
  font-size: 36px;
  color: var(--cor-destaque);
  margin-bottom: 10px;
}

.estatistica p {
  color: var(--cor-texto-fraco);
  font-size: 14px;
  margin: 0;
}

/* ===== Cards ===== */
.cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.card {
  background-color: var(--cor-superficie);
  border: 1px solid var(--cor-borda);
  border-radius: 8px;
  padding: 30px;
  transition: border-color 0.2s;
}

.card:hover {
  border-color: var(--cor-destaque);
}

.card h3 {
  font-size: 20px;
  margin-bottom: 15px;
  color: var(--cor-texto);
}

.card p {
  color: var(--cor-texto-fraco);
  font-size: 15px;
  margin-bottom: 12px;
  line-height: 1.6;
}

.card p:last-child {
  margin-bottom: 0;
}

.card ul {
  list-style: none;
  padding: 0;
  margin-top: 4px;
}

.card ul + p {
  margin-top: 14px;
}

.card ul li strong {
  color: var(--cor-texto);
}

.card ul li {
  color: var(--cor-texto-fraco);
  font-size: 15px;
  padding: 6px 0 6px 20px;
  position: relative;
}

.card ul li::before {
  content: "•";
  color: var(--cor-destaque);
  position: absolute;
  left: 0;
  font-weight: bold;
}

/* ===== Footer / Bibliografia ===== */
footer {
  background-color: var(--cor-superficie);
  border-top: 1px solid var(--cor-borda);
  padding: 60px 20px 30px;
  margin-top: 40px;
}

.footer-conteudo {
  max-width: 1000px;
  margin: 0 auto;
}

footer h2 {
  font-size: 24px;
  color: var(--cor-destaque);
  margin-bottom: 20px;
}

footer .referencia {
  color: var(--cor-texto-fraco);
  font-size: 14px;
  margin-bottom: 12px;
  padding-left: 15px;
  border-left: 2px solid var(--cor-borda);
  word-break: break-word;
}

footer .referencia strong {
  color: var(--cor-texto);
}

footer .creditos {
  text-align: center;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid var(--cor-borda);
  color: var(--cor-texto-fraco);
  font-size: 13px;
}

/* ===== Pagina de Autores ===== */
.autores {
  max-width: 900px;
  margin: 0 auto;
  padding: 80px 20px;
  text-align: center;
}

.autores h1 {
  font-size: 40px;
  margin-bottom: 10px;
  color: var(--cor-destaque);
}

.autores .descricao {
  color: var(--cor-texto-fraco);
  margin-bottom: 40px;
}

.lista-autores {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

.autor {
  background-color: var(--cor-superficie);
  border: 1px solid var(--cor-borda);
  border-radius: 8px;
  padding: 25px;
  text-align: center;
  transition: border-color 0.2s;
}

.autor:hover {
  border-color: var(--cor-destaque);
}

.autor h3 {
  font-size: 18px;
  margin-bottom: 8px;
}

.autor p {
  color: var(--cor-texto-fraco);
  font-size: 14px;
  font-family: monospace;
}

.voltar {
  display: inline-block;
  color: var(--cor-destaque);
  text-decoration: none;
  font-size: 15px;
  padding: 10px 20px;
  border: 1px solid var(--cor-destaque);
  border-radius: 6px;
  transition: background-color 0.2s, color 0.2s;
}

.voltar:hover {
  background-color: var(--cor-destaque);
  color: #0f1115;
}

/* ===== Responsivo ===== */
@media (max-width: 1024px) {
  .estatisticas {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .hero h1 {
    font-size: 32px;
  }

  .hero p {
    font-size: 16px;
  }

  section h2 {
    font-size: 24px;
  }

  .subtitulo-secao {
    font-size: 15px;
  }

  .subtitulo {
    font-size: 19px;
  }

  .estatisticas {
    grid-template-columns: repeat(2, 1fr);
  }

  .estatistica h3 {
    font-size: 28px;
  }

  .cards {
    grid-template-columns: 1fr;
  }

  .lista-autores {
    grid-template-columns: 1fr;
  }

  .callout {
    padding: 22px 20px;
  }

  .tabela-comparativa {
    font-size: 13px;
  }

  .tabela-comparativa th,
  .tabela-comparativa td {
    padding: 10px 12px;
  }

  nav ul {
    padding: 12px;
    gap: 4px;
  }

  nav ul li a {
    padding: 6px 10px;
    font-size: 13px;
  }
}
