.contact-container {
  max-width: 600px;
  margin: 0 auto;
  padding: 2rem;
}

.contact-header {
  text-align: center;
  margin-bottom: 3rem;
}

.contact-title {
  font-size: 2.5rem;
  color: white !important;
  margin-bottom: 1rem;
}

.contact-description {
  color: white;
  font-size: 1.1rem;
}

.modern-form {
  background: #fff;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  margin-top: 2rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.input-group {
  position: relative;
  margin-bottom: 1.5rem;
}

.input-group input,
.input-group textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  background: transparent;
  transition: all 0.3s;
}

.input-group textarea {
  min-height: 120px;
  resize: vertical;
}

.input-group label {
  position: absolute;
  left: 12px;
  top: 12px;
  color: #666;
  font-size: 16px;
  transition: all 0.3s;
  pointer-events: none;
}

.input-group input:focus ~ label,
.input-group input:valid ~ label,
.input-group textarea:focus ~ label,
.input-group textarea:valid ~ label {
  top: -20px;
  left: 0;
  font-size: 14px;
  color: #d4af37;
}

.submit-button {
  width: 100%;
  padding: 14px;
  background: #d4af37;
  color: rgb(19, 19, 19);
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
}

.submit-button:hover {
  background: #c4a030;
  transform: translateY(-1px);
}

.alert-message {
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 6px;
  display: none;
}

.alert-message.success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
  display: block;
}

.alert-message.error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  display: block;
}

/* ...resto de estilos existentes... */
