/* ===== GLOBAL ===== */
* {
  box-sizing: border-box;
}

body, html {
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

/* ===== CALCULADORA ===== */
.page-title {
  text-align: center;
  margin-bottom: 20px;
}

.explain {
  text-align: center;
  margin-bottom: 20px;
}

.info-final {
  text-align: center;
  margin-bottom: 20px;
}

.calc-box {
  width: 100%;
  max-width: 900px;
  margin: 24px auto;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 14px;
  background: #fff;
}

.inputs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}

.input-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.input-group input,
.input-group select {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 8px;
}

.calc-btn {
  margin-top: 20px;
  width: 100%;
  height: 48px;
  font-size: 16px;
  font-weight: bold;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}

/* ===== RESULTADOS ===== */
.result {
  text-align: center;
  width: 100%;
  max-width: 900px;
  margin: 24px auto;
  padding: 20px;
  border-radius: 14px;
  border: 1px solid #ddd;
  background: #fff;
}
.result {
  width: 100%;
  max-width: 900px;
  margin: 24px auto;
  padding: 20px;
  border-radius: 14px;
  border: 1px solid #ddd;
  background: #fff;
  box-sizing: border-box;
  text-align: center; /* centraliza conteúdo */
}

.result table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

.result th,
.result td {
  padding: 8px;
  border: 1px solid #ddd;
  text-align: center;
}

.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* suaviza rolagem no mobile */
}

canvas {
  max-width: 100%;
  height: auto !important;
}

/* ===== ANÚNCIOS ===== */
.ad {
  width: 100%;
  max-width: 900px;
  min-height: 90px;
  margin: 30px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f2f2;
  color: #777;
  font-size: 14px;
  border-radius: 8px;
}

/* ===== CENTRALIZAÇÃO DE TEXTOS EDUCATIVOS ===== */
.explain, 
.info-final {
  text-align: center;        /* centraliza o conteúdo */
  max-width: 900px;          /* limita a largura para leitura confortável */
  margin: 20px auto;         /* centraliza horizontalmente e dá espaçamento vertical */
  padding: 10px;             /* leve padding para ficar bonito */
  line-height: 1.6;          /* melhora a leitura */
}

.explain ol, 
.info-final ul {
  text-align: left;          /* mantém listas alinhadas à esquerda dentro da seção centralizada */
  display: inline-block;     /* faz a lista respeitar a largura do max-width */
  padding-left: 20px;        /* deixa o recuo das listas */
}

.explain h2, 
.info-final h2 {
  text-align: center;        /* títulos centralizados */
  margin-bottom: 15px;       /* espaço abaixo do título */
}
.info-aplicacoes {
  text-align: center;
  max-width: 900px;
  margin: 24px auto;
  padding: 20px;
  background: #f7f7f7;
  border-radius: 12px;
  box-sizing: border-box;
}

.info-aplicacoes h2,
.info-aplicacoes h3 {
  margin-bottom: 12px;
}

.info-aplicacoes p {
  margin-bottom: 16px;
  line-height: 1.6;
}

.info-aplicacoes a {
  color: #111;
  text-decoration: underline;
}

/* ===== MOBILE ===== */
@media (max-width: 600px) {
  .calc-box {
    margin: 16px 10px;
    padding: 16px;
    width: calc(100% - 20px);
  }

  .inputs {
    grid-template-columns: 1fr; /* empilha inputs no mobile */
  }

  table {
    font-size: 13px;
  }

  .table-wrap {
    overflow-x: auto;
  }

  canvas {
    width: 100% !important;
    height: auto !important;
  }

  .ad {
    margin: 20px 10px;
    min-height: 60px;
  }
}
.ad {
  margin: 0 auto; /* centraliza horizontalmente */
}
#resultadoResumo {
  display: none;         /* inicialmente escondida */
  text-align: center;
  max-width: 900px;
  margin: 20px auto;
  padding: 20px;
  background: #fff;      /* fundo branco */
  border: 1px solid #ccc;
  border-radius: 12px;
  z-index: 10;           /* garante que fique acima de outros elementos */
}
/* Zera margens e padding padrão do navegador */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

/* Faz o rodapé ocupar toda a largura da tela */
footer {
  width: 100%;
  background-color: #111; /* ou a cor que você usa */
  color: #fff;
  padding: 20px;
  text-align: center;
}footer {
  width: 100vw;          /* garante largura total da tela */
  max-width: 100%;       /* evita limitar por algum max-width global */
  background-color: #111;/* fundo preto */
  color: #fff;
  padding: 20px;
  text-align: center;
  margin: 0;             /* remove margens */
  box-sizing: border-box;/* inclui padding na largura total */
}.footer-content {
  max-width: 900px;
  margin: 0 auto;  /* centraliza */
}header h1 a {
  text-decoration: none; /* remove sublinhado */
  color: #111;           /* cor do texto */
}

header h1 a:hover {
  color: #5bc0eb;        /* muda a cor quando passa o mouse, opcional */
}
header {
  display: flex;
  align-items: center;
  justify-content: center; /* centraliza o título */
  position: relative;      /* necessário para os elementos absolutos dentro */
  height: 60px;
  background-color: #111;
}

/* Título clicável */
header .site-title {
  margin: 0;
  font-size: 24px;
}

header .site-title a {
  color: #fff;
  text-decoration: none;
}

/* Menu hambúrguer */
header .menu {
  position: absolute;
  left: 10px;
  font-size: 28px;
  cursor: pointer;
}

/* Menu links */
.menu-links {
  display: none;
  position: absolute;
  top: 50px;
  left: 10px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  z-index: 1000;
  width: 220px;
}

.menu-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-links li {
  border-bottom: 1px solid #eee;
}

.menu-links li a {
  display: block;
  padding: 10px;
  color: #111;
  text-decoration: none;
}

.menu-links li a:hover {
  background-color: #f0f0f0;
}