html,
body {
  min-height: 100dvh;
}

* {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  background-color: #242423;
}

main {
  display: flex;
  background-color: #333533;
  border-radius: 10px;
  flex-direction: column;
  margin: auto;
  width: min(700px, 90%);
  padding: 20px 20px 0 20px;
}

h1 {
  font-family: "Martian Mono", monospace;
  color: #f5cb5c;
  text-align: center;
}

p {
  font-family: "Martian Mono", monospace;
  color: #f5cb5c;
}

section {
  width: 100%;
}

form {
  color: #f5cb5c;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 20px;
}

#button {
  background-color: #f5cb5c;
  color: #e8eddf;
  border-radius: 25px;
  height: 40px;
  margin-top: 20px;
  font-family: "Martian Mono", monospace;
  border: none;
  cursor: pointer;
}

.obrigatorio {
  color: red;
}

label {
  margin: 15px 0 5px 0;
  font-family: "Martian Mono", monospace;
  color: #f5cb5c;
}

input {
  border-radius: 20px;
  font-family: "Martian Mono", monospace;
  width: 100%;
  padding: 8px;
  font-size: 1rem;
  background-color: #e8eddf;
  border: #f5cb5c solid 3px;
}

input[type="date"] {
  color: #888; /* mesma cor do placeholder */
}

.input-senha {
  position: relative;
}

.input-senha input {
  width: 100%;
}

.input-senha button {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  margin: 0;
  height: auto;
  padding: 0;
}

p {
  text-align: center;
}

#aviso {
  text-decoration: underline;
}

.grupo-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
}

.grupo-check input {
  width: auto;
  margin: 0;
  cursor: pointer;
}

.grupo-check label {
  margin: 0;
}

a {
  color: #e8eddf;
}

#button:hover {
  background-color: #e0b84e;
  transition: 0.3s;
}

footer {
  background-color: #242423;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
}

#nav1 {
  margin-right: 20px;
  display: flex;
  gap: 15px;
  font-family: "Martian Mono", monospace;
  font-size: clamp(1rem, 2.5vw, 1.5rem);
}

#nav1 a {
  text-decoration: none;
  color: #edf2ff;
  padding: 4px;
  text-shadow: #0c0c0c 1px 1px 2px;
}

#nav1 a:hover {
  background-color: #edf2ff;
  border-radius: 5px;
  color: #242423;
  transition: 0.5s;
}