/* ─── REQUEST-INFO FORM ────────────────────────────────────────────────────
   Styles for the Slate RFI embed (admissions.stern.nyu.edu) inside the hero
   form card, plus the consent disclaimer below it. Brand tokens (--c-*, --ff-*)
   are defined in index.html. */

/* The card grows to fit the whole form — no inner scrolling */
.hero__form-wrap {
  max-height: none;
  overflow: visible;
}

/* Slate embed container */
#form_aa07df37-42cd-4a2f-85db-8431913af6de {
  font-family: var(--ff-body);
  font-size: 0.85rem;
  color: var(--c-text-dark);
}

/* Questions & labels */
.hero__form-wrap .form_question {
  margin-bottom: 12px;
}
.hero__form-wrap .form_label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--c-purple-deep);
}
.hero__form-wrap .form_label *,
.hero__form-wrap legend,
.hero__form-wrap .form_responses label,
.hero__form-wrap option {
  font-size: 0.85rem; /* same size as the field text */
}

/* Text inputs, selects, textareas */
.hero__form-wrap input[type="text"],
.hero__form-wrap input[type="email"],
.hero__form-wrap input[type="tel"],
.hero__form-wrap input[type="number"],
.hero__form-wrap input[type="date"],
.hero__form-wrap select,
.hero__form-wrap textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #CCC;
  border-radius: 4px;
  background: var(--c-white);
  font-family: var(--ff-body);
  font-size: 0.85rem;
  color: var(--c-text-dark);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.hero__form-wrap input:focus,
.hero__form-wrap select:focus,
.hero__form-wrap textarea:focus {
  outline: none;
  border-color: var(--c-purple-stern);
  box-shadow: 0 0 0 3px rgba(87,6,140,0.15);
}

/* Birthdate: Month / Day / Year selects on a single row */
.hero__form-wrap .form_birthdate fieldset {
  min-width: 0;
}
.hero__form-wrap .form_birthdate .form_responses {
  display: flex;
  gap: 8px;
}
.hero__form-wrap .form_birthdate .form_responses select {
  width: auto;
  min-width: 0;
  margin-left: 0 !important; /* override Slate's inline margin-left */
}
.hero__form-wrap .form_birthdate select[id$="_m"] { flex: 2 1 0; }
.hero__form-wrap .form_birthdate select[id$="_d"] { flex: 1 1 0; }
.hero__form-wrap .form_birthdate select[id$="_y"] { flex: 1.3 1 0; }

/* Radio / checkbox groups */
.hero__form-wrap .form_responses label {
  font-size: 0.85rem;
  color: var(--c-text-mid);
}
.hero__form-wrap input[type="radio"],
.hero__form-wrap input[type="checkbox"] {
  accent-color: var(--c-purple-stern);
  margin-right: 6px;
}

/* Submit button — matches the nav "Request Information" button (.nav__cta) */
.hero__form-wrap .form_button_submit,
.hero__form-wrap button[type="submit"],
.hero__form-wrap input[type="submit"] {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 4px 0 0;
  background: var(--c-purple-stern) !important;
  background-image: none !important;
  color: var(--c-white) !important;
  border: none !important;
  border-radius: 4px;
  box-shadow: none;
  text-shadow: none;
  padding: 10px 24px;
  font-family: var(--ff-heading);
  font-weight: 700;
  font-size: 0.875rem;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
}
.hero__form-wrap .form_button_submit:hover,
.hero__form-wrap button[type="submit"]:hover,
.hero__form-wrap input[type="submit"]:hover {
  background: var(--c-purple-deep) !important;
}

/* Validation messages */
.hero__form-wrap .form_error,
.hero__form-wrap .error {
  color: #B00020;
  font-size: 0.72rem;
}

/* ─── MOBILE: LEFT-ALIGN THE FORM ───────────────────────────────────────── */
@media (max-width: 768px) {
  .hero__form-card,
  .hero__form-wrap .form_question,
  .hero__form-wrap .form_label,
  .hero__form-wrap legend,
  .hero__form-wrap .form_responses,
  .hero__form-wrap .form_action,
  .hero__form-wrap .form_header,
  .hero__form-wrap p,
  .form-disclaimer {
    text-align: left !important;
  }
}

/* ─── CONSENT DISCLAIMER ───────────────────────────────────────────────── */
.form-disclaimer {
  margin-top: 14px;
  font-size: 0.68rem;
  line-height: 1.5;
  color: var(--c-text-mid);
}
.form-disclaimer a {
  color: var(--c-purple-stern);
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
.form-disclaimer a:hover {
  color: var(--c-purple-deep);
}
