/* Estates page and checkbox fit check (October 21, 2026). Brand tokens and components come from firmledge.css. */
.estates-fine { margin-top: 1rem; max-width: 44rem; }
.estates-steps { margin-bottom: 2.5rem; }
.estates-types { max-width: 46rem; }
.estates-types div { grid-template-columns: 15rem 1fr; }
.estates-note { margin-top: 1.25rem; }
.estates-buyers .datacard div { grid-template-columns: 9.5rem 1fr; }

/* Fit check form */
.fit-check { scroll-margin-top: 1.5rem; }
.fit-form { padding: 1.75rem; background: var(--white); border: 1px solid var(--rule-strong); }
.fit-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.fit-legend { padding: 0; margin-bottom: 1.5rem; color: var(--muted); font-size: 0.9375rem; }
.fit-grid { column-count: 2; column-gap: 3rem; }
.fit-form .fit-group { break-inside: avoid; page-break-inside: avoid; display: block; width: 100%; padding: 1rem 0 1.25rem; border-top: 1px solid var(--rule); }
.fit-group legend { float: left; width: 100%; padding: 0; margin: 0 0 0.6rem; font-size: 0.9375rem; font-weight: 600; color: var(--ink); }
.fit-group legend + * { clear: both; }
.fit-group legend span, .fit-field label span { color: var(--muted); font-weight: 400; }
.fit-option { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); align-items: start; margin: 0; padding: 0.2rem 0; }
.fit-option input { width: 1.05rem; height: 1.05rem; margin: 0.2rem 0 0; accent-color: var(--cobalt); cursor: pointer; }
.fit-option label { font-size: 0.9375rem; line-height: 1.45; color: var(--ink); cursor: pointer; }
.fit-option input:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 2px; }
.fit-group--invalid legend { color: #963A2D; }
.fit-group--contact { margin-top: 0.25rem; }
.fit-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
.fit-field { margin-bottom: 1.1rem; }
.fit-field--inline { margin: 0.75rem 0 0; max-width: 18rem; }
.fit-field label { display: block; margin-bottom: 0.4rem; font-size: 0.9375rem; font-weight: 600; }
.fit-field input { display: block; width: 100%; min-width: 0; border: 1px solid var(--rule-strong); border-radius: 0; padding: 0.7rem 0.75rem; background: var(--white); color: var(--ink); font: inherit; font-size: 1rem; line-height: 1.5; }
.fit-field input:focus { outline: 2px solid var(--cobalt); outline-offset: 2px; border-color: var(--cobalt); }
.fit-field [aria-invalid="true"] { border-color: #963A2D; }
.fit-hint { font-size: 0.875rem; color: var(--muted); margin: 0.4rem 0 0; }
.fit-error { color: #963A2D; font-size: 0.875rem; margin: 0.4rem 0 0; }
.fit-rule { font-weight: 600; font-size: 0.9375rem; margin: 0.5rem 0 1rem; }
.fit-form .button { min-height: 44px; cursor: pointer; line-height: 1.35; }
.fit-form .button:disabled { opacity: 0.65; cursor: wait; }
.fit-note { font-size: 0.875rem; color: var(--muted); margin: 1rem 0 0; }
.fit-status { font-size: 0.9375rem; margin: 1rem 0 0; color: var(--muted); }
.fit-status:empty { margin: 0; }
.fit-feedback { border-left: 3px solid var(--cobalt); padding: 1rem 1.25rem; margin-bottom: 1.5rem; background: var(--bone); }
.fit-feedback:focus { outline: 2px solid var(--cobalt); outline-offset: 3px; }
.fit-feedback h3 { font-size: 1.35rem; }
.fit-feedback p, .fit-feedback ul { font-size: 0.9375rem; }
.fit-feedback ul:empty { display: none; }
.fit-feedback--error { border-left-color: #963A2D; }
.fit-feedback--success { margin: 0; }
.fit-feedback--success .button { margin-top: 1rem; }
.fit-reference { color: var(--muted); font-family: var(--font-mono); font-size: 0.8125rem !important; overflow-wrap: anywhere; }
.fit-form [hidden] { display: none !important; }

@media (max-width: 720px) {
  .fit-grid { column-count: 1; }
  .estates-types div, .estates-buyers .datacard div { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .fit-form { padding: 1.25rem; }
  .fit-row { grid-template-columns: minmax(0, 1fr); }
  .fit-feedback { padding: 0.9rem; }
  .fit-form .button { width: 100%; }
}
