/* Scoped progressive registration, shared LT/EN geometry. */
.retreat-steps-form [hidden] { display: none; }
.retreat-steps-form { min-width: 0; }
.retreat-steps-form .retreat-registration-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.retreat-steps-form .retreat-registration-step + .retreat-registration-step { margin-top: 32px; padding-top: 32px; border-top: 1px solid #e5dacb; }
.retreat-steps-form .retreat-step-heading { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 22px; }
.retreat-steps-form .retreat-step-heading > span { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: #e5f4fa; color: #126f9b; font-weight: 850; font-size: 20px; }
.retreat-steps-form .retreat-step-heading h2 { margin: 0; font-size: clamp(23px, 2.5vw, 34px); line-height: 1.2; }
.retreat-steps-form .retreat-step-heading p { margin: 7px 0 0; color: #716354; font-size: 16px; line-height: 1.5; }
.retreat-steps-form .retreat-selection-panel { margin: 0; gap: 18px; }
.retreat-steps-form .retreat-selection-panel .public-field { min-width: 0; }
.retreat-steps-form .retreat-selection-panel select { max-width: 100%; text-overflow: ellipsis; }
.retreat-steps-form .retreat-waitlist-help { border: 1px solid #e7c98f; border-radius: 16px; background: #fff8e8; overflow: hidden; }
.retreat-steps-form .retreat-waitlist-help summary { padding: 18px 20px; font-weight: 800; cursor: pointer; color: #654c27; line-height: 1.5; }
.retreat-steps-form .retreat-waitlist-help summary:focus-visible { outline: 3px solid #1878a8; outline-offset: -4px; }
.retreat-steps-form .retreat-waitlist-help-body { padding: 0 20px 20px; color: #6b5534; }
.retreat-steps-form .retreat-waitlist-help-body p { margin: 0 0 16px; font-size: 16px; line-height: 1.65; }
.retreat-steps-form .retreat-waitlist-help-body p:last-child { margin: 16px 0 0; }
.retreat-steps-form .retreat-inline-waitlist { white-space: normal; text-align: center; }
.retreat-steps-form .retreat-participant-inputs { min-width: 0; margin: 0; padding: 0; border: 0; }
.retreat-steps-form .retreat-participant-inputs > h3 { font-size: 21px; margin: 0 0 18px; }
.retreat-steps-form .retreat-second-participant-panel { margin: 26px 0 0; box-shadow: none; }
.retreat-steps-form .retreat-second-participant-panel > legend { padding: 0 8px; font-weight: 800; font-size: 21px; }
.retreat-steps-form .retreat-step-status { margin: 0 0 20px; padding: 16px 18px; border-radius: 14px; background: #f7f4ee; color: #625447; line-height: 1.6; }
.retreat-steps-form.is-ready .retreat-step-status { background: #edf7f1; color: #235d42; }
.retreat-steps-form .retreat-ticket-summary { font-weight: 800; color: #126f9b; overflow-wrap: anywhere; }
.retreat-steps-form .retreat-checkout-legal-note a { font-weight: 750; }
.retreat-steps-form .retreat-checkout-action { margin-top: 22px; }
.retreat-steps-form button[type="submit"]:disabled { background: #e5e0d8; color: #665e54; box-shadow: none; cursor: not-allowed; opacity: 1; transform: none; }
.retreat-no-script { display: grid; gap: 18px; }
.retreat-no-script label { display: grid; gap: 8px; }
.retreat-no-script select { min-width: 0; max-width: 100%; padding: 14px; font: inherit; }
@media (max-width: 640px) {
  .retreat-steps-form.public-form-card { padding: 22px 16px; }
  .retreat-steps-form .retreat-step-heading { gap: 12px; }
  .retreat-steps-form .retreat-step-heading > span { flex-basis: 34px; height: 34px; font-size: 18px; }
  .retreat-steps-form .retreat-selection-panel { padding: 18px 14px; }
  .retreat-steps-form .retreat-second-participant-panel { padding: 18px 14px; }
  .retreat-steps-form .retreat-waitlist-help summary { padding: 14px; }
  .retreat-steps-form .retreat-waitlist-help-body { padding: 0 14px 14px; }
  .retreat-steps-form .retreat-inline-waitlist, .retreat-steps-form .retreat-checkout-action .btn { width: 100%; }
}
