/* Compact contact form — shared by every served site page.
   Selectors are written twice (#sgdrev-prefixed and plain) so the rule wins the
   cascade on pages that use the #sgdrev wrapper and on pages that don't. */

.ac-form#contact,
#sgdrev .ac-form#contact {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 24px 22px !important;
  box-sizing: border-box !important;
}

.ac-form#contact h3,
#sgdrev .ac-form#contact h3 {
  font-size: 26px !important;
  line-height: 1.15 !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.ac-form#contact .sub,
#sgdrev .ac-form#contact .sub {
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin-bottom: 18px !important;
}

.ac-form#contact .field,
#sgdrev .ac-form#contact .field {
  margin-bottom: 12px !important;
}

.ac-form#contact .field label,
#sgdrev .ac-form#contact .field label {
  font-size: 10px !important;
  letter-spacing: 0.22em !important;
  margin-bottom: 6px !important;
}

.ac-form#contact .field input,
.ac-form#contact .field select,
.ac-form#contact .field textarea,
#sgdrev .ac-form#contact .field input,
#sgdrev .ac-form#contact .field select,
#sgdrev .ac-form#contact .field textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 46px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 44px !important;
  border-radius: 6px !important;
}

.ac-form#contact .field select,
#sgdrev .ac-form#contact .field select {
  padding-right: 36px !important;
  background-position: right 12px center !important;
  background-size: 13px !important;
}

.ac-form#contact .field textarea,
#sgdrev .ac-form#contact .field textarea {
  height: auto !important;
  min-height: 84px !important;
  padding: 11px 14px !important;
  line-height: 1.5 !important;
}

/* Phone + email side by side while the card is wide enough. */
.ac-form#contact .field-row,
#sgdrev .ac-form#contact .field-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-bottom: 0 !important;
}

.ac-form#contact .field-row .field,
#sgdrev .ac-form#contact .field-row .field {
  margin-bottom: 12px !important;
}

.ac-form#contact .form-submit,
.ac-form#contact button[type="submit"],
#sgdrev .ac-form#contact .form-submit,
#sgdrev .ac-form#contact button[type="submit"] {
  height: 46px !important;
  padding: 0 24px !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  border-radius: 6px !important;
}

.ac-form#contact .form-status,
#sgdrev .ac-form#contact .form-status {
  margin-top: 12px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
}

@media (max-width: 768px) {
  .ac-form#contact,
  #sgdrev .ac-form#contact {
    padding: 20px 16px !important;
  }

  .ac-form#contact h3,
  #sgdrev .ac-form#contact h3 {
    font-size: 22px !important;
  }

  .ac-form#contact .field-row,
  #sgdrev .ac-form#contact .field-row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  /* Keep 16px so iOS doesn't zoom when a field is focused. */
  .ac-form#contact .field input,
  .ac-form#contact .field select,
  .ac-form#contact .field textarea,
  #sgdrev .ac-form#contact .field input,
  #sgdrev .ac-form#contact .field select,
  #sgdrev .ac-form#contact .field textarea {
    height: 50px !important;
    font-size: 16px !important;
    line-height: 48px !important;
  }

  .ac-form#contact .field textarea,
  #sgdrev .ac-form#contact .field textarea {
    height: auto !important;
    min-height: 92px !important;
    line-height: 1.5 !important;
  }
}
