.esa-message-form {
  margin: 0 0 2rem;
  padding: 2rem;
  border: 1px solid rgba(46, 82, 120, 0.3);
  border-radius: 0.65rem;
  background: #fff;
  color: #252a38;
}
.esa-message-form [hidden] { display: none !important; }
.esa-message-form .field { margin-bottom: 1.4rem; }
.esa-message-form label,
.esa-message-form legend { display: block; margin-bottom: 0.45rem; color: #172b4d; font-weight: 700; }
.esa-message-form input,
.esa-message-form select,
.esa-message-form textarea {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0.75rem;
  border: 2px solid #7893b2 !important;
  border-radius: 0.35rem;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: none !important;
}
.esa-message-form input::placeholder,
.esa-message-form textarea::placeholder { color: #626d7c !important; opacity: 1; }
.esa-message-form select option { background: #fff; color: #172033; }
.esa-message-form input:focus,
.esa-message-form select:focus,
.esa-message-form textarea:focus { border-color: #1268bd !important; box-shadow: 0 0 0 3px rgba(18,104,189,.2) !important; outline: none; }
.esa-message-form small { display: block; margin-top: 0.45rem; color: #4d5868; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.travel-fields { margin: 0 0 1.6rem; padding: 1.4rem; border: 1px solid rgba(30,92,158,.28); border-radius: .65rem; background: rgba(30,92,158,.06); }
.consent-field { display: flex; align-items: flex-start; gap: .75rem; margin: 0 0 1.5rem; }
.consent-field input[type="checkbox"] { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin-top: .15rem; appearance: auto; opacity: 1; }
.consent-field label { margin: 0; color: #172b4d; }
.security-field { padding: 1.25rem; border: 1px solid #bfd0e2; border-radius: .65rem; background: #edf5fc; }
.security-row { display: grid; grid-template-columns: minmax(7rem,.3fr) auto; gap: .85rem; align-items: center; }
.message-button { min-height: 2.8rem; padding: .65rem 1.2rem; border: 0; border-radius: .35rem; cursor: pointer; font-weight: 700; }
.message-button.primary { background: #478ac9; color: #fff; }
.message-button.secondary { background: #dde9f5; color: #172b4d; }
.message-button:disabled { cursor: wait; opacity: .65; }
.message-actions { margin: 1rem 0; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-feedback { min-height: 1.6rem; margin: 0; font-weight: 700; }
.form-feedback.success { color: #176b37; }
.form-feedback.error { color: #a4001b; }
@media (max-width: 736px) {
  .esa-message-form { padding: 1.25rem; }
  .form-grid,.security-row { grid-template-columns: 1fr; }
  .message-button { width: 100%; }
}
