/* Contact controls share fixed input geometry across page forms and dialogs. */
.sf-enquiry .sf-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.sf-enquiry label { align-content: start; }
.sf-enquiry .sf-form-grid > label { grid-template-rows: auto 46px; }
.sf-enquiry input, .sf-enquiry select { height: 46px; min-height: 46px; }
.sf-contact-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.sf-contact-layout > section { min-width: 0; }
.sf-contact-details { margin: 22px 0; gap: 8px; }
#main .sf-contact-details > h2 { margin: 0; font-size: 18px; line-height: 1.4; font-weight: 600; }
.sf-contact-details > .sf-contact-phone { font-size: 22px; line-height: 1.4; font-weight: 600; }
.sf-contact-form { padding: 26px; }
#main .sf-contact-form > h2 { margin: 0; font-size: 22px; line-height: 1.4; }
.sf-contact-form > p { margin: 10px 0 22px; font-size: 14px; line-height: 1.65; }
@media (max-width: 1000px) {
  .sf-contact-layout { gap: 24px; }
  .sf-contact-form { padding: 22px; }
  .sf-contact-form .sf-form-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .sf-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .sf-enquiry .sf-form-grid { grid-template-columns: minmax(0, 1fr); }
  .sf-contact-form { padding: 20px; }
  .sf-contact-details > .sf-contact-phone { font-size: 20px; }
}
