/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Corpo */
body {
  font-family: 'Poppins', sans-serif;
  background: linear-gradient(135deg, #2a2a2a, #4a0080); /* Degradê entre roxo e cinza */
  color: #00ffc6;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
  padding: 20px;
}

/* Container */
.container {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid #00ffc6;
  border-radius: 12px;
  box-shadow: 0 0 15px #00ffc6b0;
  padding: 20px;
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  backdrop-filter: blur(10px);
}

/* Títulos */
h1 {
  text-align: center;
  margin-bottom: 20px;
  color: #00ffc6;
  text-shadow: 0 0 10px #00ffc6, 0 0 15px #800080;
}

h2 {
  margin-top: 20px;
  text-align: center;
  color: #ffffff;
}

/* Parágrafos */
p {
  text-align: center;
  margin-bottom: 20px;
  font-size: 1rem;
  color: #ccc;
}

/* Inputs */
input[type="text"] {
  width: 100%;
  padding: 12px;
  margin: 10px 0;
  background-color: #222;
  border: 1px solid #00ffc6;
  color: #00ffc6;
  font-size: 1rem;
  border-radius: 6px;
  outline: none;
}

/* Botões */
button {
  width: 100%;
  padding: 14px;
  background: linear-gradient(90deg, #00ffc6, #800080); /* Verde para roxo */
  color: #000;
  font-weight: bold;
  font-size: 1.1rem;
  border: none;
  border-radius: 6px;
  margin-top: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
}

button:hover {
  transform: scale(1.02);
  box-shadow: 0 0 12px #00ffc6, 0 0 20px #800080;
}

button:active {
  transform: scale(0.97);
}

/* Botão Reset */
#resetBtn {
  background: linear-gradient(90deg, #00aaff, #800080); /* Roxo e azul claro */
  color: white;
}

#resetBtn:hover {
  box-shadow: 0 0 10px #00aaff, 0 0 20px #800080;
}

/* Resultado */
#result {
  text-align: center;
  margin-top: 20px;
  font-size: 1.1rem;
  font-weight: bold;
  color: #ffffff;
  background-color: #1a1a1a;
  padding: 12px;
  border-radius: 8px;
  border: 1px dashed #00ffc6;
  word-wrap: break-word;
}

/* Mapa */
#map {
  height: 400px;
  width: 100%;
  margin-top: 20px;
  border-radius: 12px;
  border: 1px solid #00ffc6;
  box-shadow: 0 0 10px #00ffc6a3;
}

/* Rodapé futurista */
footer {
  text-align: center;
  padding: 12px 0;
  background: transparent;
  font-size: 0.9rem;
  color: #00ffc6;
  border-top: 1px solid #00ffc655;
  margin-top: 40px;
}

footer a {
  color: #00ffc6;
  text-decoration: none;
  font-weight: 500;
}

footer a:hover {
  color: #ffffff;
}

/* Responsivo */
@media (max-width: 600px) {
  .container {
    padding: 15px;
  }

  h1 {
    font-size: 1.5rem;
  }

  input[type="text"], button {
    font-size: 1rem;
  }

  #map {
    height: 300px;
  }
}

@media (min-width: 900px) {
  .container {
    max-width: 800px;
  }
}
