.public-form-shell { max-width: 42rem; padding: var(--space-4); margin: 0 auto; }
.public-form-fields { display: grid; gap: var(--space-3); }
.public-form-fields label { display: grid; gap: var(--space-1); }
.public-form-fields input:not([type="checkbox"]), .public-form-fields textarea { width: 100%; box-sizing: border-box; }
.public-form-fields .public-form-consent { display: flex; align-items: flex-start; gap: var(--space-2); }
.public-form-fields .public-form-trap { display: none; }
.public-form-result { overflow-wrap: anywhere; }

.distribution-toggle.crm-forms-view-toggle { --crm-view-tab-count: 2; }

/* Public website form tokens are scoped to the public surface and preview. */
.public-form-document {
  background: transparent;
  font-family: var(--public-form-font-family);
  font-size: var(--public-form-font-size);
  font-weight: var(--public-form-font-weight);
  line-height: var(--public-form-line-height);
}
.public-form-shell { background: transparent; color: var(--public-form-ink); }
.public-form-copy { display: grid; gap: var(--space-2); padding-block-end: var(--space-5); }
.public-form-shell .public-form-heading {
  color: var(--public-form-heading-color);
  font-family: var(--public-form-heading-font-family);
  font-size: var(--public-form-heading-font-size);
  font-weight: var(--public-form-heading-font-weight);
  line-height: var(--public-form-heading-line-height);
  margin: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}
.public-form-shell .public-form-heading-h1 {
  color: var(--public-form-h1-color);
  font-family: var(--public-form-h1-font-family);
  font-size: var(--public-form-h1-font-size);
  font-weight: var(--public-form-h1-font-weight);
  line-height: var(--public-form-h1-line-height);
}
.public-form-shell .public-form-heading-h3 {
  color: var(--public-form-h3-color);
  font-family: var(--public-form-h3-font-family);
  font-size: var(--public-form-h3-font-size);
  font-weight: var(--public-form-h3-font-weight);
  line-height: var(--public-form-h3-line-height);
}
.public-form-shell .public-form-heading-body {
  color: var(--public-form-intro-color);
  font-family: var(--public-form-intro-font-family);
  font-size: var(--public-form-intro-font-size);
  font-weight: var(--public-form-intro-font-weight);
  line-height: var(--public-form-intro-line-height);
}
.public-form-shell :is(.public-form-intro, .public-form-preview-note, .public-form-security-note),
.public-form-shell.public-form-success > p {
  color: var(--public-form-intro-color);
  font-family: var(--public-form-intro-font-family);
  font-size: var(--public-form-intro-font-size);
  font-weight: var(--public-form-intro-font-weight);
  line-height: var(--public-form-intro-line-height);
}
.public-form-shell .public-form-fields { gap: var(--space-5); }
.public-form-shell .public-form-fields > label {
  color: var(--public-form-label-color);
  font-family: var(--public-form-label-font-family);
  font-size: var(--public-form-label-font-size);
  font-weight: var(--public-form-label-font-weight);
  line-height: var(--public-form-label-line-height);
}
.public-form-shell .public-field-label { color: inherit; font: inherit; }
.public-form-shell .public-form-fields label { gap: var(--space-2); }
.public-form-shell :is(input, select, textarea) { font-family: var(--public-form-font-family); font-size: var(--public-form-font-size); font-weight: var(--public-form-font-weight); line-height: var(--public-form-line-height); }
.public-form-shell a:not(.primary-button) { color: var(--public-form-link); text-decoration-line: var(--public-form-link-decoration); }
.public-form-shell .public-form-fields input:not([type="checkbox"]), .public-form-shell .public-form-fields textarea, .public-form-shell .public-form-fields select { background-color: var(--public-form-field); border-color: var(--public-form-line); color: var(--public-form-ink); border-radius: var(--radius); min-width: 0; width: 100%; }
.public-form-shell .public-form-fields input:not([type="checkbox"]), .public-form-shell .public-form-fields select { max-width: 24rem; }
.public-form-submit { align-items: center; background: var(--public-form-button); border: var(--border-width) solid var(--public-form-button); border-radius: var(--radius-sm); color: var(--public-form-button-text); display: inline-flex; font-family: var(--public-form-button-font-family); font-size: var(--public-form-button-font-size); font-weight: var(--public-form-button-font-weight); gap: var(--space-2); justify-self: start; line-height: var(--public-form-button-line-height); min-height: var(--control-height-md); padding: 0 var(--control-padding-x); width: auto; }
.public-form-submit:disabled { cursor: not-allowed; opacity: 0.6; }
.public-form-shell .public-required { margin-left: var(--space-1); }
.public-form-shell .public-form-consent { background: transparent; }
.public-form-shell [data-form-error]:not([hidden]) { display: grid; gap: var(--space-3); background: var(--danger-soft); border: var(--border-width) solid var(--danger); border-radius: var(--radius); color: var(--danger); padding: var(--space-3); }
.public-form-shell .public-form-fields select { cursor: pointer; }
.public-form-intro, .public-form-preview-note, .public-form-security-note { margin: 0; }
.public-form-security-note { max-width: 38rem; }
.public-form-shell .public-form-security-note a { color: inherit; }
.public-form-success { display: grid; gap: var(--space-3); }
.public-form-success :is(h1, h2), .public-form-success p { margin: 0; }
.public-form-success .primary-button { text-decoration: none; }
.grecaptcha-badge { visibility: hidden; }
