/* Lifting block form styles. Extends brand.css. */

[hidden] { display: none !important; }

/* ── Shell ───────────────────────────────────────── */
.lb-header {
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(70,18,32,.1);
}

.lb-header .t-heading { color: var(--plum); }

.lb-main {
  padding: 2.5rem 0 4rem;
  min-height: 80dvh;
}

.lb-footer {
  padding: 2rem 0;
  border-top: 1px solid rgba(70,18,32,.1);
}

.lb-lede {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(70,18,32,.85);
}

/* ── Form ────────────────────────────────────────── */
.lb-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(70,18,32,.1);
}

fieldset.lb-field {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}

.lb-field legend {
  font-weight: 500;
  font-size: .9375rem;
  line-height: 1.45;
  padding: 0;
}

.lb-field .choices { margin-top: .75rem; }

.choices {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.lb-option-hint {
  display: block;
  font-size: .8125rem;
  line-height: 1.45;
  color: rgba(70,18,32,.65);
  margin-top: .125rem;
}

.choice-option:focus-within { border-color: var(--plum); }

/* ── Errors ──────────────────────────────────────── */
.lb-field--error legend,
.lb-field--error > label { color: var(--crimson); }

.lb-field--error .choice-option,
.lb-field--error input[type="text"] { border-color: var(--crimson); }

/* ── Thank you ───────────────────────────────────── */
.lb-thanks { animation: lbFadeUp 260ms cubic-bezier(.4,.14,.3,1) both; }

@keyframes lbFadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .lb-thanks { animation: none; }
}
