/* Contact page */
.contact-main{
  min-height: 100vh; /* não força 150vh, deixa natural */
  display: flex;
  justify-content: center;
  align-items: flex-start; /* conteúdo começa de cima */
  padding: 6rem 1rem;
  background: var(--bg);
}

.contact-wrapper{
  width: 100%;
  max-width: 800px;
}

.contact-title{
  text-align: center;
  font-family: var(--ff-head);
  font-size: clamp(2rem, 5vw, 3rem);
  margin-bottom: 2rem;
  color: var(--brand);
}

.contact-box{
  background: var(--card);
  padding: 2rem;
  border-radius: var(--r);
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

.contact-box p{
  color: var(--muted);
  margin-bottom: 2rem;
}

.contact-form .form-group{
  text-align: left;
  margin-bottom: 1.25rem;
}
.contact-form label{
  display: block;
  margin-bottom: .5rem;
  font-weight: 600;
  font-size: .95rem;
  color: var(--text);
}
.contact-form input,
.contact-form textarea{
  width: 100%;
  padding: .75rem 1rem;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r);
  background: #0b1633;
  color: var(--text);
  font-family: var(--ff-body);
  font-size: 1rem;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline: none;
  border-color: var(--brand);
}

.contact-form button{
  margin-top: 1rem;
  background: var(--brand-gradient);
  color: var(--text);
  font-family: var(--ff-body);
  font-size: medium;
  border: none;
  cursor: pointer;
}

#form-feedback {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: var(--r);
  font-weight: bold;
  text-align: center;
}
#form-feedback.success { background: #2ecc71; color: white; }
#form-feedback.error   { background: #e74c3c; color: white; }
.hidden { display: none; }