/* =========================================================
   EDUCAR 2027 — CONTEÚDO DA PÁGINA DE PROJETO
   Escopo exclusivo: SOBRE, INFORMAÇÕES, ATIVIDADES e GALERIA
   Cabeçalho, banner, menu e rodapé permanecem no CSS geral.
   ========================================================= */

/* Tokens locais com fallback para o CSS geral */
#sobre,
#info,
#atividades,
#galeria {
  --projeto-marinho: var(--azul-marinho, #0b2545);
  --projeto-petroleo: var(--azul-petroleo, #10616e);
  --projeto-branco: var(--branco, #ffffff);
  --projeto-cinza: var(--cinza-claro, #f1f4f6);
  --projeto-texto: var(--texto, #344054);
  --projeto-borda: var(--cinza-linha, #dce3e9);
}

/* Container consistente nas quatro seções.
   Não altera o container do banner nem do restante do site. */
#sobre .container,
#info .container,
#atividades .container,
#galeria .container {
  width: min(100% - 2rem, 1200px);
  margin-inline: auto;
}

/* =========================================================
   SOBRE — proposta pedagógica
   ========================================================= */

#sobre.section-conteudo {
  padding: 4rem 0;
  background: var(--projeto-branco);
  color: var(--projeto-marinho);
}

#sobre p {
  max-width: 850px;
  margin: 0 auto;
  color: var(--projeto-texto);
  font-size: 1.05rem;
  line-height: 1.8;
  text-align: left;
}

#sobre p strong {
  color: var(--projeto-petroleo);
  font-weight: 700;
}

/* =========================================================
   INFORMAÇÕES — objetivos e temas
   O HTML usa class="section-conteudo", não class="section".
   ========================================================= */

#info.section-conteudo {
  padding: 4rem 0;
  background: var(--projeto-cinza);
}

#info .cards-grid-2-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1.5rem;
}

#info .card {
  min-width: 0;
  padding: 1.75rem;
  background: var(--projeto-branco);
  border: 1px solid var(--projeto-borda);
  border-radius: 12px;
  box-shadow: 0 5px 18px rgb(11 37 69 / 6%);
}

#info .card-icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  border-radius: 9px;
  background: var(--projeto-petroleo);
  color: #fff;
  font-size: 1.25rem;
}

#info .card h3 {
  margin: 0 0 1rem;
  color: var(--projeto-marinho);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
}

#info .card ul {
  margin: 0;
  padding-left: 1.25rem;
}

#info .card li {
  margin: 0 0 0.65rem;
  color: var(--projeto-texto);
  font-size: 0.98rem;
  line-height: 1.65;
}

#info .card li:last-child {
  margin-bottom: 0;
}

#info .temas-resumo,
#info .areas-resumo {
  margin: 0 0 1rem;
  color: var(--projeto-texto);
  font-size: 0.98rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

#info .areas-resumo {
  margin-bottom: 0;
}

#info .areas-resumo strong {
  color: var(--projeto-marinho);
}

/* =========================================================
   ATIVIDADES — chamada para ação
   ========================================================= */

#atividades.section {
  padding: 3.75rem 0;
  background: var(--projeto-cinza);
  text-align: center;
}

#atividades .container > p {
  max-width: 800px;
  margin: 0 auto 1.75rem;
  color: var(--projeto-texto);
  font-size: 1rem;
  line-height: 1.8;
  text-align: center;
}

#atividades .cta-buttons-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.875rem;
}

#atividades .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 46px;
  padding: 0.75rem 1.25rem;
  border: 2px solid transparent;
  border-radius: 7px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease,
              border-color 0.2s ease;
}

#atividades .btn-primario {
  background: var(--projeto-marinho);
  color: #fff;
}

#atividades .btn-primario:hover {
  background: var(--projeto-petroleo);
  color: #fff;
}

#atividades .btn-secundario {
  background: var(--projeto-branco);
  color: var(--projeto-marinho);
  border-color: var(--projeto-marinho);
}

#atividades .btn-secundario:hover {
  background: var(--projeto-marinho);
  color: #fff;
}

#atividades .btn:focus-visible {
  outline: 3px solid var(--projeto-petroleo);
  outline-offset: 3px;
}

/* =========================================================
   GALERIA — imagens do projeto
   ========================================================= */

#galeria.section-branco {
  padding: 3.75rem 0;
  background: var(--projeto-branco);
}

#galeria .cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

#galeria .card {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  background: var(--projeto-branco);
  border: 1px solid rgb(11 37 69 / 8%);
  border-radius: 8px;
  box-shadow: 0 4px 14px rgb(11 37 69 / 8%);
}

#galeria .card a {
  display: block;
  overflow: hidden;
  background: #e9eef2;
}

#galeria .card-image {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.25s ease;
}

#galeria .card a:hover .card-image {
  transform: scale(1.035);
}

#galeria .card a:focus-visible {
  outline: 3px solid var(--projeto-petroleo);
  outline-offset: -3px;
}

#galeria .cards-grid > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1.5rem;
  color: var(--projeto-texto);
  text-align: center;
}

/* =========================================================
   RESPONSIVIDADE
   ========================================================= */

@media (max-width: 900px) {
  #galeria .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #galeria .card-image {
    height: 230px;
  }
}

@media (max-width: 768px) {
  #sobre.section-conteudo,
  #info.section-conteudo,
  #atividades.section,
  #galeria.section-branco {
    padding: 2.75rem 0;
  }

  #sobre p {
    font-size: 1rem;
    line-height: 1.75;
  }

  #info .cards-grid-2-col {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  #info .card {
    padding: 1.5rem;
  }

  #atividades .container > p {
    margin-bottom: 1.5rem;
    text-align: left;
  }

  #atividades .cta-buttons-container {
    flex-direction: column;
    align-items: stretch;
  }

  #atividades .btn {
    width: 100%;
  }
}

@media (max-width: 600px) {
  #sobre .container,
  #info .container,
  #atividades .container,
  #galeria .container {
    width: min(100% - 1.5rem, 1200px);
  }

  #galeria .cards-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.875rem;
  }

  #galeria .card-image {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

/* =========================================================
   ACESSIBILIDADE — respeita preferência por menos movimento
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  #atividades .btn,
  #galeria .card-image {
    transition: none;
  }

  #galeria .card a:hover .card-image {
    transform: none;
  }
}
