/* Základ formulářů podle DESIGN.md (pole 48 px, obrys border-strong, fokus a chyba 2 px). Chyby jsou vždy u pole. */

.field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.field__label {
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.field__hint {
  font-size: 14px;
  line-height: 20px;
  color: var(--st-text-muted);
}

.text-input {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: var(--st-surface);
  color: var(--st-text-primary);
  font-size: 16px;
  box-shadow: inset 0 0 0 1px var(--st-border-strong);
}

.text-input:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 0 2px var(--st-text-link);
}

.text-input[aria-invalid="true"] {
  box-shadow: inset 0 0 0 2px var(--st-danger);
}

.field-error {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--st-danger-text);
}

.form-summary-alert {
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--st-danger-soft);
  color: var(--st-danger-text);
  font-weight: 600;
}
