/* X-21 "Tweede mening" page (Phase 3 basis). Uses the site tokens and the shared .inp / .btn components. */
.so-promise {
  margin: var(--space-4) 0;
  padding: var(--space-4);
  border: 1px solid color-mix(in oklab, var(--accent) 40%, var(--border));
  border-radius: var(--r-sm);
  background: color-mix(in oklab, var(--accent) 8%, var(--surface));
}
.so-form-wrap {
  margin-top: var(--space-6);
}
.so-form {
  display: grid;
  gap: var(--space-4);
  max-width: 640px;
}
.so-field {
  display: grid;
  gap: var(--space-2);
  font-size: var(--text-sm);
}
.so-field input[type='file'].inp {
  height: auto;
  min-height: 46px;
  padding-block: var(--space-3);
}
.so-hint {
  margin: 0;
}
.so-hint a {
  display: inline-block;
  min-height: 44px;
  padding-block: 12px;
}
.so-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.so-submit {
  justify-self: start;
  min-height: 48px;
}
.so-status {
  margin: 0;
  padding: var(--space-3);
  border-radius: var(--r-sm);
  font-size: var(--text-sm);
}
.so-status--ok {
  background: color-mix(in oklab, #1a7f4a 16%, var(--surface));
  border: 1px solid color-mix(in oklab, #1a7f4a 40%, var(--border));
}
.so-status--err {
  background: color-mix(in oklab, #b42318 12%, var(--surface));
  border: 1px solid color-mix(in oklab, #b42318 35%, var(--border));
}
@media (max-width: 520px) {
  .so-submit {
    justify-self: stretch;
  }
}
.legal-doc ol.so-steps {
  list-style: decimal;
  padding-left: 1.4rem;
}
.legal-doc ol.so-steps li {
  padding-left: 0.25rem;
}

/* X-21 savings counter: only shown with ten or more closed cases (server rule). */
.so-counter { margin: 0 0 1rem; padding: 0.7rem 0.9rem; border-radius: 10px; border: 1px solid var(--line, #2a2f3a); font-weight: 600; }
