/* Reset e estilos básicos */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Segoe UI", Arial, sans-serif;
}

/* Layout principal com flexbox */
html, body {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  color: #333;
}

/* O conteúdo principal cresce e empurra o rodapé */
main {
  flex: 1;
}

/* Cabeçalho */
header {
  background-color: #ffffff;
  color: #000000;
  padding: 15px 0;
}

header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}

.logo {
  height: 50px;
}

nav a {
  color: #000000;
  margin-left: 20px;
  text-decoration: none;
  font-weight: 500;
  transition: opacity 0.3s;
}

nav a:hover {
  opacity: 0.8;
}

/* Banner */
.banner {
  background: url('banner.jpg') center/cover no-repeat;
  background-color: #e6e6e6;
  color: #fff;
  text-align: center;
  padding: 120px 20px;
  position: relative;
  min-height: 372px;
}

.banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.15);
}

.banner-texto {
  position: relative;
  z-index: 1;
}

.banner h1 {
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.banner p {
  font-size: 1.2rem;
  margin-bottom: 10px;
}

.botao {
  background-color: #ffcc00;
  color: #1b582c;
  padding: 12px 25px;
  text-decoration: none;
  border-radius: 25px;
  font-weight: bold;
  transition: background 0.3s;
}

.botao:hover {
  background-color: #ffd633;
}

/* Seção Sobre */
.sobre {
  padding: 20px 20px;
  text-align: center;
}

.sobre .container {
  max-width: 900px;
  margin: auto;
}

.sobre h2 {
  color: #1b582c;
  margin-bottom: 10px;
}

.sobre h3{
  color: #f15523;
  margin-bottom: 10px;
  margin-top: 20px;
  font-size: 16px;
}
/* Rodapé */
footer {
  background-color: #1b582c;
  color: #fff;
  text-align: center;
  padding: 25px 10px;
  font-size: 0.9rem;
  margin-top: auto;
}
footer .container{
  max-width: 1024px;
  text-align: left;
  margin: auto;
}

footer p {
  margin: 5px 0;
}

/* Responsividade */
@media (max-width: 768px) {
  header .container {
    flex-direction: column;
  }

  nav {
    margin-top: 10px;
  }

  .banner h1 {
    font-size: 2rem;
  }

  .banner p {
    font-size: 1rem;
  }
}
