/**
 * Canonical inquiry form layout and accessibility states.
 * Loaded after each theme stylesheet so the four-field schema remains
 * visually consistent without replacing the theme's own colors or controls.
 */
.qm-form--canonical {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 16px !important;
  align-items: start;
}

.qm-form--canonical .qm-field {
  min-width: 0;
  margin: 0;
}

.qm-form--canonical .qm-field--whatsapp,
.qm-form--canonical .qm-field--message,
.qm-form--canonical .qm-btn-submit,
.qm-form--canonical .form-note,
.qm-form--canonical .qm-form-error,
.qm-form--canonical .qm-form-success {
  grid-column: 1 / -1;
}

.qm-form .qm-field-hint {
  display: block;
  margin-top: 6px;
  font-size: 11.5px;
  line-height: 1.45;
  color: currentColor;
  opacity: .62;
}

.qm-form .qm-honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.qm-form input[aria-invalid="true"],
.qm-form textarea[aria-invalid="true"],
.qm-form select[aria-invalid="true"],
.qm-form .qm-field-error {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
}

.qm-form .qm-form-error {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  line-height: 1.5;
}

.qm-form button[aria-busy="true"] {
  cursor: wait !important;
}

.qm-form button[aria-busy="true"]::after {
  content: "";
  width: 14px;
  height: 14px;
  margin-left: 8px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  display: inline-block;
  vertical-align: -2px;
  animation: qm-form-spin .7s linear infinite;
}

@keyframes qm-form-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 680px) {
  .qm-form--canonical {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  .qm-form--canonical .qm-field,
  .qm-form--canonical .qm-btn-submit,
  .qm-form--canonical .form-note,
  .qm-form--canonical .qm-form-error,
  .qm-form--canonical .qm-form-success {
    grid-column: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .qm-form button[aria-busy="true"]::after {
    animation-duration: 1.4s;
  }
}
