/* ── Contact page ── */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 4rem;
  align-items: start;
}
.contact-info h2 { margin-bottom: 1rem; }
.contact-info p  { margin-bottom: 2rem; }
.contact-detail {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: .75rem;
  font-size: .9rem;
}
.contact-detail-icon { font-size: 1.1rem; }
.contact-detail-label { font-size: .75rem; color: var(--secondary); display: block; margin-bottom: .1rem; }
.contact-detail-value { color: var(--primary); font-weight: 500; }

.contact-form-wrap {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 2.5rem;
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

/* Honeypot anti-spam — invisível para humanos, visível para bots que preenchem tudo */
.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-feedback {
  display: none;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 500;
  margin-bottom: 1.25rem;
}
.form-feedback.success { display: block; background: rgba(52,211,153,.1); color: #34d399; border: 1px solid rgba(52,211,153,.25); }
.form-feedback.error   { display: block; background: rgba(239,68,68,.1);  color: #f87171; border: 1px solid rgba(239,68,68,.25); }

@media (max-width: 768px) {
  .contact-grid { grid-template-columns: 1fr; }
  .form-row     { grid-template-columns: 1fr; }
  .contact-form-wrap { padding: 1.5rem; }
}
