.contact-page { padding: 48px 20px 56px; }
.contact-page-grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 40px;
  align-items: start;
}
.contact-form-wrap h2,
.contact-sidebar h2 {
  font-size: 1.2rem;
  color: var(--azul);
  margin-bottom: 12px;
}
.form-channel-notice {
  background: #e8f8f0;
  border: 1px solid #25d366;
  border-radius: var(--r-sm);
  padding: 14px 16px;
  margin-bottom: 16px;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--azul);
}
.form-channel-notice p { margin: 0 0 6px; }
.form-channel-notice p:last-child { margin-bottom: 0; }
.form-channel-notice strong { color: #0d6b60; }

.form-submit-hint {
  font-size: .85rem;
  color: var(--texto-sub);
  text-align: center;
  margin: 0;
  line-height: 1.45;
}

.form-note, .form-hint, .form-alt {
  font-size: .88rem;
  color: var(--texto-sub);
  margin-bottom: 16px;
  line-height: 1.5;
}
.form-alt { margin-top: 20px; margin-bottom: 0; }
.form-alt a { color: var(--azul-claro); font-weight: 600; }

.contact-form { display: flex; flex-direction: column; gap: 16px; }
.form-row { display: flex; flex-direction: column; gap: 6px; }
.form-row label { font-size: .9rem; font-weight: 600; color: var(--azul); }
.form-row input,
.form-row select,
.form-row textarea {
  padding: 12px 14px;
  border: 1px solid var(--gris-borde);
  border-radius: var(--r-sm);
  font-size: 1rem;
  font-family: inherit;
  background: var(--blanco);
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
  outline: 2px solid rgba(37, 99, 168, .35);
  border-color: var(--azul-claro);
}
.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-row.error input,
.form-row.error select,
.form-row.error textarea {
  border-color: #c0392b;
}

.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.btn-submit {
  background: var(--azul);
  color: var(--blanco);
  border: none;
  padding: 14px 24px;
  border-radius: var(--r-md);
  font-weight: 700;
  font-size: 1rem;
  margin-top: 8px;
  transition: background .2s, opacity .2s;
}
.btn-submit:hover:not(:disabled) { background: var(--azul-claro); }
.btn-submit--whatsapp {
  background: #128c7e;
}
.btn-submit--whatsapp:hover:not(:disabled) { background: #0d6b60; }
.btn-submit:disabled { opacity: .55; cursor: not-allowed; }

.form-alert {
  padding: 14px 18px;
  border-radius: var(--r-sm);
  margin-bottom: 16px;
  font-size: .93rem;
  line-height: 1.5;
}
.form-alert.ok {
  background: #f0faf4;
  border: 1px solid #b7e4c7;
  color: #1a6b3a;
}
.form-alert.err {
  background: #fef2f2;
  border: 1px solid #f5c6c6;
  color: #922b21;
}

.contact-sidebar {
  background: var(--gris-bg);
  border: 1px solid var(--gris-borde);
  border-radius: var(--r-md);
  padding: 24px;
  font-size: .93rem;
  line-height: 1.65;
  color: var(--texto-sub);
}
.contact-sidebar p { margin-bottom: 12px; }
.contact-sidebar a { color: var(--azul-claro); font-weight: 600; }

.turnstile-row { min-height: 65px; }

@media (max-width: 768px) {
  .contact-page-grid { grid-template-columns: 1fr; }
  .form-row-2 { grid-template-columns: 1fr; }
}
