/* P1R6CU-R5 — Contact base layout.
   Static, container-driven geometry only; validation and booking state remain in JS. */

#step-contact .content-body--compact {
  padding: var(--public-space-md) var(--public-space-lg) var(--public-space-xs);
}

#step-contact .form-grid-4,
#step-contact .form-grid-2-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--public-space-xs) var(--public-space-md);
  margin-block-end: var(--public-space-sm);
}

#step-contact .form-group {
  margin-block-end: 0;
}

#step-contact .form-label {
  margin-block-end: var(--public-space-2xs);
  color: var(--public-text-muted);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}

#step-contact .form-input,
#step-contact .form-textarea {
  padding: var(--public-space-xs) .6875rem;
  font-size: .88rem;
  border-width: 1.5px;
}

#step-contact .form-textarea--compact {
  min-block-size: 4.25rem;
  max-block-size: 6.25rem;
  resize: vertical;
}

#step-contact #pre-session-questionnaire,
#step-contact #extra-customer-info-fields {
  margin: 0;
}

#step-contact .action-buttons--contact {
  padding: var(--public-space-sm) var(--public-space-lg);
}

@container booking-step (max-width: 40rem) {
  #step-contact .form-grid-4,
  #step-contact .form-grid-2-compact {
    grid-template-columns: minmax(0, 1fr);
  }
}
