/* Resetando estilos padrão */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Corpo da página */
body {
  font-family: 'Orbitron', sans-serif;
  color: white;
  line-height: 1.6;
  background: url('/images/imagem6.jpg') no-repeat center center fixed;
  background-size: cover; /* A imagem de fundo vai cobrir toda a tela */
}

/* Estilos do menu */
header {
  background: rgba(18, 18, 18, 0.8); /* fundo translúcido */
  padding: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo a {
  font-size: 1.8rem;
  color: #00fff9;
  text-decoration: none;
}

.menu {
  list-style: none;
  display: flex;
  gap: 2rem;
}

.menu li {
  position: relative;
}

.menu li a {
  color: #fff;
  text-decoration: none;
  padding: 0.5rem;
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.menu li a:hover {
  color: #00fff9;
}

/* Estilo do menu responsivo */
.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
}

.menu-toggle .bar {
  width: 25px;
  height: 3px;
  background-color: #fff;
  margin: 4px 0;
  transition: transform 0.3s ease;
}

/* Mostra o menu responsivo quando ativado */
.menu.active {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  background-color: #121212;
  padding: 1rem 0;
}

.menu-toggle.active .bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active .bar:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active .bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* Seção Home com imagem de capa */
#home {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url('/images/imagem1.jpg') no-repeat center center/cover;
  color: #00fff9;
  text-align: center;
}

.typewriter h1 {
  font-size: 3rem;
  color: white; /* Cor do texto */
  animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
  text-shadow: 
    2px 2px 4px rgba(0, 0, 0, 0.7), /* Sombra principal */
    0px 0px 25px rgba(0, 255, 255, 0.6); /* Efeito de luz suave ao redor */
}

@keyframes typing {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes blink-caret {
  from, to { border-color: transparent; }
  50% { border-color: orange; }
}

/* Seções do site */
main {
  padding-top: 100px; /* Ajusta o espaçamento para que o conteúdo não fique sobreposto ao menu */
}

.section {
  padding: 3rem 1.5rem;
  text-align: center;
}

.section-title h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.about-content p {
  font-size: 1.2rem;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.8;
}

/* Galeria */
.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.gallery-image {
  width: 300px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-image:hover {
  transform: scale(1.05);
  box-shadow: 0 0 25px rgba(0, 255, 255, 0.8);
}

/* Formulário de contato */
form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
  margin: 0 auto;
}

form input, form textarea, form button {
  padding: 1rem;
  border: none;
  background: #333;
  color: #fff;
  font-size: 1rem;
  border-radius: 8px;
}

form button {
  background-color: #00fff9;
  cursor: pointer;
}

form button:hover {
  background-color: #00b3b3;
}

/* Responsividade - Menu para telas pequenas */
@media (max-width: 768px) {
  .menu {
    display: none;
  }

  .menu-toggle {
    display: flex;
  }

  .menu.active {
    display: flex;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    text-align: center;
  }

  .menu li a {
    font-size: 1.5rem;
    padding: 1rem;
  }
}

/* Rodapé */
footer {
  background: #121212;
  color: #fff;
  text-align: center;
  padding: 1rem;
  margin-top: 2rem;
}
