html.crm-enrollment-embedded,
.crm-enrollment-embedded body {
  margin: 0;
  min-height: 0;
  background: transparent;
}

/* T.School's public template only; other enrollment forms keep their palette. */
html.crm-enrollment-tschool {
  --brand: #d80980;
  --brand-dark: #b70a6c;
  --brand-soft: #fff7fb;
  --bg: #f5f5f8;
  --text: #1f1f24;
  --muted: #74717c;
  --line: #e7dfe5;
  --line-soft: #f0e8ed;
  accent-color: var(--brand);
}
html.crm-enrollment-tschool:not(.crm-enrollment-embedded) body,
html.crm-enrollment-tschool:not(.crm-enrollment-embedded) .public-form-shell {
  background: var(--bg);
}
html.crm-enrollment-tschool .public-step-progress .is-active {
  border-color: #eaa5cd;
}
html.crm-enrollment-tschool .public-step-progress li:not(.is-active):not(.is-complete) span {
  background: #f0eaf0;
}
html.crm-enrollment-tschool .public-pricing-version-field,
html.crm-enrollment-tschool .public-enrollment-receipt,
html.crm-enrollment-tschool .public-draft-prompt,
html.crm-enrollment-tschool .public-agreement,
html.crm-enrollment-tschool .public-form-notice.success {
  border-color: #f0c9df;
  background: var(--brand-soft);
}
html.crm-enrollment-tschool .public-pricing-version-field small {
  color: #6e6772;
}
html.crm-enrollment-tschool .public-draft-hint {
  background: #f7f5f8;
}
html.crm-enrollment-tschool .public-form-notice.success {
  color: var(--brand-dark);
}
html.crm-enrollment-tschool button.primary,
html.crm-enrollment-tschool .public-pdf-download {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  box-shadow: none;
}
html.crm-enrollment-tschool button.primary:not(:disabled):hover,
html.crm-enrollment-tschool .public-pdf-download:hover {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: #fff;
  box-shadow: 0 4px 12px rgba(216, 9, 128, .12);
}
html.crm-enrollment-tschool .public-repeater-add {
  border-color: #f0c9df;
  background: var(--brand-soft);
  color: var(--brand-dark);
}
html.crm-enrollment-tschool .public-repeater-add:hover {
  border-color: #eaa5cd;
  background: #fce8f3;
  color: var(--brand-dark);
}
html.crm-enrollment-tschool .public-repeater-row {
  background: #fcfafc;
}
html.crm-enrollment-tschool :is(input, select, textarea, button, a):focus-visible {
  outline: 2px solid var(--brand-dark);
  outline-offset: 2px;
}
.crm-enrollment-embedded .public-form-shell {
  display: block;
  min-height: 0;
  padding: 0;
  background: transparent;
}
.crm-enrollment-embedded .public-form-card {
  width: 100%;
  padding: 28px;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  background: #fff;
}
.crm-enrollment-embedded .public-logo,
.crm-enrollment-embedded .public-form-heading {
  display: none;
}
@media (max-width: 575px) {
  .crm-enrollment-embedded .public-form-card { padding: 20px 16px; }
}

/* Keep enrollment steps in one row, including the website iframe. */
.public-form-shell .public-step-progress {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.public-form-shell .public-step-progress li {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 575px) {
  .public-form-shell .public-step-progress { gap: 6px; }
  .public-form-shell .public-step-progress li {
    flex-direction: column;
    justify-content: flex-start;
    gap: 5px;
    padding: 8px 4px;
    text-align: center;
  }
  .public-form-shell .public-step-progress span {
    width: 22px;
    height: 22px;
  }
  .public-form-shell .public-step-progress strong {
    font-size: 12px;
    line-height: 1.4;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
  }
}
