/* Nerdschmie.de Desktop Design Phase 7 – Form Controls V1. */
body.nsd .nsd-form-control-system label {
  color: var(--nsd-color-text-body);
  font-size: var(--nsd-type-body-size);
  font-weight: 650;
}
body.nsd .nsd-form-control-system input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body.nsd .nsd-form-control-system select,
body.nsd .nsd-form-control-system textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--nsd-border-strong);
  border-radius: var(--nsd-radius-control);
  background: var(--nsd-color-surface-soft);
  color: var(--nsd-color-text);
  font: inherit;
  line-height: 1.35;
  transition: border-color .16s ease-out, box-shadow .16s ease-out, background .16s ease-out;
}
body.nsd .nsd-form-control-system input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body.nsd .nsd-form-control-system select { min-height: var(--nsd-control-height); padding: .62rem .78rem; }
body.nsd .nsd-form-control-system textarea { min-height: 7rem; padding: .72rem .78rem; resize: vertical; }
body.nsd .nsd-form-control-system input::placeholder,
body.nsd .nsd-form-control-system textarea::placeholder { color: var(--nsd-color-text-faint); }
body.nsd .nsd-form-control-system input:focus-visible,
body.nsd .nsd-form-control-system select:focus-visible,
body.nsd .nsd-form-control-system textarea:focus-visible,
body.nsd .nsd-form-control-system button:focus-visible,
body.nsd .nsd-form-control-system a:focus-visible {
  outline: var(--nsd-focus-width) solid var(--nsd-focus-color);
  outline-offset: var(--nsd-focus-offset);
}
body.nsd .nsd-form-control-system input:focus,
body.nsd .nsd-form-control-system select:focus,
body.nsd .nsd-form-control-system textarea:focus {
  border-color: var(--nsd-border-accent-hover);
  box-shadow: 0 0 0 3px var(--nsd-color-accent-soft);
  background: var(--nsd-color-surface);
}
body.nsd .nsd-form-control-system input[type="checkbox"],
body.nsd .nsd-form-control-system input[type="radio"] { accent-color: var(--nsd-color-accent); }
body.nsd .nsd-form-control-system .nsd-form-help { color: var(--nsd-color-text-muted); font-size: var(--nsd-type-meta-size); font-weight: 400; }
body.nsd .nsd-form-control-system .nsd-form-required { color: var(--nsd-color-text); font-weight: 800; }
body.nsd .nsd-form-control-system .nsd-form-error,
body.nsd .nsd-form-control-system [aria-invalid="true"] + .nsd-form-help { font-weight: 700; text-decoration: underline; text-decoration-style: dotted; }
body.nsd .nsd-form-control-system .nsd-form-submit {
  min-height: var(--nsd-control-height);
  padding: .72rem 1.05rem;
  border: 1px solid var(--nsd-button-border);
  border-radius: var(--nsd-radius-control);
  background: var(--nsd-color-accent);
  color: #06110a;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
body.nsd .nsd-form-control-system .nsd-form-submit:hover { filter: brightness(1.06); }
body.nsd .nsd-form-control-system .nsd-form-secondary {
  min-height: var(--nsd-control-height);
  padding: .72rem 1.05rem;
  border: 1px solid var(--nsd-button-border);
  border-radius: var(--nsd-radius-control);
  background: var(--nsd-button-bg);
  color: var(--nsd-color-text);
}
