/* Shared form-only layout: live Booking and isolated Design Lab. */
.intake-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--booking-radius-action); color: #fff; text-decoration: none; font-size: 26px; margin-left: auto; }
.booking-header button.brand { border: 0; padding: 0; color: inherit; background: transparent; font-family: inherit; cursor: pointer; }
.booking-header button.intake-close { background: transparent; cursor: pointer; }
.intake-main.shell { width: min(860px, calc(100% - 48px)); padding: 40px 0; }
.intake-card { --intake-label-color: var(--booking-label-color); --intake-input-color: var(--booking-value-color); padding: 32px; border: 1px solid rgba(255,255,255,.11); border-radius: var(--booking-radius-card); background: rgba(8,7,10,.58); }
.intake-card h1 { margin: 0 0 25px; color: #fff; font-size: var(--booking-heading-size); font-weight: var(--booking-heading-weight); line-height: 1.35; letter-spacing: -.02em; }
.intake-card .field-grid { gap: 14px; }
.intake-card .field-grid label { gap: 7px; color: var(--intake-label-color); font-size: var(--booking-label-size); font-weight: var(--booking-label-weight); line-height: 1.4; letter-spacing: normal; text-transform: none; }
.intake-card .field-label { line-height: 1.5; }
.intake-card .field-optional { color: var(--booking-optional-color); font-size: 11px; font-weight: 400; letter-spacing: normal; text-transform: none; }
.intake-card .field-error { color: var(--danger); font-size: 13px; font-weight: 400; line-height: 1.45; letter-spacing: 0; text-transform: none; }
.intake-card input:not([type="checkbox"]), .intake-card select, .intake-card textarea {
  min-height: 42px; padding: 11px 12px; border-radius: var(--booking-radius-field); color: var(--intake-input-color); font-size: var(--booking-value-size); font-weight: var(--booking-value-weight); line-height: 1.4;
  letter-spacing: normal; text-transform: none;
}
.intake-card textarea { min-height: 74px; line-height: 1.45; }
.intake-card textarea[name="primary_reason"] { min-height: 96px; }
.intake-card .consent { margin-top: 16px; font-size: 13px; font-weight: 400; line-height: 1.5; }
.intake-card .consent input[type="checkbox"] { flex: 0 0 18px; }
.intake-card .primary-action { margin-top: 22px; min-height: 52px; border-radius: var(--booking-radius-action); font-size: var(--booking-action-size); font-weight: var(--booking-action-weight); text-align: center; background: linear-gradient(105deg,#43054d,#df582a); }
.intake-card .security-note { margin-bottom: 0; text-align: center; font-size: 12px; }
.intake-card .c1-custom-select__trigger, .intake-card .c1-custom-select__option { color: var(--intake-input-color); font-family: inherit; font-weight: var(--booking-value-weight); }
.intake-card .c1-custom-select__trigger { font-size: var(--booking-value-size); }
.intake-card .c1-custom-select__option.is-selected { color: #fff; }
.intake-card .c1-custom-select__trigger.is-placeholder { color: rgba(255,255,255,.54); }
.intake-card [data-form-status]:empty { display: none; }
.intake-card [data-intake-exit-recovery]:not([hidden]) { display: block; margin-top: 14px; color: #ffad9e; text-align: center; font-size: 13px; line-height: 1.45; }
@media(max-width:760px) {
  .booking-header { min-height: 68px; }
  .intake-main.shell { width: calc(100% - 24px); padding: 12px 0; }
  .intake-card { padding: 18px; border-radius: var(--booking-radius-card); }
  .intake-card h1 { margin-bottom: 18px; text-align: center; text-wrap: balance; }
  .booking-header .brand { gap: 10px; }
  .booking-header .brand-mark { height: 32px; }
  .intake-card .field-grid { grid-template-columns: 1fr; gap: 10px; }
  .intake-card .field-grid label { gap: 5px; }
  .intake-card input:not([type="checkbox"]), .intake-card select, .intake-card textarea { min-height: 44px; padding: 10px 12px; }
  .intake-card .c1-custom-select__trigger, .intake-card .c1-custom-select__option { font-size: var(--booking-value-size); }
  .intake-card textarea { min-height: 64px; }
  .intake-card textarea[name="primary_reason"] { min-height: 72px; }
  .intake-card .consent { min-height: 44px; margin-top: 8px; }
  .intake-card .primary-action { min-height: 48px; margin-top: 16px; padding: 12px 18px; }
  .intake-card .security-note { margin-top: 10px; }
  .booking-footer { gap: 8px; padding: 16px 0; font-size: 12px; line-height: 1.4; }
  body[data-locale] .al-consent-revisit { margin: 0 auto 10px; }
}

/* Match the flow's typography breakpoint while retaining the compact form layout. */
@media(max-width:520px) {
  .intake-card { --booking-heading-size: 22px; --booking-value-size: 16px; }
}

/* Turnstile's flexible widget keeps a 300px inner minimum. Center that full
   width on very narrow devices so the challenge remains visible and usable. */
@media(max-width:361px) {
  .intake-card .cf-turnstile {
    width: 300px;
    max-width: none;
    margin-left: calc(50% - 150px);
  }
}
